3

使用此脚本:

color = 'blue'

def say_color(color):
    print 'The color is: ' + color

say_color()

在这里,我试图允许say_color在不传递参数的情况下进行处理,结果是默认颜色(蓝色)。但是,如果指定了颜色,它将不会使用蓝色,而是使用给定的字符串。

这是怎么做到的?

4

2 回答 2

9
def say_color(color='blue'):
    print 'The color is: ' + color

say_color()
于 2012-05-26T15:24:01.133 回答
6
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 的信息性评论(谢谢!)。

于 2012-05-26T15:24:31.777 回答