在python中根据配置定义函数和它的参数。

问题描述 投票:0回答:1

我要写一个python脚本,其中包括类及其函数。函数的参数应根据配置的不同而变化,在'C'语言中可以使用#ifdef或#if Macro来实现。在C语言中,可以使用#ifdef或#if Macro来实现。

#ifdef MULTIPLE_APPLICATION
uint8 check_actions(int machine, int application_instance, int error_limit)
{
          .....
}
#else /*single applciation*/
uint8 check_actions(int machine, int error_limit)
{
        .....
}

同样,我如何在python中实现。因为我在python中没有找到任何可以替代#ifdef的东西。

#ifdef MULTIPLE_APPLICATION
def check_actions(self, machine, application_instance, error_limit)
#else
def check_actions(self, machine, error_limit)
    .......
    .......
python python-3.x
1个回答
2
投票

python是一种纯粹的OOP语言!没有#if宏。其中一个简单的方法是定义一个外函数和两个嵌套的内函数,然后调用其中一个内函数,它的核心是你传递给外函数的var。

def check_action(application_stat, *args, **kwargs):
    def check_single_app_action(*args, **kwargs):
        #do some thing
        return
    def check_multi_app_action(*args, **kwargs):
        #do some work
        return
    if application_stat=='single':
        check_single_app_action(args, kwargs) 
    else:
        check_multi_app_action(args, kwargs)
    return
© www.soinside.com 2019 - 2024. All rights reserved.