python @staticmethod @classmethod探寻

class research_static_method:
    Name = 'handsome boy'
    Age = '17'
    def __init__(self,address):
        self.address = address
    def print_address(self):
        print('地址',self.address)
        
    @classmethod
    def print_Name(cls):
        print('类属性-Name',cls.Name)
    
    @staticmethod
    def print_Age_and_address():
        print('静态方法——类和它的实例都可以调用')
        print(Name+address)   # 这句代码会报错,因为你使用类属性得要传类这个对象(使用参数cls),使用实例的属性,得要传实例对象(使用self),如print_Age_and_address_2(cls,self)这样定义
    @staticmethod
    def print_Age_and_address_2(cls,self):
        print('静态方法——类和它的实例都可以调用')
        print(cls.Name+self.address)
       
print(research_static_method.Name)   # 1.直接使用 类.属性

 

 

 

猜你喜欢

转载自blog.csdn.net/m0_52948781/article/details/124340824