使用此脚本:
color = 'blue'
def say_color(color):
print 'The color is: ' + color
say_color()
在这里,我试图允许say_color
在不传递参数的情况下进行处理,结果是默认颜色(蓝色)。但是,如果指定了颜色,它将不会使用蓝色,而是使用给定的字符串。
这是怎么做到的?
使用此脚本:
color = 'blue'
def say_color(color):
print 'The color is: ' + color
say_color()
在这里,我试图允许say_color
在不传递参数的情况下进行处理,结果是默认颜色(蓝色)。但是,如果指定了颜色,它将不会使用蓝色,而是使用给定的字符串。
这是怎么做到的?
def say_color(color='blue'):
print 'The color is: ' + color
say_color()
default_color = 'blue'
def say_color(color=default_color):
print 'The color is: ' + color
然后:
say_color() # default_color is used
say_color('red')
产量:
The color is: blue
The color is: red
如果您未color
在调用中指定 a ,default_color
则将在您的say_color
函数中使用。如果您确实在调用中指定了 a color
,那么它将覆盖您的默认值。
附录:有关如何以及何时分配/绑定这些值的更多技术解释/背景,请参阅下面@HughBothwell 的信息性评论(谢谢!)。