python get() 和getattr()
时间: 2023-11-26 11:04:38 浏览: 214
python的getattr()函数
python中get()和getattr()都是用来获取对象属性的方法,但是它们的使用场景不同。
get()方法是字典的方法,用于获取字典中指定键的值,如果键不存在则返回默认值(如果有设置的话)或者None。
例如:
```
my_dict = {'name': 'Alice', 'age': 25}
print(my_dict.get('name')) # 输出:Alice
print(my_dict.get('gender')) # 输出:None
print(my_dict.get('gender', 'unknown')) # 输出:unknown
```
getattr()方法是用于获取对象的属性值,如果属性不存在则会抛出AttributeError异常。
例如:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person('Alice', 25)
print(getattr(person, 'name')) # 输出:Alice
print(getattr(person, 'gender')) # 抛出AttributeError异常
print(getattr(person, 'gender', 'unknown')) # 输出:unknown
```
可以看出,get()适用于字典类型的对象,而getattr()适用于任何类型的对象。
阅读全文