41. class 정리 - 클래스 기본적인 사용 - 파이썬 - 기본을 갈고 닦자! (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 더블 언더바 사용
'Computer Science > 자료구조' 카테고리의 다른 글
[5.12] 04-2 큐 (0) | 2021.05.13 |
---|---|
[5.11] 04 스택과 큐 (1) | 2021.05.11 |
[5.8] 03 검색 알고리즘 - 해시법 (0) | 2021.05.08 |
[5.5-6] 03 검색 알고리즘 (0) | 2021.05.05 |
[4.28] 검색 알고리즘 (0) | 2021.04.28 |