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的原理了

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

相关推荐
刘天远1 小时前
企业 Agent 需求怎么写:数据结构、流程图与 Python 校验
数据结构·人工智能·python·流程图
Java后端的Ai之路1 小时前
23、Python - 策略模式
linux·python·策略模式
wy200203141 小时前
小机构怎么新增学习能力项目
学习
旖旎夜光1 小时前
【LangChain实战】LangChain 学习笔记(一):从定义大模型到工具调用
人工智能·笔记·python·学习·langchain
临沂GEO1 小时前
用好地域流量,提升内容自然搜索曝光
网络·python
艾莉丝努力练剑2 小时前
【AI大模型接入SDK】ChatGPT API
网络·c++·人工智能·websocket·网络协议·学习·chatgpt
wuyk5553 小时前
104.C 语言字节对齐:从底层原理到工程实践的完整指南
c语言·开发语言·stm32·单片机·嵌入式硬件
andrsted6 小时前
用练题簿小程序 - 让错题不再白错
学习·微信小程序·小程序·学习方法
2601_949950636 小时前
练题簿,把培训从“走过场”变成“真落地”
人工智能·学习·小程序·刷题·小程序推荐