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()
类:可以直接调用静态方法,类方法
对象:可以直接调用静态方法,类方法,普通方法