python中实例方法、类方法、静态方法

实例方法 self:代表类的实例
类方法 cls:代表类这个名称本身
静态方法 不能传递类的实例self,也不能传递类本身cls
类的实例可以访问以下三种方法
类本身可以访问类方法、静态方法、但不能访问实例方法

点击查看代码
class MyClass:
    """
    静态成员变量
    静态成员变量是被类的所有实例共享的
    访问方式:通过类名.
    """
    my_static_variable=0
    """
    
    """
    # 实例方法 self:代表类的实例
    def my_normal_method(self,num1,num2):
        pass
        # self.normal_variable
        # MyClass.my_static_variable=1

    # 类方法 cls:代表类这个名称本身
    @classmethod
    def my_class_method(cls,num1,num2):
        MyClass.my_static_variable=1
        pass
    # 静态方法 不能传递类的实例self,也不能传递类本身cls
    @staticmethod
    def my_static_method(num1,num2):
        pass

    """
    魔法方法
    """
    def __new__(cls, *args, **kwargs):
        print("__new__")
        return super(MyClass, cls).__new__(cls,*args,**kwargs)
    def __init__(self):
        super().__init__()
        self.normal_variable=2
        print("__init__")
if __name__ == '__main__':
    myclass1=MyClass()
    myclass1.my_normal_method()
    myclass2=MyClass()


# See PyCharm help at https://www.jetbrains.com/help/pycharm/

posted @ 2024-06-12 17:13  阳光天气  阅读(21)  评论(0)    收藏  举报