python 循环解惑

2024-04-22 14:08
文章标签 python 循环 解惑

本文主要是介绍python 循环解惑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要:大多数人从C/C++系列语言转移到python语言的过程中,会在循环方式上长期存在很大的质疑,毕竟这二者的循环类别有很大的不同。书写循环的时候,很可能会疑问,什么对象可以拿来循环,什么对象不可循环?本文主要探讨python中的循环,并对比和C语言中循环的不同。


1.C和python循环的不同

大多数人从C/C++系列语言转移到python语言的过程中,会在循环方式上长期存在很大的质疑,毕竟这二者的循环类别有很大的不同。
在C语言中,我们这样书写循环:
for(i=0;i<10;i++){sum+=i;
}

在python中,我们这样写:
for i in range(10):sum+=i;
是不是很不习惯?如果需要按照2递增呢?
C语言:
for(i=0;i<10;i+=2){sum+=i;
}
python:
for i in range(0,10,2):sum+=i
Note:C语言中,我们用的是增量的方式,循环有三要素:初始值、增量、循环边界;python中,循环仅仅需要一个——可迭代类型。

2.迭代器和iter()函数

python的迭代无缝支持序列对象,还允许迭代非序列对象但表现出序列行为的对象——字典的key、文件的行等等。
从根本上说,迭代器就是一个有next方法的对象,而不是通过索引来计数。当next都获取完毕的时候,引发StopIteration异常,不表示错误发生,而表示调用完毕。
> mytuple=(12, 'xyz',34)
> i=iter(mytuple)
> i.next()
12
> i.next()
'xyz'
> i.ntext()
Traceback (most recent call last):File "<stdin>", line 1, in <module>AttributeError: 'tupleiterator' object has no attribute 'ntext'


可见,迭代器内部有一个隐形的不可见的指针,指向next的下一个元素。任何for或者while循环实际上是通过迭代类型来实现的。

上文中,我们观看了序列类型用作迭代器的情况,下面,我们看看另外两种数据类型用作迭代器的情况:

2.1字典
字典的迭代器会遍历它的key,for eachkey in mydic.keys() 可以缩写:for eachekey in mydic.

2.2文件
文件对象生成器会自动调用readline方法

这篇关于python 循环解惑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/925993

相关文章

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Python实现高效地读写大型文件

《Python实现高效地读写大型文件》Python如何读写的是大型文件,有没有什么方法来提高效率呢,这篇文章就来和大家聊聊如何在Python中高效地读写大型文件,需要的可以了解下... 目录一、逐行读取大型文件二、分块读取大型文件三、使用 mmap 模块进行内存映射文件操作(适用于大文件)四、使用 pand

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

Python xmltodict实现简化XML数据处理

《Pythonxmltodict实现简化XML数据处理》Python社区为提供了xmltodict库,它专为简化XML与Python数据结构的转换而设计,本文主要来为大家介绍一下如何使用xmltod... 目录一、引言二、XMLtodict介绍设计理念适用场景三、功能参数与属性1、parse函数2、unpa

Python中使用defaultdict和Counter的方法

《Python中使用defaultdict和Counter的方法》本文深入探讨了Python中的两个强大工具——defaultdict和Counter,并详细介绍了它们的工作原理、应用场景以及在实际编... 目录引言defaultdict的深入应用什么是defaultdictdefaultdict的工作原理

Python中@classmethod和@staticmethod的区别

《Python中@classmethod和@staticmethod的区别》本文主要介绍了Python中@classmethod和@staticmethod的区别,文中通过示例代码介绍的非常详细,对大... 目录1.@classmethod2.@staticmethod3.例子1.@classmethod

Python手搓邮件发送客户端

《Python手搓邮件发送客户端》这篇文章主要为大家详细介绍了如何使用Python手搓邮件发送客户端,支持发送邮件,附件,定时发送以及个性化邮件正文,感兴趣的可以了解下... 目录1. 简介2.主要功能2.1.邮件发送功能2.2.个性签名功能2.3.定时发送功能2. 4.附件管理2.5.配置加载功能2.6.

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写