2016-12-05 84 views
1

我做了幾個Python文件中包含的功能創建一個幫助熱線:每個功能模塊

def func(a,b,c): 
    return a+b+c 

的功能往往更復雜,但他們全部的總體思路是相同的,接收一對預定參數,並返回所需的值。

現在,我想製作一個單獨的GUI文件,以便於使用所有功能。 GUI導入所有不同的python腳本,並通過文本輸入字段,我希望能夠爲每個函數提供所需的參數。問題是這些函數在他們期望的參數方面有很大的不同,所以我想讓每個函數都能夠返回一個幫助字符串到GUI中,並簡要說明該函數需要運行什麼。在GUI文件我用getattr保存所需的功能:

methodtocall = getattr(Nuclear, func) 

然後我可以調用該函數與獲得的文本框的參數,如:

methodtocall(textfield1.get(),textfield2.get()) 

的問題,正如我上面所說對於GUI來說是有用的,我需要一個幫助句子在我選擇一個函數的時候被打印到GUI。我試圖進行調整的功能本身,例如:

def func(a,b,c): 
    help = "give a as string, b as list, c as integer" 
    if no_parameters: 
     return help 
    else: 
     return desired_value 

的問題是,methodtocall功能給人一種類型錯誤,因爲我嘗試啓動它不帶任何參數:methodtocall()

的解決方案將是在GUI中選擇它時調用所需功能的東西,並檢索所需功能的幫助行,並將其顯示在GUI的幫助文本框中,是否有人有任何想法?

回答

1

放入第一個未分配串幫助文本函數定義,像這樣:

def func(a,b,c): 
    """ 
    This function adds three numbers. 
    """ 
    return a+b+c 

現在,這段文字是可以通過可變__doc__

print(func.__doc__) 
# 
# This function adds three numbers. 
# 

,你甚至不需要調用該函數。