python_setattr_learning
作者:互联网
# author: Roy.G
a="self,name,color,age,food"
b=a.split(",") # 以, 分开字符串
for i in b:
print("self."+i+"="+i)
class animal(object):
def __init__(self,name,color,age,food):
self.name = name
self.color = color
self.age = age
self.food = food
def walk(self):
print("%s walk."%self.name)
def eat(self):
print("%s eating"%self.name)
dog=animal("dog","green",10,"meat")
dog.walk()
print(hasattr(dog,"walk")) #determine dog if has walk
choice=input(":>>")
if hasattr(dog,choice):
getattr(dog,choice)() #brackets means invoking the function
if not hasattr(dog,choice):
print("wrong choice")
# setattr(dog,choice,eat) # eat have no brackets ,don't invoke the eat
# getattr(dog,choice)(dog)
setattr(dog,choice,38)
print(getattr(dog,choice)) # if seattr is not a def ,it becomes a attribue.
print("happy is",dog.happy)
delattr(dog,"happy")
print(dog.happy)
标签:name,setattr,python,self,dog,choice,color,learning,print 来源: https://www.cnblogs.com/ttm6489/p/15811925.html