python学习笔记之了解函数
python学习笔记之了解函数
昨日内容——温故而知新
文件
文件内光标的移动
read() 括号内的数字控制光标移动
从左往右移动,文本为字符为单位
二进制用字节数为单位
文件内数据的修改
固有态和占有态
数据的修改其实就是将原文件移除掉,换成修改后的内容
函数简介
函数是需要提前定义的,调用函数就是在调用函数内的函数体运作。
函数的语法结构
def 函数名(参数1,参数2):
'''函数注释'''
函数体代码
return 返回值
今日学习内容
函数的定义与调用
- 函数必须遵循先定义后调用的原则
- 函数在定义阶段不会执行代码
- 函数体代码只有在被调用时才会运行
- 函数名就是相当于指向的内存中函数体代码
函数的分类
-
内置函数
python解释器提前写好功能的关键词函数
-
自定义函数
程序员自己编写的函数
自定义函数也分为三种
-
无参数函数
在定义函数阶段,括号内没有参数
-
有参数函数
在函数定义阶段括号内有参数
-
空函数
在定义阶段函数体代码是用pass或者···占位
暂无实际意义,主要用前期框架搭建
函数的返回值
函数体代码的返回值是在调用函数后获得的返回结果
def 函数名():
函数代码体
a = 函数名() 需要用变量名接收
return a 跟上需要返回的值
- 当函数体代码没有return关键字,返回None
- 当return后面没有任何值,返回None
- return后面跟什么值,就会返回什么
- return后面可以跟多个值,返回自动组织成元组。
- return会立刻结束掉当前的函数
函数的参数
两大类:
'形式参数':
函数定义阶段括号内写的参数
'实际参数':
函数调用阶段拥有实际值的参数
形式参数就好比如一个占位符,实际参数就是实际的值。
形式参数与实际参数的绑定只存在于当行代码,当行代码走完后,形参和实参的绑定便会断开,形参会继续绑定下一个实参。
位置参数
概念:函数从左往右依次的变量名或值。
在形参中,位置参数就是依次填入的变量名
在实参中,位置参数就是依次填入的值。
二者在调用时,位置参数相对的会相互绑定,进行运算。
单纯使用位置参数时,形参和实参中的元素数量需要保持一致。
关键字参数
只出现在实参中,绑定变量名赋值,不需要遵循位置。
def 函数名(a,b):
print(a,b)
函数名(b=1,a=2)
同一行代码中,一个形参只可绑定一个,否则会报错。
默认参数
只出现在形参中,绑定变量名,当形参没有绑定实参时,会使用绑定的默认参数。默认参数必须定义在位置参数的后面。
def 函数名(a=1,b=2): 默认参数
print(a,b)
函数名()
如果函数出参数没填,便会使用默认参数
可变长参数(形参)
*号
def 函数名(变量名,*变量名)
print(变量名,变量名)
函数名(1,2,3,4)
超过位置参数数量可以绑定的值,如果遇到*号变量名,超过的参数会赋值给*号变量名,类似于解压赋值中的下划线。
**号
def 函数名(*变量名,* *变量名)
print(*变量名,**变量名)
函数名(1,2,'y',name='eason',age='21')
前面没有被变量名接收的元素会变成一个元组被*变量名接收,而后面有变量名=值的实参,会变成一个k:v的字典。
可变长参数(实参)
*号
def 函数名(变量名,变量名)
print(变量名,变量名)
函数名(2,3,4,*[1,2])
类似for循环,将带*号的实参,解压赋值
**号
def 函数名(变量名,变量名)
print(变量名,变量名)
函数名(2,3,4,**a = 1)
将带**号,以变量名 = 值
转换为字典
今日小结
我只能说很有意思,有点刘姥姥进大观园的感觉.

浙公网安备 33010602011771号