Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

게임 제작 마스터 클래스

파이썬 수업노트 no. 14| 파이썬 Self, 클래스, 인스턴스 변수 본문

파이썬

파이썬 수업노트 no. 14| 파이썬 Self, 클래스, 인스턴스 변수

엔류 ENRU 2020. 3. 18. 23:10




# Section 07-1 # 파이썬 클래스 상세 이해 # Self, 클래스, 인스턴스 변수 # 클래스, 인스턴스 차이 중요 # 네임스페이스 : 객체를 인스턴스화 할 때 저장된 공간 # 클래스 변수 : 직접 사용 가능, 객체 보다 먼저 생성 # 인스턴스 변수 : 객체마다 별도로 존재 # 인스턴스 생성 후 사용 # 선언 # class 클래스명: # 함수 # 함수 # 함수 # 예제1 class UserInfo: # 속성, 메소드 def __init__(self, name): self.name = name def user_info_p(self): print("Name : ", self.name) # 네임스페이스 user1 = UserInfo("Kim") print(user1.name) user1.user_info_p() user2 = UserInfo("Park") print(user2.name) user2.user_info_p() print(id(user1)) print(id(user2)) print(user1.__dict__) print(user2.__dict__) # 예제2 # self의 이해 class SelfTest(): def function1(): print('function1 called!') def function2(self): #print(id(self)) print('function1 called!') self_test = SelfTest() #self_test.function1() SelfTest.function1() self_test.function2() print(id(self_test)) SelfTest.function2(self_test) # 예제3 # 클래스 변수, 인스턴스 변수 class WareHouse: # 클래스 변수 stock_num = 0 def __init__(self, name): self.name = name WareHouse.stock_num += 1 def __del__(self): WareHouse.stock_num -= 1 user1 = WareHouse('Kim') user2 = WareHouse('Park') user3 = WareHouse('Lee') print(user1.__dict__) print(user2.__dict__) print(user3.__dict__) print(WareHouse.__dict__) #클래스 네임스페이스, 클래스 변수(공유) print(user1.name) print(user2.name) print(user3.name) print(user1.stock_num) print(user2.stock_num) print(user3.stock_num) # 자기 네임스페이스에 없으면 # 클래스의 네임스페이스에 가서 변수를 찾고, # 거기에도 없으면 에러가 발생한다. del user1 print(user2.stock_num) print(user3.stock_num)



Comments