面向对象之方法相关

class Person:
    # 实例方法
    def eat2(self):  # 要求第一个参数接收的是一个实例,也就是说需要对象的调用
        print("这是一个实例方法",self)



    # 类方法
    @classmethod
    def leifangfa(cls): # 要求第一个参数接收的是一个类
        print("这是一个类方法",cls)

    @staticmethod
    def jingtaifangfa():
        print("这是一个静态方法")

Person.leifangfa()  # 这是一个类方法 <class '__main__.Person'> 默认接收的是一个类、
p = Person()
print(p.__dict__) # {}
print(Person.__dict__)# {'__module__': '__main__', 'eat2': <function Person.eat2 at 0x00000210081BF5E0>, 'leifangfa': <classmethod object at 0x00000210081B8FD0>,
                        # 'jingtaifangfa': <staticmethod object at 0x00000210081B8FA0>,
posted @ 2022-10-24 14:56  itsalexSun  阅读(63)  评论(0)    收藏  举报