Python 获取对象信息
程序员文章站
2022-03-25 21:41:57
type() 函数获取变量的类型: >>> type(123) dir() 函数获取变量的所有属性: >>> dir(123)['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__ ......
type() 函数获取变量的类型:
>>> type(123)
<class 'int'>
dir() 函数获取变量的所有属性:
>>> dir(123)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', ...]
已知一个属性名称,要获取或者设置对象的属性,就需要用 getattr() 和 setattr( )函数:
例如,已有定义:
class person(object): def __init__(self, name, gender): self.name = name self.gender = gender class student(person): def __init__(self, name, gender, score): super(student, self).__init__(name, gender) self.score = score def whoami(self): return 'i am a student, my name is %s' % self.name
s = student('bob', 'male', 88)
>>> getattr(s, 'name') # 获取name属性
'bob'
>>> setattr(s, 'name', 'adam') # 设置新的name属性
>>> s.name
'adam'
>>> getattr(s, 'age', 20) # 获取age属性,如果属性不存在,就返回默认值20:
20