带你了解python的函数世界,了解python函数,有着不一样的精彩

python函数其实就是可以重复执行的代码块,可以重复使用。有什么作用呢?是用来定义用户级的函数。
函数语法:
def 函数名(参数列表):
语句块(代码块)
函数语法特别说明:
1、函数名是语句块的名称
2、函数名的命名规则与变量名相同(标识符)3、函数的名字是一个变量,是绑定代码块的名称 4、 函数有自己的名字空间,要让函数处理外部数据需要用参数给函数传入一些数据,如果不需要传入参数,参数列表可以为空 5、 语句块部分不能为空,如果为空需要填充pass语句
语句函数调用:函数名(实际参数)调用说明: 1. 函数调用是一个表达式 2. 如果没有return语句,函数执行完毕返回none 值对象 3. 如果函数需要返回其它的值对象需要用return语句块部分不能为空,如果为空需要填充pass语句
1、下面是位置传参的示例代码:
def shu(a, b, c):print(第一个数, a) print(第二个数, b) print(第三个数, c)
# 位置传参:shu(100, 200, 300)
位置传参结果通过上面的代码和输出结果可以看出,位置传参是直接对应顺序把100放到里面,200放到b里面,300放到c里面。这里得到的结果是相对应的结果,值得注意的是,实参和形参的个数必须完全相同。这里不允许只有两个编号,放三个数。如下图:
示例如果向上图的程序代码,会报错如图:
报错代码2、序列传参是包括了列表、元组、字符串,如程序代码所示:
def shu(a, b, c):print(第一个数, a) print(第二个数, b) print(第三个数, c)
# 序列传参s1 = [11, 22, 33] # 列表shu(*s1) # 等同于 shu(s1[0], s1[1], s1[2])
s2 = (1.1, 2.2, 3.3) # 元组shu(*s2)
s3 = abc # 字符串shu(*s3)
序列传参结果序列传参注意事项:序列的元素个数必须与参数的个数相同。
3、关键字传参:关键字传参是指传参时,按着形参的名称给形参赋值
4、字典关键字传参
示例:
a={b:22,c:33,a:11}
shu(**a)
5、综合传参
示例:
shu(100,*(500,800))
示例从上图可以看出,关键字传参中的实参和形参按名称匹配,如果让后面的先匹配了,就会出现错误。
shu(c=333,b=222,111)
上面这个代码是错误的,因为先匹配后面的。如果是对应前面来匹配,就是正确的。上图中也包括了综合传参、星号元组形参,最后二组代码是双星号字典形参的写法。从上图的代码图可以得到下图的结果:
结果
结合我之前的分享,我们现在来计算一下实参个数和对应位置的参数是什么,见下图程序:
计算参数个数示例程序代码写好后,运行一下,看一下我们想要的结果,提示一下,程序上的i=5,是代表从第5个开始。
计算实参个数结果函数的参数列表顺序:位置形参,缺省参数,星号元组形参,双星号字典形参,命名关键字参数可以混合使用函数参数自左至右的顺序为: 位置形参, 星号元组形参, 命名关键字参数,双星号字典形参
详细语法:>>>help(def)
def语法说明1def语法说明2
def语法说明3