# 1. 파이썬 객체를 pickle로 저장하기 import pickle data = { "목표1" : "매일 팔굽혀 펴기 100회", "목표2" : "매일 코딩 공부 1시간" } file = open("./myvenv/Chapter10/data.pickle", "wb") pickle.dump(data, file) file.close() # 2. pickle 파일 파이썬으로 가져오기 file = open("./myvenv/Chapter10/data.pickle", "rb") data = pickle.load(file) print(data) file.close() # with 구문을 사용하면 자동으로 file close 해준다. with open("./myvenv/Chapter10/data.txt", "r"..
# 1. import 패키지.모듈 import unit.character unit.character.test() # 2. from 패키지 import 모듈 ( 더 자주 사용 ) from unit import item item.test() # 3. 모든 모듈 가져오기 # from 패키지 import * # *로 모든 모듈을 사용할 때는 __init__ 파일에 from .import character, item, monster로 적어줘야함 from unit import * character.test() item.test() monster.test() # 4. import 패키지 # __init__ 파일에 from .import character, item, monster로 적어줘야함 import unit u..
# 모듈을 사용하는 이유 # 프로그램 기능별로 파일을 나누어서 유지보수 # 관리하기 편리해진다. # 한개의 완성된 프로그램 파일 = 모듈 # 내장 모듈 # : 파이썬 설치 시 자동으로 설치되는 모듈 # 파이썬 기본 내장 모듈 사용방법 # import 모듈이름 # 모듈이름.변수 # 모듈이름.함수() import math print(math.pi) print(math.ceil(5.7)) # 파이썬 기본 내장 모듈 편하게 사용하는 방법 # from 모듈이름 import 변수 # 변수 # 함수() from math import pi, ceil as c # as 사용시 다른 단축어로 사용 가능 print(pi) print(c(5.6)) # 외부모듈 # : 다른 사람이 만든 파이썬 파일 pip로 설치해서 사용 # ..
# 실습문제 # 1. 클래스 생성 # 아이템 클래스 생성 class Item: def __init__(self, name, price, weight, isdropable): self.name = name self.price = price self.weight = weight self.isdropable = isdropable def sale(self): print(f"[{self.name}] 판매 가격은 [{self.price}] 입니다.") def discard(self): if self.isdropable: print(f"[{self.name}] 버렸습니다.") else: print(f"[{self.name}] 버릴 수 없습니다.") class WearableItem(Item): def __init_..
# 상속 # 클래스들에 중복된 코드를 제거하고 유지보수를 편하게 하기 위해서 사용 # 클래스 변수 # : 인스턴스들이 모두 공유하는 변수 # 부모 클래스 import random class Monster: max_num = 1000 def __init__(self, name, health, attack): self.name = name self.health = health self.attakc = attack Monster.max_num -= 1 def move(self): print(f"[{self.name}] 지상에서 이동하기") # 자식 클래스 class Wolf(Monster): pass class Shark(Monster): def move(self): print(f"[{self.name}] 헤..
# 클래스 # 객체를 만들기 위한 설계도 # 클래스를 사용하는 이유 champion1_name = "이즈리얼" champion1_healty = 700 champion1_attack = 90 print(f"{champion1_name}님 소환사의 협곡에 오신것을 환영합니다.") champion2_name = "리신" champion2_healty = 800 champion2_attack = 95 print(f"{champion2_name}님 소환사의 협곡에 오신것을 환영합니다.") def basic_attack(name, attack): print(f"{name} 기본공격 {attack}") basic_attack(champion1_name, champion1_attack) basic_attack(cha..
# 튜플 # 시퀀스 자료형 # 수정 , 추가, 삭제가 불가능한 리스트 # 메모리 사용이 효율적 # 읽기만 가능하기 때문에 데이터 손실 염려가 없다 # 튜플 만들기 # 튜플= (데이터, 데이터, 데이터) # 튜플= 데이터, 데이터, 데이터 # 괄호 생략 가능 # () -> 함수 # [] -> 리스트, 인덱스 # {} -> fString, 딕셔너리 # 튜플을 리스트로 만들기 a = tuple([5, 6, 7]) x = list(range(10)) b = tuple(x) # 패킹 # 여러개의 데이터를 하나의 변수에 할당하는 것 # 언패킹 # 컬렉션의 각 데이터를 각각의 변수에 할당하는 것 # 튜플 패킹 number = 3, 4, 5 # 튜플 언패킹 a, b, c = number # 리스트 패킹 number =..
# 실습문제 1 # docstring : 설명문 # """ """ def multiply(x, y): """ 두수의 곱셈 결과를 반환하는 함수 매개변수 x : 숫자 매개변수 y : 숫자 """ result = x * y return result multiply(3, 4) # 실습문제 2 # 문자열 포매팅 # fString def printSumAvg(x, y, z): """ 세개의 숫자를 받아 합계와 평균을 출력하는 함수 """ sum = x + y + z avg = sum / 3 print("합계 :", sum, "평균 :", avg) #문자열 포매팅 print(f"합계 : {sum} 평균 : {avg}") printSumAvg(10, 20, 30) # 실습문제 3 # 로또 번호 추출기 import r..
# 함수를 사용하는 이유 # 1. 재사용성이 좋아진다 # 2. 유지보수가 편리해진다. # 3. 가독성이 좋아진다. # 함수를 사용하지 않은 경우 from random import random print("안녕하세요. 동준님") print("현재 프리미엄 서비스 사용기간이 30일 남았습니다.") print("안녕하세요. 현식님") print("현재 프리미엄 서비스 사용기간이 15일 남았습니다.") print("안녕하세요. 원준님") print("현재 프리미엄 서비스 사용기간이 7일 남았습니다.") # 함수를 사용하는 경우 def printMessage(name, date): print("안녕하세요", name, "님") print("현재 프리미엄 서비스 사용기간이", date, "일 남았습니다.") pri..