首页 > 其他 > 详细

类方法

时间:2021-04-13 00:43:04      阅读:32      评论:0      收藏:0      [点我收藏+]
‘‘‘
类方法(classmethod装饰器)
给类方法加入classmethod装饰器后,类本身可以直接调用该方法无需再进行实例化过程(当然,实例也可调用该方法)
‘‘‘

class School:
‘‘‘这是一个学校的类‘‘‘
country = ‘china‘
def __init__(self, name, type):
self.name = name
self.type = type

def tell_info(self):
print(‘%s学校是%s的‘ % (self.name, self.type))

print(School.country)
s1 = School(‘希望小学‘, ‘公立‘)
School.tell_info(s1) # 当用类直接调用类方法时,由于类方法有实例本身这个参数,所以还需要进行一步实例化的操作,然后再进行调用


class School1:
‘‘‘这是另外一个学校的类‘‘‘
country = ‘china‘
def __init__(self, name, type):
self.name = name
self.type = type

@classmethod
def tell_info(cls, name1, type1): # 此时这里无法调用实例的数据属性
print(cls) # <class ‘__main__.School1‘>
print(‘%s学校是%s的‘ % (name1, type1), cls.country) # 可调用类本身的数据属性

School1.tell_info(‘梦想‘, ‘私立‘) # 此时无需实例化,也可直接用类调用方法;类自动把类名传给了cls这个参数;当类进行实例化后,实例也可以调用这个方法

类方法

原文:https://www.cnblogs.com/xuewei95/p/14651057.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!