02-Python之函数,,1、掌握函数的定义和


技术图片
1、掌握函数的定义和调用。
2、掌握位置参数、关键字参数和参数默认值的使用。
3、掌握参数返回值的定义和使用。
使用函数的目的:①提高代码复用性 ②分而治之-模块化设计的思想,将问题分解为一系列小问题 ③利于代码的维护和管理
函数的三要素:参数、函数体、返回值

1、定义

def 函数名 (参数):
函数体
return 返回值

2、调用

函数名 (参数)

3、参数

位置参数:严格按照位置顺序,用实参对形参进行赋值(关联),实参与形参必须一一对应,个数相等,一般用在参数比较少的时候。关键字参数:打破位置限制,直呼其名的进行值的传递(形参=实参),必须遵守实参与形参数量上一一对应,多用在参数比较多的场合。默认参数:在定义阶段就给形参赋值,该形参的常用值。在调用函数时,可以不对该形参传值,位置形参一定要在默认形参前面参数可选: def name(first_name,last_name,middle_name=None)可变长参数*args:该参数必须放在参数列表的最后**kwargs:以字典的形式打包传递给kwargs
# argsdef foo1(x,y,z,*args):      print(x,y,z)      print(args)foo1(1,2,3,4,5,6)"""1 2 3(4,5,6)"""# 实参打散def foo2(x,y,z,*args):      print(x,y,z)      print(args)foo2(1,2,3,[4,5,6])"""1 2 3([4,5,6])"""# **kwargsdef foo3(x,y,z,**kwargs):      print(x,y,z)      print(kwargs)foo3(1,2,3,a=4,b=5,c=6) #多余的参数以字典的形式打包传递给kwsrgs"""1 2 3{'a':4,'b':5,'c':6}"""# 字典形式打散def foo3(x,y,z,**kwargs):      print(x,y,z)      print(kwargs)foo3(1,2,3,**{a=4,b=5,c=6}) #多余的参数以字典的形式打包传递给kwsrgs"""1 2 3{'a':4,'b':5,'c':6}"""# 可变长参数的组合使用def foo5(*args,**kwargs):      print(args)      print(kwargs)foo(1,2,3,a=4,b=5,c=6)"""(1,2,3){'a':4,'b':5,'c':6}"""

注意:位置参数可以与关键字参数混合使用但是位置参数必须放在关键字参数前面不能为同一个形参重复传值默认参数应该设置为不可变类型(数字、字符串、元组)

通过global在函数体内定义全局变量

4 返回值

单个返回值多个返回值——以元组的形式
def foo(x):        return 1, x, x**2, x***3                   #打包返回

没有return,返回值为None

5 匿名函数

5.1 基本形式

lambda 变量:函数体

5.2 常用用法

在参数列表中最适合使用匿名函数,尤其是与key = 搭配

排序 sort() sorted()
ls = [(93, 88), (79, 100), (86, 71), (85, 85), (76, 94)]ls.sort()print(ls)ls.sort(key=lambda z: z[1])print(ls)temp = sorted(ls, key=lambda x: x[0]+x[1])  print(temp)temp = sorted(ls, key=lambda x: x[0]+x[1], reverse=True)  # 降序print(temp)"""[(76, 94), (79, 100), (85, 85), (86, 71), (93, 88)][(86, 71), (85, 85), (93, 88), (76, 94), (79, 100)][(86, 71), (85, 85), (76, 94), (79, 100), (93, 88)][(93, 88), (79, 100), (85, 85), (76, 94), (86, 71)] """
max() min()

02-Python之函数

评论关闭