Python如何根据参数运行部分代码

2024-04-20 01:57:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python脚本的新手。我想在我的代码写作有点专业。基本上,我有一个脚本,有一个功能性的,我想添加新的功能。你知道吗

我的代码看起来有点像:

const declaration
CONST1 = ....
CONST2 = ....
CONST3 = ....
CONST4 = ....
CONST5 = ....
CONST6 = ....
CONST7 = ....


function declaration
def f1:
    ....

def f2:
    ....
def f3:
    ....
def f5:
    ....
def f7:
    ....
def f8:
    ....
def f0:
    ....

first part 
logic
logic
logic
logic
logic
logic
logic
    logic


second part 
.......
.......

我想在这里添加新功能,这样当脚本使用某些参数运行时,第一部分或第二部分将根据参数运行。你知道吗

我知道我可以用if ... else来做这件事,但我想知道是否有更专业的方法来做这件事。使代码更易于维护和添加内容。你能给我一些建议吗?你知道吗


Tags: 代码功能脚本参数专业def功能性logic
2条回答

可以使用Python字典的get方法。你知道吗

def f(x):
    return {
        'a': 1,
        'b': 2,
    }.get(x, 9)    # 9 is default if x not found

或者

options = {
    0 : First,
    1 : Second,
}
options[num]()

在这种情况下,您应该使用dictionary

例如:

CONST1 = 'CONST1'
CONST2 = 'CONST2'

def f1():
    return 'Hello from f1 function'

def f2():
    return "Hello from f2 function"

my_data = {
    'CONST1': f1,
    'CONST2': f2,
}

def run(key):
    # If there is no key, just return message
    # Or use try/catch
    if key not in my_data.keys():
        return 'Oops, I can\'t find the key'

    # Here we get a value via key, and call function via parentheses
    return my_data[key]()

print(run('CONST1'))

相关问题 更多 >