def Element4():
def __init__(self, a_name='', a_symbol='', a_number=0):
self.__name=a_name
self.__symbol=a_symbol
self.__number=a_number
@property
def name(self):
return(self.__name)
@property
def symbol(self):
return(self.__symbol)
@property
def number(self):
return(self.__number)
Hy5=Element4('Hydrogen', 'H', 1)
print(Hy5.name, Hy5.symbol, Hy5.number)
라고 해보니까
Traceback (most recent call last):
File "psp.py", line 59, in <module>
Hy5=Element4('Hydrogen', 'H', 1)
TypeError: Element4() takes 0 positional arguments but 3 were given
라는 에러가 나옴;;
class Element():
def __init__(self, a_name='', a_symbol='', a_number=0):
self.name=a_name
self.symbol=a_symbol
self.number=a_number
근데 얘는 정상적으로 돌아가는데
뭐가 문제인지 모르겠음 ㅠㅠ
클래스를 선언하는데 왜 def Element4() 로 써 ㅇㅅㅇ;
며용~
한방에 해결 ㅗㅜㅑ 다른건 다 class라 해놓고 쟨 왜 def로 했지
근데 언더바 두 개를 앞에 붙이는건 신기한 기능 있네 ㅇㅅㅇ.. 덕분에 나도 하나 배워간다
책보니까 저렇게 해도 완전히 private인건 아니고 Hy5._Element4__name 이런식으로 접근 가능하다고 하네영
그렇구나 고마워 ㅇㅅㅇ
와 씨이이발 씨플 하다가 파이썬 코드보니까 죤내 고급지네