class People:
country = 'China'
def __init__(self, name, age):
self.name = name
self.age = age
def talk(self):
print('%s is talking' %self.name)
obj = People('egon', 18)
print(obj.name) # obj.__dict__['name']
print(obj.talk)
choice = input('>>:') # choice = 'name'
print(obj.choice) # print(obj.'name')
hasattr(obj, 'name') # 查找 obj.name 或 obj.__dict__['name'] 是否存在,返回True or False
print(getattr(obj, 'name', None)) # 有的话返回方法或数据值 ,可设置默认值为None,在没有的情况下返回默认值None,不设置默认值会报错
setattr(obj, 'sex', 'male') # 修改 obj.sex = 'male'
delattr(obj, 'age') # 删除 obj.age
class Service:
def run(self): # 运行功能
while True:
inp = input('>>:').strip() # inp = 'get a.txt'
cmds = inp.split() # cmds = ['get','a.txt']
if hasattr(self, cmds[0]):
func = getattr(self, cmds[0])
func(cmds)
def get(self, cmds): # 下载功能
print('get...', cmds)
def put(self, cmds): # 上传
print('put...', cmds)
obj = Service()
obj.run()