Python 中的 classmethod()
类方法接收类本身作为其第一个参数。这样我们就可以在不先从类中创建实例的情况下在类中调用方法。我们只需在类中包含的方法声明前使用装饰器 @classmethod,然后就可以直接访问该方法。以下是 classmethids 的主要特征。
类方法绑定到类,不依赖于类实例化的使用。
类方法可以修改类,然后传播到类的所有实例。
使用 classmethod
在下面的示例中,我们创建了一个名为 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']
不使用 classmethod
若不使用类方法,可通过申明无类的对象来实现相同结果。这是我们需要类方法的原因。
示例
def daynames():
day_name = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
print('The WeekDays are', day_name)
daynames()输出
运行以上代码会得到以下结果 -
The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP