作为函数定义的一部分调用python函数中的参数?

2024-05-29 00:03:03 发布

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

如何在函数定义中传递函数输入中的参数?你知道吗

例如:

def correlate1(vara1, vara2=vara1*2):
    print "test"

退货:

Traceback (most recent call last):
  File "test.py", line 321, in <module>
    def correlate1(vara1, vara2=vara*2):
NameError: name 'vara1' is not defined

显然,你可以这样做:

    def correlate1(vara1, vara2=0):
        if vara2==0:
            var2=vara1*2        
        print "test"

但是在函数定义中有没有一种方法可以做到这一点呢?你知道吗


Tags: 函数testmost参数定义def传递函数call
1条回答
网友
1楼 · 发布于 2024-05-29 00:03:03

只要在调用函数后设置它:

def correlate1(vara1, vara2=None):
    vara2 = 2 * vara1 if vara2 is None else vara2

    print "test"

或者更简单:

def correlate2(var1, var2=None):
    var2 = var2 or var1 * 2
    print "test"

var2的默认值表达式不能包含var1,因为在调用函数之前var1不存在。你知道吗

相关问题 更多 >

    热门问题