본문 바로가기

인터페이스 개발115

Python - 클래스[예제] - 주소록 Chap.15 클래스[예제] - 주소록 클래스[예제] 주소록 주소록 주소록 -> 리스트에 인스턴스를 넣기 import pickle # 저장,불러오기 용 class UserInfo: def __init__(self, name, email, phone): self.name = name self.email = email self.phone = phone def __str__(self): # 해당 인스턴스를 print 할 때 (자세하게 해도 좋음) return f"" def __repr__(self): # 컬렉션에 포함되었을 때 print (축약) return f"" class AddressBook: # 정보 관리 class는 CRUD를 기억하자. def __init__(self): self.book = [] .. 2020. 7. 27.
Python - 클래스[클래스] - 클래스, 클래스 정의, 생성자 Chap.15 클래스[클래스] - 클래스, 클래스 정의, 생성자 클래스 클래스, 클래스 정의, 생성자, 상속, 액세스 가장 중요한 파트, 객체 지향 프로그래밍 클래스 관련 정보와 정보의 조작 함수(메서드)를 묶어서 관리 기존 예제 (두 함수가 독립적) balance = 8000 def deposit(money): global balance balance += money def inquire(): print("잔액은 %d원 입니다."%balance) deposit(1000) inquire() 결과 잔액은 9000원 입니다. 정보가 많아지면 불편하다. (누구, 언제, 이자율, ...) 클래스 정의 class 키워드로 정의 (관례 파스칼) - 사용하기 위해서는 인스턴스를 생성한 후 사용 class Accoun.. 2020. 7. 27.
Python - 파일[파일 관리] - 파일 관리 함수, 디렉토리 관리함수 Chap.14 파일[파일 관리] - 파일 관리 함수, 디렉토리 관리함수 파일 관리 파일 관리 함수, 디렉토리 관리함수 파일 관리 함수 shutil.copy(a, b) shutil.move(a, b) shutil.rmtree(path) # 비어있는 directory만 삭제 가능 os.rename(a, b) os.remove(f) 리눅스 용 os.chmod(f, m) shutil.chown(f, u, g) os.link(a, b) os.symlink(a, b) import shutil shutil.copy("live.txt", "live2.txt") 디렉토리 관리 함수 os.chdir(d) # change os.mkdir(d) # make ☆ (이미 존재하면 예외) os.rmdir(d) # remove os.. 2020. 7. 27.
Python - 파일[파일 입출력] - 파일 쓰기, 파일 읽기, 입출력 위치, 내용 추가, 파일 예외 처리, with ~ as 문, pickle 모듈 Chap.14 파일[파일 입출력] - 파일 쓰기, 파일 읽기, 입출력 위치, 내용 추가, 파일 예외 처리, with ~ as 문, pickle 모듈 파일 입출력 파일 쓰기, 파일 읽기, 입출력 위치, 내용 추가, 파일 예외 처리, with ~ as 문, pickle 모듈 파일 쓰기 open(파일경로, 모드) 모드 - r : 읽기, 파일이 없는 경우 예외 발생 - w : 쓰기, 파일이 없으면 새로 생김 - a : 추가 - x : 쓰기용으로 여나 기존 파일이 있는 경우 실패 - t : text 모드로 열기 (디폴트) - b : binary 모드로 열기 try에 open, finally에 close 해주자. PyCharm은 UTF-8을 사용한다. windows는 window-949를 사용(이걸로 열면 잘보인다.. 2020. 7. 27.
Python - 표준모듈[예제] - 고스톱 패 섞기 및 패 분배 Chap.12 표준모듈[예제] - 고스톱 패 섞기 및 패 분배 예제 고스톱 패 섞기 및 패 분배 고스톱 패 섞기 및 패 분배 패의 수 : 48 게임 인원수: 3 deck = [] users = [ [], #사용자 1의 패 [], #사용자 2의 패 [] #사용자 3의 패 ] 최종 출력: 각 사용자의 패, 남은패를 출력하세요. 내 풀이 import random def print_result(deck, users): for n in range(len(users)): print(n+1,"번째 사용자 : ", users[n]) print("남은 패(", len(deck), "장)", sep = "") print(sorted(deck)) def assign(deck, users): for n in range(len.. 2020. 7. 27.
Python - 예외 처리[자원의 정리] - finally, assert Chap.13 예외 처리[자원의 정리] - finally, assert 자원의 정리 finally, assert finally 예외 발생 여부와 상관없이 항상 호출 작업의 마무리 작업 (cleanup) 수행 try: print("네트워크 접속") a = 2/0 print("네트워크 통신 수행") finally: print("접속 해제") print("작업 완료") 결과 Traceback (most recent call last): File "C:/workspace/01_python/chapter13/ex13-02.py", line 8, in a = 2/0 ZeroDivisionError: division by zero 네트워크 접속 접속 해제 이용 def comm(): try: print("네트워크 접속.. 2020. 7. 27.
Python - 예외 처리[예외 처리] - 예외, 예외 처리, 예외의 종류, raise Chap.13 예외 처리[예외 처리] - 예외, 예외 처리, 예외의 종류, raise 예외 처리 예외, 예외 처리, 예외의 종류, raise 에러: 복구 불가, 예외: 복구 가능(defalut action: 종료) 예외 프로그램 실행 중 발생한 에러 --> 프로그램 실행 종료 (디폴트) str = "89점" score = int(str) print(score) print("작업완료") 결과 Traceback (most recent call last): File "C:/workspace/01_python/chapter13/ex13-01.py", line 9, in score = int(str) ValueError: invalid literal for int() with base 10: '89점' 예외 처리.. 2020. 7. 27.
Python - 표준모듈[sys 모듈] - 시스템 정보, 명령형 인수 Chap.12 표준모듈[sys 모듈] - 시스템 정보, 명령형 인수 sys 모듈 시스템 정보, 명령형 인수 시스템 정보 import sys print("버전: ", sys.version) print("플랫폼: ", sys.platform) print("바이트 순서: ", sys.byteorder) print("모듈 경로: ", ) for path in sys.path: # 자신의 directory를 먼저 찾는다. print(path) sys.exit(0) # 프로그램 강제 종료, 인수로 종료 코드 지정 가능 결과 버전: 3.7.7 (default, May 6 2020, 11:45:54) [MSC v.1916 64 bit (AMD64)] 플랫폼: win32 바이트 순서: little 모듈 경로: C:\wo.. 2020. 7. 27.
Python - 표준모듈[난수] - random Chap.12 표준모듈[난수] - random 난수 random 모듈 random 모듈(1) .random() - 0 ~ 1 사이의 난수 리턴 (1은 미포함) import random for i in range(5): print(random.random()) 결과 0.31613467782098836 0.9210269418989194 0.37451066214301465 0.7120744921368977 0.16548941180523558 random 모듈(2) .randint(begin, end) - begin ~ end 사이의 정수 난수를 리턴 (end도 포함) .randrange(begin, end) - begin ~ end 사이의 정수 난수를 리턴 (end도 포함되지 않음 ) .uniform(begi.. 2020. 7. 27.
Python - 표준모듈[시간] - time, 실행 시간 측정, 실행 멈춤, 달력, 날짜 Chap.12 표준모듈[시간] - time, 실행 시간 측정, 실행 멈춤, 달력, 날짜 시간 time, 실행 시간 측정, 실행 멈춤, 달력, 날짜 시간조사, time 모듈 1970년 1월 1일 자정을 기준으로 경과한 시간을 초 단위로 표현 - 에폭(Epoch) 시간 또는 유닉스 시간 time import time print(time.time()) # 전세계 공통 결과 1595234097.897746 import time t = time.time() print(time.ctime(t)) # c는 문자로 표현해달라. 결과 Mon Jul 20 17:37:07 2020 import time t = time.time() print(time.localtime(t)) # 현재위치 기반으로 해석 결과 time.stru.. 2020. 7. 27.
Python - 표준모듈[수학] - import, math, statistics Chap.12 표준모듈[수학] - import, math, statistics 모듈 : 재사용 가능 모듈의 가장 낮은 단위는 함수이다. python 에서 성격이 유사한 함수끼리 파일에 모아두었다. 수학 import, math, statistics 임포트(import) 다른 파일에 정의된 변수 , 함수, 객체 등을 사용하기 전에 이를 알리는 것 표준 모듈 - 파이썬에서 제공하는 모듈 import 모듈 [as alias] # 별칭(옵션) from 모듈 import 함수명 # 필요한 함수만 쓸 때 import math print(math.sqrt(2)) from math import sqrt print(sqrt(2)) import math as m print(m.sqrt(2)) from math import .. 2020. 7. 26.
Python - 컬렉션 관리[예제] - 사전 활용[Value를 기준으로 정렬] Chap.11 컬렉션 관리[예제] - 사전 활용[Value를 기준으로 정렬] 컬렉션 관리[예제] 사전 활용[Value를 기준으로 정렬] 사전 활용[Value를 기준으로 정렬] 사전의 value 기준 정렬 song = """by the rivers of babylon, there we sat down yeah we wept, when we remember zion. when the wicked carried us away in captivity required from us a song now how shall we sing the lord's song in a strange land""" alphabet = dict() for c in song: if c.isalpha() == False: continu.. 2020. 7. 26.