python 输出类的成员变量
时间: 2024-12-30 07:24:41 浏览: 7
### 输出类的成员变量
在 Python 中,可以通过多种方式打印类的成员变量。由于数据属性可以被方法以及对象的普通使用者引用[^1],这意味着可以直接访问并打印这些属性。
#### 使用内置函数 `vars()`
`vars()` 函数返回对象的 __dict__ 属性,这是一个字典或包含定义的对象的所有可写属性:
```python
class ExampleClass:
def __init__(self):
self.public_var = "I'm public"
self._protected_var = "I'm protected"
self.__private_var = "I'm private"
example_instance = Example_class()
print(vars(example_instance))
```
需要注意的是,虽然私有变量(带有双下划线前缀)可以在技术上通过这种方式查看,但由于名称改写的机制,它们的实际键名会有所不同。
#### 访问单个公共成员变量
对于公开的数据属性,可以直接通过实例化后的对象来获取其值:
```python
class ExampleClass:
def __init__(self):
self.public_var = "Accessible directly"
obj = ExampleClass()
print(obj.public_var)
```
此代码片段展示了如何直接访问名为 `public_var` 的公有成员变量,并将其内容输出到控制台。
#### 列举所有属性和方法
如果想要获得更全面的信息,包括继承而来的属性和方法,则可以使用 `dir()` 函数:
```python
class AnotherExample(ExampleClass): pass
instance_of_another_example = AnotherExample()
attributes_and_methods = dir(instance_of_another_example)
for item in attributes_and_methods:
if not item.startswith('__'):
try:
print(f"{item}: {getattr(instance_of_another_example, item)}")
except AttributeError:
continue
```
这段脚本不仅列出了自定义添加的成员变量,还包括了来自父类的那些成员。
阅读全文