[Python] 클래스(self, __init__, 변수) 사용방법
- Language/Python
- 2020. 8. 27.
클래스를 사용하는 방식은 자바와 같다 하지만 자바와는 다르게 첫번째 매개변수에 self가 들어간다.
self는 클래스의 객체를 지칭하고 self를 통해서 속성을 정해준다. 자바에서의 this이다.
또 클래스 안에 __init__ 라는 초기화 메서드라고 있는데 이 메서드는 클래스의 객체가 만들어질 때 자동으로 호출돼서 그 객체의 속성을 정해줄수 있다. 즉 자바에서 생성자 역할을 하는 메서드이다.
[예제1]
class Human:
def __init__(self, name, age):
self.name = name
self.age = age
def info(self):
print("나의 이름은", self.name, "나이는", self.age, "입니다")
human1 = Human("짱구", "10")
human2 = Human("철수", "12")
human1.info()
human2.info()
|
Human 클래스의 객체 human1, human2를 생성하였고 생성할때 name과 age를 인자로 넘겨서 객체의 속성을 정해준다. human1의 name은 짱구고, age는 10이다.
__init__ 함수는 자바에서 생성자 함수로 생각하면 되며 예약어이다. 이름이 변경 돼서는 안된다.
self 도 역시 이름과 매개변수중 맨 앞에 있어야 하는걸 지켜야 한다.
그러면 클래스의 변수는 필요가 없나라고 생각할 수 있는데 클래스에서의 변수는 자동적으로 주어지게 하는 하나의 속성이라고 생각하면 된다. 예를 들어 사람의 힘을 기본 5라고 지정하고 싶을때 클래스에 변수 힘 = 5 를 주면 된다.
[예제2]
class Human:
power = 5
def __init__(self, name, age):
self.name = name
self.age = age
def info(self):
print("나의 이름은", self.name, "나이는", self.age, "입니다", "힘은", self.power, "입니다.")
human1 = Human("짱구", 10)
human2 = Human("철수", 12)
human1.power += 1
human1.info()
human2.info()
|
위 예제는 Human 클래스 변수에 power를 넣어줬고 human1 객체에 power 1을 올려주었다. 짱구는 힘6이고 철수는 힘5이다.
'Language > Python' 카테고리의 다른 글
[Python] 파이썬으로 동영상 이미지 추출하는 방법(사이즈 설정과 초당 1프레임 추출) (1) | 2020.12.21 |
---|---|
[Python] 파이썬으로 데이터 라벨링(Labeling) 하는 방법 (0) | 2020.12.18 |
[Python] 반복문(for, while, break, continue) 기본 사용법 (0) | 2020.08.13 |
[Python] 조건문(분기, 중첩) 기본적인 사용법 (0) | 2020.08.12 |
[Python] 변수명 규칙과 값 교환방법, 출력방법 (0) | 2020.08.10 |