Python
[Python] 클래스의 메서드
Dongi
2022. 2. 17. 14:51
안녕하세요 동기 여러분!
오늘은 클래스의 메서드에 대해 알아봅시다!
메서드
메서드는 클래스에서 정의된 함수를 말합니다. 메서드에서 첫 번째 인자는 항상 메서드를 호출하는 객체입니다. 컨벤션에서는 이 첫 번째 인자를 self라는 이름으로 만들기를 추천합니다. 메서드는 항상 적어도 하나 이상의 인자를 가져야 합니다.
만들어 봅시다!
class Workout:
workout_duration = 1
def how_many_hours_workout(self):
print("동기는 하루에 {} 시간씩 운동한다.".format(self.workout_duration))
dongi = Workout()
dongi.how_many_hours_workout()
# 출력값 : 동기는 하루에 1 시간씩 운동한다.
- Workout이라는 class를 선언하는데
- 변수 workout_duration을 1로 선언해주고
- 메서드(함수) how_many_hours_workout을 선언하는데 인자는 self로 합니다.
- 그리고 메서드 실행 시 "동기는 하루에 {} 시간씩 운동한다."를 출력하게 하는데 {} 안에는 self.workout_duration이 들어갑니다.
- dongi라는 변수에 Workout()을 선언해주고
- 메서드를 실행하면 동기는 하루에 1 시간씩 운동한다. 가 출력됩니다. 이때 1은 .format() 메서드에 있던 self.workout_duration이 자동으로 들어가면서 나온 결과입니다.
- 메서드를 실행하는데 만약 self에 다른 인자를 넣게 되면 인자가 두 개가 들어왔다면서 에러를 줍니다.
오늘의 느낌
메서드는 클래스 안에서 정의된 함수이고 인자(Argument)를 하나 이상 받아야 하는데 첫 번째 인자는 이름을 self로 정해준다.