在本教程中,我們將借助示例了解 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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。