python-反射
623 ワード
プログラム実行時のステータス、プロパティ、メソッドを文字列マッピングまたは変更します.4つの方法があります.
1)hasattr:オブジェクトに対応する文字列があるかどうかを判断するメソッドマッピング.2)getattr:
例:
3)set(x, y, v)
文字列の形式でクラスにアセンブリ方法を適用します.
getattr(object, name, default = None) #
hasattr(object, name) # object name 。
setattr(x, y, v)
delattr(x, y)
1)hasattr:オブジェクトに対応する文字列があるかどうかを判断するメソッドマッピング.2)getattr:
例:
class Dog(object):
def __init__(self, name):
self.name = name
def eat(self):
print("%s is eating..." %self.name)
d = Dog('liuhuayang')
choice = input(">>:").strip()
if hasattr(d, choice):
getattr(d, choice)
3)set(x, y, v)
文字列の形式でクラスにアセンブリ方法を適用します.