레이블이 Head First Python인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Head First Python인 게시물을 표시합니다. 모든 게시물 표시

2016년 7월 27일 수요일

Head First Python 요약 - 6,7,8,9 장

Chapter 6. 사용자 정의 데이터 객체

정리

  • 딕셔너리 혹은 해시맵
    • 빈 맵 선언 : {} 를 사용 함
    • dict() : 팩토리 함수를 사용
    • dict_data = {‘key_name’ : ‘value’ ,}
    • 데이터 설정 : dict_data[‘key_name’]
  • 코드와 데이터 하나로 -> 클래스
    • 코드 : 메소드
    • 데이터 : 속성
    • 객체 : 인스턴스
  • Code
정의
class Athlete:
  def __init__(self):
__init__ : 초기화 메소드 혹은 생성자 라고 하기도 함.
self : 자신을 가르 킨다.
생성
a = Athlete()



Chapter 7. 웹 개발

정리

  • 웹 기반 애플리케이션 : 웹앱
  • Template 모듈 : 파일이나 문자열의 $변수를 치환 하는 기능을 제공함(참고)
    • 예) Template(text).substitute(변수=값)
    • 표준 라이브러리임
  • 웹 서버 : 파이썬 자체적인 http.server(웹 서버) 라이브러리를 모듈을 포함하고 있음(표준 라이브러리)
from http.server import HTTPServer, CGIHTTPRequestHandler
HTTPServer(('',8080),CGIHTTPRequestHandler).serve_forever()
----------------------------------------------------------
localhost 8080 웹서버를 구동한다.
  • glob.glob(“xxx/*.txt”) : xxx 디렉토리의 확장자가 txt인 파일 목록을 필터링하여 가져 온다.
    • 디렉토리 파일을 가져 온다
  • 쉘 스크립트 파일 처럼
    • 실행 python 스크립트 파일의 번째 라인은 : #! /usr/local/bin/python3
    • 파이썬 설치 위치나 버젼에 따라 틀림
    • chmod +x 속성을 준다
  • 폼 데이터 가져 오기 (표준 라이브러리)
    • 관련 모듈 cgi
    • 모든 폼 딕셔너리 가져오기 : form_data = cgi.FieldStorage()
  • cgi 관련 추적 라이브러리
    • 모듈명 : cgitab
    • 활성화 : cgitab.enable()
  • @property 키워드 : 객체 메소드를 속성처럼 호출 하도록 해 준다.


Chapter 8. 모바일 웹 개발


정리

  • 각 모바일 OS에서 수행 가능한 Python 환경을 조사 하고 정리 하라
  • json
    • json_list = json.dumps(python_list) : 파이썬 리스트를 json 리스트로 변환
    • python_list = json.loads(json_list): json 리스트를 파이썬 리스트로 변환
    • 언어 중립적
    • Content-type : application/json 임


Chapter 9. 테이터 관리


  • 참고 사이트
    • 공식 사이트 : 링크
  • 한글 참고 : #1 ,
  • SQLite 도구 사용하기 : FireFox 플러그인용 SQLite Manager가 좋음

정리

  • 파이썬 DB API Life Cycle
    • 연결
    • 생성
    • 조작
    • 커밋 / 롤백
    • 닫기
import sqlite3
connection = sqlite3.connect('db.sqlite') # 연결
cursor = connection.cursor() # 생성
cursor.execute("""SELECT DATE('NOW')""") #조작
connection.commit() #커밋 / 롤백
connection.close() #닫기

  • 결과값 처리 메소드
    • cursor.fetchone() : 행을 반환
    • cursor.fetchmany() : 여러 행을 반환
    • cursor.fetchall() : 모든 데이터를 반환
  • os
    • 프로그램의 환경 정보 수집 가능 함.

출처 : Head First Python (한빛출판사)

2016년 7월 26일 화요일

Head First Python 요약 - 4장,5장

Python BIF(내장함수)

  • list() : data 객체를 만든다, 리스트를 생성
  • range() : 필요한 범위에 일련의 숫자를 생성하고 나열자를 반환
  • enumerate() : 0부터 시작해서 번호가 매겨진 테이터의 리스트를 생성
  • int() : 문자열이나 다른 숫자를 정수로 변환한다
  • id() : 파이썬 객체의 고유한 식별자를 반환하다
  • next() : 리스트와 같은 나열할 있는 data 구조체에서 다음 항목을 반환 한다.
  • print() : 출력 한다.
    • 예) print("\t",end='') --> 탭를 출력하고 줄바꿈은 문자는 없음을 의미
  • open() : 파일 열기
  • file 관련
    • readline() : 한줄 읽기
    • close() : 파일 닫기
    • seek() : 파일 위치 이동
    • split() : 분활 하기
    • find() : 주어진 문자의 위치를 찾는다. 없으면 -1 값을 반환
  • 모듈 os
    • getcwd() : 현재 디렉토리
    • chgdir() : 디렉토리로 이동
    • path.exists() : 파일 존재 여부
  • help() : 도움말
  • str() : 문자열 객체로 변환
  • locals() : 집합 객체를 반환 한다.


Python Error

  • ValueError : 런타임에러 , 값이 너무 많거나 , 너무 적어서
  • IOError : 파일에서 발생하는 에러



Chapter 4. 영속성

정리

  • else if 대신 elif 로 사용함.
  • open() : 함수를 사용하여 파일 읽거나 쓰거나
    • Read : read_f =open('data.out','r')
    • Write : out_f= open('data.out.'w')
  • close() : 파일을 닫아서 캐쉬의 내용을 실제 파일에 쓴다.
  • 파이썬에서는 문자열불변 이다.
    • 그외 불변들
      • 숫자
      • 불변형 리스트 터플
  • with 문을 사용한 파일 작업 처리
    • 예제)
try:
  data = open('its.txt','w')
  --------------------------
  with open('its.txt','w') as data:
    • with 사용 시 잇점은 finally를 사용하여 파일을 닫을 필요가 없음.
  • print(‘파일을 쓸 내용’,file=out_f) : out_f에 내용을 출력 한다.
    • file : 올수 있는 내용
      • sys.stdout (기본값)
      • sys.stderr
      • file 객체
    • end 파라 미터 : 기본값을 \n(개행 문자), 이며 일반 행을 마지막 문자를 의미 한다.
  • pickle : 모든 데이타 객체를 파일 저장/읽기를 하는 표준 라이브러리
    • dump() : 테이터 저장
    • load() : 테이터 읽기
import pickle
with open('rfile.txt', 'rb') as r_file
  new_obj = pickle.load(r_file)
with open('wfile.txt', 'wb') as w_file
  pickle.dump(new_obj,w_file)
  • str() : 어떤 객체는 문자열로 변환 한다.
  • locals() : 현재 위치에서 접근할 수 있는 변수들의 집합을 반환 한다.
  • in : 연산자를 하여 특징 집합에 존재여부를 확인 할 수 있다.
    • if ‘find_var_name’ in locals():  -> 주어진 로컬 변수에 변수를 찾는다.


Chapter 5. 테이터의 이해

정리

  • 두 가지 정렬
    • 원본 정렬 : sort() , 즉 원본 자체를 정렬
    • 사본 정렬 : sorted() , 사본을 생성하여 정렬
    • 정렬 파라미터 reverse=True|False , True 이면 내림 차순
  • 리스트의 지능화
    • 리스트를 다른 리스트로 변환 하는 일을 정리
      • 변환된 데이터를 저장할 리스트 생성
      • 원래 리스트의 모든 테이터 항목을 나열
      • 나열하면서 각 데이터 항목을 변환
      • 변환된 데이터를 새 리스트에 추가
clean_list = []
for each_t in org_list:
   clean_list.append(modify_x(each_t))
-----------------------------------------
clean_list = [modify_x(each_t) for each_t in org_list]
  • 집합 : 중복된 데이터가 없음
    • data_set = set() : 빈 집합을 생성함. 팩토리 함수 사용
    • data_set = set(list) : 주어진 리스트 받아서 집합을 생성
  • 서브리스트 설명 : my_list[Index:End] 이면
    • Index : 시작 Offset
    • End : 항목 index 이전 까지 가져 온다.


출처 : Head First Python (한빛출판사)