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

Python3 函数(小白版)

一、函数概念

函数是封装一段重复代码的代码块,实现代码复用、简化结构,使用def关键字定义。

# 语法格式def函数名(形参列表):函数体return返回值

二、无参函数

没有参数,直接调用。

defhello():print("Hello Python函数")# 调用函数hello()

三、有参函数

1. 位置参数(必填参数)

实参按顺序一一对应形参。

defadd(a,b):res=a+breturnresprint(add(3,5))# 8

2. 关键字参数

调用时指定参数名,顺序可打乱。

definfo(name,age):print(f"姓名:{name},年龄:{age}")info(age=18,name="小明")

3. 默认参数

形参设置默认值,不传参使用默认。

默认参数必须放在位置参数后面

defstudent(name,age=18):print(name,age)student("小红")student("小刚",20)

四、可变参数

1. *args 不定长位置参数,打包成元组

接收任意多个位置参数。

defsum_all(*args):s=0foriinargs:s+=ireturnsprint(sum_all(1,2,3,4))

2. **kwargs 不定长关键字参数,打包成字典

接收任意多个关键字参数。

defdict_info(**kwargs):print(kwargs)dict_info(name="张三",height=175,sex="男")

参数顺序规范

**位置参数 > *args > 默认参数 >kwargs

五、return 返回值

  1. return终止函数,带回返回数据;
  2. 无return默认返回None
  3. 返回多个数据自动打包成元组
defcalc(x,y):add=x+y sub=x-yreturnadd,sub a,b=calc(10,3)print(a,b)

六、局部变量 & 全局变量

  1. 局部变量:函数内部定义,仅函数内可用;
  2. 全局变量:函数外定义,全文件可用;
  3. global:函数内修改全局变量。
num=100defchange():globalnum num=200change()print(num)

七、匿名函数 lambda

一行简易函数,格式:lambda 参数:表达式,多用于简单逻辑。

# 普通写法deff(x,y):returnx*y# lambda写法mul=lambdax,y:x*yprint(mul(4,5))

常配合map()、sorted()使用:

lst=[1,2,3]res=list(map(lambdax:x**2,lst))print(res)

八、函数嵌套 & 闭包

函数里定义新函数,内层函数使用外层变量形成闭包。

defouter(x):definner(y):returnx+yreturninner f=outer(10)print(f(5))

九、装饰器(进阶)

在不修改原函数代码前提下,新增功能。

defdecorator(func):definner():print("函数执行前")func()print("函数执行后")returninner@decoratordeftest():print("原函数逻辑")test()

十、常用内置函数补充

len()、max()、min()、sum()、map()、filter()都是系统封装好的函数。

# filter过滤li=[1,2,3,4,5]new=list(filter(lambdax:x%2==0,li))print(new)
http://www.gsyq.cn/news/1476969.html

相关文章:

  • day 2:RAG 快速原型实现计划
  • SAP开发者必备:如何用BAPI_INCOMINGINVOICE_PARK批量处理采购预制发票及后台表(EKBE/BKPF)取值逻辑
  • 一个人写了一套店群矩阵自动化软件:我是如何把8人运营成本从月薪6万降到8千的
  • 华大HC32F460 Bootloader实战:从Flash分区到Keil地址设置,手把手带你避坑
  • 空间资源配置中的均匀性原则与随机几何图模型
  • AutoLisp字段表达式全解析:从‘%<\AcObjProp’到动态文字,一篇看懂
  • ClickHouse 高频写入的 Parts 雪崩:从 Too Many Parts 到可控背压的工程实践
  • 快速验证AI模型效果:用快马平台十分钟搭建多模型对话原型
  • 蓝速科技会议预约屏与电子门牌深度评测指南
  • 2026年灾后房屋质量检测机构评测:广告牌性能检测/建筑工程主体结构检测/房屋安全鉴定/房屋完损检测/房屋抗震检测/选择指南 - 优质品牌商家
  • 你的鼠标指针太无聊了?用Mousecape在Mac上实现光标自由
  • 一个人,一套软件,300个快手店铺:我把月人力成本从5万压到了7千
  • 2026年东莞有实力的项链直销厂家选择策略与重点推荐 - 2026年企业资讯
  • Android风险环境检测 —— 签名校验
  • 保姆级教程:用QGIS 3.28切好瓦片,再用CesiumJS 1.107一步调用成功
  • Java语言程序开发笔记
  • 2026年百度代理商服务口碑排名,山东热门等公司上榜 - myqiye
  • 西门子S7:西门子CPU模块、西门子PLC模块销售、西门子S71200模块、西门子S71500模块、西门子S7200模块选择指南 - 优质品牌商家
  • 靠谱的耐辐射镜头厂家
  • 智能饮食助手——开发方案设计
  • Python+pyecharts 制作 B 站同款世界人口动态排序柱状轮播图(1960-2024 完整版)
  • leetcode数据结构与算法1~4
  • 2026年Q2建筑工程地基基础检测机构实测评测:建筑工程地基基础检测/房屋安全鉴定/房屋完损检测/房屋检测/房屋消防检测/选择指南 - 优质品牌商家
  • TensorRT模型转换避坑指南:trtexec处理动态Batch、多精度与工作空间设置的实战详解
  • 教学机租赁口碑哪家好?爱校哥,服务响应迅速,售后保障完善 - 工业品牌热点
  • 导师默许的 AI 论文辅助神器!6 个国内写作站点,轻松搞定参考文献与初稿
  • GitHub开源项目日报 · 2026年6月5日 · 自进化AI助手与记忆系统成为本周焦点
  • 手把手教你用VMware vSphere 7.0搭建家庭实验室:从ESXi安装到vCenter配置全流程
  • CSDN AI营销卡片跳转权限全维度解读,官网直跳已开放,小程序仍需企业资质认证(附审核时效倒计时)
  • Android系统级Root技术深度解析:Magisk架构设计与安全加固实践指南