如何在python中的IF或ELSE / ELIF声明中使用def函数?

时间:2016-01-02 18:07:31

标签: python

我有一个使用def选项的子程序,所以如果我想重复该程序。例如:

def op1():

    print ("Something Something")

所以我只是写在程序中:

op1()

使程序运行。

现在我有很多子程序,每个子程序都有不同的def,所以我可以轻松地运行它们。

例如:

def op1():

def op2():

def op3():

所以我想知道如何在if-else声明中使用它。

例如:

option = input ("Enter either A, B or C here: ")

if option == A:    
    def op1():    
else:    
    def op2():

甚至

if option == A:    
    def op1():
elif:    
    def op2():
elif:    
    def op3(): 

类似的东西,但它不起作用。有人可以帮忙吗? 我也使用较新版本的python,如果这有助于3.5.0。

2 个答案:

答案 0 :(得分:2)

您无需有条件地定义函数。

<input type="hidden" name="msg" value="GATEFORUM|OE180187|NA|0.00|NA|NA|NA|INR|NA|R|gateforum|NA|NA|F|AMIT SINGH|9993523486|gis16|NA|NA|NA|NA|http://gis16.gateforum.net/online_enroll/payment_status.php|2482236435">

答案 1 :(得分:1)

您需要首先定义您的函数,但如果您有多个选项,您可以存储对dict中函数的引用,然后根据用户输入的内容进行调用,使用带有默认函数的dict.get将像您的if / elif else逻辑:

def op1():
    return '1'


def op2():
    return '2'

def op3():
    return "3"


option_fs = {"A": op1, "B": op2}
option = input("Enter either A, B or C here: ").upper()
print(option_fs.get(option, op3)())