Python(二十二)——类方法和静态方法

Python(二十二)——类方法和静态方法

一、类方法
类方法从属于“类对象”的方法,类方法通过装饰器@classmethod定义,格式如下:
@classmethod
def 类方法名称(cls,[, 形参列表]):
函数体

class Person():
    name = '张三'#类属性
    @classmethod
    def get_name(cls):
        print(cls.name)
        # print(self.name ) #错误
if __name__=='__main__':
    
    a = Person()
    a.get_name()

二、静态方法
Python中允许定义与“类对象”无关的方法,称为“静态方法”。
1>不操作类的属性。
2>函数体如下:
@staticmethod
def 静态方法名称([参数列表]):
函数体

class Person():
    name = '李四'#类属性
    @staticmethod
    def add(a,b): #静态方法
        print(Person.name) #操作类属性
        print('a+b={0}'.format(a+b))


if __name__=='__main__':

    a = Person()
    a.add(1,1)
	#李四
	#a+b=2

三、注意
类方法中访问实例对象或者实例方法都会报错,因为类存在了,实例未必存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值