函数:在一个完整的项目中,弄些功能会反复的使用,那么会讲该功能复用,那么会将功能封装成函数,当我们要使用功能的时候直接调用函数即可本质:函数就是对功能的封装优点:1:简化代码的结构,增加了代码的复用度(重复使用的的程度)
如果想修改某些功能或者调试弄个bug,直接修改该函数对应的功能即可
值传递:
def func1(num):
num = 10
print("ooo",num)
temp =20
func1(temp)
print(temp)
传递的不可变的类型"string,tuple,number是不可变的类型
2:如果想修改某些功能或者调试弄个bug,直接修改该函数对应的功能即可
值传递:
传递的不可变的类型"string,tuple,number是不可变的类型
def func1(num):
num = 10
print("ooo",num)
temp =20
func1(temp)
print(temp)
引用传递:
传递的可变类型,list、dict、set是可变的
def fun2(li):
li[0]=100
li = [1,2,3,4,5,6]
fun2(li)
print(li)
关键字参数:
概念:允许函数调用时参数的顺序与定义时不一致
def mypri(str,age):
print(str,age)
mypri(age =18,str="sunck is")
默认参数:
概念:调用参数时,如果没有传递参数,则使用默认参数
如果要使用默认参数,最好将默认参数放到最后
def myprint(str,age=18):
print(str,age)
myprint(str="sucnk")
不定长参数:
概念:能处理比定义时更多的参数,加了*号的变量存放所有的未命名的变量参数,如果在函数调用时没有指定参数,那么他就是空元祖
def fun(name,*args):
print(arr)
for x in args:
print(x)
fun("www","eee","ttt","yyyyyyy")
** 代表键值对的参数,和*参数类似
def func3(**kwargs):
print(kwargs)
print(type(kwargs))
func3(a=1,b=2,c=3)
1.它不使用def这样的语句定义函数,使用lambda来创建匿名函数
特点:
1、lambde它只是一个表达式,函数体比def简单
2、lambda的主体是一个表达式,不是代码块,仅仅只能 在lambad表达式封装简单的逻辑
3、lambad函数有自己的命名空间,且不能访问自有参数列表之外的或全局命名空间的函数
4、虽然lambad是一个表达式且看起来只能写一行,与c和c++内联函数不同
格式:lambda 参数1,参数2,……参数n:
sum = lambda num1,num2:num1+num2
print(sum(1,2)
temp =20
func1(temp)
print(temp)
引用传递:
传递的可变类型,list、dict、set是可变的
def fun2(li):
li[0]=100
li = [1,2,3,4,5,6]
fun2(li)
print(li)
关键字参数:
概念:允许函数调用时参数的顺序与定义时不一致
def mypri(str,age):
print(str,age)
mypri(age =18,str="sunck is")
默认参数:
概念:调用参数时,如果没有传递参数,则使用默认参数
如果要使用默认参数,最好将默认参数放到最后
def myprint(str,age=18):
print(str,age)
myprint(str="sucnk")
不定长参数:
概念:能处理比定义时更多的参数,加了*号的变量存放所有的未命名的变量参数,如果在函数调用时没有指定参数,那么他就是空元祖
def fun(name,*args):
print(arr)
for x in args:
print(x)
fun("www","eee","ttt","yyyyyyy")
** 代表键值对的参数,和*参数类似
def func3(**kwargs):
print(kwargs)
print(type(kwargs))
func3(a=1,b=2,c=3)
1.它不使用def这样的语句定义函数,使用lambda来创建匿名函数
特点:
1、lambde它只是一个表达式,函数体比def简单
2、lambda的主体是一个表达式,不是代码块,仅仅只能 在lambad表达式封装简单的逻辑
3、lambad函数有自己的命名空间,且不能访问自有参数列表之外的或全局命名空间的函数
4、虽然lambad是一个表达式且看起来只能写一行,与c和c++内联函数不同
格式:lambda 参数1,参数2,……参数n:
sum = lambda num1,num2:num1+num2
print(sum(1,2)