[英]how to call class method without writing class name in command line
這是代碼,它只是一個簡單的例子:
class func(object):
def cacul(self, a, b):
return a+b
def run_cacul(self, a, b):
return self.cacul(a, b)
我試圖通過在命令行中導入這個模塊來調用類方法run_cacul()
。 模塊名稱是“foo.py”
import foo
foo.func().run_cacul(2,3)
它太長了!! 不想寫類名,就像python的系統模塊random.py
,省略了類名Random()
import random
random.randint(12,23)
代碼可能是錯誤的,但我只想知道方法。 有沒有辦法實現這一目標?
如果您在類中定義了方法,那么不創建對象或不引用該類,就不可能調用該方法。
至於隨機示例randint
是函數參考
_inst = Random()
randint = _inst.randint
創建 Random 對象,並將randint
函數引用存儲在randint
。 https://github.com/python/cpython/blob/master/Lib/random.py#L775對象創建對客戶端(我們)是隱藏的。
沿着類似的路線你可以做同樣的事情: foo.py
class func(object):
def cacul(self, a, b):
return a+b
def run_cacul(self, a, b):
return self.cacul(a, b)
obj = func()
run_cacul = obj.run_cacul
那么你可以這樣做
from foo import ran_cacul
ran_cacul(4,5)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.