python学习15类(4)之静态类

动态类:可以创建实例的类

静态类:不支持实例的类。

 

静态类的特点:1)内部没有self关键字,也不能被实例化。

             2)不能通过类名传递参数

             3)静态类不支持__init()__初始化函数

             4)不能被真正实例化,但它可以集成变量或者函数,是一个带结构的数据类型。

class staticC():
    name='Tom'
   
age=22
    address="America"
   
tel="123456789"
   
def a():    #没有self参数,不能叫方法,只能叫函数
       
i=0
        i+=1
        print('%d'%(i))
    def b(add=1):
        print('%d'%(add))
    def c(add=1):
        print('%d'%(add))
        return add
#直接用类名调用其内部的变量和函数
print('name:%s'%(staticC.name))
print(staticC.a())

类的静态方法、普通方法、类方法

静态方法: 用@staticmethod装饰的不带self参数的方法叫做静态方法,类的静态方法可以没有参数,可以直接使用类名调用。

普通方法: 默认有个self参数,且只能被对象调用。不能直接被类调用

类方法: 默认有个cls参数,可以被类和对象调用,需要加上 @classmethod 装饰器。

class Classname():
    @staticmethod
    def fun():
        print('静态方法')

    @classmethod
    def a(cls):
        print('类方法')

    # 普通方法
   
def b(self):
        print('普通方法')

Classname.fun()
Classname.a()
C = Classname()
C.fun()
C.a()
C.b()

类:可以直接调用静态方法,类方法

对象:可以直接调用静态方法,类方法,普通方法

posted @ 2020-03-08 20:36  程序员王不错  阅读(1181)  评论(0)    收藏  举报