파이썬의 클래스 멤버함수
- 클래스 멤버함수 정의시 첫인자 필수 기록해야하며 멤버함수 호출시에 이 인자에 값 전달하지 않음. 통상 인자명을 self 로 함.
- self 인자는 C++ 클래스에서의 this 와 비슷.
## 클래스 정의 예.
class my_class:
# 이 자리에서 선언된 변수들은 본 클래스의 모든 인스턴스에서 공유됨.
str_common = ' 클래스 인스턴스들 에서 공유되는 변수임'
# 생성자(constructor).
def __init__(self,a0):
self.a0 = a0
self.my_str = '문자열'
self.my_int = 100
self.my_float = 100.0
# 클래스 멤버함수(=메서드) 의 첫번째 인자 필수 요구됨. 통상 명칭을 self 로 함.
def my_method_sum(self, a1, a2): # a1. a2 가 실제 외부에서 전달할 인자.
return a1 + a2
def my_method_get_str(self):
return self.my_str
def my_method_get_multi(self,a3):
return self.my_float * a3
## 클래스 활용. 상기 클래스의 개체 2개 생성예.
my_class_obj_1 = my_class("Hello 1") # 클래스에 생성자 있기에 생성자 인자 a0 에 값 전달하면서 생성.
my_class_obj_2 = my_class("Hello 2")
my_class_obj_1.my_method_sum(100, 200) # 멤버함수 호출.
my_class_obj_1.my_str = "hi" # 멤버변수에 값 대입.
파이썬의 클래스 상속
class my_classA():
def __init__(self):
def function1():
print('I'm function1 in my_classA')
class my_classB(my_classA): # my_classA 에서 상속받은 my_classB
def __init__(self):
my_classB_obj1 = my_classB()
my_classB_obj.function1() # my_classB의 function1 이 실행됨.
첫 등록 : 2021.10.06
최종 수정 :
단축 주소 : https://igotit.tistory.com/2932
'지속가능티끌 > Python' 카테고리의 다른 글
Python. numpy (0) | 2021.10.10 |
---|---|
Python. List 리스트 (0) | 2021.10.10 |
Python. round. 실수 소수점 자리수 자르기. (0) | 2021.09.10 |
Python. 비프음 출력 (0) | 2021.09.08 |
Python. json.loads 의 문자열 변환 특성 . jsoncpp 와 호환 안됨 (1) | 2021.01.07 |
댓글