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

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

相关推荐
凛铄linshuo12 分钟前
自动化测试:pytest第一个实例学习
学习·pytest
xixiaoyunya20 分钟前
Python 异步编程入门:用 asyncio 轻松实现并发任务
开发语言·python·php
把我格子衫拿来31 分钟前
Dice 很高就够了吗?分割评价中的 IoU、表面距离与 HD95
python·图像分割·模型评估·医学影像·dice
学逆向的36 分钟前
C 循环结构的执行效率分析
c语言·开发语言·数据结构·网络安全
曲径海盗43 分钟前
【Python 学习第 31 天】复习:变量与数据类型 等 3 题
python·学习笔记·编程入门
Data_Journal1 小时前
如何绕过 Cloudflare:网页抓取的最佳方法
网络·python
小坏讲微服务1 小时前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4
我命由我123452 小时前
智能助手通用问答边界
人工智能·python·学习·ai·学习方法·ai编程·智能体
鬼手点金2 小时前
Agent 的学习机制:后训练、上下文学习与外部化学习
java·人工智能·git·学习·自动化·nanogpt
Angeldream1232 小时前
第 4 章 医学影像预处理
图像处理·人工智能·python·医学影像·医学影像处理