簡體   English   中英

如何在命令行中不寫類名的情況下調用類方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM