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'}
>>>