• python 静态方法


    静态方法

    类对象的静态方法只是一个普通函数,把普通函数归类于类对象,可以方便代码管理。

    在类对象中定义静态方法时,必须使用装饰器@staticmethod进行装饰。
    静态方法只是一个普通函数,所以第一个形参没有特殊含义和要求。

    静态方法可以被对象调用,语法:类对象.方法名([实参]) 或 cls.方法名([实参])。

    静态方法也可以被实例对象所调用,语法:实例对象.方法名([实参]) 或 self.方法名([实参])。

    类对象的所有实例对象都有一个指向类对象的指针,所以,类对象的所有实例对象都可以调用类对象中
    定义的类方法。

    调用静态方法时的参数传递和调用普通函数是一样。



    
    class MyClass(object):
        # 在类对象中定义的静态方法
        @staticmethod
        def tom(age, weight):  # 没有 self
            print(age, weight)
    
        @classmethod
        def get_info(cls):
            # 通过类对象调用类方法
            MyClass.tom(88, 77)
    
        def my_info(self):
            # 通过实例对象调用静态方法
            self.tom(18, 45)
    
    
    # 通过类对象调用静态方法
    MyClass.tom(21, 46)  # 21 46
    
    # 实例化
    mc = MyClass()
    
    # 通过实例对象调用静态方法
    mc.tom(33, 77)  # 33 77
    
    # 通过类对象调用类方法
    mc.get_info()  # 88 77
    
    mc.my_info()  # 18 45
    

    实例方法、类方法、静态方法综合例子

    class MyClass(object):
        def __init__(self, name):
            self.name = name
    
        def get_info(self):  # 定义实例方法,有 self 参数
            print("实例方法")
    
        @classmethod
        def get_other(cls):  # 定义实例方法,有 cls 参数
            print("类方法")
    
        @staticmethod
        def get_my_class():  # 定义静态方法,无默认参数
            print("静态方法")
    
    
    # 实例化
    mc = MyClass("tom")
    
    # 调用实例方法
    mc.get_info()  # 实例方法
    
    # 调用类方法,建议通过 类对象.类方法([实参]) 方法调用
    MyClass.get_other()  # 类方法
    
    # 调用静态方法,建议通过 类对象.类方法([实参]) 方法调用
    MyClass.get_my_class()  # 静态方法
    


    ------分界线------

    亦仁子:
    不要脑海里给自己加各种戏,找各种存在感。
    
    因为真没什么人在乎你,大家都非常忙,
    
    没有完美主义,干就完了。
    
    
  • 相关阅读:
    对象比较
    ObservableCollection<T> 的同类 ListCollectionView
    数据模板--DataTemplate
    ListBox的虚拟可视化技术
    WPF 动画 和 色彩 的随笔
    Binding.RelativeSource 属性
    javascript基础DOM操作
    js dom 操作技巧
    js 内置对象和方法 示例
    javascript 编程技巧
  • 原文地址:https://www.cnblogs.com/wwho/p/15621183.html
Copyright © 2020-2023  润新知