본문 바로가기

python

(56)
class 예제 - (커피 자판기 만들기) *필자 작성 코드와 선생님 작성코드 비교 필자 작성 코드 # coffe machine class Machine: def showData(self, cupCount, change): print('커피 {0}잔과 잔돈 {1}원' .format(cupCount, change)) class CoinIn: price = 200 def culc(self): coin = int(input('동전을 입력하세요:')) if coin >= 200: cupCount = int(input('몇잔을 원하시나요:')) if coin >= self.price*cupCount: change = coin - self.price*cupCount Machine.showData(self, cupCount, change) else: prin..
class random - 예제 (로또 번호 출력기) *하단에 해설 포함 # 클래스의 포함관계 : 로또 번호 출력기 import random class LottoBall: def __init__(self, num): self.num = num class LottoMachine: def __init__(self): self.ballList =[] for i in range(1, 46): self.ballList.append(LottoBall(i)) #포함 def selectBalls(self): # 볼 섞기 전 출력하기 for a in range(45): print(self.ballList[a].num, end = ' ') random.shuffle(self.ballList) # 섞기 print() for a in range(45): print(self.ba..
class - 포함관계 예제 (냉장고에 음식 담기) # 냉장고에 음식 담기 - 클래스의 포함관계로 구현 class Fridge: isOpened = False foods = [] def open(self): self.isOpened = True print('냉장고 문 열기') def put(self, thing): if self.isOpened: self.foods.append(thing) #포함 print('냉장고 안에 음식을 저장함') self.food_list() else: print('냉장고 문이 닫혀 있어 음식을 저장할 수 없어요') def close(self): self.isOpened = False print('냉장고 문 닫기') def food_list(self): for f in self.foods: print('-', f.irum, f...
class - 자원의 재활용 class class 활용 예제 사실 Pohamhandle class는 타 모듈에 작성하고 import하는 것이 정석이지만 편의상 같은 모듈에 작성했다. # 자원의 재활용 : 클래스는 다른 클래스를 불러다 사용 가능 # 클래스의 포함관계(has a) class Pohamhandle: # 핸들이 필요한 어떤 클래스에서든 호출될 수 있다. quantity = 0 # 회전양 def LeftTurn(self, quantity): self.quantity = quantity return '좌회전' def RightTurn(self, quantity): self.quantity = quantity return '우회전' # ... # 자동차를 위한 여러 부품을 별도의 클래스로 제작 : 생략 # 완성차 클래스 cla..
class - 다른 모듈에서 import해서 사용하기 class class4 추후의 참조할 class를 생성했다. # class : 새로운 타입을 생성 print('가수 관련 클래스') class SingerType: title_song = '화이팅 코리아' def sing(self): msg = '노래는 ' print(msg, self.title_song + ' 랄랄라 ~~') class4_1 # 가수 한 명을 탄생 # import pack2.class4 from pack2.class4 import SingerType def process(): # youngwoung = pack2.class4.SingerType() youngwoung = SingerType() print('영웅의 타이틀 송 : ', youngwoung.title_song) youngwo..
class - 참조 및 콜 위치 클래스의 변수, 메소드 위치와 참조 및 콜 위치 self.일 경우 멤버(변수, 메소드)를 참조하가나 콜을 한다. 아닐 경우 지역을 우선시하고 없다면 전역을 확인한다 생성자에 담을 내용이 없다면 생략해도 된다. kor = 100 # 전역 변수 def abc(): # 함수 a = 10 # 지역변수 print('함수') class MyClass: # 클래스 kor = 90 # 멤버변수 """ def __init__(self): pass """ def abc(self): print('메소드') def show(self): # kor = 80 # 지역변수 print(self.kor) print(kor) # 지역변수가 없으면 전역변수를 참조한다 self.abc() # 메소드 콜 abc() # 함수 콜 my = My..
class - 객체 생성, 객체 변수, method Class 파이썬도 static stack heep 영역으로 나뉘어 있다. 새로운 class를 생성하고, 생성자와 메소드를 부여했다. class Car: handle = 0 # Car type의 객체에 참조 가능 멤버 필드 speed = 0 def __init__(self, name, speed): self.name = name self.speed = speed def showData(self): # Car type의 객체에서 참조 가능 멤버 메소드 km = '킬로미터' msg = '속도:' + str(self.speed) + km return msg print(id(Car)) print(Car.handle) print(Car.speed) 2652749020752 0 0 만들어둔 Car type을 참조해..
class - 개요 class 새로운 타입을 생성, 객체 지향적(중심적)인 프로그래밍 클래스의 특징 클래스는 데이터와 기능을 묶어준다. 코드에 전역변수와 함수를 줄이는 등 여러 이점이 있다. 생성자, 소멸자가 있다. 다중상속이 가능하다. interface가 없다. 파이썬에는 접근지정자가 없다. (private 변수는 __로 작성하여 분류한다) 함수가 클래스 바깥쪽에 정의되어 있다면 function, 안쪽에 정의되어 있다면 method라고 한다. 클래스의 기본적인 형태 파이썬 메서드의 첫 번째 매개변수 이름은 관례적으로 self를 사용한다. 생성자, 소멸자가 있다. class TestClass: #prototype, 원형클래스 객체 생성, 고유의 이름 공간을 확보 aa = 1 # 멤버변수(멤버필드), public def __..