函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。
但你也可以自己创建函数,这被叫做用户自定义函数。
自定义函数:
def 函数名(参数):#def定义函数的关键字,函数名取名规则和变量相同,可以由字母,数字,下划线,但是必须由函数体 字母开头,并且区分大小写,不能使用关键字作为函数名,
return #return能返回一个结果,需要用一个变量来接收.并不是所有函数都需要return
#当函数有参数时,调用函数需要传入值进来,在函数本身的叫形式参数,,而调用函数时传的两个值叫实际参数.
例: 没return
def func():
1+1
func()
def func():
retuan 1+1;
a=func()
print(a)
参数:
普通参数:
就是形参为一个普通的变量,并且实际参数和形式参数的个数是相等的
指定参数:
Python函数的指定参数是指定Python函数形式参数的实际参数,可以不按照函数的形式参数声明顺序传入参数。
默认参数:
Python的默认参数则是在普通参数的基础上,给形式参数一个默认的取值。默认参数可以简化函数的调用。设置默认参数时要注意:
a) 必选参数在前,默认参数在后,否则Python的解释器会报错,默认参数放必选参数的前面容易产生歧义,Python解释器不知道传入的值为哪个参数的值。
b) 如何设置默认参数。当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
动态参数:
Python 的动态参数是传入参数的形式参数个数是不确定的。它以一个 * 加上形参名的方式来表示这 个函数的实参个数不定,可能为0个也可能为n个。注意一点是,不管有多少个,在函数内部都被存放在以形参名为
标识符的元组
例:
def add(a,*numbers):
print(a)
add(*numbers)
a是普通参数:
*numbers是可变参数
*可以传一序列的值,也可以传元组和列表
可变参数要写在后面.
可变参数可以不传参数
语法:def add(a,**numbers):
add(**numbers)
** numbers关键字参数:可以不传参数,如果传参数,参数必须是一个键值对参数;