웹 개발을 위한 기초 Python - SPARCS
Download
Report
Transcript 웹 개발을 위한 기초 Python - SPARCS
2011 Django Seminar #1
KAIST 09학번 차동훈 ( Snogar )
웹 개발을 위한 기초 PYTHON
Special Thanks To
“발로 하는 파이썬 세미나” - tokigun
Django? Python?
Django Web Framework
웹 어플리케이션 개발
Django는 Framework지, Language가 아님
내부적으로 Python 사용
Why Python?
C++ ?
Java ?
Scala ?
Why Python?
간결하고 우아한 문법
방대한 라이브러리
객체지향 모델
빠르고 안정적
다양한 웹 서버 지원
다양한 데이터베이스 지원
Free Software
“빠르게 짜고, 빠르게 확인하고, 빠르게 고친다.”
예를 들어볼까?
int i ;
bool flag = false;
// tofind : 찾고자 하는 값
for(i=0; i<n; i++){
if( tofind==data[i] ){
flag = true;
break;
}
}
if ( flag == true ) {
...
}
예를 들어볼까?
if tofind in data:
…
간단하고
명시적이고
무엇보다 편하고 빠르다!
자 그럼.. 알맞은 반응은?
1. 파이썬 공부가 엄청나게 하고 싶어졌어요!
2. 파이썬이 재밌어 보여요!
3. 파이썬을 공부하지 않으면 안될 것 같아요!
Python 연습 환경
자기 컴에 깔려면 http://python.org/ 이용!
하지만 우릴 위해서 특별히 준비한 개발 서
버를 이용하도록 합시다
Putty로 django.sparcs.org로 접속!
python 을 쳐보아요
이것 저것 쳐봅시다
이건 다들 알겠죠?
자료형
정수
문자
문자열
참/거짓
실수
변수
Python에서의 자료형 이름은?
이런 건 필요하면 구글링해서 쓰면 돼요.
조건문 (if)
>>> grade = 1.86
>>> if grade < 2.0:
. . . 1600000 + (3.0 – 2.0) * 6300000
. . . elif grade < 3.0:
. . . 1600000 + (3.0 – grade) * 6300000
. . . else:
. . . 160000
조건문 (if)
>>> grade = 1.86
>>> if grade < 3.0:
...
if grade < 2.0:
...
1600000 + (3.0 – 2.0) * 6300000
...
else:
...
1600000 + (3.0 – grade) * 6300000
. . . else:
. . . 160000
반복문 (for)
>>> sum = 0
>>> for i in range(10):
...
sum = sum + i
>>> print sum
in? range(10)?
in? range()?
for i in range(10):
in : List 혹은 Tuple안의 값들을 차례대로 불
러오고자 할 때 사용
range(x) : 이건 직접 쳐봅시다!
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
in? range()?
for i in range(10):
i에 [0,1,2,3…9] 를 차례대로 불러와라
i=0, i=1, i=2, … i=9
for ( i = 0 ; i < 10 ; i ++) 와 의미가 동일
여기서 잠깐 Django 맛보기
뭐가 남았을까?
List
Tuple
Function
여기까지만 알아두면, Django 다룰 때 별 문
제 없어요.
기초중의 기초!
List와 Tuple?
[0, 1, 2, 3, 4] – List
(0,1,2,3,4) – Tuple
[4, 5, ‘hello’] – List
(4, 5, ‘hello’) – Tuple
[‘hello’] - List
(‘hello’,) – Tuple
(‘hello’)
List
>>> a = [1,2,3]
>>> a[0] + a[1] + a[2]
>>> a[1] = 5
>>> a
얼렁 쳐봅시다!
Tuple
>>> b = (1,2,3)
>>> b[0] + b[1] + b[2]
>>> b[1] = 5
>>> b
얼렁 쳐봅시다!
Tuple
>>>staffs = [
(‘정진근’, 2007, 4.3),
(‘차동훈’, 2009, 3.29),
(‘차준호’, 2010, 4.29),
]
>>>for person in staffs:
name, year, GPA = person
print name, year, ‘학번’, GPA, ‘점’
Tuple
>>>for person in staffs:
name, _ , GPA = person
print name, GPA, ‘점’
_ 를 이용하여 Tuple의 원소를 안받고 넘어
갈 수도 있다
List와 다른 장점을 가진 Tuple :D
Function
staffs List를 재활용하여 돈을 내는지 아닌지
를 확인하는 함수를 작성해 봅시다.
>>> def isHell ( getGPA ):
. ..
if getGPA < 3.3:
. ..
return True
. ..
return False
자 이제 다 배웠다! 근데..
Python을 제대로 배우려면?
여러분은 기초중 기초만 배웠습니다
아주 간단한 과제!
vi practice.py를 한 뒤 코드 작성을 합니다
실행은 저장한 뒤 python practice.py 입력
SPARCS 선배 (혹은 동기) 중에 이름에 ‘훈’이
들어가는 사람 중 전화번호가 nugu에 등록
된 사람들을 List와 Tuple을 이용하여 만들고,
for문을 돌면서 05학번 이하의 이름과 아이
디만 출력하는 프로그램을 작성하세요.
Ex) [(‘차동훈’, ‘snogar’, ‘010-2659-9556’)]