Python康复训练——控制流与函数
📅 2026/7/29 3:59:11
👁️ 次浏览
一、控制流控制流决定代码走哪条路、走几次。Python 用缩进对齐来划分代码块没有大括号也没有switch。1. if 条件判断# 控制流/if 结构ifscore60:print(不及格)elifscore80:print(及格)elifscore90:print(良好)else:print(优秀)要点if/elif/else结尾都带:后跟缩进块。elif、else可省略分支可任意扩展。Python 没有switch多分支用if-elif-else或者用字典映射来替代——查表比长串 if 更清晰。三元表达式if 表达式rankGoodifscore90elseNot bad一句话给变量赋值等价于其他语言的条件 ? a : b。2. while 循环while条件:循环体else:# 循环正常结束没被 break时才执行print(done)while的else子句是个容易被忽略的特性只有循环没有被break打断、自然走完时才会执行。一旦breakelse不跑。这个语义和多数语言不同记牢。3. for 循环foriinrange(1,8):print(i)else:print(OK)for遍历序列列表、字符串、range等每次取一个值赋给循环变量。else子句的语义和while一样正常结束才执行。4. break 与 continuebreak跳出整个循环else不会执行。continue跳过本次循环的剩余语句直接进下一轮。# 输出奇数forxinrange(1,9):ifx%20:continueprint(x)小结break管整个循环停不停continue管这一轮跳不跳else管循环是不是体面结束的。三者搭配能写出很自然的搜索逻辑。二、函数函数把一段逻辑封装起来给个名字重复调用。1. 定义与调用defsay_hi():print(Hi, everybody!)say_hi()say_hi()def 函数名(参数):后跟缩进块。函数没写return时默认返回None。2. 参数的四种形态这是函数部分的核心理清参数怎么传形态写法说明位置参数def f(x, y)按顺序传实参给形参赋值默认值参数def f(s, times1)必须放在无默认值参数后面关键字参数f(b3, a1)按名字传不用记顺序可变参数*args/**kwargs收集多余的位置/关键字参数# 可变参数* 收集成元组** 收集成字典deftotal(a5,*words,**dic):foriinwords:# words 是 tupleprint(seq:,i)fork,vindic.items():# dic 是 dictprint(%s - %s%(k,v))total(5,4,3,2,Jack12,Joe8)顺序铁律位置参数 → 默认值参数 →*args→**kwargs乱排会报错。3. return 与多返回值# 用元组一次返回多个值defswap(x,y):return(y,x)a,bswap(a,b)# 元组解包Python 没有只能返一个值的限制——靠元组装多个值调用端用解包接收。这是 Python 特有的简洁写法a, b b, a这种交换也基于此。4. 局部变量与全局变量函数内部定义的变量是局部变量作用域只在函数内。函数外部定义的是全局变量函数内可读。同名时局部优先想在函数内修改全局变量必须用global声明否则只是新建了个同名局部变量。vglobaldeffun():globalv# 声明后才能改外部的 vvlocalfun()print(v)# 输出 localglobal能不用就不用。函数依赖外部变量改值是 bug 温床也让函数难以测试和复用。5. 文档字符串docstring函数、模块、类的第一个逻辑行字符串就是它的文档存在__doc__里help()能提取。deffun_void():空函数 测试空函数 passprint(fun_void.__doc__)help(fun_void)约定第一行一句话总结第二行空行第三行起详细描述。写 docstring 是 Python 的工程素养起点——配合 FastAPI 这类框架docstring 还会直接变成接口文档。三、lambda一行函数lambda创建一个匿名函数对象接收参数返回一个表达式的值。没有return表达式本身就是返回值。# 按字典里的某个键排序data[{x:8,y:23},{x:2,y:98},{x:4,y:3}]data.sort(keylambdai:i[x])# 按 x 排典型场景当临时函数、只在一个地方用、逻辑简单排序 key、过滤条件等。逻辑复杂就老老实实写deflambda 会越写越难读。四、模块与包函数管逻辑复用模块和包管文件级组织。1. 模块导入importsys# 导入整个模块用 sys.argv 访问frommathimportsqrt# 只导入需要的名字直接用 sqrt()import 模块模块名当命名空间模块.属性访问推荐不会撞名。from ... import *把模块里所有公开名字一股脑倒进来慎用——容易和当前作用域撞名还看不出名字哪来的。Python 按sys.path列表里的目录去找模块自定义模块要放在这些路径下。2.__name__ __main__每个模块都有__name__独立运行时等于__main__被 import 时等于模块名。用这个判断来区分直接跑和被导入if__name____main__:print(本模块独立运行)else:print(本模块被其他模块导入)这是 Python 模块的惯用入口——把测试/启动代码放if __name__ __main__:里别人 import 时不会误触发。3. dir() 函数dir()返回对象定义的名称列表无参返回当前模块的名字传对象返回该对象的名字。排查这个名字从哪来很有用。4. 包包 目录 __init__.py。__init__.py告诉 Python这个目录是个包。包用来管理模块形成层级hzgj/ # 顶层包 ├── __init__.py ├── market/ # 子包 │ ├── __init__.py │ └── Pkg01.py └── product/ ├── __init__.py └── Pkg02.py导入时用点号串起来import hzgj.market.Pkg01 as p1。小结函数管逻辑模块管文件包管目录。从def到import再到包是代码组织能力的三级跳——写小脚本用函数就够工程化就得靠模块和包分层。
1. 项目概述:从开箱到通信的快速通道最近在做一个需要中短距离测距的项目,选型时看中了北醒的TF02-i-CAN这款激光雷达模组。东西到手后,第一件事就是让它和电脑“说上话”,把数据读出来。但翻遍资料,发现官方文档虽然详…
📅 2026/7/29 3:59:11
1. 从零到一:为什么需要官方USB库?如果你正在用STM32做一个需要连接电脑的小玩意儿,比如一个自定义的键盘、一个数据采集器,或者一个简单的U盘,那你大概率绕不开USB通信。第一次接触STM32的USB功能时,很多人…
📅 2026/7/29 3:59:11
维度企业级覆盖范围全公司各业务线、各职能指标关系上下贯通(战略→执行)、左右协同(业务→财务→风险)口径管理统一指标字典、统一计算口径、统一维度标准技术承载指标平台/指标中台 数据仓库 权限体系
指标体系搭建流程
首先…
📅 2026/7/29 3:59:11
说实话,刚接触GEO数据库那会儿,我也被那些复杂的命令行吓得头皮发麻。那时候总觉得,不做R语言分析就不算正经做生信,非得装个Linux环境,配个Bioconductor,折腾半天最后报错一堆,心态崩了。直到后来被导师按头安利了GEO2R,我才发现,原来还有这种“偷懒”神器。今天咱就…
📅 2026/7/29 5:13:19
1. 项目概述:当树莓派“长”出眼睛最近在折腾一个挺有意思的小项目:让树莓派变成一个能主动“看”人的智能摄像头。核心想法很简单,就是利用树莓派连接摄像头,实时捕捉画面,然后调用百度AI开放平台的人脸识别接口&…
📅 2026/7/29 5:13:47
1. DBC文件:汽车电子工程师的“通用语言”如果你在汽车电子、嵌入式开发或者测试领域工作,那么“DBC文件”这个词对你来说一定不陌生。它就像一份“翻译词典”,让工程师、测试工具和ECU(电子控制单元)之间能够顺畅沟通…
📅 2026/7/29 5:13:47
1. 项目缘起:从最小系统到交通灯很多朋友学51单片机,都是从点亮一个LED灯开始的。这就像学编程的“Hello World”,简单直接,能立刻看到反馈。但点亮一个灯之后呢?下一步该做什么,往往就卡住了。我见过不少朋…
📅 2026/7/29 5:13:47
在移动设备、穿戴产品与便携式工具的设计中,锂电池凭借其高能量密度和长循环寿命成为主流电源。而如何安全、高效地为单节3.7V锂电池充电,则是硬件设计 中的关键环节。全新的FS4054H、FS4057H、FS4056HH与FS5175四款充电管理芯片,覆盖了从轻量…
📅 2026/7/29 5:13:47
龙嘴向前伸,
青釉压壶身。
气势从稳起,
端坐自精神。龙嘴壶最容易被看见的是壶嘴,但一把壶真正的气势,从来不是一个局部撑起来的。这把壶的腹部宽厚、重心低,圆把在后方稳稳呼应。先有壶身坐得住,龙嘴向前伸…
📅 2026/7/29 5:13:47
解密Seq的核心功能:如何利用Pipeline实现高效基因组数据处理 【免费下载链接】seq A high-performance, Pythonic language for bioinformatics 项目地址: https://gitcode.com/gh_mirrors/se/seq
Seq作为一款高性能的生物信息学专用语言,其Pipel…
📅 2026/7/29 0:00:00
Flask-Blogging插件开发指南:打造属于你的个性化博客功能 【免费下载链接】Flask-Blogging A Markdown Based Python Blog Engine as a Flask Extension. 项目地址: https://gitcode.com/gh_mirrors/fl/Flask-Blogging
Flask-Blogging是一个基于Markdown的Py…
📅 2026/7/29 0:00:00
近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…
📅 2026/7/29 0:01:00
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/29 1:14:44
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/29 1:14:44
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/29 1:14:46
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/28 7:13:45
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/28 17:14:18
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/28 5:13:40