270 likes | 603 Views
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?.
E N D
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 • “빠르게 짜고, 빠르게 확인하고, 빠르게 고친다.”
예를 들어볼까? inti ; bool flag = false; // tofind : 찾고자 하는 값 for(i=0; i<n; i++){ if( tofind==data[i] ){ flag = true; break; } } if ( flag == true ) { ... }
예를 들어볼까? iftofindin 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 ++) 와 의미가 동일
뭐가 남았을까? • 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를 재활용하여돈을 내는지 아닌지를 확인하는 함수를 작성해 봅시다. >>> defisHell( getGPA ): . . . ifgetGPA < 3.3: . . . return True . . . return False
Python을 제대로 배우려면? • 여러분은 기초중 기초만 배웠습니다
아주 간단한 과제! • vi practice.py를 한 뒤 코드 작성을 합니다 • 실행은 저장한 뒤 python practice.py입력 • SPARCS 선배 (혹은 동기) 중에 이름에 ‘훈’이 들어가는 사람 중 전화번호가 nugu에 등록된 사람들을 List와 Tuple을 이용하여 만들고, for문을 돌면서 05학번 이하의 이름과 아이디만 출력하는 프로그램을 작성하세요. • Ex) [(‘차동훈’, ‘snogar’, ‘010-2659-9556’)]