[英]Calling an argument in a python function as part of the function definition?
如何在函數定義內的函數輸入中傳遞參數?
例如:
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"
但是在函數定義中有沒有辦法做到這一點?
調用函數后,只需對其進行設置:
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
不存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.