You have used count_instance
as method name and variable name.
So changing the count_instance
variable to other name like count_instance_var
will solve the issue
class Person:
count_instance_var = 0
def __init__(self,first,last,age):
Person.count_instance_var +=1
self.first = first
self.last = last
self.age = age
@classmethod
def count_instance(cls):
return f"You have created {cls.count_instance_var} instances of {cls.__name__} class"
def full_name(self):
return f"{self.first} {self.last}"
def is_above_18(self):
return self.age>18
p1 = Person("yup","gup",21)
p2 = Person('akshhu','yes',27)
print(Person.count_instance_var)
If you are trying to call the class method, please use Person.count_instance()
class Person:
count_instance_var = 0
def __init__(self,first,last,age):
Person.count_instance_var +=1
self.first = first
self.last = last
self.age = age
@classmethod
def count_instance(cls):
return f"You have created {cls.count_instance_var} instances of {cls.__name__} class"
def full_name(self):
return f"{self.first} {self.last}"
def is_above_18(self):
return self.age>18
p1 = Person("yup","gup",21)
p2 = Person('akshhu','yes',27)
print(Person.count_instance())
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…