Python放射的程式碼實現

零到壹度
發布: 2018-04-16 14:27:08
原創
2654 人瀏覽過

這篇文章介紹的內容是Python放射的程式碼實現,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

'''
放射
hasattr(obj, name_str):判断一个对象obj里是否有对应的name_str字符串的方法
getattr(obj, name_str):根据name_str字符串去获取obj对象里的对应的方法的内存地址
'''
def bulk(self):
print("%s is yelling..." % self.name)
class People(object):
def __init__(self, name):
self.name = name
def talk(self):
print("%s is talking..." % self.name)
User = People("UserPython")
choice = input(">>>:")
# 判断一个对象User里是否有对应的choic = talk字符串的方法
# print(hasattr(User, choice)) #True
# 根据choice字符串去获取User对象里的对应的方法的内存地址
# print(getattr(User, choice)) #<bound method People.talk of <__main__.People object at 0x0000000002741208>>
if hasattr(User, choice):
func = getattr(User, choice)
func()
else:
setattr(User, choice, bulk)
User.bulk(User)
登入後複製

相關推薦:

Python放射的程式碼實例

python反射

Python--反射/自省

#

以上是Python放射的程式碼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板