重制版 day 11函数基础

day 11函数基础

函数就是实现某一个特定功能的代码的封装

函数就是将实现某一个或者某一类功能的代码打包,在需要使用这个功能的时候,直接调用包,直接使用封装的代码函数

函数的作用:将重复的操作封包,在使用的时候进行调用

函数的分类:

系统函数:系统创建的函数,本身自带的函数

自定义函数:程序员自己创建的函数

定义函数

语法:

def 函数名(形参列表):

​ 函数说明文档

​ 函数体

说明:

1)def-关键字;固定写法

2)函数名-由程序员自己命名;

​ 两个要求:是标识符,不是关键字

​ 三个规范:见名知义

​ 所有的字母都小写,多个单词用下划线隔开

​ 不使用系统的函数名,类名和模块

3)() —固定写法

4)形参列表-以’变量名1,变量名2,变量名3,…'的形式存在,根据情况变量名可以为0,也可以为多个

作用:将函数外部的数据传递到函数里面

确定形参的方法:看实现函数的功能需要不需要额外的数据,需要多少个数据

5)函数说明文档-多行注释,对函数功能进行解释

6)函数体-实现函数功能的代码

# 练习:定义一个函数,删除列表中所有的空值(包括None,和其他空值(比如空字符串、空列表、空元组等))
def del_None(list):
    for i in list[:]:
        # if bool(i)==0 and i!=0: 条件对应的表达式如果不是布尔,转换成布尔看结果是否为True
        if (not i) and (i !=0 ):
            list.remove(i)
    print(list)
list1=[None,'',[],1,[123],{},0]
del_None(list1)

调用函数

语法:

函数名(实参列表)

说明:

1)函数名-明确调用哪个函数,必须是已经定义过的函数名

2)( ) --固定写法

3)实参列表 -以’数据1,数据2,数据3,…'的形式存在,每一个数据就是一个实参

定义函数不会执行函数体,调用函数的时候才会执行函数体

函数调用过程

每次在调用函数的时候,执行步骤为:

第一步:回到函数定义的位置

第二步:传参

第三步:执行函数体

第四步:确定函数返回值

第五步:回到函数调用的位置,接着往后执行

函数的参数

实参类型:

根据实参的提供方式,将实参分为位置参数和关键字参数

位置参数:以’实参1,实参2,实参3,…'的形式存在,让实参和形参一一对应,顺序改变,实参值改变

关键字参数:以’形参1=实参1,形参2=实参2,…‘的形式存在,通过’='号对应,顺序改变,实参值不会改变

注意:位置参数和关键字参数可以一起用,但位置参数的位置在关键字参数的前面

参数默认值:

定义函数的时候可以通过’形参名=数据’的方式给形参赋值默认值;在调用的时候,有默认值的形参,可以不用传参

如果需要跳过有默认值的参数,使用关键字参数传参

注意:在定义函数的时候,没有默认值的形参必须在有默认值的形参前面

def func2(x,y=10):
    print(x,y)
func2(2)  # x=2 y默认=10
func2(100,20) # x=100,y=20

参数类型说明:

对形参类型进行说明,可以在函数体里方便代码提示

没有默认值的参数类型说明,直接在形参后面加:类型名

存在默认值,默认值的类型就是形参的数据类型

返回值数据类型说明: -> 数据类型

*对应的不定长参数:

参数个数不确定的时候可以使用不确长参数

定义函数的时候,如果在某一个形参前面加*号,这个形参会变成不定长参数,可以传参0个或者多个参数

带*的不定长参数的本质是一个元组,接收到的所有的实参是这个元组的元素

def sumN(*nums):
    sum1=0
    for i in nums:
        sum1+=i
    print(sum1)
sumN(5,123,23)
sumN(45678,12231,5234)

定义函数的时候单独使用*号,调用函数的时候,*号后面的参数必须使用关键字参数传参

def fun1(x,*,y,z)
	pass
fun1(1,y=2,z=2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值