hasattr()、getattr()、setattr() 的用法
时间: 2024-05-10 12:16:40 浏览: 10
哈喽!感谢您的提问,让我们开始吧。
hasattr()、getattr()、setattr() 都是 Python 内置函数,用于操作对象的属性。具体用法如下:
1. hasattr():判断一个对象是否有指定的属性,返回 True 或 False。
语法:hasattr(object, name)
参数说明:
- object:用于检查是否存在指定属性的对象。
- name:属性名称,可以是字符串或变量。
示例代码:
```python
class Person:
name = "Tom"
age = 20
p = Person()
print(hasattr(p, 'name')) # 输出 True
print(hasattr(p, 'gender')) # 输出 False
```
2. getattr():获取一个对象的指定属性的值。如果属性不存在,可以设置默认值。
语法:getattr(object, name[, default])
参数说明:
- object:要获取属性值的对象。
- name:属性名。
- default:可选参数,如果属性不存在,返回的默认值,默认为 None。
示例代码:
```python
class Person:
name = "Tom"
age = 20
p = Person()
print(getattr(p, 'name')) # 输出 "Tom"
print(getattr(p, 'gender', 'male')) # 没有 gender 属性,输出 "male"
```
3. setattr():给对象设置指定的属性和属性值。
语法:setattr(object, name, value)
参数说明:
- object:要设置属性的对象。
- name:属性名称。
- value:属性值。
示例代码:
```python
class Person:
name = "Tom"
age = 20
p = Person()
setattr(p, 'gender', 'male')
print(p.gender) # 输出 "male"
```
好了,以上就是 hasattr()、getattr()、setattr() 的用法了,希望能对您有所帮助。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)