卖薪沽酒 2009年10月21日 星期三 22:30 | 1591次浏览 | 9条评论
明天进步一
⑥关键
⑦
⑥关键参数:
如果某个函数中有许多参数,如果只想指定其中的一部分,我们可以通过命名来为参数赋值,所谓用命名赋值就是相对于用位置命名而言的。这种方法即便是参数的顺序不对也可,而且我们可以对需要改的参数自定义值,而其他的使用默认值即可。(所以说对有许多参数的函数有优势^…^)
运行了一下例子,又明白了,吼吼……
#!/usr/bin/python
# Filename: func_key.py
def func(a, b=5, c=10):
print 'a is', a, 'and b is', b, 'and c is', c
#定义函数
func(3, 7) #通过位置为参数赋值,a对应3,b对应7,c默认
func(25, c=24) #a位置,b默认,c=用关键参数赋值24
func(c=50, a=100) #测试顺序对结果是否有影响
输出:
$ python func_key.py
a is 3 and b is 7 and c is 10
a is 25 and b is 5 and c is 24
a is 100 and b is 5 and c is 50
这个例子很巧妙的证明了关键参数的各项性质和特点,区分了关键参数赋值和位置赋值。
⑦return语句:
当时一看教材上的定义,有点晕,书上是这样写的:“return语句用来从一个函数返回即跳出函数,我们也可以从函数返回一个值。”+_+
这是什么意思呢?
后来我看例子,这个例子很简单
#!/usr/bin/python
# Filename: func_return.py
def maximum(x, y):
if x > y:
return x
else:
return y
print maximum(2, 3)
输出:
$ python func_return.py
3
起初我看这个例子,没有感觉,后来发现,这时候,最后的结果3不是用print命令输出的,是return的……难道这就是所说的返回函数值?
还有在教材的末尾说:“注意,没有返回值的return语句等价于return None。None是Python中表示没有任何东西的特殊类型。例如,如果一个变量的值为None,可以表示它没有值。”这里所说的没有返回值的return语句。是不是说,例如本例中,return的是3(通过else后的语句输出的),而if中的return语句没有返回值,也就是说这个地方返回的是None?
文章为了说明None,又提到了pass空语句块,我试验了一下,果真没有输出东西,这就是None吧。
Zeuux © 2024
京ICP备05028076号
回复 王依依 2009年10月22日 星期四 22:43
def func():
___print "Hi"
a = func()
则 a= None