웹 개발을 위한 기초 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’)]