3. Python에 관해서
1990년, 암스테르담에서
네덜란드人 개발자
Guido Van Rossum이 개발
Guido Van Rossum은 2012년
까지 Google에 재직하다
2013년부터는 dropbox로
이직했다.
Monty Python's Flying Circus
라는 코미디 쇼에서 이름
이 유래되었다.
그리스 신화에 나오는 큰
뱀의 이름이 Python어서
뱀 모양 로고를 사용하게
되었다.
4. Python의 철학
아름다운 것이 추한 것보다 낫다.(Beautiful is better than ugly)
명시적인 것이 암시적인 것보다 낫다. (Explicit is better than
implicit)
간결한 것이 복잡한 것보다 낫다. (Simple is better than complex)
5. Python의 특징
2.7 버전과 3.3 버전이 stable이며, 3.2까지의 장점은 2.7에 이식되어왔다. OSX
Yosemite에는 2.7.6이 설치되어 있다.
동적으로 자료형이 결정된다. (dynamic typing)
인터프리터 언어이나, 바이트 코드로 컴파일하여 VM에서 실행할 수도 있다.
다른 언어에 비해 느리다는 특징이 있지만, 전체 구현을 빠르게 만들어낸
뒤, wrapper를 통해 빠른 속도가 요구되는 병목 부분만을 C 등 다른 언어로 모
듈을 만들어 붙일 수 있다.
객체지향 언어다.
들여쓰기(Indent)가 강제된다. 들여쓰기를 통해 코드 블럭이 결정되기 때문.
문명 VI, Torrent, dropbox, YouTube, yum, 이브 온라인 등이 python을 사용한 예.
6. 자료형
> type(12)
int
> type(1.2)
float
> type(1+2j)
complex
> type(“12”)
str
> type(u“12”)
unicode
> type(True)
bool
# type() method를 통해 타입을 확인할 수 있다.
# 으로 시작하면 주석문이 된다.
> type([1,3])
list
> type((1, 3))
tuple
> type({1, 3})
set
> type(frozenset{1, 3})
frozenset
> type({‘a’:12})
dict
기타 등등...
7. 이것만 알고 넘어가자
str 타입 선언의 4가지 방법
1. a = “문자열”
2. a = ‘문자열’
3. a = “””문자열”””
4. a = ‘’’문자열’’’
str 연산
•print “hello”+”world”
helloworld
•print “hello” * 3
hellohellohello
#!/usr/bin/python
# -*- coding: utf-8 -*-
을 파일 최상단에 추가하면 한글을 사용할 수 있다.
8. 이것만 알고 넘어가자
문자열 인덱싱
•a = “hello”
print a[0]
> “h”
print a[-1]
> “o”
print a[:2]
> “he” <= 0~1까지의 문자열.
print a[2:]
> “llo” < = 2~ 끝까지의 문자열.
•python의 str은 불변이므로
a[1]=“c” 는 할 수 없다.
9. 조건문
연산자 의미
A and B A,B가 참일 때 참
A or B A나 B가 참일 때 참
not A A가 거짓일 때 참
A in B B에 A가 포함될 때 참
A not in B B에 A가 없을 때 참
12. 예외 처리
이후 with as 문이나 데코레이션, 리플렉션, 모듈 등은…….
관심 있는 분은 따로 알아보시면 좋을 것 같습니다.
14. Flask란?
Flask는 WSGI 마이크로프레임워크
그렇다면 WSGI란....? Web Server Gateway Interface.
서버가 웹 어플리케이션과 통신하기 위한 Interface. 상세 구조는...
왜 Flask는 WSGI 마이크로프레임워크인가?
최소한의 기능만을 제공하여 아주 유연하게 애플리케이션의 작성이
가능하기 때문.
많은 기능이 필요하다면 google의 python WSGI 프레임워크인 Django로.