1、函数基础概念:
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
(还有其他的内置函数、匿名函数,后面总结)
以下为 用户自定义函数:即自己根据需要创建的函数:
规则:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
格式:
def 函数名(参数列表):
函数体
如:
def hello() :
print("Hello World!")
=====================================================================
2、函数参数:
主要分为:形式参数,实际参数,默认参数,动态参数
2.1形式参数实际参数:
ef add(a,b): #a,b就是形式参数
return a+b
if __name__ == '__main__':
print(add(2,3)) #add()当中的2和3就是实际参数
2.2默认参数:
(有时需要给某函数固定赋值,那么就会需要用到默认参数)
def add(b,a=2): #即对内部的形式参数赋值
return a+b
if __name__ == '__main__':
print(add(b=3))
2.3动态参数:
(常用的就是在接口传参时,不知道参数类型、参数数量时,就会需要用到动态参数了)
def data(*args,**kwargs): #标识一个或多个参数,或不同参数类型
return(args,kwargs)
注意:
----->当函数参数为*args,然后传值进行测试时,返回结果是元组类型;
----->而如果参数为**kwargs,传值测试时,返回结果是字典类型。
#动态参数传值可以为空、元组、列表、字典、元组与字典等等
print(data(name='qika')) #传一个参数
print(data(name='qika',pwd='123456')) #传多个参数
print(data(**{'name'='qika','pwd'='123456','age'=18})) #传一个数组