当前位置: 首页 > backend >正文

AIGC 基础篇 Python基础 06 函数基础

今天,我们来讲解Python里面的函数基础:

1.函数格式基础

def jiafa(a,b):return a+b

我们一般使用def来定义一个函数,return的意思为返回,即返回值,所以在实际调用的时候,要用变量接住,或者直接输出,不然返回的值就找不到咯

函数取名不要有特殊符号,一般由英文字母和下划线构成,英文字母可以大写,函数取名的第一位不要放数字

a,b两个是形参,即形式参数,相对应的还有一个实际参数的概念,后面会一起讲,先不急哦

这里要注意的还有两点,一个是不要忘记冒号!忘记冒号的话格式又错了就,此外就是下一行开始也要缩进

那么接下来,我将展示一个函数的创建与调用:

def jiafa(a,b):return a+b
c,d = int(input("请输入第一个数字:")),int(input("请输入第二个数字:"))
print("c+d=",jiafa(c,d))

这里有几个要讲的地方

point 1.关于传入多个参数的第二种方式

在此之前,我们曾使用map的方式进行多参数传参,当然,实际上我们也可以通过上述的方式传入参数,而且相比如map的方式

point 2.关于形参与实参

形式参数,即形式上的参数,并不是实际传入的参数,形式参数可以是任何字母,,只要后面在函数内部调用的参数也是形式参数即可

实际参数,即实际上的参数,在上面,就是c和d,然后调用函数时,不要再写形参,都说了是形式上的,那么在实际调用时肯定不能用嘛,应该传入实际参数,也就是c和d

2.函数应用

还是以数学运算为例:

def jiafa(a,b):return a+b
def jianfa(a,b):return a-b
def chengfa(a,b):return a*b
def chufa(a,b):return a/ba,b = int(input("请输入第一个数字:")),int(input("请输入第二个数字:"))
print("a+b=",jiafa(a,b))
print("a-b=",jianfa(a,b))
print("a*b=",chengfa(a,b))
print("a/b=",chufa(a,b))

如果你的眼睛尖的话,想必已经发现这实际上就是上面示例的扩充版了叭,棒棒哒!

这确实是一个扩充版的运算,在前一个示例的基础上,加入了减法,乘法和除法运算

当然,这个还可以进行一下优化:

def suanshu(a,b,c):if c == "+":return a+belif c == "-":return a-belif c == "*":return a*belif c == "/":if b == 0:return "除数不能为0"else:return a/belse:return "输入错误,请重新输入"l1 = list(map(str,input("请输入算式,以空格隔开数字和符号: ").split()))
if len(l1) != 3:print("输入错误,请重新输入")
else:d = suanshu(int(l1[0]),int(l1[2]),l1[1])print(d)

这里只有一个suanshu函数,但是涵盖了刚刚的四个函数的功能,而且还进行了优化,比如除法中除数不能为0

这里的输入似乎与之前都不一样,实际上这里是在之前的map方法创建的基础上,再套了一个list,也就是列表,将输入的内容都传入列表,并且保证数字与符号隔开,这样就可以确保传入的数字有三个数

当然,如果传入的数据不是三个,那么也会报错,这样就确保不会出现问题,对于没有问题的三个数据,我们再进行调用函数

函数的逻辑想必大家都能看得懂,不过至于为什么最后还要设置一个额外的情况,是因为可能用户传入的第三个参数不是加减乘除的任何一个,这最后一个情况就是为这个准备的

最后再来一个例子,作为今天的结尾叭~

def shaixuan(a):b = 0c = 0for i in range(len(a)):if len(a[i]) > 5:b += 1else:c += 1return [b,c]l1 = list(map(str,input("请输入内容,以空格隔开:").split()))
l2 = shaixuan(l1)
print(f"在你输入的{len(l1)}个元素中,有{l2[0]}个属于较长数据,有{l2[1]}个属于较短数据")

这是一个根据输入的每个数据的长度进行筛选的函数,这里我们可以看见,return可不止能返回数值,也可以返回列表哦!

此外再提醒下,Python对于空格很是重视,所以该缩进的地方一定要缩进!

len则是一个长度方法,在这里,可以通过len可以返回列表长度,也可以返回数据长度

今天就先到这里啦,祝大家天天开心!代码一遍就通!没有debug的烦恼!

http://www.xdnf.cn/news/14170.html

相关文章:

  • 嵌入式linux GDB使用教程
  • App渠道效果怎么统计和对比,有哪些实用方法和工具?
  • ROS的tf_tree中的节点含义详解
  • QGraphicsView
  • 【GESP真题解析】第 6 集 GESP 四级 2023 年 9 月编程题 1:进制转换
  • 【wvp-pro-gb28181】新建CallIdHeader失败的原因解析记录
  • 自动化KVM虚拟机创建脚本详解:从模板到高效部署的线上实践!
  • 【笔记】在新版本 Windows 系统安装回 Windows Subsystem for Android(WSA)
  • 「从实验室到工程现场:机器学习赋能智能水泥基复合材料研发全流程解析」
  • 表达式的自动类型转换
  • [Latex排版] 解决Something‘s wrong--perhaps a missing \item. 问题
  • 车辆车架号查询接口如何用Python实现调用?
  • 算法学习笔记:3.广度优先搜索 (BFS)——二叉树的层序遍历
  • 109.临时解决401错误
  • 线性三角波连续调频毫米波雷达目标识别
  • 【Vue2+antd 表格一直loading的问题】是赋值原因
  • Java 项目中实现统一的 追踪ID,traceId实现分布式系统追踪
  • 贵州建筑安全员C证理论考试题库
  • CHS和LBA的地址与的磁盘关联
  • C# 中委托和事件的深度剖析与应用场景
  • 求解偏微分方程组的通解
  • 小智AI为何要用MQTT+UDP?怎么接入MQTT?
  • Spring Boot 启动原理(SpringApplication.run(...) 流程)
  • 【Playwright MCP 实战分享:AI时代的浏览器自动化测试】
  • 销售预测的方法与模型(三)丨安全库存与再订货(补货)
  • AndroidMJ-基础-05
  • 数字人分身系统之数字人克隆功能板块开发,支持OEM
  • 一文了解sonar的搭建和使用
  • 基于openlayers开发北斗应用支撑平台
  • 1.2、SDH的复用结构