Flask接口签名sign原理与实例代码浅析
378
2022-08-31
python基础(part10)--函数
鄙人学习笔记 开发工具:Spyder
文章目录
函数function
定义作用定义函数调用函数返回值
举个例子
可变与不可变类型数据在传参时的区别
举个例子1举个例子2
函数参数
实参传递方式形参定义方式
默认参数位置形参
星号元组形参
命名关键字形参
双星号字典形参
参数自左至右的顺序
函数function
定义
函数用于封装一个特定的功能,表示一个功能或者行为。函数是可以重复执行的语句块,可以重复调用。
作用
函数可以提高代码的可重用性和可维护性。(注意函数命名和清晰性)
定义函数
语法
def 函数名(形式参数): 函数体
说明
def 关键字 | 全称是define, 意味"定义" |
函数名 | 对函数体中语句的描述,命名规则与变量名相同 |
形式参数 | 方法定义者要求调用者提供的信息 |
函数体 | 完成该功能的语句 |
备注:函数的第一行语句,可以选择性地使用文档字符串存放函数与参数的说明。
调用函数
语法
函数名(实际参数)
返回值
定义
方法定义者告诉调用者的结果
语法
return [表达式]
说明
①表达式就是需要返回的结果 ②若return后不带表达式,相当于返回None ③若不带return语句,函数执行完后返回None(相当于在最后加了一条 return None 语句)
举个例子
代码:
def my_add(num01, num02): result = num01 + num02 return resultre = my_add(1, 2)print(re)
可变与不可变类型数据在传参时的区别
不可变类型数据
可变类型数据
传参说明
不可变类型的数据传参时,函数内部不会改变原数据的值。 可变类型的数据传参时,函数内部可以改变原数据。
举个例子1
代码:
def fun01(fun_num01): fun_num01 = 2 print("fun_num01:"+ str(fun_num01))number01 = 1fun01(number01)print("number01:" + str(number01))
备注:str( )是python自带函数,是python保留的关键字,定义变量时应该避免使用str作为变量名。如果在使用str( )函数之前已经定义过str变量,则会出现TypeError: ‘str’ object is not callable这个报错。可以使用del str将str变量删除。
举个例子2
代码:
def fun01(num01, listA, listB): num01 = 100 listA[0] = 200 listB = 300number01 = 1list01 = [2, 3]list02 = [4, 5, 6]fun01(number01, list01, list02)print(number01)print(list01)print(list02)
结果:
函数参数
实参传递方式
①位置传参-序列传参 ②关键字传参-字典传参
例子
代码:
def fun01(a, b, c): print(a, b, c) #位置传参:实参与形参的位置依次对应fun01(1, 2, 3)#序列传参:用*将序列拆分后与形参的位置依次对应fun01(*[4, 5, 6])#关键字传参:实参根据形参的名称进行对应fun01(b = 2, a = 1, c = 3)#字典传参:用**将字典拆分后与形参的名字进行对应fun01(**{"b":20, "c":10, "a":5})
形参定义方式
默认参数
默认参数,可让调用者有选择性的传递需要的信息
例子
代码:
def fun01(a = 0, b = 1, c = 2): print(a, b, c)fun01()fun01(1)fun01(*[2, 3])fun01(b = 10)fun01(**{"a":-1, "c":32})
位置形参
语法
def 函数名(形参名1, 形参名2, ...): 函数体
星号元组形参
语法
def 函数名(*元组形参名): 函数体
作用
收集多余的位置传参
说明
①一般情况下,元组形参名为’args’ ②形参列表中最多只能有一个星号元组形参
例子1
例子2
命名关键字形参
我们先看2个例子,来感受一下命名关键字传参。
例子1(强制实参使用关键字传参)
代码:
#若*放在最开头,则强制我们使用关键字传参def fun01(*,a,b): print(a, b)#如果我们不通过关键字传参,则运行下面这行代码会报错fun01(1, 2)
例子2
代码:
#b必须使用关键字传参,否则会报错def fun01(*a,b): print(a, b)fun01(1, 2, b = 2)
双星号字典形参
例子1
例子2
参数自左至右的顺序
位置形参 -> 星号元组形参 -> 命名关键字形参 -> 双星号字典形参
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~