Python学习---DAY10函数

格式

python中的函数的格式为:

python 复制代码
def task():
    task1
    task2
print('task over')   #函数结束,非函数语句

使用def关键字来定义函数,函数范围与循环判断类似,同样需要在同一列里来圈定。

与C不同的是,由于代码是直接执行(不用找main函数),所以要使用函数,只需要任意地方调用函数名即可

传参

位置传参

函数传参的基本办法(位置参数)就是在函数里直接使用变量,然后调用函数时将值对应写入即可,例如:

python 复制代码
def AtoB(a, b):
    if a > b:
        print(a)
    else:
        print(b)
AtoB(3,4)
AtoB(25,6)
#打印为:4  25
关键字传参

python中还有其他传参方法,如关键字传参,指定调用函数中实参与函数中形参的对应关系来实现:

python 复制代码
def task1(speed, x,y,z):
    if x<10:
        speed=speed*10
    elif x>10 and y<10:
        speed=90
    elif x>10 and y>10:
        speed=50
    elif z == y + x:
        speed=0
    else :
        speed=speed
    return speed
print(task1(z=64,x=10,y=20,speed=32))
#打印为:32

关键字与位置参数也可以混用,但用时需要位置在前,关键字在后。

限制传参方式:/前必须用位置参数,*后必须用关键字参数,如:

python 复制代码
def task1(speed, x,/,y,*z):
    if x<10:
        speed=speed*10
    elif x>10 and y<10:
        speed=90
    elif x>10 and y>10:
        speed=50
    elif z == y + x:
        speed=0
    else :
        speed=speed
    return speed

此时只能这么调用了:

python 复制代码
print(task1(32,10,y=20,z=64))#y无所谓
参数默认值

参数默认值指的是在定义函数时,通过形参=值的方式,为参数指定一个默认值,如:

python 复制代码
def task1(speed, x,y,z,m=42):
    if x<10:
        speed=speed*10
    elif x>10 and y<10:
        speed=90
    elif x>10 and y>10:
        speed=50
    elif z == y + x:
        speed=0
    else :
        speed=m
    return speed
print(task1(z=64,x=10,y=20,speed=32))#打印42

但如果引用函数时指定了参数值,则参数默认值就会被覆盖:

python 复制代码
print(task1(z=64,x=10,y=20,speed=32,m=84))#此时打印84

则此时,我们可以得知print的本质以及其end的原理了

**注意:**默认参数一定位于其他参数后

相关推荐
一隅论数智4 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
默_笙4 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
XiHongShi20164 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
qq_426003964 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技4 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
爱吃苹果的日记本4 天前
离散数学第六课
学习·离散数学
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python