[英]Python default 'wildcard' function - possible?
這是我的 class 代碼:
class Example:
def __init__(self):
self.parameter1 = 1
def standardFunction(self):
print("Hello")
是否可以初始化Example
class 並確保可能為此特定實例調用的每個方法將始終指向standardFunction
?
例如:
ex1 = Example()
ex1.test1()
打印“你好”
ex1.test2()
打印“你好”
ex1.test3.test4()
打印“你好”
ex1.test5().test6().IamBatman(42)
打印“你好”
基本上,我希望始終調用Example.standardFunction()
,而忽略第一個“點”之后的字符串。 另外,我不知道點后面放的是什么——它可能是任何字符串、int、float 或 null。
是否可以使用 Python 實現這種行為?
是的,我們可以通過重載__getattr__
在 Python 中實現類似的行為。 像這樣,
class Example:
def __init__(self):
self.parameter1 = 1
def standardFunction(self):
print("Hello")
def __getattr__(self, name):
return self.standardFunction
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.