百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

「Python程序设计」循环控制:for和while循环语句

off999 2024-09-16 00:51 56 浏览 0 评论

我们在实际业务,或者是实际问题,进行数据分析处理的过程中,往往需要对数据集进行处理。

从程序设计的角度来看,一维数组,代表了同一数据类型的相关数据。二维数组,相当于我们excel中的表格,可以简单理解成,是由一维数组组成的。

比如说,我们的表格按行来看的话,从上到下,每一行,就相当于一个一维数组。而无数的行,就构成了一个二维数组的表格。按列从左到右来看,也是一样的。

而在python编程语言中,类似于一维数组的数据结构是列表,元组,字典。还有pandas库中的series。类似于二维数组的数据结构,典型的代表,就是pandas库中的dataframe。

我们要对一维数组和二维数组,逐个数据元素进行操控的话,就需要通过循环,或者是迭代来实现。循环和迭代,基本上是同一个意思,只是实现的方式略微不同。理论上,一维数组需要一次循环,二维数组则需要二次循环。

循环语句结构

Python 中的循环语句有 for 和 while。

Python 循环语句的控制结构图如下所示。

循环语句,是一个自动执行的过程,所以需要加入控制判断条件,作为结束循环语句的出口。如果没有控制条件,或者是控制条件始终没有达到的话,则会对所有数据都全部循环一遍。

while 循环

Python 中 while 语句的一般形式如下所示:


while 判断条件(condition):

执行语句(statements)……


while 语句的执行流程,如下图所示

这里要注意,while 语句的判断条件,是放在开始,也就是说,进入循环的时候,先进行一次判断。

同样需要注意冒号和缩进问题。另外,在 Python 中没有 do..while 循环。

我们通过一个计算 1 到 100 的总和的例子,来说明 while 语句的实现过程。

第一部分,我们创建了循环所需的3个变量。

第二部分,循环体。

第三部分,打印输入总和。

我们也可以实现无限循环过程,在现实中,我们的操作系统,实际上底层就是一个无线循环的过程。

我们来看下图

这里,我们的条件判断语句,永远是true,所以循环体会一直执行下去,不会停止。只有通过手工干预,中断程序的执行,才能结束无限循环过程。

大家也可以使用 CTRL+C 来退出当前的无限循环,无限循环在服务器上客户端的实时请求非常有用。

while 循环使用 else 语句

如果 while 后面的条件语句为 false 时,则执行 else 的语句块。

语法格式如下:


while <expr>:

<statement(s)>

else:

<additional_statement(s)>


expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。

我们来看一个循环输出数字,并且判断大小的例子。

判断的过程,和 if 语句差不多,这里就不再赘述。

for 语句

Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。

for循环的一般格式如下:


for <variable> in <sequence>:

<statements>

else:

<statements>


执行流程,如下图所示。

我们来看一个 for 循环实例。

也可用于打印字符串中的每个字符:

整数范围值可以配合 range() 函数使用:

for...else

在 Python 中,for...else 语句用于在循环结束后执行一段代码。

语法格式如下:


for item in iterable:

# 循环主体

else:

# 循环结束后执行的代码


当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。

以下 for 实例中使用了 break 语句,break 语句用于跳出当前循环体,不会执行 else 子句:

break 和 continue 语句及循环中的 else 子句

break 语句执行流程图:

continue 语句执行流程图:

这里需要注意,break是直接结束循环,转到出口。而continue,只是转移到条件判断语句,循环继续执行。

while 语句代码执行过程:

for 语句代码执行过程:

break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

我们来看具体的例子

while 中使用 break:

while 中使用 continue:

以上就是本篇文章的所有内容。

相关推荐

阿里云国际站ECS:阿里云ECS如何提高网站的访问速度?

TG:@yunlaoda360引言:速度即体验,速度即业务在当今数字化的世界中,网站的访问速度已成为决定用户体验、用户留存乃至业务转化率的关键因素。页面加载每延迟一秒,都可能导致用户流失和收入损失。对...

高流量大并发Linux TCP性能调优_linux 高并发网络编程

其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。本文所面对的情况为...

性能测试100集(12)性能指标资源使用率

在性能测试中,资源使用率是评估系统硬件效率的关键指标,主要包括以下四类:#性能测试##性能压测策略##软件测试#1.CPU使用率定义:CPU处理任务的时间占比,计算公式为1-空闲时间/总...

Linux 服务器常见的性能调优_linux高性能服务端编程

一、Linux服务器性能调优第一步——先搞懂“看什么”很多人刚接触Linux性能调优时,总想着直接改配置,其实第一步该是“看清楚问题”。就像医生看病要先听诊,调优前得先知道服务器“哪里...

Nginx性能优化实战:手把手教你提升10倍性能!

关注△mikechen△,十余年BAT架构经验倾囊相授!Nginx是大型架构而核心,下面我重点详解Nginx性能@mikechen文章来源:mikechen.cc1.worker_processe...

高并发场景下,Spring Cloud Gateway如何抗住百万QPS?

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。高并发场景下网关作为流量的入口非常重要,下面我重点详解SpringCloudGateway如何抗住百万性能@m...

Kubernetes 高并发处理实战(可落地案例 + 源码)

目标场景:对外提供HTTPAPI的微服务在短时间内收到大量请求(例如每秒数千至数万RPS),要求系统可弹性扩容、限流降级、缓存减压、稳定运行并能自动恢复。总体思路(多层防护):边缘层:云LB...

高并发场景下,Nginx如何扛住千万级请求?

Nginx是大型架构的必备中间件,下面我重点详解Nginx如何实现高并发@mikechen文章来源:mikechen.cc事件驱动模型Nginx采用事件驱动模型,这是Nginx高并发性能的基石。传统...

Spring Boot+Vue全栈开发实战,中文版高清PDF资源

SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...

Docker-基础操作_docker基础实战教程二

一、镜像1、从仓库获取镜像搜索镜像:dockersearchimage_name搜索结果过滤:是否官方:dockersearch--filter="is-offical=true...

你有空吗?跟我一起搭个服务器好不好?

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手...

部署你自己的 SaaS_saas如何部署

部署你自己的VPNOpenVPN——功能齐全的开源VPN解决方案。(DigitalOcean教程)dockovpn.io—无状态OpenVPNdockerized服务器,不需要持久存储。...

Docker Compose_dockercompose安装

DockerCompose概述DockerCompose是一个用来定义和管理多容器应用的工具,通过一个docker-compose.yml文件,用YAML格式描述服务、网络、卷等内容,...

京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统

前言:Java的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论...

Kubernetes (k8s) 入门学习指南_k8s kubeproxy

Kubernetes(k8s)入门学习指南一、什么是Kubernetes?为什么需要它?Kubernetes(k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它...

取消回复欢迎 发表评论: