Computer Science/자료구조
[5.10] * class 보충 학습
토마토.
2021. 5. 10. 13:23
41. class 정리 - 클래스 기본적인 사용 - 파이썬 - 기본을 갈고 닦자! (wikidocs.net)
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
생성자와 초기화자
class Flight:
def __init__(self): #객체에서 사용할 초기값을 초기화한다.
print('init')
super().__init__()
def __new__(cls):
print('new')
return super().__new__(cls)
def number(self):
#파이썬 메서드의 첫번째 파라미터명은 'self'를 사용함.
return 'SN060'
객체를 생성
from class_making import Flight
f = Flight() #constructor 생성자
print(f)
출력
new -> 먼저 new가 클래스를 받아 할당
init -> self를 받아 객체 내부 속성을 초기화
class Flight:
def __init__(self, number): #객체에서 사용할 초기값을 초기화한다.
self._number = number
#내부적으로 사용되는 변수
'''def __new__(cls):
print('new')
return super().__new__(cls)''' # 자동으로 실행됨
def number(self):
#파이썬 메서드의 첫번째 파라미터명은 'self'를 사용함.
return self._number
생성자
from class_making import Flight
f = Flight(5) #constructor 생성자
print(f.number())
초기화자(__init__)에 객체의 불변성 확립
class Flight:
def __init__(self, number): #객체에서 사용할 초기값을 초기화한다.
if not number[:2].isalpha():
raise ValueError("첫 두 글자가 알파벳이 아닙니다.")
if not number[:2].isupper():
raise ValueError("첫 두 글자가 대문자가 아닙니다.")
if not number[2:].isdigit():
raise ValueError("세번째 글자 이상이 양의 숫자가 아닙니다.")
self._number = number
#내부적으로 사용되는 변수
'''def __new__(cls):
print('new')
return super().__new__(cls)''' # 자동으로 실행됨
def number(self):
#파이썬 메서드의 첫번째 파라미터명은 'self'를 사용함.
return self._number
repl
from class_making import Flight
f = Flight('abc')
File "c:\Users\82109\Desktop\선형대수학\class_making.py", line 6, in __init__
raise ValueError("첫 두 글자가 대문자가 아닙니다.")
ValueError: 첫 두 글자가 대문자가 아닙니다.
비공개 속성
__name 더블 언더바 사용