Zac*_*ach 1 python arguments function
如何在函数定义中的函数输入中传递参数?
例如:
def correlate1(vara1, vara2=vara1*2):
print "test"
Run Code Online (Sandbox Code Playgroud)
返回:
Traceback (most recent call last):
File "test.py", line 321, in <module>
def correlate1(vara1, vara2=vara*2):
NameError: name 'vara1' is not defined
Run Code Online (Sandbox Code Playgroud)
显然,你可以这样做:
def correlate1(vara1, vara2=0):
if vara2==0:
var2=vara1*2
print "test"
Run Code Online (Sandbox Code Playgroud)
但有没有办法在函数定义中做到这一点?
只需在调用函数后设置它:
def correlate1(vara1, vara2=None):
vara2 = 2 * vara1 if vara2 is None else vara2
print "test"
Run Code Online (Sandbox Code Playgroud)
甚至更简单:
def correlate2(var1, var2=None):
var2 = var2 or var1 * 2
print "test"
Run Code Online (Sandbox Code Playgroud)
var2默认值表达式不能包含,var1因为var1在调用函数之前不存在.
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |