Python函数
函数是组织好的,可重复使用,实现单一,或先关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print(),但是你也可以自己创建函数,这叫做用户自定义函数。
定义一个函数
你可以定义一个有自己想要功能的函数,以下是些简单的规则:
函数代码以def关键字开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用来定义参数。
函数的第一行语句可以选择性地使用文档字符产——用于存放文件说明。
函数内容以内容起始,并且缩进。
return【表达式】结束函数,选择性地返回一个值给调用方。不代表达式的return相当于返回none.
函数调用
定义一个函数只给一个函数名称,指定的函数里包含参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数顶用执行,也可以直接从Python提示符执行。
可更改(mutable)与不可更改(immutable)对象
不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响。
Python中的一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和可变对象。
参数
以下是调用函数时可使用的的正确参数类型:
必备参数:必备参数需以正确的顺序传入函数。调用时的数量必须和声明时的一样。
关键字参数:关键字参数核函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
默认参数:调用函数时,缺省参数的值如果没有传入,则被认为是默认值。
不定长参数:你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数。
变量的作用域
一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。
变量的作用域决定了在那一部分程序你可以访问哪个特定的变量名称。
全局变量:全局变量可以在整个程序范围内访问
局部变量:局部变量只能在其被声明的函数内部访问