函数的初识以及传参
函数
def 关键字 函数名
def my_len():
l1=[1,2,3,4]
count=0
for i in l1:
count+=1
print(count)
my_len()
my_len() 执行函数 函数名()
函数的优点:
减少代码的重复率
增强代码的阅读性
函数最主要的目的:封装一个功能
函数的返回值:return
(1)函数中如果遇到return则直接结束函数
(2给函数的执行者(函数名加())返回值
return None
return 单个值 原封不动的返回
return 多个值 一个元组,所有的返回值作为元祖的每一个元素
def func1():
print(111)
print(222)
return
print(333)
print(func1()) #整体是函数的执行者
###在工作中,函数中尽量不要出现print
函数的传参:
实参:函数的执行者(实参)实际的参数。
(1)位置参数:按顺序一一对应
def func1(x,y):
print(x,y)
func1(1,2)
(2)关键字参数:可以不按顺序,但是必须一一对应
def func1(x,y):
return x+y
print(func1(x=100,y=200))
(3)混合参数:关键字参数一定要在位置参数后面。
def func1(x,y,z,a,b)
return x+y+z
print(func1(100,200,300,a=400,b=500))
形参:形式参数
(1)位置参数:按顺序一一对应
def func1(x,y,z):
print(x,y,z)
func1(1,2,3)
(2)默认参数:给其传值,将其默认参数覆盖掉,不传值,不报错,使用默认参数。
def func1(x,y,a=666):
print(x,y,a)
func1(1,2)
func1(1,2,999)
应用场景:不常改变的参数,但是一直在用。
三元运算:简单的if else结构才可以使用return x if x>y else y
def compare(x,y):
return x if x>y else y
print(compare(100,101))
默认参数若是可变的数据类型,他始终使用的是一个,内存地址相同。
def func1(x,l1=[]):
l1.append(x)
return l1
ret = func1(1)
print(ret,id(ret))
ret1 = func1(100)
print(ret1,id(ret1))

浙公网安备 33010602011771号