SlideShare a Scribd company logo
1 of 39
Download to read offline
BY. PNY
경희대학교 컴퓨터공학과
ICNS 연구실
2016. 01. 26
박나연
BY. PNY
01 파이썬이란?
02 파이썬 문법
03 파이썬으로 뭘 할까?
04 파이썬 스터디
2
BY. PNY
3
BY. PNY
python [명] 비단뱀
4
BY. PNY
https://www.python.org/
전 세계에서 5번째로 많이 사용되는 언어
(2016년 1월 TIOBE 사 통계 자료)
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 5
BY. PNY
 귀도 반 로섬(Guido van Rossum)이 심심해서 제작
 1991년 발표
 객체 지향 언어
평소 좋아한 코미디에서 따옴 ▶
https://ko.wikipedia.org/wiki/파이썬 6
BY. PNY
7
“ 하나 이상의 해결법이 존재한다 ”
“가장 아름다운 하나의 답이 존재한다 ”
 Beautiful is better than ugly
 Explicit is better than implicit
 Simple is better than complex
BY. PNY
인간다운 언어
많은 Platform 지원오픈소스
객체 지향 언어
…
많은 Library 지원
8
BY. PNY
높은 생산성!
“ Life is too short, You need Python. ”
9
BY. PNY
생산성
투입된 자원에 비해 산출된 생산량이
어느 정도인가를 대변하는 척도
시사상식사전
[ Productivity ]
http://terms.naver.com/entry.nhn?docId=69139&cid=43667&categoryId=43667 10
BY. PNY
프로그래밍 문법이
사용하기 쉽거나 (Writability)
이해하기 쉬움 (Readability)
높은 생산성
11
BY. PNY
* python 2.7 기준 (현재 3.X 까지 나와있으나 대부분 2.7 사용)
12
BY. PNY
a = 1
b = "hello"
print type(a)
print type(b)
<type ‘int’>
<type ‘str’>
javascript 등과 같은 Dynamic Typing
13
BY. PNY
if 4 in [1, 2, 3, 4] :
print “There is 4”
→ “ 만약 4가 [1, 2, 3, 4]안에 있다면 “There is 4”를 출력해라. ”
영어 문장을 읽는 듯한 착각!
14
BY. PNY
for (int i=1; i<4; i++)
cout << i << endl;
for i in range(1, 4):
print i
C++
Python
15
BY. PNY
for i in range(1, 4):
print i
print “Wow”;
print “Fantastic Baby”
 ‘ { } ’가 아닌 들여쓰기로 범위(scope) 구분
 세미콜론(;) 사용은 자유
 한 라인에 쓸 경우 : 세미콜론 필요
16
print “Wow”; print “Fantastic Baby”
BY. PNY
public class HelloWorld {
public static void main (String[] args) {
System.out.println("Hello world!");
}
}
print “Hello world!”
Java
Python
17
BY. PNY
public class Employee
{
private String myEmployeeName;
private int myTaxDeductions = 1;
private String myMaritalStatus = "single";
//--------- constructor #1 -------------
public Employee(String employeeName)
{
this(employeeName, 1);
}
//--------- constructor #2 -------------
public Employee(String employeeName, int taxDeductions)
{
this(employeeName, taxDeductions, “single”);
}
//--------- constructor #3 -------------
public Employee(String employeeName,
int taxDeductions,
String maritalStatus)
{
this.myEmployeeName = employeeName;
this.myTaxDeductions = taxDeductions;
this.myMaritalStatus = maritalStatus;
}
...
class Employee():
def __init__(self
, employeeName
, taxDeductions = 1
, maritalStatus = "single"
):
self.employeeName = employeeName
self.taxDeductions = taxDeductions
self.maritalStatus = maritalStatus
...
Java Python
# 참고
# 한줄 주석
“““
여러줄 주석
”””
# 생성자 __init__
# 소멸자 __del__
18
BY. PNY
 숫자형 (Number)
 문자열 (String)
 리스트 (List)
 튜플 (Tuple)
 딕셔너리 (Dictionary)
 집합 (Sets)
 참과 거짓 (True & False)
 변수 (Variable)
19
BY. PNY
 숫자형 (Number)
 문자열 (String)
 리스트 (List)
 튜플 (Tuple)
 딕셔너리 (Dictionary)
 집합 (Sets)
 참과 거짓 (True & False)
 변수 (Variable)
20
BY. PNY
t1 = ()
t2 = (1, ) #한 개의 요소만을 넣을 때 ,필요
t3 = (1, 2, 3)
t4 = 1, 2, 3 #괄호 생략 가능
t5 = ('a', 'b', ('ab', 'cd'))
 리스트의 [ 와 ] 대신 튜플은 ( 와 )로 둘러싼다
 리스트는 그 값을 생성, 삭제, 수정이 가능하지만
튜플은 그 값을 변화시킬 수 없다.
 이외에는 리스트와 동일
21
BY. PNY
# {Key1:Value1, Key2:Value2, Key3:Value3 ...}
dic = {'name':'pey', 'phone':'0119993323',
'birth': '1118'}
 key, value의 형태 (흔히 아는 Hash의 개념)
 key를 통해 value를 얻을 수 있다.
 중복 key 사용은 자제 (나머지가 무시됨)
 key에는 리스트는 사용할 수 없지만 튜플은 가능하다.
(변하지 않는 값이기 때문)
22
BY. PNY
s1 = set([1, 2, 3])
s2 = set(“Hello”)
print s1
print s2
 집합에 관련된 것들을 처리하기에 좋음
(교집합, 합집합, 차집합 등 지원)
 중복을 허용하지 않는다.
 순서가 없다. (indexing 불가)
23
set([1, 2, 3])
set([‘H’, ‘e’, ‘l’, ‘o’])
BY. PNY
24
BY. PNY
시스템 유틸리티
 운영체제(Windows, Linux 등)의 시스템 명령어들 지원
 갖가지 시스템 관련 유틸리티 프로그램 제작이 쉬움
25
BY. PNY
GUI 프로그램
 다른 언어보다 GUI 프로그래밍이 쉬운 편
 파이썬과 함께 제공되는 Tkinter나 외부 라이브러리인 PyQT, PyGTK등
26
BY. PNY
GUI 프로그램 : Tkinter
27
BY. PNY
C/C++와의 결합
 파이썬은 C 언어를 바탕으로 제작
 모듈을 사용하면 파이썬 → C에서 사용 / C → 파이썬에서 사용 가능
 부족한 부분을 C/C++로 작성한 후 파이썬 프로그램과 결합
28
BY. PNY
웹 / DB 프로그래밍
 Django, Flask 등의 웹 프레임워크를 이용하여 웹 제작
 Sybase, Infomix, Oracle, MySQL 등 DB 접근 도구 제공
29
BY. PNY
높은 성능을 요구하거나
하드웨어를 제어하는
프로그램
많은 반복과 연산을
필요로 하는 프로그램
데이터 압축
프로그램
30
BY. PNY
31
BY. PNY
 RETURN에서 진행한 속성 Python Game Study
 2016년 1월 6, 7, 8, 11, 12일 - 총 5일
32
BY. PNY
 1일차 : python 문법 공부 & 숫자 야구 게임
 2일차 : 똥 피하기 게임
 3일차 : 슈팅 게임(형식은 자유)
 4~5일차 : 자유 주제
33
BY. PNY
코드 아카데미(ko) - python
https://www.codecademy.com/ko/tracks/python-ko
34
BY. PNY
35
 http://www.pygame.org/
 python 게임 라이브러리
 2000년 출시
 안드로이드 지원(ios 미지원)
# 1 - pygame 라이브러리를 임포트 한다.
import pygame
from pygame.locals import *
# 2 - 게임을 초기화한다.
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))
# 3 - 이미지를 불러온다.
player =
pygame.image.load("resources/images/dude.png")
# 4 - 무한 루프
while 1:
# 5 - 화면 그릴 준비. 화면을 검게 만든다.
screen.fill(0)
# 6 - 플레이어를 (100, 100)에 그린다.
screen.blit(player, (100, 100))
# 7 - 화면을 업데이트한다.
pygame.display.update()
# 8 - 발생한 이벤트들을 가져와 처리하는 루프
for event in pygame.event.get():
# x 버튼을 클릭하여 종료하려고 하면
if event.type==pygame.QUIT:
# pygame 라이브러리 종료 후 프로그램 종료
pygame.quit()
exit(0)
https://en.wikipedia.org/wiki/Pygame
http://www.raywenderlich.com/24252/beginning-game-programming-for-teens-with-python?utm_content=bufferfd9c0&utm_source=buffer&utm_medium=twitter&utm_campaign=Buffer
BY. PNY
36
 http://www.sublimetext.com/3
 용량, 실행 면에서 가벼운 Code editor
 화면 분할, 파일 이동, 명령어 단축키, Packaging 시스템 지원 등
http://cafe.naver.com/webstandardproject/3917
BY. PNY
37
Shooting Game
BY. PNY
 WikiDocs – 점프 투 파이썬 (https://wikidocs.net/book/1)
 경희대학교 컴퓨터공학과 컨퍼런스 1회 Softcon
- “파이썬 웹 프레임워크 개발 경험 공유” N.E.T 14 방신우
(http://www.slideshare.net/sinwoobang/ss-55115545/1)
 Java Vs Python (http://likelink.co.kr/26267)
 Java Vs Python (2)
(https://pythonconquerstheuniverse.wordpress.com/2009/10/03/python-java-a-
side-by-side-comparison/)
 네이버 D2 – 메일 서비스 파이썬 적용 경험 (http://d2.naver.com/helloworld/1114)
 나무위키 – Python (https://namu.wiki/w/Python)
38
BY. PNY
39

More Related Content

What's hot

알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터YunWon Jeong
 
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수Yeon Soo Kim
 
Python(basic)
Python(basic)Python(basic)
Python(basic)POSTECH
 
Sublime Text 3 for python and django
Sublime Text 3 for python and djangoSublime Text 3 for python and django
Sublime Text 3 for python and djangoraccoony
 
파이썬 스터디 9장
파이썬 스터디 9장파이썬 스터디 9장
파이썬 스터디 9장SeongHyun Ahn
 
문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의Kwangyoun Jung
 
15 2 클래스정의와self
15 2 클래스정의와self15 2 클래스정의와self
15 2 클래스정의와selfChangwon National University
 
1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlow1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlowHaesun Park
 
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬Joohyun Han
 
The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)Eunjeong (Lucy) Park
 
H3 2011 파이썬으로 클라우드 하고 싶어요
H3 2011 파이썬으로 클라우드 하고 싶어요H3 2011 파이썬으로 클라우드 하고 싶어요
H3 2011 파이썬으로 클라우드 하고 싶어요KTH
 
Lecture 1: Introduction to Python and TensorFlow
Lecture 1: Introduction to Python and TensorFlowLecture 1: Introduction to Python and TensorFlow
Lecture 1: Introduction to Python and TensorFlowSang Jun Lee
 
Character Encoding in python
Character Encoding in pythonCharacter Encoding in python
Character Encoding in pythondaesung7kang
 
200718 덕성여대 생물정보학 강의 :: 바이오파이썬 covid-19
200718 덕성여대 생물정보학 강의 :: 바이오파이썬 covid-19200718 덕성여대 생물정보학 강의 :: 바이오파이썬 covid-19
200718 덕성여대 생물정보학 강의 :: 바이오파이썬 covid-19Joohyun Han
 

What's hot (20)

알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
 
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수
 
Python(basic)
Python(basic)Python(basic)
Python(basic)
 
Sublime Text 3 for python and django
Sublime Text 3 for python and djangoSublime Text 3 for python and django
Sublime Text 3 for python and django
 
파이썬 스터디 9장
파이썬 스터디 9장파이썬 스터디 9장
파이썬 스터디 9장
 
14 2 iterator
14 2 iterator14 2 iterator
14 2 iterator
 
문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의
 
15 2 클래스정의와self
15 2 클래스정의와self15 2 클래스정의와self
15 2 클래스정의와self
 
07 2 for in list
07 2 for in list07 2 for in list
07 2 for in list
 
Nlp study1
Nlp study1Nlp study1
Nlp study1
 
1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlow1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlow
 
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
 
The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)
 
H3 2011 파이썬으로 클라우드 하고 싶어요
H3 2011 파이썬으로 클라우드 하고 싶어요H3 2011 파이썬으로 클라우드 하고 싶어요
H3 2011 파이썬으로 클라우드 하고 싶어요
 
10 1 딕셔너리
10 1 딕셔너리10 1 딕셔너리
10 1 딕셔너리
 
Lecture 1: Introduction to Python and TensorFlow
Lecture 1: Introduction to Python and TensorFlowLecture 1: Introduction to Python and TensorFlow
Lecture 1: Introduction to Python and TensorFlow
 
Python - Module
Python - ModulePython - Module
Python - Module
 
Character Encoding in python
Character Encoding in pythonCharacter Encoding in python
Character Encoding in python
 
200718 덕성여대 생물정보학 강의 :: 바이오파이썬 covid-19
200718 덕성여대 생물정보학 강의 :: 바이오파이썬 covid-19200718 덕성여대 생물정보학 강의 :: 바이오파이썬 covid-19
200718 덕성여대 생물정보학 강의 :: 바이오파이썬 covid-19
 
03_2_조건식
03_2_조건식03_2_조건식
03_2_조건식
 

Similar to 20160126_python

[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pubJaewook. Kang
 
EveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 KoreanEveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 KoreanJaewook. Kang
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)정명훈 Jerry Jeong
 
파이썬 쪼렙 탈출 1주차
파이썬 쪼렙 탈출 1주차 파이썬 쪼렙 탈출 1주차
파이썬 쪼렙 탈출 1주차 건환 손
 
141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍Changwon Choe
 
파이썬 소개
파이썬 소개파이썬 소개
파이썬 소개fermat39
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)Heungsub Lee
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Joongi Kim
 
Animal science with data science
Animal science with data scienceAnimal science with data science
Animal science with data scienceYoungjun Na
 
2015-2 MODA 두 번째 스터디
2015-2 MODA 두 번째 스터디 2015-2 MODA 두 번째 스터디
2015-2 MODA 두 번째 스터디 SKKU
 
200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의 200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의 Joohyun Han
 
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)Taeung Song
 
chatbot-seminar-1806
chatbot-seminar-1806chatbot-seminar-1806
chatbot-seminar-1806juneyoungdev
 
땅울림 파이썬 스터디 intro
땅울림 파이썬 스터디 intro땅울림 파이썬 스터디 intro
땅울림 파이썬 스터디 intro건희 김
 
PS 향유회 세미나 - Python을 서브언어로 편하게 PS해보자
PS 향유회 세미나 - Python을 서브언어로 편하게 PS해보자PS 향유회 세미나 - Python을 서브언어로 편하게 PS해보자
PS 향유회 세미나 - Python을 서브언어로 편하게 PS해보자SesangCho
 
Unreal python
Unreal pythonUnreal python
Unreal pythonTonyCms
 

Similar to 20160126_python (20)

[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub
 
EveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 KoreanEveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 Korean
 
파이썬으로 익히는 딥러닝
파이썬으로 익히는 딥러닝파이썬으로 익히는 딥러닝
파이썬으로 익히는 딥러닝
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)
 
파이썬 데이터 분석 (18년)
파이썬 데이터 분석 (18년)파이썬 데이터 분석 (18년)
파이썬 데이터 분석 (18년)
 
JetsonTX2 Python
 JetsonTX2 Python  JetsonTX2 Python
JetsonTX2 Python
 
파이썬 쪼렙 탈출 1주차
파이썬 쪼렙 탈출 1주차 파이썬 쪼렙 탈출 1주차
파이썬 쪼렙 탈출 1주차
 
141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍
 
파이썬 소개
파이썬 소개파이썬 소개
파이썬 소개
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
 
Animal science with data science
Animal science with data scienceAnimal science with data science
Animal science with data science
 
2015-2 MODA 두 번째 스터디
2015-2 MODA 두 번째 스터디 2015-2 MODA 두 번째 스터디
2015-2 MODA 두 번째 스터디
 
200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의 200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의
 
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)
 
chatbot-seminar-1806
chatbot-seminar-1806chatbot-seminar-1806
chatbot-seminar-1806
 
땅울림 파이썬 스터디 intro
땅울림 파이썬 스터디 intro땅울림 파이썬 스터디 intro
땅울림 파이썬 스터디 intro
 
IPython
IPythonIPython
IPython
 
PS 향유회 세미나 - Python을 서브언어로 편하게 PS해보자
PS 향유회 세미나 - Python을 서브언어로 편하게 PS해보자PS 향유회 세미나 - Python을 서브언어로 편하게 PS해보자
PS 향유회 세미나 - Python을 서브언어로 편하게 PS해보자
 
Unreal python
Unreal pythonUnreal python
Unreal python
 

20160126_python

  • 1. BY. PNY 경희대학교 컴퓨터공학과 ICNS 연구실 2016. 01. 26 박나연
  • 2. BY. PNY 01 파이썬이란? 02 파이썬 문법 03 파이썬으로 뭘 할까? 04 파이썬 스터디 2
  • 4. BY. PNY python [명] 비단뱀 4
  • 5. BY. PNY https://www.python.org/ 전 세계에서 5번째로 많이 사용되는 언어 (2016년 1월 TIOBE 사 통계 자료) http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 5
  • 6. BY. PNY  귀도 반 로섬(Guido van Rossum)이 심심해서 제작  1991년 발표  객체 지향 언어 평소 좋아한 코미디에서 따옴 ▶ https://ko.wikipedia.org/wiki/파이썬 6
  • 7. BY. PNY 7 “ 하나 이상의 해결법이 존재한다 ” “가장 아름다운 하나의 답이 존재한다 ”  Beautiful is better than ugly  Explicit is better than implicit  Simple is better than complex
  • 8. BY. PNY 인간다운 언어 많은 Platform 지원오픈소스 객체 지향 언어 … 많은 Library 지원 8
  • 9. BY. PNY 높은 생산성! “ Life is too short, You need Python. ” 9
  • 10. BY. PNY 생산성 투입된 자원에 비해 산출된 생산량이 어느 정도인가를 대변하는 척도 시사상식사전 [ Productivity ] http://terms.naver.com/entry.nhn?docId=69139&cid=43667&categoryId=43667 10
  • 11. BY. PNY 프로그래밍 문법이 사용하기 쉽거나 (Writability) 이해하기 쉬움 (Readability) 높은 생산성 11
  • 12. BY. PNY * python 2.7 기준 (현재 3.X 까지 나와있으나 대부분 2.7 사용) 12
  • 13. BY. PNY a = 1 b = "hello" print type(a) print type(b) <type ‘int’> <type ‘str’> javascript 등과 같은 Dynamic Typing 13
  • 14. BY. PNY if 4 in [1, 2, 3, 4] : print “There is 4” → “ 만약 4가 [1, 2, 3, 4]안에 있다면 “There is 4”를 출력해라. ” 영어 문장을 읽는 듯한 착각! 14
  • 15. BY. PNY for (int i=1; i<4; i++) cout << i << endl; for i in range(1, 4): print i C++ Python 15
  • 16. BY. PNY for i in range(1, 4): print i print “Wow”; print “Fantastic Baby”  ‘ { } ’가 아닌 들여쓰기로 범위(scope) 구분  세미콜론(;) 사용은 자유  한 라인에 쓸 경우 : 세미콜론 필요 16 print “Wow”; print “Fantastic Baby”
  • 17. BY. PNY public class HelloWorld { public static void main (String[] args) { System.out.println("Hello world!"); } } print “Hello world!” Java Python 17
  • 18. BY. PNY public class Employee { private String myEmployeeName; private int myTaxDeductions = 1; private String myMaritalStatus = "single"; //--------- constructor #1 ------------- public Employee(String employeeName) { this(employeeName, 1); } //--------- constructor #2 ------------- public Employee(String employeeName, int taxDeductions) { this(employeeName, taxDeductions, “single”); } //--------- constructor #3 ------------- public Employee(String employeeName, int taxDeductions, String maritalStatus) { this.myEmployeeName = employeeName; this.myTaxDeductions = taxDeductions; this.myMaritalStatus = maritalStatus; } ... class Employee(): def __init__(self , employeeName , taxDeductions = 1 , maritalStatus = "single" ): self.employeeName = employeeName self.taxDeductions = taxDeductions self.maritalStatus = maritalStatus ... Java Python # 참고 # 한줄 주석 “““ 여러줄 주석 ””” # 생성자 __init__ # 소멸자 __del__ 18
  • 19. BY. PNY  숫자형 (Number)  문자열 (String)  리스트 (List)  튜플 (Tuple)  딕셔너리 (Dictionary)  집합 (Sets)  참과 거짓 (True & False)  변수 (Variable) 19
  • 20. BY. PNY  숫자형 (Number)  문자열 (String)  리스트 (List)  튜플 (Tuple)  딕셔너리 (Dictionary)  집합 (Sets)  참과 거짓 (True & False)  변수 (Variable) 20
  • 21. BY. PNY t1 = () t2 = (1, ) #한 개의 요소만을 넣을 때 ,필요 t3 = (1, 2, 3) t4 = 1, 2, 3 #괄호 생략 가능 t5 = ('a', 'b', ('ab', 'cd'))  리스트의 [ 와 ] 대신 튜플은 ( 와 )로 둘러싼다  리스트는 그 값을 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 변화시킬 수 없다.  이외에는 리스트와 동일 21
  • 22. BY. PNY # {Key1:Value1, Key2:Value2, Key3:Value3 ...} dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}  key, value의 형태 (흔히 아는 Hash의 개념)  key를 통해 value를 얻을 수 있다.  중복 key 사용은 자제 (나머지가 무시됨)  key에는 리스트는 사용할 수 없지만 튜플은 가능하다. (변하지 않는 값이기 때문) 22
  • 23. BY. PNY s1 = set([1, 2, 3]) s2 = set(“Hello”) print s1 print s2  집합에 관련된 것들을 처리하기에 좋음 (교집합, 합집합, 차집합 등 지원)  중복을 허용하지 않는다.  순서가 없다. (indexing 불가) 23 set([1, 2, 3]) set([‘H’, ‘e’, ‘l’, ‘o’])
  • 25. BY. PNY 시스템 유틸리티  운영체제(Windows, Linux 등)의 시스템 명령어들 지원  갖가지 시스템 관련 유틸리티 프로그램 제작이 쉬움 25
  • 26. BY. PNY GUI 프로그램  다른 언어보다 GUI 프로그래밍이 쉬운 편  파이썬과 함께 제공되는 Tkinter나 외부 라이브러리인 PyQT, PyGTK등 26
  • 27. BY. PNY GUI 프로그램 : Tkinter 27
  • 28. BY. PNY C/C++와의 결합  파이썬은 C 언어를 바탕으로 제작  모듈을 사용하면 파이썬 → C에서 사용 / C → 파이썬에서 사용 가능  부족한 부분을 C/C++로 작성한 후 파이썬 프로그램과 결합 28
  • 29. BY. PNY 웹 / DB 프로그래밍  Django, Flask 등의 웹 프레임워크를 이용하여 웹 제작  Sybase, Infomix, Oracle, MySQL 등 DB 접근 도구 제공 29
  • 30. BY. PNY 높은 성능을 요구하거나 하드웨어를 제어하는 프로그램 많은 반복과 연산을 필요로 하는 프로그램 데이터 압축 프로그램 30
  • 32. BY. PNY  RETURN에서 진행한 속성 Python Game Study  2016년 1월 6, 7, 8, 11, 12일 - 총 5일 32
  • 33. BY. PNY  1일차 : python 문법 공부 & 숫자 야구 게임  2일차 : 똥 피하기 게임  3일차 : 슈팅 게임(형식은 자유)  4~5일차 : 자유 주제 33
  • 34. BY. PNY 코드 아카데미(ko) - python https://www.codecademy.com/ko/tracks/python-ko 34
  • 35. BY. PNY 35  http://www.pygame.org/  python 게임 라이브러리  2000년 출시  안드로이드 지원(ios 미지원) # 1 - pygame 라이브러리를 임포트 한다. import pygame from pygame.locals import * # 2 - 게임을 초기화한다. pygame.init() width, height = 640, 480 screen = pygame.display.set_mode((width, height)) # 3 - 이미지를 불러온다. player = pygame.image.load("resources/images/dude.png") # 4 - 무한 루프 while 1: # 5 - 화면 그릴 준비. 화면을 검게 만든다. screen.fill(0) # 6 - 플레이어를 (100, 100)에 그린다. screen.blit(player, (100, 100)) # 7 - 화면을 업데이트한다. pygame.display.update() # 8 - 발생한 이벤트들을 가져와 처리하는 루프 for event in pygame.event.get(): # x 버튼을 클릭하여 종료하려고 하면 if event.type==pygame.QUIT: # pygame 라이브러리 종료 후 프로그램 종료 pygame.quit() exit(0) https://en.wikipedia.org/wiki/Pygame http://www.raywenderlich.com/24252/beginning-game-programming-for-teens-with-python?utm_content=bufferfd9c0&utm_source=buffer&utm_medium=twitter&utm_campaign=Buffer
  • 36. BY. PNY 36  http://www.sublimetext.com/3  용량, 실행 면에서 가벼운 Code editor  화면 분할, 파일 이동, 명령어 단축키, Packaging 시스템 지원 등 http://cafe.naver.com/webstandardproject/3917
  • 38. BY. PNY  WikiDocs – 점프 투 파이썬 (https://wikidocs.net/book/1)  경희대학교 컴퓨터공학과 컨퍼런스 1회 Softcon - “파이썬 웹 프레임워크 개발 경험 공유” N.E.T 14 방신우 (http://www.slideshare.net/sinwoobang/ss-55115545/1)  Java Vs Python (http://likelink.co.kr/26267)  Java Vs Python (2) (https://pythonconquerstheuniverse.wordpress.com/2009/10/03/python-java-a- side-by-side-comparison/)  네이버 D2 – 메일 서비스 파이썬 적용 경험 (http://d2.naver.com/helloworld/1114)  나무위키 – Python (https://namu.wiki/w/Python) 38