Head First Programmming
책 정보
- 출판사 : 한빛미디어
- 출판년도 : 2011년3월25일(초판)
- 참고 자료
- 책 설명 사이트 (링크)
- 원저 사이트 :
- 출처 : Head First Programming (한빛미디어)
저자 정보
- 원저자 : 폴 배리, 데이빗 그리피스
- 변역자 : 강권학
약어들(용어들)
- IDLE : Integrated DeveLopement Environment
- UTC : Universal Time Coordinated , 협정 세계 시
- PyPA : Python PAckage , 파이썬 패키징 및 설치
- PIP : Python Package Index, 파이썬 패키징 및 설치 도구
- FQN : Fully Qualified Name , 완전 수식 명칭
추가적인 공부 필요
- SQLite에 대한 공부 필요하다
관련 Web Sites
Pygame 라이브러리 설치 및 설명
설명
- 게임 제작에 사용할 수 있는 라이브러리
설치
- 설치 라이브러리를 다운로드 (32bit/64bit 확인 필요)
관련 사이트
- 공식 사이트 :
- 사용 예제 사이트 : http://devnauts.tistory.com/61
- 설치 관련 사이트
IDLE 단축키들
- [Tab] : 자동 완성 목록 제공
- [Alt + P] : 이전 입력 내용
- [Alt + N] : Next 입력 내용
- [F5] : 모듈 코드 실행
Python 예약어
- def : 새 함수 정의 할때 사용
- return : 반환 하기
Python BIF
- input() : 키보드 입력을 받는다.
- random.randint() : 난수를 생성
- float() : 문자열 -> 실수로
- int() : 문자열 -> 정수로
Python Error
- ValueError : 런타임에러 , 값이 너무 많거나 , 너무 적어서
- IOError : 파일에서 발생하는 에러
Chapter1. 처음으로 하는 코딩
정리
- = 와 == 의 차이
- = : 할당
- == : 동일 여부 비교
- != : 다름 여부를 비교
- > : 크기를 비교
- 들여쓰기 지울때 백스페이스 사용하라
- while 루프 :
Chapter2. 텍스트 테이터
정리
- 테스트 URL : http://beans-r-us.appspot.com/prices.html
- 웝 접속 라이브러리(모듈)
- urllib.request : URL 요청 모듈
- 예제
import urllib.request page = urllib.request.urlopen(URL) text = page.read.decode("utf8") |
- 기타 메소드
- urlcleanup() :
- urlretrieve() :
- 서브스트링
- s[start_index : end_next_index]
- start_index : 시작 글자 인텍스
- end_next_index : 끝 글자 다음 인텍스
- 예) 원문자 "cosmoslight"[6:11] = "light"
- 문자열 메소드들
- endswith(str) : 문자열 마지막에 주어진 문자열이 있으면 True
- upper() : 대문자로 변환 후 사본 반환
- lowwer() : 소문자로 변환 후 사본 반환
- replace(a,b) : 전체 문자열에서 a 를 b 로 변환 후 사본 반환
- strip() : 앞뒤 공백 제거 후 사본 반환
- find(str) : 주어진 문자열 최초 발견 된의 첫번째 인텍스 값을 반환
- startswith(str) : 문자열 첫음에 주어진 문자열이 있으면 True
- float(str) : 주어진 문자열 실수형을 변환
- time 시간 모듈 라이브러리 (자세한 내용 help(time)
- time.clock() : 부동 소수점 수로 표현된 초 단위의 현재 시간 반환
- time.daylight : 서머 타임 적용 여부를 숫자로 반환 , 0 이면 적용 되지 않음
- time.gmtime() : UTC 날짜와 시간 반환
- time.localtime() : 표준시간대에 영향 받은 지역 시간을 반환
- time.sleep(secs) : 주어진 시간(초) 동안 쉰다
- time.time() : 1970년 1월 1일 이후 시간을 초 단위로 반환 한다.
- time.timezone : UTC와 지역시간 차이를 초 단위로 반환 한다.
Chapter 3. 함수
정리
- 함수 정의 형식
- def function_name():
- DRY 원칙 : Don’t Repeat Yourself
- # : 한 줄 주석 처리 (PyCham의 단축키 : [ ctrl + / ]
- 한줄 인자를 선택적으로 사용할 수 있다.
- 기본값을 적용할 수 도 있음
- 지역변수
- 함수 내의 변수는 스택프레임에 저장되면 함수 수행을 완료되면 삭제된다.
Chapter 4. 파일과 배열 안의 데이터
정리
- 파일 데이터 접근
- open -> for -> close 패턴
- 텍스트 메소드 split() : 빈문자열 나눈다
- 예) (a , b , c) = text.split() : a , b ,c 로 구분 한다.
- 배열 내장 메소드
- count() : 전체 개수
- extend() : 배열을 추가 함
- index() : 검색 후 해당 인텍스 반환
- insert() : 지정한 인텍스를 항목을 삽입
- pop(): 배열의 제일 마지막 항목을 제거하고 반환 (위치 지정 가능)
- remove(): 배열의 첫 번째 항목을 제거하고 반환
- reverse(): 순서를 반대로
- sort(): 배열 정렬(낮은 -> 높은)
- [] : 배열이나 리스트 선언 방법
Chapter 5. 해시와 데이터베이스
정리
- {} : 해시 선언
- scores[키] = '값'
- 키 : 문자열이나 숫자
- 해시 내장 메소드
- keys() : 키의 배열을 반환
- value() : 값의 배열을 반환
- items() : 키 , 값의 2중 배열을 반환 한다.
- 존재하지 않는 메소드들
- 정렬
- 추가
- 내장 정렬 함수 : sorted()
Chapter 6. 모듈화 프로그램밍
정리
- 스트링 포맷팅 하기
- 예) print("%s %d\n" % ("xxx", 12))
- %s : 문자열
- %e : 지수 표현 하기
- %d : 숫자
- %f : 부동 소수 표시
- %x : 16진수 표시
- %4.2f : 소수점 이하 두자리 표시
- %07d : 7자리에 앞에는 0으로 채움
- from 모듈 import * : 모듈에 있는 모든 것 사용한다.
- FQN 방식
- import coffee_pos
- 사용예 coffee_pos.discount
Chapter 7. 그래픽 사용자 인터페이스 구현하기
정리
- pygame :
- 아래 함수는 사운드를 차례대로 연주 하기 위한 메소드 이다.
def wait_finish(channel): while channel.get_busy(): pass |
- 관련 설치 방법 위쪽 참고 하라!! -> 쉽지 않다.
- GUI 관련 기본 패키지 : tkinter 의 클래스
- Tk : 원도우
- Tk.title() : 원도우 타이틀
- Tk.geometry('WxH+X+Y') : 원도우 위치 조정
- Tk.mainloop() : 이벤트 루프 시작
- Button : 버튼
- Button(app, text="", width=10, command=evt_func) : 초기화 함수
- app : 원도우
- text : 출력 문자열
- width : 너비
- command : 이벤트 처리 함수
- pack(side='left', padx=10, pady=10) : 기본 원도에 연결 함
- side : 위치 , left , right , top , bottom
- padx : 수평 여백
- pady : 수직 여백
- Label : 레이블
- Label(app, text='', height=H)
- app : 원도우
- text : 표시 문자열
- height : 높이
- IntVar : 정수 랩퍼 클래스 , 주로 모델로 사용된다.
- set() : 값 설정
- get() : 값 얻기
- Label 연결 속성 : textvariable
Chapter 8. GUI와 테이터
정리
- Entry : 한 라인의 텍스트 입력
- Entry(app) : 기본 초기화 함수
- Entry.get() : 내용 수집
- Entry.insert(0, str) : 0번째 내용 입력
- Entry.delete(0, END) : 전체 삭제 , END 상수
- Text : 여러 라인 텍스트 입력
- Text(app) : 기본 초기화 함수
- get("1.0" , END) : 1.0 은 1행 0열 즉 처음 이라는 뜻 , 모든 문자열 수집 한다.
- delete("1.0" , END) : 모든 행 삭제
- insert("1.0", str) : 제일 앞에 텍스트 삽입
- Radiobutton : 라디오 버튼
- Radiobutton(app, text='' value='' variable=x) : 기본 초기화 함수
- app : 원도우
- text : 표시 문자열
- value : 모델, 즉 정보
- variable : 제어 변수
- StringVar : 텍스트를 저장하는 변수
- set() : 변경
- get() : 가져 오기
- OptionMenu : 메뉴리스트 , 자바 콤보 박스
- OptionMenu(app , model, *목록 ) :
- app : 원도우
- model : 모델 정보 객체 , 즉 선택된 목록중 아이템
- *목록 : 리스트 , 배열 , * 는 배열을 의미하는 것 같다
- Model , View , Controller 개념이 적용되어 있음 tkinter 모듈은
Chapter 8 1/2. 예외와 메시지 상자
정리
- 예외 처리 형식
- try/except 방식
try: 예외 처리해야 코드 영역 except Exception as ex: 예외 발생 시 처리 코드 영역 |
- 메시지 상자
- 모듈 : tkinter.message
- 메시지 상자 유형
- showinfo
- showwarning
- showerror(제목,출력문자열) :
- askquestion
- askokcancel
- askyesnocancel
- askretrycancel
Chapter 9. 그래픽 인터페이스 요소
정리
- 원도우 관리자 : Window Manager , WM
- 이벤트 처리 같은을 합니다.
- 속성들
- WM_TAKE_FOCUS : 마우스 클릭하여 원도우 활성화 되었을때 메인 원도우로 보내는 메시지
- WM_SAVE_YOURSELF : 운영 체제가 종료 될 때 메인 원도우 보내는 메시지
- WM_DELETE_WINDOW : 닫기 버튼을 클릭 되었을 때 메인 원도우로 보내는 메시지
- 위 속성을 메인 원도우에 연결하기
- app.protocol("WM_DELETE_WINDOW",shutdown) : shutdown 이벤트 처리 함수 연결
- app.destory() : 원도울 app를 종료 한다.
- Checkbutton : 체크 상자
- Checkbutton(app, variable= var, command=cmd, text='')
- app : 원도우
- variable : 제어 변수
- command : 이벤트 처리 함수
- text : 출력 문자열
- Scale : 슬라이스
- Scale(app, variable, from_, to, resolution, command, label, orient=HORIZONTAL)
- app : 원도우
- variable : 제어 변수
- from_ : 최소값
- to : 최대값
- resolution : 단위
- command : 이벤트 처리 함수
- label : 표시 문자열
- orient : 방향 (HORIZONTAL , VERTICAL)
- DoubleVar : 배정도형 정보 객체
Chapter 10. 사용자 정의 위젯과 클래스
정리
- 지역 함수 : 함수 안의 함수 , 필요한 것은 각 위젯에 대한 고유한 처리를 위해서
- class : 새로운 클래스 정의
- 상속 받을 때는 class SoundPanel(Frame):
- 초기화 메소드 정의 : 다른 언어에서 생성자
- def __init__(self)
- self 키위드 의미 : 자신을 의미 한다. 자바에서 this와 비슷
- os 모듈 :
- os.listdir(“.”) : 현재 디렉토리의 모든 파일을 가져 오기 리스트로
부록 I
#1: ‘파이썬 방식’으로 하기
- 관용구적 프로그램
- 파이썬 방식 프로그램 관련 사이트 : http://wiki.python.org/moin/PythonBooks
- 아주 좋은 사이트 이다.
#2: 파이썬2 사용하기
- 대표적으로 print 에서 괄호를 사용하지 않는다.
#3: 그 외 프로그래밍 언어들
- Jython : 파이썬 코드를 JVM에서 실행 한다.
#4: 자동화된 테스트 기법들
- unittest 를 참고
#5: 디버깅
- pdb 를 참고
#6: 명령행에서 실행하기
- 파일 형식 연결 사용하기
- python3 파이썬_파일.py
- python3 대신 py.exe 도 된다.
#9: 고급 프로그래밍 주제
- thread
- recursion
- metaprogramming : 프로그램을 만들 수 있는 프로그램
- functional programming : Lisp와 같은 언어
- regular expression : 정규식
- unicode
#10: 그 외의 IDE , 셸, 텍스트 에디터
- iPython : 스테로이드(steroids) 기반으로 구현한 일종의 파이쎤 쉘과 같은 것
- Komodo
- Eclipse
- Eric
cosmoslight.huni@gmail.com님이 다음 문서를 첨부했습니다.
[책]Head First Programming
Google 문서: 온라인에서 문서를 만들고 수정해 보세요. Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA 다른 사용자가 Google 문서의 문서를 나와 공유하여 발송된 이메일입니다. |
댓글 없음:
댓글 쓰기