getattr()函数解析

1简述

getattrobject,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即可得到对应的值。

你可能感兴趣的:(python基础,python)