파이썬 기초 핵심#11 클래스

정은경·2020년 3월 6일
0

클래스 선언 및 Self의 이해

  • 클래스 선언
  • 클래스 네임스페이스self
  • 클래스, 인스턴스 변수
  • Self

self, 클래스, 인스턴스 변수

선언

class 클래스명:
함수
함수
함수

>>> class UserInfo: # 클래스이름의 첫글자는 대문자
...     pass
... 
>>> UserInfo
<class '__main__.UserInfo'>
>>> 
>>> class UserInfo:
...     # 속성, 메소드
...     def __init__(self):
...         print("초기화")
... 
>>> user1 = UserInfo()
초기화
>>> 
>>> 
>>> class UserInfo:
...     def __init__(self, name):
...         self.name = name
...     def user_info_p(self):
...         print(self.name)
... 
>>> 
>>> user1 = UserInfo()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __init__() missing 1 required positional argument: 'name'
>>> 
>>> user1 = UserInfo('Kim')
>>> user1.user_info_p()
Kim
>>> 
>>> user2 = UserInfo('Park')
>>> user2.user_info_p()
Park
>>> 
>>> # 네임스페이스 : 각 인스터들마다 각자 독립적인 네임스페이스가 존재함
>>> user1.name
'Kim'
>>> user2.name
'Park'
>>> 
>>> # id()는 메모리의 주소값을 알려주는 함수?
>>> print(id(user1))
4479564048
>>> print(id(user2))
4481055440
>>> 
>>> # "인스턴스명.__dict__"을 하면 네임스페이스를 출력함
>>> user1.__dict__
{'name': 'Kim'}
>>> user2.__dict__
{'name': 'Park'}
>>> 
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글