zoukankan      html  css  js  c++  java
  • python

    类的方法分为:普通方法、 静态方法和类方法

     调用方式特征
    普通方法 由对象去调用执行,属于类 至少一个self,对象调用
    静态方法 属于类,但通过类来调用,不依赖于任何对象,方法内部不需要对象封装的值时,可使用静态方法 任意参数,没有self,上面添加@staticmethod,类似装饰器的东东
    类方法 静态方法的一种特殊形式,由类调用 至少一个cls参数,上面添加classmethod

    一、普通方法:

    由对象去调用执行(方法属于类)

    1.创建方法

    class Province:
        country = "中国"
    
        def __init__(self,name):
            self.name = name
    
        def show(self):   #普通方法,由对象去调用执行(方法属于类)
            print(self.name)

    2.访问普通方法:

    普通方法的访问需要使用对象 才能访问

    obj = Province("河北")
    obj.show()

    Out:

    河北

    二、静态方法:

    1.创建静态方法

    添加@staticmethod  并且 def f1(): 括号里面没有self   ,这样就创建了静态方法

    class Province:
        country = "中国"
    
        def __init__(self,name):
            self.name = name
    
        @staticmethod
        def f1(arg1,arg2):
            #静态方法,由类调用执行
            print(arg1,arg2)

     2.访问静态方法:

    静态方法的访问直接使用类就可以访问,不需要使用对象

    #访问静态方法
    Province.f1(11,22)

    out:

    11 22

    三、类方法

    类方法:

    1.创建类方法:

    添加@classmethod  后创建的就是类方法,cls 就是类的名称

    class Province:
        country = "中国"
    
        def __init__(self,name):
            self.name = name
    
        
        @classmethod
        def f2(cls):    #cls 是类名
            print(cls)

    2.方法类方法:

    直接使用类名和方法名称即可

    Province.f2()

    out:

    <class '__main__.Province'>

  • 相关阅读:
    一个基于Angular+Ionic+Phonegap的混合APP实战
    Kafka
    kafka
    Kafka
    归并排序
    插入排序
    CC1310的晶振问题
    CC1310的RSSI值问题
    CC1310之使用SMARTRF STUDIO
    CC1310电源
  • 原文地址:https://www.cnblogs.com/pangguoping/p/5617542.html
Copyright © 2011-2022 走看看