X Tutup
Skip to content

Latest commit

 

History

History
63 lines (47 loc) · 2.09 KB

File metadata and controls

63 lines (47 loc) · 2.09 KB
title Python 内置函数 classmethod() - Python 速查表
description 将方法转换为类方法。类方法接收类作为隐式的第一个参数,就像实例方法接收实例一样。
Python classmethod() 内置函数 来自 Python 3 文档 将一个方法转换为一个类方法。类方法接收类作为隐式的第一个参数,就像实例方法接收实例一样。

简介

classmethod 是一个绑定到类而不是类实例的方法。它将类本身作为其第一个参数,通常命名为 cls。这与接收实例作为第一个参数(self)的常规实例方法形成对比。

它们通常用于以特定方式创建类实例的工厂方法。

示例

这是一个常见的用例:创建一个可以从不同数据格式(如字典)实例化类的工厂方法。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    @classmethod
    def from_dict(cls, data):
        # 这是一个工厂方法,从字典创建 Person 实例
        return cls(data['name'], data['age'])

    def display(self):
        print(f"Name: {self.name}, Age: {self.age}")

# 新人员的数据
person_data = {'name': 'John', 'age': 30}

# 使用类方法创建 Person 实例
p = Person.from_dict(person_data)

p.display()
Name: John, Age: 30

相关链接

  • Cheatsheet: OOP 基础
  • Cheatsheet: 装饰器
  • Cheatsheet: 函数
  • staticmethod()
  • property()
  • object()
X Tutup