分配默认参数值

时间:2012-05-26 15:22:30

标签: python

使用此脚本:

color = 'blue'

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

say_color()

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

这是怎么做到的?

2 个答案:

答案 0 :(得分:9)

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

say_color()

答案 1 :(得分: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

如果您在通话中指定colordefault_color将在say_color功能中使用。如果执行在通话中指定color,则会覆盖您的默认值。

附录:有关如何以及何时分配/约束这些值的更多技术说明/背景,请参阅下面的@HughBothwell(谢谢!)提供的信息性评论。