函数类似于其他语言,Python中的函数使用小括号(())调用。函数在调用之前必须先定义。如果函数中没有return语句,就会自动返回None对象。
Python是通过引用调用的。这意味着函数内对参数的改变会影响到原始对象。不过事实上只有可变对象会受此影响,对不可变对象来说,它的行为类似按值调用。
如何定义函数
def function_name([arguments]):
"optional documentation string"
function_suite
定义一个函数的语法由def关键字及紧随其后的函数名,再加上该函数需要的几个参数组成。函数参数(比较上面例子中的arguments)是可选的,这也是为什么把它们放到中括号中的原因。(在你的代码里千万别写上中括号!)这个语句由一个冒号(:)结束(与if和while语句的结束方式一样),之后是代表函数体的代码组,下面是一个简短的例子。
def addMe(x):
'apply + operation to argument'
return ( x + x)
这个函数,做的是“在我的值上加我”的工作。它接受一个对象,将它的值加到自身,然后返回和。对于数值类型参数,它的结果是显而易见的,不过我要在这里指出,加号操作符几乎与所有数据类型工作。换句话说,几乎所有的标准数据类型都支持+操作符,不管是数值相加还是序列合并。
如何调用函数
>>> addMe2Me(4.25)
8.5
>>>
>>> addMe2Me(10)
20
>>>
>> addMe2Me('Python')
' Pythonpython '
>>>
>>> addMe2Me([-1, 'abc'])
[-1,'abc',-1,'abc']
Python语言中调用函数与在其他高级语言中一样,为函数名加上函数操作符——一对小括号。括号之间是所有可选的参数。即使一个参数也没有,小括号也不能省略。注意一下,+操作符在非数值类型中如何工作。
默认参数
函数的参数可以有一个默认值,如果提供有默认值,在函数定义中,参数以赋值语句的形式提供。事实上这仅仅是提供默认参数的语法,它表示函数调用时如果没有提供这个参数,它就取这个值作为默认值。
>>> def foo(debug=True):
... 'determine if in debug mode with default argument'
... if debug:
... print 'in debug mode'
... print 'done'
...
>>> foo()
in debug mode
done
>>> foo(False)
done
在上面的例子里,debug参数有一个默认值True。如果我们没有传递参数给函数foo(), debug自动拿到一个值True。在第二次调用foo()时,我们故意传递一个参数False给foo(),这样,默认参数就没有被使用。函数拥有的特性远比我们在这里介绍的多,后续会持续分享更详细的函数的信息。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/11389/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取