在本教程中,我们将借助示例了解 Python getattr() 方法。
getattr()
方法返回对象的命名属性的值。如果未找到,则返回提供给函数的默认值。
示例
class Student:
marks = 88
name = 'Sheeran'
person = Student()
name = getattr(person, 'name')
print(name)
marks = getattr(person, 'marks')
print(marks)
# Output: Sheeran
# 88
getattr() 语法
用法:
getattr(object, name[, default])
上面的语法等价于:
object.name
参数:
getattr()
方法采用多个参数:
- object- 要返回其命名属性值的对象
- name- 包含属性名称的字符串
- 默认(可选)- 未找到命名属性时返回的值
返回:
getattr()
方法返回:
- 给定对象的命名属性的值
default
,如果没有找到命名属性AttributeError
异常,如果未找到命名属性且未定义default
示例 1:getattr() 如何在 Python 中工作?
class Person:
age = 23
name = "Adam"
person = Person()
print('The age is:', getattr(person, "age"))
print('The age is:', person.age)
输出
The age is: 23 The age is: 23
示例 2:getattr() 未找到命名属性时
class Person:
age = 23
name = "Adam"
person = Person()
# when default value is provided
print('The sex is:', getattr(person, 'sex', 'Male'))
# when no default value is provided
print('The sex is:', getattr(person, 'sex'))
输出
The sex is: Male AttributeError: 'Person' object has no attribute 'sex'
命名属性 sex
不在类 Person
中。因此,当使用默认值 Male
调用 getattr()
方法时,它会返回 Male。
但是,如果我们不提供任何默认值,当未找到命名属性 sex 时,它会引发 AttributeError
表示该对象没有 sex 属性。
相关用法
- Python getattr()用法及代码示例
- Python PIL getbands() and getextrema()用法及代码示例
- Python PIL getpixel()用法及代码示例
- Python OpenCV getTrackbarPos()用法及代码示例
- Python OpenCV getgaussiankernel()用法及代码示例
- Python OpenCV getRotationMatrix2D()用法及代码示例
- Python PIL getbands()用法及代码示例
- Python PIL getpalette()用法及代码示例
- Python PIL getcolors()用法及代码示例
- Python gzip.compress(s)用法及代码示例
- Python globals()用法及代码示例
- Python numpy string greater_equal()用法及代码示例
- Python gcd()用法及代码示例
- Python Tkinter grid()用法及代码示例
- Python math gamma()用法及代码示例
- Python gzip.decompress(s)用法及代码示例
- Python torch.distributed.rpc.rpc_async用法及代码示例
- Python torch.nn.InstanceNorm3d用法及代码示例
- Python pandas.arrays.IntervalArray.is_empty用法及代码示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代码示例
注:本文由纯净天空筛选整理自 Python getattr()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。