3. 사용 할 책
- Try! Helloworld 파이썬
- (출판사:길벗, 저자:정윤원, 정두식)
4. 목차
Part 01 시작하기(파이썬 설치)
Part 02 변수와 계산
Part 03 조건문
Part 04 함수
Part 05 자료형
Part 06 리스트
Part 07 for 반복문
Part 08 모듈
Part 09 활용하기
Part 10 딕셔너리와 튜플
Part 11 while문과 반복 제어
Part 12 예외 처리
Part 13 논리 연산과 if 더 알아보기
Part 14 리스트 더 알아보기
Part 15 클래스와 객체 지향 프로그래밍
Part 16 상속과 다형성
Part 17 조건제시법
Part 18 날짜와 시간
월 화
1주
7/17
오리엔테이션
Part 01. 시작하기
7/19
Part 02. 변수와 계산
Part 03. 조건문
2주
7/24
Part 04. 함수
Part 05. 자료형
7/26
Part 06. 리스트
Part 07. for 반복문
3주
7/31
Part 08. 모듈
Part 09. 활용하기
8/2
Part 10. 딕셔너리와 튜플
Part 11. while문과 반복 제어
4주
8/7
Part 12. 예외처리
Part 13. 논리 연산과 if문
더..
7/17
Part 14. 리스트 더 알아보기
5주
8/14
Part 15. 클래스와 객체지
향...
8/16
Part 16. 상속과 다형성
6주
8/21
Part 17. 조건제시법
Part 18. 날짜와 시간
8/23
보강주
5. Python 실습에 필요한 소프트웨어
파이썬 공식 홈페이지에서 파이썬3를 다운받아 설치.
https://www.python.org/downloads/
6. Python 실습에 필요한 소프트웨어
편집기는 Atom Editer 이용
https://atom.io
Preference>Install에서 아래 패키지 설치
“autocomplete-python”
“script”
①
②
③
④
⑤
7. Python 실습에 필요한 소프트웨어
편집기는 Atom Editer 이용
https://atom.io
hello.py 파일에 위 같이 코드 작성후
터미널에서 python3 hello.py 입력후
실행 확인
9. 귀도 반 로섬(Guido van Rossum)
- 네덜란드 출신 프로그래머
- 2005 ~ 2012 까지 구글
- 2013 ~ 드롭 박스
- 1989년 크리스마스 때, 연구실이 닫혀있어
심심해서 파이썬을 개발하기 시작
- 본인이 좋아하던 영국 6인조 코미디 그룹
“몬티 파이썬”에서 따옴
- 파이썬은 그리스 로마 신화 “피톤”이라는
뱀 형상의 괴물에 유래됨
- 그래서 로고가 뱀 두 마리 합쳐놓은 모양
12. Python 특징
동적타이핑(dynamically typed)
: 자료형 체계, 런타임 중에 자료형을 체크
대조 : 정적타이핑(static typed)
자료형이 없던 때
모든 데이터는 숫자
데이터 의미는 어떤 명령에
쓰는지 따라 달라짐
사람이 일일이 자료형을
다 기억해야했음
정적타이핑
컴파일 시점에서 자료형을 체크
올바른 프로그래밍 도우미 역할
열심히 타입을 일일이 작성
엄격한 타입 체크 때문에
코드보다 타입 어노테이션이 긴경우가..
동적타이핑
비교적 자유로운 자료형 체계
일일이 타입을 알려줄 필요 없음
코드가 간결
하지만 다시 혼돈을 불러오는
런타임 중 자료형 에러
13. Python 특징
객체지향(OOP, Object-Oriented Programming)
: 프로그래밍 패러다임 한 종류
데이터 관점에서 프로그래밍
캡슐화(Encapsulation) -> 코드 수정 없이 재활용하자!
상속(Inheritance) -> 기존 코드 보호한채 수정
다형성(Polymorphsim) -> 식별자가 상황에 따라 다른 의미
절차적 프로그래밍(Procedural Programming) -> 시간 관점에
서 프로그래밍
함수관점에서 프로그래밍 <- 함수형 프로그래밍(Functional Programm
14. Python 특징
디자인 철학
- 강제적인 들여쓰기, 코드 스타일 획일화 -> 가독성 향상
(대신 탭과 공백에서 벌어지는 보이지않는 컴파일 오류 게임)
만능 언어
- 많은 패키지, 모듈, 다른 언어와 연동할 수 있는 방법도 많음
(그래서 풀언어라고도…, 패키지, 모듈이 많다지만, 그건 요새 언어가 다 그럼…)
높은 생산성
- 인터프린터특성, 우수한 자료형, 다양한 모듈 -> 개발 기간 단축
(Python으로 빨리 구현, 남은 시간에 속도 개선으로 C언어 이용)
Iterable, Coruntine 개념 도입
- 다음에 알아보도록 하자… 어려웡… ㅋ
멀티 코어 줘도 못 먹는 파이썬
- 멀티스레딩을 지원하지만, 전역 인터프린터 락 때문에 동시에 하나
(그래서 멀티스레딩 써야되는 CPU heavy한 작업은 C언어로 모듈 짜서 붙이기)
#2:예, 이번 세미나 타이틀은 Hello! 파이썬입니다.
오늘은 진행 내용은 오리엔테이션, 파이썬 소개로 오늘은 간단하게 하겠습니다.
#3:이번 세미나 목적은 파이썬 언어를 이해하고 쓸 줄 아는 능력을 갖추는 것을 매우 기본으로 두고 있습니다.
허나, 언제나 늘 느껴왔 듯이, 파이썬도 수 많은 언어 중 하나 일 뿐이고
그 말은 언어를 익힌다는 것은 프로그램을 만드는 툴, 프로그램 사용법을 익힌다는 것이 아닐까 싶다.
그리고 같은 목적을 만드는 여러 툴들은 거의 공통된 개념, 비슷한 개념이 많고, 제 각기 살짝 특화된 부분, 편리한 부분만 다를 뿐이다.
그러니 여러 언어를 배우는 것을 고집하기보단, 익숙한 한 언어만 깊숙히 파고, 다른 언어는 다른 부분, 공통된 개념을 익히는 것이 좋다고 본다.
어차피 언어 2~3만 봐도 바로 이러한 생각이 들 것이다.
그래서 집중해볼까라고 하는 것이, 문법, API, 함수 이런 것 보다. 문법에 담겨 있는 철학, 패러다임, API 함수의 활용 개념적인 부분이다.
그리고 바라는 것은 파이썬으로 원하는 분야에 활용할 수 있는 능력을 갖추는 것이다.
예시) 웹서버 크롤러, 사소한 불편을 해결할 수 있는 GUI 유틸리티
#4:이번 세미나에 진행할 때 활용할 책이다.
이 책에 특징은 쉽고, 실습 위주의 책
심도 있는 개념들이 약해서 아쉽다. 우리가 검색을 통해 채워보자
#5:이것은 제가 임이로 짠 이번 세미나 커리큘럼이당, 총 6주 과정, 매주 2회이다. 8월 마지막주는 2학기 준비하라고 생략하였다.
분명 진행에 따라 커리큘럼대로 진행 안될 가능성이 크다. 그냥 참고만 바란다.
그리고 파트마다 우리가 이미 아는 내용, 좀 더 내용이 필요한 부분이 있다.
이미 아는 내용은 빨리 스킵 스킵하고, 심도가 필요한 부분은 좀 더 파헤쳐 보자.
각 발표자는 필요하다면 저 한테 물어서 ppt에 필요한 살을 붙이도록 한다.
#6:먼저 실습 위주 책이다 보니, 실습 환경이 필요하다.
홈페이지 링크에 따라 파이썬 3 최신 버전을 설치하도록하자.
#7:그리고 편집기는 Atom 편집기를 사용해보도록 하자.
주소 타고 들어가서 다운 받고 설치, 그리고 Python을 편리하게 쓰기 위한 이 2개의 패키지를 설치를 하도록하자.
책에서는 Notepad++를 이용하지만 내가 싫다. 난 딱히 Atom 팬심이 있는 것은 아니고, 웹 때문에 하도 Atom을 많이 써서 내가 Atom이 익숙하다. ㅋ
물론 내가 봐도 Atom이 좋은 편은 아닌 것다. 패키지는 많지만 패키지 오류가 많고, 요새 조금 무거운 감이 있다.
Atom 에디터는 깃 허브에서 만들어진 오픈 소스 프로그램이고, 웹 기술로 만들어진 에디터라서 웹앱 편리성, 고증을 그대로 다 가져갔다.
다른 코드 편집기로 추천할 만 것은 SublimeText3와 Ms사의 Visualcode가 있다. 좋고 나쁘고는 알아서 판단하시길, 다 패키지 설치 에러 작렬해서 애매하드라.
물론 파이참이라는 파이썬을 위한 IDE(Interated Development Evironment)가 있지만, 쓰등가 말등가, 우리가 실습하기엔 너무 많은 기능이 있다. 하지만 제대로 쓸라면 편리하겠지
#8:설치가 끝났다면 확인을 위해 한번 코드를 짜보도록 하자.
사실 내 윈도우 컴퓨터에서는 패키지 설치에 실패 했다. 몰라 안되드라. 이런 경 우가 많더라고
그래서 수많은 패키지가 있어도 사용하는 것 몇 개 뿐,또 모듈이 많으면 많을 수록 눈에 띄게 무거워지드라.
패키지 설치 성공한 사람은 커맨드 + i를 눌러보아라. 그럼 돌아갈 것이다.
안된 사람은 그냥 터미널로 돌리도록 하자.
터미널 키고 위 명령어 쳐라.
#9:자 이제 잘 실행되는 것을 확인 하셨다면, 파이썬 소개 파트로 넘어가겠습니다.
파이썬이란? ~~ 입니다.
여기서 고급프로그래밍 언어의 의미를 알고 계시죠?
잘 알고 있다면 바로 패스
저급, 중급, 고급 3개로 나눠지는 데,
저급에 가면 갈 수록 컴퓨터가 이해하기 쉬운 언어이고
고급으로 갈 수록 사람이 이해하기 쉬운 언어입니다.
저급 언어에는 기계어, 어셈블리어가 있습니다.
기계어는 cpu가 바로 다이렉트로 먹는 워드 단위 이진수 코드입니다.
어셈블리어는 그 이진수 코드를 바로 1대 1 단어로 치환한 언어입니다.
모든 프로그래밍 언어는 어셈블리어, 기계어로 바뀌어 cpu에서 실행됩니다.
중급 언어는 C언어가 있습니다. 사람이 이해할 수 도 있고, 저수준 컨트롤이 가능합니다. 약간 애매하네요
대부분의 언어를 고급언어로 보시면 됩니다.
#11:프로그래밍 언어를 특징을 크게 분류할 때, 해석 방식, 자료형 체계, 패러다임에 따라 나눌 수 있다.
굳이 왜 언어를 나누 느냐면, 굳이 나눌 필요는 없는 것 같은데
새로운 언어를 알아볼때, 새로운 언어의 특징을 서술할 때 용이할 것 같고,
필요시 언어 전환할 때, 도움이 되지 않을까 한다.
#12:파이썬은 인터프린터식 언어입니다. 해석 방식 관점으로 봤을 때 말이죠
해석 방식은 프로그래밍 언어가 기계어로 번역되는 방식을 말합니다.
대표적인 방식으로는, 컴파일 방식, 인터프린터 방식, 바이트 코드, JIT 저스트 인타임 컴파일, AOT 어헤드 오브 타임 컴파일
컴파일 : 소스코드를 바로 기계어로 다 번역 해놓고 실행
인터프린터 : 소스코드를 실행시 한줄 씩 바로 번역해 실행
컴파일과 인터프린터 상호 배타적
바이트 코드: 언어를 반쯤 번역, 실행시 마저 번역