def func(x):
print 'x is', x
x = 2
print 'Changed local x to', x x = 50
func(x)
print 'x is still', x
结果:
x is 50
Changed local x to 2
x is still 50
在函数内改变全局变量的值(global)
def func():
global x print 'x is', x
x = 2
print 'Changed local x to', x x = 50
func()
print 'Value of x is', x
结果:
x is 50
Changed global x to 2
Value of x is 2
默认参数
def say(message, times = 1):
print message * times say('Hello')
say('World', 5)
结果:
Hello
WorldWorldWorldWorldWorld
关键参数
def func(a, b=5, c=10):
print 'a is', a, 'and b is', b, 'and c is', c func(3, 7)
func(25, c=24)
func(c=50, a=100)
结果:
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
def maximum(x, y):
if x > y:
return x
else:
return y print maximum(2, 3)
结果:3
空语句块pass
def someFunction():
pass
DocStrings
读取函数的doc注释信息,DocStrings也适用于模块和类
文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。
def printMax(x, y):
'''Descript:
this is printMax function descript
end.'''
x = int(x) # convert to integers, if possible
y = int(y) if x > y:
print x, 'is maximum'
else:
print y, 'is maximum' printMax(3, 5)
print printMax.__doc__
print '---'
help(printMax)
结果
5 is maximum
Descript:
this is printMax function descript
end.
---
Help on function printMax in module __main__: printMax(x, y)
Descript:
this is printMax function descript
end.