Python中的classmethod()
类方法将类本身作为其第一个参数。这样,我们可以在类中调用方法,而无需先从类中创建实例。我们只需要在类中包含的方法声明之前使用装饰器@classmethod,然后我们就可以直接访问该方法。以下是classmethids的主要功能。
类方法绑定到类,并且不依赖于要使用的类的实例化。
一个类方法可以修改一个类,该类又传播到该类的所有实例。
使用类方法
在下面的示例中,我们创建一个名为WeekDay的类,并在其中创建一个名为daynames的方法。然后,我们无需首先实例化类就访问该方法,这意味着无需从类中创建任何对象。
示例
class WeekDay:
day_name = ['Mon','Tue','Wed','Thu','Fri']
# Applying the class method
@classmethod
def daynames(n):
print('The WeekDays are', n.day_name)
WeekDay.daynames()
# OR
WeekDay().daynames()输出结果
运行上面的代码给我们以下结果-
The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
不使用类方法
为了获得没有类方法的相同结果,我们可以声明没有类的方法。这说明了我们需要class方法的原因。
示例
def daynames():
day_name = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
print('The WeekDays are', day_name)
daynames()输出结果
运行上面的代码给我们以下结果-
The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下