python 类方法定义2个变量
时间: 2024-05-04 17:17:04 浏览: 99
在 Python 中,我们可以使用 `@classmethod` 装饰器来定义类方法。类方法可以通过类本身或实例来调用,并且可以访问类变量和实例变量。
下面是一个示例代码,其中定义了一个类方法 `set_variables`,用于同时设置类变量和实例变量:
```python
class MyClass:
class_var = None # 类变量
def __init__(self, instance_var=None):
self.instance_var = instance_var # 实例变量
@classmethod
def set_variables(cls, class_var, instance_var):
cls.class_var = class_var
instance = cls(instance_var)
return instance
# 调用类方法并设置变量
obj = MyClass.set_variables('class var', 'instance var')
# 打印变量
print(MyClass.class_var) # 输出:class var
print(obj.instance_var) # 输出:instance var
```
在上面的示例代码中,我们定义了一个名为 `MyClass` 的类,该类包含一个类变量 `class_var` 和一个实例变量 `instance_var`。我们使用 `__init__` 方法来初始化实例变量,然后定义了一个类方法 `set_variables`,该方法接受两个参数 `class_var` 和 `instance_var`,并将它们分别设置为类变量和实例变量,最后返回一个实例对象。
在调用 `set_variables` 方法时,我们使用 `MyClass` 类名来调用它,并传递两个参数。该方法返回一个实例对象,我们将其赋给变量 `obj`。然后,我们可以通过 `MyClass.class_var` 来访问类变量,通过 `obj.instance_var` 来访问实例变量。
阅读全文