class person(object):
def __init__(self,name):
self.name = name
def call_me(self):
print('Please call me %s' % self.name)
class student(person):
_z_ = 0
def __init__(self, name, score):
super(student,self).__init__(name)
self.score = score
def print_score(self):
print('%s: %s' %(self.name, self.score))
def get_grade(self):
if self.score >= 90:
print('grade: A')
elif self.score >= 60:
print('grade: B')
else:
print('grade: C')
boy = student('xiaomin', 9)
#girl = student('xiaohua',100)
obj = student('jz',30)
#boy.print_score()
#girl.print_score()
boy.call_me()
boy.get_grade()
#girl.get_grade()
print('hasattr(obj, \'name\') =', hasattr(obj, 'name')) # 有属性'name'吗?
print('hasattr(obj, \'score\') =', hasattr(obj, 'score')) # 有属性'score'吗?
setattr(obj, 'score', 19) # 设置一个属性'score'
print('hasattr(obj, \'score\') =', hasattr(obj, 'score')) # 有属性'score'吗?
print('getattr(obj, \'score\') =', getattr(obj, 'score')) # 获取属性'score'
print('obj.score =', obj.score) # 获取属性'y'
print('getattr(obj, \'_z_\') =',getattr(obj, '_z_', 404)) # 获取属性'_z_',如果不存在,返回默认值404
f = getattr(obj, 'get_grade') # 获取属性'get_grade'
#print(f)
print(f())
输出结果:
Please call me xiaomin
grade: C
hasattr(obj, 'name') = True
hasattr(obj, 'score') = True
hasattr(obj, 'score') = True
getattr(obj, 'score') = 19
obj.score = 19
getattr(obj, '_z_') = 0
grade: C
None