python类中所有成员变量都在__init__中定义吗?
时间: 2023-10-25 21:07:47 浏览: 200
理解python中__init__.py和__all__
不是的,Python类中所有成员变量都不必在`__init__`方法中定义。在Python类中,成员变量可以在任何方法中定义,也可以在类级别上定义(即在类定义的外部)。类级别上定义的成员变量是所有对象共享的。而在方法中定义的成员变量是每个对象私有的。
举个例子,以下是一个类定义中的成员变量在不同位置上定义的示例:
```python
class MyClass:
class_var = "This is a class variable"
def __init__(self, instance_var):
self.instance_var = instance_var
def method(self):
method_var = "This is a method variable"
```
在这个例子中,`class_var`是在类级别上定义的成员变量,它是所有对象共享的。`instance_var`是在`__init__`方法中定义的成员变量,它是每个对象私有的。而`method_var`是在`method`方法中定义的局部变量,它也是每个对象私有的。
阅读全文