python,查看对象有哪些变量
时间: 2024-10-01 19:10:05 浏览: 24
python中查看变量内存地址的方法
在Python中,查看某个对象的属性(变量)通常有两种方法:
1. **直接访问**:如果对象是字典、类实例或者包含成员变量的对象,可以直接通过点`.`或方括号`[]`来获取变量名。例如,对于字典:
```python
obj = {'name': 'Alice', 'age': 25}
print(obj.keys()) # 或者 print(obj['name']) # 输出:dict_keys(['name', 'age'])
```
2. **dir() 函数**:这个内建函数返回一个包含对象所有属性(包括方法)名称的列表。例如:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person('Bob', 30)
print(dir(person)) # 输出:['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'age', 'name']
```
这个列表包含了类的所有属性和方法,需要注意的是,`__`开头的通常是内部属性或特殊方法。
如果你想只看到实例属性而排除了那些以`__`开头的元属性,可以过滤掉它们:
```python
person_properties = [prop for prop in dir(person) if not prop.startswith('__')]
print(person_properties)
```
阅读全文