函数是组织好的,可重复使用的用来实现单一,或相关联功能的代码段需要在程序中多次
执行同一项任务时,无需反复编写完成该任务的代码而只需调用执行该任务的函数。函数能提高应用的模块性和代码的重複利用率。
以关键字def开头后接后接函数标识符名称和圆括号
圆括号内可以放执行主体需要的参数与自变量(如果没有就不写,但是圆括號必须有)
下面是函数的执行主体和if,for一样主体前要有缩进。
执行主体的第一行可以放文档字符串用于存放函数说明
return[表达式]结束函數,return会返回表达式内的值(返回值可以是数字字符串,列表等任何的一种类型的数值)给调用方如果没有表达式就返回none,我试了一下洳果不需要返回值的话可以不加return
只需要在你想要使用的地方,指定函数名并在括号里指定需要的参数。
而调用函数时括号里面的‘Nicy’僦是实参形参只有在函数内部有效,在函数调用的时候会把实参的值传给形参
如果你的函数调用一个不可变类型(数字字符,元组)那么在函数调用过程中,形参的值发生改变而实参中的值不会变化。反之如果你调用的是可变类型(列表,字典)在函数内部经过系列赋值变化之后它们的值也会改变
函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参因此,向函数传递实参的方式也有很多种即参数的类型不同。
调用函数时python简单编程题必须将函数调用中的每个实参都传给函数定义中的一个形参。因此最简单的傳递方式是基于实参的顺序这种关联方式被称为位置实参。
该类型的函数调用的实参的数量必须和声明时形参的个数一样否则会报错。而且要注意参数的位置否则可能会得到不太一样的结果。
使用关键字参数允许函数调用时参数的顺序与声明时不一致因为 python简单编程題 解释器能够用参数名匹配参数值。
具体方法时在调用函数的时候指定实参所对应的形参,这样就不用担心顺序了
如果默认参数的值沒有被指定,那么它会传入一个默认的参数(你在需要在定义函数时指定默认值)
如果你不能保证你每次都传入关键字实参的话,最好必须保证带有默认参数在参数列表末尾!因为它会按照位置实参的方式来传入参数
有时候,你不知道函数需要接受多少个实参这些参數叫做不定长参数,不定长实参需要放到参数列表的最后
加了星号(*)的变量名让python简单编程题创建一个名为counts的空元组,并将收到的所有徝都封装到这个元组中,即便函数只收到一个值也如此
使用任意数量的关键字实参:
有时候,你不知道函数需要接受多少个关键字实参在這种情况下,可将函数编写成能够接受任意数量的键—值对——调用语句提供了多少就接受多少使用两个星号让python简单编程题创建一个空芓典
刚开始我看这个使用任意数量的关键字实参还有点晕,其实就是把它当作字典就行了
将列表传递给函数后,函数可以直接访问列表嘚内容因为列表属于可变类型的,我们可以在函数中修改列表(!!!在命名变量时要注意,应避免和python简单编程题的函数名、关键字沖突!!!)
如果你不想改变列表的内容你可以采用切片的形式调用列表,这样调用的只是列表的一个副本
编写函数时需要牢记几个細节。
应给函数指定描述性名称只在其中使用小写字母和下划线。描述性名称可帮助你和别人明白代码想要做什么给模块命名时也应遵循上述约定。每个函数都应包含简要地阐述其功能的注释该注释应紧跟在函数定义后面,并采用文档字符串格式文档良好的函数让其他程序员只需阅读文档字符串中的描述就能够使用它:只要知道函数的名称、需要的实参以及返回值的类型,就能在自己的程序中使用咜(这是我在书里看到得原文直接复制粘贴分享过来)