函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.
函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创见函数,这被叫做用户自定义函数.
第一段:定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
①函数代码块以def关键词开头,后接函数标识符名称和圆括号().
语法
复制代码代码如下:
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
默认情况下,参数值和参数名称是按函数声明中定义的的顺序匹配起来的.
实例
以下为一个简单的Python函数,它将一个字符串作为传入参数,再打印到标准显示设备上.
def printme( str ):
"打印传入的字符串到标准显示设备上"
print str
return
第二段:函数调用
定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构.这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行.
如下实例调用了printme()函数:
#!/usr/bin/python
# Function definition is here
"打印任何传入的字符串"
print str;
return;
# Now you can call printme function
printme("我要调用用户自定义函数!");
printme("再次调用同一函数");
#以上实例输出结果:
#我要调用用户自定义函数!
#再次调用同一函数
Python中函数参数的传递是通过"赋值"来传递的.但这条规则只回答了函数参数传递的"战略问题",并没有回答"战术问题",也就说没有回答怎么赋值的问题.函数参数的使用可以分为两个方面,一是函数参数如何定义,二是函数在调用时的参数如何解析的.而后者又是由前者决定的.函数参数的定义有四种形式:
① def addOn(**arg):
上面说了四种函数形式定义的方式以及他们的调用方式,是分开说的,其实这四种方式可以组合在一起形成复杂多样的形参定义形式.在定义或调用这种函数时,要遵循以下规则:
① arg=value必须在arg后
在函数调用过程中,形参赋值的过程是这样的:
首先按顺序把"arg"这种形式的实参给对应的形参
第二,把"arg=value"这种形式的实参赋值给形式
第三,把多出来的"arg"这种形式的实参组成一个tuple给带一个星号的形参
第四,把多出来的"key=value"这种形式的实参转为一个dictionary给带两个星号的形参.
例子:
就这么一个简单函数,来看看下面对这个函数调用会产生什么结果:
test(x=1,y=1) === 1 1 () {}
test(x=1,y=1,a=1) === 1 1 () {'a':1}
test(x=1,y=1,a=1,b=1) === 1 1 () {'a':1,'b':1}
test(1,y=1) === 1 1 () {}
首先你要明白,Python的函数传递方式是赋值,而赋值是通过建立变量与对象的关联实现的.
对于你的代码:
执行函数add(d)过程中:
在函数add()里增加return num
调用函数时使用d = add(d)
代码如下:
def add(num):
num ◆= 10
return num
d = add(d)
print d