好久没写新东西了,自从当了tm后,事情变得更多,没那么多时间来进行总结,刚测试完一个模块,弄了下python的反射,这里来总结一下。
python的反射比较类似于java的rtti(runtime type information),也就是所谓的运行时类型识别。
这里先举个例子:
#!/usr/bin/python
# -*- coding:utf-8 -*-
class person:
def __init__(self, pet):
self.pet = pet
def feedPet(self):
petType = getattr(self.pet, 'name')
if petType == "cat":
print "give it fish"
if petType == "dog":
print "give it bone"
class cat:
def __init__(self):
self.name = "cat"
class dog:
def __init__(self):
self.name = "dog"
def test():
aDog = dog()
aPerson = person(aDog)
aPerson.feedPet()
aCat = cat()
bPerson = person(aCat)
bPerson.feedPet()
if __n