Python编程中特有的循环语句及其特点
Python编程的追求的就是简单而优雅,既无所不能,又接近人的自然表达模式。毋庸置疑,其简洁而不简单的魔力吸引力大量的拥趸。即便其语法和内置函数等,如若能简写或缩写的,那就绝不会完整地写出来。如果你习惯了这种写法,再去看看“Spring式”长命名,你简直都怀疑自己当初为什么要敲那么多次键盘——难道是为了锻炼身体?
有点跑远了,回到主题上来。我们知道,标准的代码执行流程的控制语句,就这么几种:顺序执行、条件执行、循环执行以及这几种的组合或/和嵌套。各类编程语(如C/C++、Java、JavaScript、PHP、go等)在具体语法上实现各有差异,但基本雷同:if-else结构、while结构、for结构等。
这里要说的是Python的循环结构语法的常规拓展模式,以while为例,其常规语法结构如下:
while condition: #循环体 pass
这是典型的使用形式。其拓展结构如下:
while conditon: #循环体 pass else: #while循环体执行完 pass
这种while-else结构与if-else结构不同之处在于if结构下只能执行其中的一种情况(满足条件的),而while结构通常两部分都会执行的。示例如下:
counter =0 while counter<5: counter+=1 print(f"counter={counter}") else: print(f"while结束了,进入else部分:当前counter={counter}")
运行上面的代码,输出结果如下:
counter=1
counter=2
counter=3
counter=4
counter=5
while结束了,进入else部分:当前counter=5
这个代码没啥故事,也容易理解。但我换一种形式再看看效果:
counter =0 while True: counter+=1 print(f"counter={counter}") if counter>=5: break else: print(f"while结束,else部分...,counter={counter}")
运行程序,输出类似如下:
counter=1
counter=2
counter=3
counter=4
counter=5
完犊子了,else部分不执行了……
当然,Python的for-else结构也一样,这里就不举例了,有兴趣的自己试试。这里我想说的是,在Python的“循环-else”结构中,如果使用了break提出循环,它就跳出了整个循环结构,而循环所带的else部分也是整个循环的一部分。所以,想在循环体工作结束后再干点扫尾工作,那一定注意不要用break跳出。
当初我在给学生介绍这个结构时,说这个语法貌似没有很鸡肋。你Python不是追求简洁吗,为while/for添个else,没有它会死吗?你想在else里干的事情,不用else也一样能干。
后来我遵循Python的“人性化”指导哲学又想了想:这就像在饭店里吃饭,正常吃完结账(正常事情),出去时顺带在饭店门口抓把糖倒杯水(扫尾工作);但如果你吃饭时吃出个异物来,不能继续愉快就餐了走了(非正常终止-break了),哪还有心情喝水吃糖?——可能就是这个意思吧 ^_& 。
Python编程还是很有意思的,但更多在于用Python去解决实际问题。所以Python语法很容易学,但要能灵活的使用Python去解决问题还有很多库和框架需要学习。
今天就写这些了,其它Python特异的编程特殊实现,下次再写。
以上是Python编程中特有的循环语句及其特点的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

在CentOS系统上启用PyTorchGPU加速,需要安装CUDA、cuDNN以及PyTorch的GPU版本。以下步骤将引导您完成这一过程:CUDA和cuDNN安装确定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA显卡支持的CUDA版本。例如,您的MX450显卡可能支持CUDA11.1或更高版本。下载并安装CUDAToolkit:访问NVIDIACUDAToolkit官网,根据您显卡支持的最高CUDA版本下载并安装相应的版本。安装cuDNN库:前

Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

MinIO对象存储:CentOS系统下的高性能部署MinIO是一款基于Go语言开发的高性能、分布式对象存储系统,与AmazonS3兼容。它支持多种客户端语言,包括Java、Python、JavaScript和Go。本文将简要介绍MinIO在CentOS系统上的安装和兼容性。CentOS版本兼容性MinIO已在多个CentOS版本上得到验证,包括但不限于:CentOS7.9:提供完整的安装指南,涵盖集群配置、环境准备、配置文件设置、磁盘分区以及MinI

在CentOS系统上进行PyTorch分布式训练,需要按照以下步骤操作:PyTorch安装:前提是CentOS系统已安装Python和pip。根据您的CUDA版本,从PyTorch官网获取合适的安装命令。对于仅需CPU的训练,可以使用以下命令:pipinstalltorchtorchvisiontorchaudio如需GPU支持,请确保已安装对应版本的CUDA和cuDNN,并使用相应的PyTorch版本进行安装。分布式环境配置:分布式训练通常需要多台机器或单机多GPU。所

在CentOS系统上安装PyTorch,需要仔细选择合适的版本,并考虑以下几个关键因素:一、系统环境兼容性:操作系统:建议使用CentOS7或更高版本。CUDA与cuDNN:PyTorch版本与CUDA版本密切相关。例如,PyTorch1.9.0需要CUDA11.1,而PyTorch2.0.1则需要CUDA11.3。cuDNN版本也必须与CUDA版本匹配。选择PyTorch版本前,务必确认已安装兼容的CUDA和cuDNN版本。Python版本:PyTorch官方支

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。
