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