getattr 和get
时间: 2024-04-24 15:27:26 浏览: 104
pycharm中使用request和Pytest进行接口测试的方法
`getattr` 和 `get` 是 Python 中的两个内置函数,用于获取对象的属性或元素。
`getattr(object, name[, default])` 函数用于获取对象的属性值。它接受三个参数:`object` 是要获取属性的对象,`name` 是属性的名称,`default` 是一个可选参数,表示当属性不存在时返回的默认值。如果属性不存在且没有提供默认值,则会引发 `AttributeError` 异常。
例如:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person("Alice", 25)
name = getattr(person, "name")
print(name) # 输出: Alice
city = getattr(person, "city", "Unknown")
print(city) # 输出: Unknown,因为属性 "city" 不存在,默认返回了 "Unknown"
```
`get` 是字典(`dict`)对象的方法,用于获取指定键的值。它接受两个参数:第一个参数是要获取值的键,第二个参数是可选参数,表示当键不存在时返回的默认值。如果没有提供默认值,则会返回 `None`。
例如:
```python
person = {"name": "Alice", "age": 25}
name = person.get("name")
print(name) # 输出: Alice
city = person.get("city", "Unknown")
print(city) # 输出: Unknown,因为键 "city" 不存在,默认返回了 "Unknown"
```
需要注意的是,`getattr` 适用于获取对象的属性值,而 `get` 适用于获取字典的键值。
阅读全文