当前位置:网站首页>getattr()函数解析
getattr()函数解析
2022-08-02 03:21:00 【woshicaiji12138】
1简述
getattr(object,name [,默认])
object为对象,name必须为字符串;如果name的值为对象object的一个属性,则该函数输出对象的该属性,等同于object.name。
class Student:
def __init__(self,name):
self.name = name
s = Stduent('zhangsan')
getattr(s,'name')
输出的结果即为zhangsan。
如果如果name的值不是对象object的一个属性,若此时默认值有设置,则该函数输出该默认值;否则将会报错。
class Student:
def __init__(self,name):
self.name = name
getattr(s,'age',1) #不存在属性age,但提供了默认值,返回默认值
#会输出1
2应用
一般情况下实现上述功能多用object.某属性,但对于object含多属性,当前需要调用属性种类未知时,可以用getattr()函数。可以实现需要哪种属性时,键入name即可得到对应的值。
边栏推荐
猜你喜欢
[Remote Control Development Basic Tutorial 3] Crazy Shell Open Source Formation UAV-ADC (Joystick Control)
RHCSA第三天
Daily practice------There are n integers, so that the previous numbers are moved back m positions in order, and the last m numbers become the first m numbers
(Reposted) The relationship between hashcode and equals
小程序(开发必备常识)1
About cross-domain issues
OD-Model【4】:SSD
删库后!除了跑路还能干什么?
(forwarded) HashCode summary (2)
LeetCode:1161. 最大层内元素和【BFS层序遍历】
随机推荐
DOM破坏及复现实验
第七周复习
Redis的集群模式
二维数组实战项目--------《三子棋》
离线数仓-用户行为采集
磷脂-聚乙二醇-靶向新生血管靶向肽APRPG,DSPE-PEG-APRPG
Good Key, Bad Key (思维,临项交换,经典方法)
MySQL占用CPU过高,排查原因及解决的多种方式法
MySQL中JOIN的用法
mysql中exists的用法详解
Redis安装,基本命令,持久化方式,集群
bgp机房的动态路由和静态路由的区别
【博学谷学习记录】超强总结,用心分享 | 软件测试 接口测试基础
LeetCode:746. 使用最小花费爬楼梯【动态规划】
动态代理工具类
2022.7.30 js notes Operators and flow controllers, loops
跨域问题解决
MySQL中的各种锁(行锁、间隙锁、临键锁等等LBCC)
基于libmodbus库实现modbus TCP/RTU通信
为什么四个字节的float表示的范围比八个字节的long要广