Python과 flask 입문(1)

19
Python Flask 입문 (1) NHN NEXT 3 이성천

Transcript of Python과 flask 입문(1)

Page 1: Python과 flask 입문(1)

Python과 Flask 입문(1)

NHN NEXT 3기 이성천

Page 2: Python과 flask 입문(1)

Python

Page 3: Python과 flask 입문(1)

Python에 관해서

1990년, 암스테르담에서 네덜란드人 개발자 Guido Van Rossum이 개발

Guido Van Rossum은 2012년까지 Google에 재직하다 2013년부터는 dropbox로 이직했다.

Monty Python's Flying Circus라는 코미디 쇼에서 이름이 유래되었다.

그리스 신화에 나오는 큰 뱀의 이름이 Python어서 뱀 모양 로고를 사용하게 되었다.

Page 4: Python과 flask 입문(1)

Python의 철학

아름다운 것이 추한 것보다 낫다.(Beautiful is better than ugly)

명시적인 것이 암시적인 것보다 낫다. (Explicit is better than implicit)

간결한 것이 복잡한 것보다 낫다. (Simple is better than complex)

Page 5: Python과 flask 입문(1)

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을 사용한 예.

Page 6: Python과 flask 입문(1)

자료형

> 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

기타 등등...

Page 7: Python과 flask 입문(1)

이것만 알고 넘어가자

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 -*-을 파일 최상단에 추가하면 한글을 사용할 수 있다.

Page 8: Python과 flask 입문(1)

이것만 알고 넘어가자

문자열 인덱싱

•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” 는 할 수 없다.

Page 9: Python과 flask 입문(1)

조건문

연산자 의미

A and B A,B가 참일 때 참

A or B A나 B가 참일 때 참

not A A가 거짓일 때 참

A in B B에 A가 포함될 때 참

A not in B B에 A가 없을 때 참

Page 10: Python과 flask 입문(1)

반복문

while for

Page 11: Python과 flask 입문(1)

클래스와 메서드

Page 12: Python과 flask 입문(1)

예외 처리

이후 with as 문이나 데코레이션, 리플렉션, 모듈 등은…….관심 있는 분은 따로 알아보시면 좋을 것 같습니다.

Page 13: Python과 flask 입문(1)
Page 14: Python과 flask 입문(1)

Flask란?

Flask는 WSGI 마이크로프레임워크

그렇다면 WSGI란....? Web Server Gateway Interface.

서버가 웹 어플리케이션과 통신하기 위한 Interface. 상세 구조는...

왜 Flask는 WSGI 마이크로프레임워크인가?

최소한의 기능만을 제공하여 아주 유연하게 애플리케이션의 작성이 가능하기 때문.

많은 기능이 필요하다면 google의 python WSGI 프레임워크인 Django로.

Page 15: Python과 flask 입문(1)

Flask 설치하기(OSX)

sudo easy_install pip 를 터미널에 입력하여 Python package 관리자를 설치.

sudo pip install Flask 로 Flask 설치.

Page 16: Python과 flask 입문(1)

Flask로 웹 서버 실행하기

<= 이런 파일을 만들어서 터미널에서실행시켜 봅시다.python 파일의 확장자는 .py터미널에서 python temp.py명령어로 실행시킬 수 있습니다.

이렇게 url이 나오면 성공!브라우저로 복붙해서 접속해봅시다.

Page 17: Python과 flask 입문(1)

Flask 실습

<= session key

Page 18: Python과 flask 입문(1)

Flask 실습

user.html login_form.html

Flask의 기본 설정에 따라 html 문서는실행.py 가 있는 디렉터리 아래의‘templates’ 디렉터리에 위치합니다.

render_template로부터전달받은 값을 {{key}}를 통해html 문서 상에 출력합니다.

Page 19: Python과 flask 입문(1)

Q&Ajson 처리, database 연결,

session key의 역할, cookie 사용 등은 다음 시간에...