SlideShare a Scribd company logo
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

PPTX
Python 생태계의 이해
PDF
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PDF
파이썬(Python) 소개
PDF
파이썬 소개
PDF
파이썬과 커뮤니티와 한국어 오픈데이터
PPTX
파이선 문법 조금만더
PDF
Writing Fast Code (KR)
PDF
자바, 미안하다! 파이썬 한국어 NLP
Python 생태계의 이해
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
파이썬(Python) 소개
파이썬 소개
파이썬과 커뮤니티와 한국어 오픈데이터
파이선 문법 조금만더
Writing Fast Code (KR)
자바, 미안하다! 파이썬 한국어 NLP

What's hot (20)

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

Similar to 20160126_python (20)

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

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