5-12 Static Method

Grace Goh·2022년 11월 16일
0

Django Rest Framework

목록 보기
29/36

클래스 외부에 있는 isAdult()
내부에 있는 @staticmethod isAdult()결과가 같다.

가독성 등의 편의를 위해 클래스 내부에 작성할 때 @staticmethod를 쓴다.

from datetime import date


def isAdult(age): # 클래스 외부
    return age > 20

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    @classmethod
    def fromBirthYear(cls, name, birthYear):
        return cls(name, date.today().year - birthYear)
        # Person(name, age올해-출생연도)

    @staticmethod # 클래스 내부
    def isAdult(age): # self가 들어가지 않는다.
        return age > 20



me = Person('angel', 35)
you = Person.fromBirthYear('angel', 1986)

print(me.age)
print(you.age)

# (29) > 20?
print(Person.isAdult(29)) # True
print(isAdult(29)) # True

35
36
True
True

profile
Español, Inglés, Coreano y Python

0개의 댓글