【Python入门】了解掌握Python中函数的基本使用
1. 函数的定义函数函数是组织好的、可重复使用的、用来实现特定功能的代码片段。语法# 定义函数def函数名(参数列表):函数体......return返回值# 调用函数函数名(参数)注意函数定义时的参数列表与返回值语句是可有可无的视具体情况而定函数必须先定义后调用函数定义时内部代码并未执行在调用时才执行函数中通过缩进来描述归属关系示例# 定义一个函数计算圆形的面积defcircle_area(r):area3.14*r*rprint(f半径为{r}的圆形的面积是{area})returnarea# 函数调用datacircle_area(5)print(fdata的值是{data})2. 变量作用域在python中变量分为全局变量和局部变量全局变量应用于整个.py文件局部变量应用于函数体中。# 定义全局变量number10deffun():# 定义局部变量number100print(f局部变量number的值{number})# 调用函数fun()print(f全局变量number的值{number})如果要在函数体中使用全局变量可以使用global关键字。global关键字用于明确地告诉Python解释器在函数中要使用全局变量使得可以在函数内部修改全局变量的值。# 定义全局变量number10deffun():globalnumber number100print(f使用global关键字指定使用全局变量后number的值{number})# 调用函数fun()print(f全局变量number的值{number})注意事项尽量避免在函数中使用全局变量这会使得代码难以维护和调试考虑使用函数参数和返回值来传递数据而不是依赖全局变量global主要用在程序的状态、配置和计数器等场景中3. 函数中的参数3.1 传参方式两种传参方式位置传参在调用函数时传入的实参的顺序于定义函数时形参的顺序完全一致关键字传参在调用函数时通过“形参名值”的形式传递参数顺序没有要求如果同时存在位置参数于关键字参数位置参数在前关键字参数在后传参方式适用场景如果参数比较少如不超过3个可直接使用位置传参如果参数数量较多建议使用关键字传参3.2 默认参数默认参数在方法中设置默认的参数值如果传参则覆盖默认值不传参则使用默认值执行# 位置传参city设置默认参数deffun1(name,age,city北京):print(name,name,age,age,city,city)# 关键字传参deffun2(name,age,city,gender):print(name,name,age,age,city,city,gender,gender)fun1(张三,20,广州)fun2(name李四,age21,city北京,gender男)# 两种传参混合fun2(王五,22,city深圳,gender男)3.3 不定长参数不定长参数也叫可变参数用于函数定义及调用时参数个数不确定0个或多个的场景*args不定长位置参数传递的所有匹配的位置参数都会被args变量收集这些参数会合并封装为一个元组agrs是元组类型并不会封装关键字参数**kwargs不定长关键字参数函数调用时通过关键字参数传递多个参数封装到一个字典dictargs、kwargs只是约定俗成的变量名并不是关键字这里可以使用任何合法的变量名如*aaa、**bbb# 定义不定长参数的函数位置参数*args -- 元组deffun(*args):# 调用函数datafun(10,210,30,54,84)print(data)# 定义不定长参数的函数关键字参数**kwargs -- 字典deffun1(*args,**kwargs):ifkwargs.get(print):print(打印出数据信息)# 调用函数data1fun1(10,210,printTrue)不定长参数适用场景*args适用于处理数量不确定的数据**kwargs适用于处理数量不确定的选项函数的配置参数用来定制函数的行为3.4 函数的参数类型普通参数数字、布尔、字符串、列表、元组、集合、字典等特殊参数函数以函数作为参数的示例# 定义一个实际处理的函数两数相加defadd(X,y):returnXy# 定义一个实际处理的函数两数相减defsubtract(X,y):returnX-y# 定义一个过程处理函数用于调用实际处理的函数defcalc(x,y,oper):returnoper(x,y)# 使用sumcalc(11,22,add)print(sum)

相关新闻

用ChatGPT搭出专业级文章骨架:从零到交付的7个不可跳过的结构节点

用ChatGPT搭出专业级文章骨架:从零到交付的7个不可跳过的结构节点

更多请点击: https://intelliparadigm.com 第一章:为什么专业级文章骨架必须由AI协同构建 传统技术写作常陷入“先写后改”的低效循环:作者独自搭建结构,再反复删减、重组、补漏,耗费大量时间却难以兼顾逻辑严密性与读…

2026/7/14 18:35:53阅读更多 →
C++ 入门学习经验 05——指针(一):从交换变量开始,搞懂值传递、指针和引用

C++ 入门学习经验 05——指针(一):从交换变量开始,搞懂值传递、指针和引用

大家好啊!这里是土豆的博客,一个正在努力学习技术的大学生。前面两篇我们聊了递归,也用几个例子看到了:有时候代码只是顺序换了一下,结果就完全不一样。那今天这篇,咱们来聊另一个很多初学者都会遇到的问题…

2026/7/14 18:35:53阅读更多 →
Figma AI转代码不是替代开发者,而是淘汰不会Prompt Engineering的前端工程师(附MIT实验室认证的12个高阶提示词模板)

Figma AI转代码不是替代开发者,而是淘汰不会Prompt Engineering的前端工程师(附MIT实验室认证的12个高阶提示词模板)

更多请点击: https://intelliparadigm.com 第一章:Figma AI转代码的本质:一场前端工程范式的静默革命 Figma AI转代码并非简单的“设计图→HTML”映射工具,而是将UI设计语言、组件语义与前端工程约束深度融合的智能编译器。它背后…

2026/7/14 18:35:53阅读更多 →
AD5593R与STM32F722ZE的I2C通信与多功能IO扩展设计

AD5593R与STM32F722ZE的I2C通信与多功能IO扩展设计

1. AD5593R与STM32F722ZE的硬件协同设计AD5593R是一款高度灵活的多功能IO扩展芯片,通过I2C接口与STM32F722ZE微控制器通信。这款8通道设备每个引脚都可独立配置为12位ADC输入、12位DAC输出、数字输入/输出或三态模式,为嵌入式系统设计提供了极大的灵活性…

2026/7/14 22:46:13阅读更多 →
零基础极速上手:用AI建站工具10分钟生成一个专业网站的实操教程

零基础极速上手:用AI建站工具10分钟生成一个专业网站的实操教程

很多人一提到“建网站”,脑子里还是立刻浮现出一堆让人头大的名词:服务器、域名解析、FTP、HTML、CSS……这些技术壁垒,在过去确实把无数有想法的人挡在了门外。但现在,情况完全不同了。有了新一代的AI建站工具,建网站…

2026/7/14 22:46:13阅读更多 →
AI建站工具哪个好?一份基于真实需求的选型标准与对比指南

AI建站工具哪个好?一份基于真实需求的选型标准与对比指南

打开搜索引擎,输入“AI建站工具”,你会发现结果五花八门,有的号称“一键生成”,有的强调“海量模板”。看多了反而更迷茫:到底哪个才是真正适合我的?哪个的SEO效果真的靠谱?选工具就像买鞋子&am…

2026/7/14 22:46:13阅读更多 →
基于 ESP32 与语音识别的智能黑板擦自动擦拭与粉尘收集装置

基于 ESP32 与语音识别的智能黑板擦自动擦拭与粉尘收集装置

一、系统概述 本装置以 ESP32 为主控核心,结合语音识别模块实现语音控制的黑板自动擦拭功能,并集成粉尘收集系统,有效解决传统黑板擦扬尘问题。装置通过语音指令启动 / 停止擦拭,由步进电机驱动黑板擦在导轨上往复运动,同时风扇产生负压将粉笔灰吸入集尘盒,配合 HEPA 滤…

2026/7/14 22:46:13阅读更多 →
基于 STM32 与压电薄膜的婴儿睡眠呼吸暂停监测床垫设计

基于 STM32 与压电薄膜的婴儿睡眠呼吸暂停监测床垫设计

一、项目背景与设计思路 婴儿睡眠呼吸暂停(Sleep Apnea)是婴幼儿期潜在的高危症状,若未能及时发现,可能导致缺氧甚至猝死。本设计采用压电薄膜传感器铺设于床垫下方,捕捉婴儿呼吸时胸腔起伏产生的微弱压力变化,通过 STM32 单片机采集、分析呼吸波形,当检测到呼吸暂停超…

2026/7/14 22:46:13阅读更多 →
Windows C盘空间清理与系统优化实战指南

Windows C盘空间清理与系统优化实战指南

C盘只剩50兆?打工人电脑自救指南作为一名长期与Windows系统打交道的开发者,相信不少同行都经历过C盘爆红的绝望时刻。明明软件都装在了D盘,重要文件也妥善存放,但C盘空间却像被无形的手一点点蚕食,最终只剩下可怜的50M…

2026/7/14 22:41:13阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/14 4:56:14阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/14 2:55:05阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/14 6:17:41阅读更多 →
【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

更多请点击: https://intelliparadigm.com 第一章:Cursor数据库安全红线概览 Cursor 作为一款基于 AI 的智能编程助手,其本地数据库(SQLite 存储)承载着用户代码片段、会话历史、自定义规则及敏感上下文信息。理解其安…

2026/7/14 0:03:18阅读更多 →
【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

更多请点击: https://codechina.net 第一章:Notion AI写作辅助的底层能力边界认知 Notion AI 并非通用大语言模型的直接封装,而是基于 Llama 系列与自研微调模型构建的轻量化推理服务,其输入上下文窗口严格限制在 8192 token&…

2026/7/14 0:03:18阅读更多 →
AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

更多请点击: https://kaifayun.com 第一章:AI Agent数据越界行为的合规性挑战与溯源必要性 AI Agent在自主执行任务过程中,可能因提示注入、上下文污染或权限配置缺陷,无意或有意访问、缓存、传输受保护数据(如PII、G…

2026/7/14 0:03:18阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/14 15:07:30阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/14 4:45:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/14 2:42:17阅读更多 →