-
class, __init__, selfPython 3 2020. 3. 25. 00:30
다음의 코드로 설명해 드리겠습니다
class A(object):
def __init__(self):
self.x = 'Hello'
def method_a(self, foo):
print self.x + ' ' + foo
a=A()
1. self
self는 객체의 인스턴스 그 자체를 의미합니다. 대부분 객체지향 언어는 이걸 메소드에 안 보이게 전달하지만 파이썬에서 클래스의 메소드를 정의할 때는 self를 꼭 명시해야하고 그 메소드를 불러올 때 self는 자동으로 전달됩니다.
2. __init__
__init__은 파이썬에서 쓰이는 생성자입니다.
위의 코드에서 A()는 생성자 __init__에 어떤 파라미터도 넘기지 않고, 그 결과로 A타입의 객체를 생성해 이를 반환받습니다.
A(24, 'Hello'))와 같이 쓰면 파라미터 2개를 받는 생성자가 필요한데 현재 __init__은 그 어떤 파라미터도 받지 않으니 exception이 발생합니다.
파이썬 메서드의 첫 번째 매개변수 이름은 관례적으로 self를 사용한다. 객체를 호출할 때 호출한 객체 자신이 전달되기 때문에 self를 사용한 것이다. 물론 self말고 다른 이름을 사용해도 상관없다.
https://studymake.tistory.com/235
파이썬의 클래스(class) 정의 및 객체 생성
파이썬은 클래스를 지원하므로 객체 지향적인 프로그래밍을 할 수 있다. 사실 지금까지 다뤄온 기본 자료형도 다 클래스이다. 클래스는 새로운 자료형을 정의하는 것이고 객체(object)는 클래스의 인스턴스(instan..
studymake.tistory.com
파이썬은 클래스를 지원하므로 객체 지향적인 프로그래밍을 할 수 있다. 사실 지금까지 다뤄온 기본 자료형도 다 클래스이다. 클래스는 새로운 자료형을 정의하는 것이고 객체(object)는 클래스의 인스턴스(instance, 클래스가 구체화된 것)를 의미한다.
클래스 : 새로운 자료형을 정의하는 것
객체(object) : 클래스의 인스턴스(instance, 클래스가 구체화된 것)
class 식별자:
클래스 본체보통 클래스의 식별자는 대문자로 시작한다. 예를 들어 Person, Robot, Car, Point 등이다. 클래스 본체는 이 클래스에 속하는 변수와 함수를 정의하게 된다. 특별히 클래스에 속한 변수들을 필드(field), 클래스에 속한 함수들을 일반 함수들과 구분하기 위해서 메소드(method)라고 부르며 이 둘을 통칭하여 속성(attribute)라고 한다.
요약
클래스 속 변수 : 필드
클래스 속 함수 : 메쏘드
속성 : 필드와 메쏘드
-
필드 (field) : 클래스에 내장된 변수
-
메쏘드 (method) : 클래스에 속하는 함수
-
속성 (attribute) : 필드와 메쏘드를 통칭하여 속성이라 한다.
'Python 3' 카테고리의 다른 글
append과 extend의 차이점 (0) 2020.03.26 del과 remove 차이 (0) 2020.03.25 데이터 필터링(data filtering)의 3가지 방법 (0) 2020.03.23 최대공약수, 최소공배수 gcd내장함수 (0) 2020.03.22 파이썬 퍼센트(%)표시 (0) 2020.03.21 -