def user_number(): print(f"총 유저 수 : {User.count}")
User.user_number()
+0
2021년 5월 16일
저기서 use_number()은 인스턴스 메소드로 분류할 수 있는데요, 괄호 안에 아무것도 쓰지 않았지만 저 함수를 호출할 때는 자동으로 인스턴스 변수를 첫 번째 파라미터로 집어넣거든요. 그래서 파라미터가 없는 게 아니라 self라는 파라미터를 정의할 때 꼭 써줘야 오류가 나지 않는다는 말입니다. 클래스 메소드도 마찬가지로 cls를 정의할 때 써줘야 하는 거고요.
댓글 2개
보통 클래스 메소드를 호출할 때 "인스턴스.클래스메소드" 이런 식의 호출을 사용하나요? 그리고 그래서 오류가 난다고 말씀하시는 건가요?
class User:
count = 0
def __init__(self, name, email, password):
self.name = name
self.email = email
self.password = password
User.count += 1
def user_number():
print(f"총 유저 수 : {User.count}")
User.user_number()