python中函数(function)总结一

定义:函数是可以重复执行的语句块,可以重复的调用。
作用:用于封装语句块,提高代码的重用性,定义用户级别的函数。
一.定义函数语法
def 函数名(形参列表):
    语句块(代码块)

作用:用语句块创建一个函数,并用函数名变量绑定这个函数。
语法说明:
1)函数名是变量,它用于绑定语句块。
2)函数有自己的名字空间,在函数外部不可以访问函数内部的变量,在函数内部可以访问函数外部的变量。(要让函数处理外部的数据需要用参数给函数传入一些数据)。
3) 函数不需要传入参数时,形参列表可以为空。
4)语句部分不能为空,如果为空需要填充pass语句。
在这里插入图片描述
在这里插入图片描述
二.函数调用
函数名(实际调用传递参数)
注: 实际调用传递参数可以称为实参。

说明:
     函数调用是一个表达式
     如果函数内部没有return语句,则函数执行完毕后返回None对象。

三.return语句介绍
语法:
  return [表达式]
  注: []代表可以省略其中的内容
作用:
  用于函数中结束当前函数的执行,返回到调用该函数的地方,同时返回一个对象的引用关系。
return 语句说明:
1.)return 语句后跟表达式可以省略,省略后相当于 return None.
2.)如果函数内没有 return 语句,则函数执行完最后一条语句后返回None(相当于在最后加了一条return None语句).
在这里插入图片描述
四.函数传参介绍
传递方式有四种:位置传参,序列传参,关键字传参,字典关键字传参。
1)位置传参
实际参数(实参)的对应关系与形式参数(形参)的对应关系是按位置来依次对应的.
在这里插入图片描述
说明
实际参数和形式参数通过位置进行传递和匹配。
实际参数的个数必须与形式参数的个数相同,不然报错。
2) 序列传参
序列传参是指在函数调用过程中,用*将序列拆解后按位置进行传递的传参方式。
在这里插入图片描述
说明:
序列传参时,序列拆解的位置将与形参一一对应。
序列的位置信息对应相应的参数位置。

3)关键字传参
关键字传参是指传参时,按着形参的名称给形参赋值。
实参和形参按名称进行匹配。
在这里插入图片描述
说明
实参和形参按着形参名进行匹配,可以不按位置进行匹配。

4)字典关键字传参
是指实参为字典,将字典用 ** 拆解后进行关键字传参的方式。
在这里插入图片描述
说明
字典的键名和形参名一致。
字典的键名必须为字符串(且为标识符的命名方式)。
字典的键名要在形参中存在。

5)函数的综合传参
函数的传参方式,在能确定形参能唯一匹配到相应实参的情况下可以任意组合
函数的位置传参要先于关键字传参。

位置传参和序列传参可以混合使用且可以顺序颠倒
在这里插入图片描述
函数的关键字传参和字典关键字传参可以混合使用,且可以顺序颠倒
在这里插入图片描述

位置传参和关键字传参可以混合使用,但位置传参要先于关键字传参
在这里插入图片描述

五.函数的缺省参数
语法:
  def 函数名(形参名1=默认实参1, 形参名2=默认实参2, … ):
    语句块
在这里插入图片描述

说明
缺省参数必须自右至左依次存在.如果一个参数有缺省参数,则其右侧的所有参数都必须有缺省参数。
缺省参数可以有0个或多个,甚至全部都有缺省参数。
def fn(a, b=10, c): # 错的
        pass
def fn(a=100, b=200, c=300): # 对的
        pass

六.函数形参的定义方式
四种定义方式:位置形参,星号元组形参,命名关键字形参,双星字典形参。
1)位置形参
def 函数名(形参名1, 形参名2, …):
       语句块

2)星号元组形参
def 函数名(*元组形参名):
       语句块
在这里插入图片描述
作用:  收集多余的位置传参。
说明:  元组形参名一般命名为’args’。

3)命名关键字形参
def 函数名(*, 命名关键字形参):
      语句块

def 函数名(*args, 命名关键字形参):
      语句块
在这里插入图片描述
作用:强制所有的参数都必须用关键字传参或字典关键字传参。

4)双星号字典形参
def 函数名(**字典形参名):
      语句块
在这里插入图片描述
作用:收集多余的关键字传参。
说明:字典形参名一般命名为 kwargs。

5)函数的参数说明
位置形参,缺省参数,星号元组形参,双星号字典形参等可以混合使用.
函数参数自左至右的顺序为:
1. 位置形参
2. 星号元组形参
3. 命名关键字形参
4. 双星号字典形参

努力做事只能把事情做对,用心做事才能把事情做好!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值