python for循环

python中迭代器的原理与使用

北城余情 提交于 2020-01-25 01:14:29
python中,一个类只要实现了 __iter__() 方法,则称其为可迭代的,如果其又实现了 next() 方法(在python3中为__next__()方法,本文中不再进行说明),则可称其为迭代器。其中, __iter()__ 方法的用途是返回一个迭代器,并通过返回的迭代器的 next() 来迭代所需的容器。 迭代器的用处,主要是用来遍历一个我们需要的容器,如我们常见的for in循环,通过对于我们自己写的类添加迭代的方法,便可以使得我们的自定义的类可以像内置的列表一样,方便地通过for in来直接遍历。 以下是一个比较简单的迭代器的使用方法。 首先,假设我们有一个类 MyArray ,其中有一个字符串的列表 self.elements class MyArray ( object ) : def __init__ ( self ) : self . elements = [ "e1" , "e2" , "e3" ] self . len = len ( self . elements ) 这时,我们知道,我们是无法直接遍历 MyArray 的,只能通过访问其中的元素来实现。这时,我们可以通过一种简单的方法来使得 MyArray 变成一个可迭代的类。 class MyArray ( object ) : def __init__ ( self ) : self .

Python核心编程学习日记之条件和循环

丶灬走出姿态 提交于 2020-01-24 19:52:20
第8章: 条件和循环 if语句 格式:if expression: expr_true_suite else语句 格式:if expression: expr_true_suite else: expr_false_suite Python的缩进使用强制使代码正确对齐,避免出现“悬挂else”的问题 elif语句 可以使用序列和成员关系操作符,或者Python字典来替换大段的if_elif_else语句 条件表达式(三元操作符) 模拟三元表达式的一种方法:(C and [X] or [Y])[0]. 具体实现原理参照该篇博客。and和or的返回值是决定其值的操作数 Python2.5将语法确定为:X if C else Y while语句,for语句 for循环会访问一个可迭代对象(例如序列或是迭代器)中的所有元素,在所有条目都处理过后结束循环 迭代序列基本方法:通过序列项迭代;通过序列索引迭代;使用项和索引迭代,调用enumerate()函数 for循环访问迭代器:迭代器对象有一个next()方法,所有条目迭代完成后,迭代器引发一个StopIteration异常,for语句在内部调用next()捕获异常 range()完整语法:range(start, end, step = 1),不包括end range()简略语法:range(end)或者range(start,end)

您是否应该始终偏爱xrange()而不是range()?

前提是你 提交于 2020-01-24 14:47:42
为什么或者为什么不? #1楼 另一个区别是 xrange ()不能支持大于C ints的数字,因此,如果要使用 python 内置的大数字支持来获得范围,则必须使用range()。 Python 2.7.3 (default, Jul 13 2012, 22:29:01) [GCC 4.7.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> range(123456787676676767676676,123456787676676767676679) [123456787676676767676676L, 123456787676676767676677L, 123456787676676767676678L] >>> xrange(123456787676676767676676,123456787676676767676679) Traceback (most recent call last): File "<stdin>", line 1, in <module> OverflowError: Python int too large to convert to C long Python 3没有这个问题: Python 3.2.3 (default

python编程,从入门到实践:第六章

淺唱寂寞╮ 提交于 2020-01-24 07:41:30
python编程,从入门到实践:第六章 6-1 人 :使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键first_name 、last_name 、age 和city 。将存储在该字典中 的每项信息都打印出来。 Personal_information = { 'first_name' : 'jy' , 'last_name' : 'j' , 'city' : 'beijing' , 'age' : '24' , } print ( Personal_information ) 6-2 喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存 储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。 Favorite_num = { 'a' : '1' , 'b' : '2' , 'c' : '3' , 'd' : '4' , 'e' : '5' , } for name , num in Favorite_num . items ( ) : print ( name + " favorite num is " + num ) 6-3 词汇表 :Python字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。

Python基础语法

孤街醉人 提交于 2020-01-24 07:37:38
P ython介绍及前期准备: Python介绍: Python是一种面向对象的解释性编程语法,语法简单,易上手,且第三方库丰富,因为其能跟其他语言都能很好地融合,故又称之为胶水语言。 前期准备: 使用python编程前需要先安装好python,配置好环境变量,同时下载安装好python开发工具,这里以pycharm为例,使用前需先下载并安装好。 python3下载地址: https://www.python.org/ pycharm下载地址: https://www.jetbrains.com/pycharm/ 语言分类: 编译型语言:将写的代码编译成二进制,运行编译好的二进制文件,再运行。(翻译好的英文书) c , c++, c# 特点:运行速度快,一次编译,到处运行,编译过程比较慢。 解释型语言:运行一行,编译一行。(相当于请一个翻译) php,python ,java,ruby,go,javascript java需要编译成class文件 特点:运行速度比较慢 脚本语言:功能单一的语言,称之为脚本语言。 Shell,bat, javascript,html,vb 自动化测试的本质: 自动化测试需要用到相关编程语言,如python,java ,php,自动化语言跟系统开发语言没太大关系。其实编程都是和内存、缓存打交道,我们代码的运行耗用的就是内存或者缓存。 python用途

python之路:Day01 --- Python基础1

一笑奈何 提交于 2020-01-24 06:56:23
本节内容   1.Python介绍   2.发展史   3.变量   4.用户输入   5.表达式 if...else语句   6.表达式 for 循环   7.表达式 while 循环   8.模块初识   9.数据类型初识   10.数据运算 一、Pyhon介绍   一、编译型与解释型语言   编译型语言是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释型语言是对源程序的翻译与执行一次性完成,不生成可存储的目标代   码。这只是表象,二者背后的最大区别是:对解释型语言执行而言,程序运行时的控制权在解释器而不在用户程序;对编译型语言执行而言,运行时的  控制权在用户程序。   从字面上看,“编译”和“解释”的确都有“翻译”的意思,它们的区别则在于翻译的时机安排不大一样。打个比方: 假如你打算阅读一本外文书,而你不知  道这门外语,那么你可以找一名翻译,给他足够的时间让他从头到尾把整本书翻译好,然后把书的母语版交给你阅读;或者,你也立刻让这名翻译辅助  你阅读,让他一句一句给你翻译,如果你想往回看某个章节,他也得重新给你翻译。    两种方式,前者就相当于我们刚才所说的编译型:一次把所有的代码转换成机器语言,然后写成可执行文件;而后者就相当于我们要说的解释型。    二、静态语言与动态语言   动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说

无字天书之Python第六页(条件判断与循环)

别等时光非礼了梦想. 提交于 2020-01-24 03:56:40
内容大体 传送门 条件判断 if-else if-elif-else 分支语句嵌套 循环语句 简单while while死循环 for循环 range()函数 循环中断 break continue 全部代码 本周第三更,加快更新速度!!! 传送门 无字天书之Python第一页 无字天书之Python第二页 无字天书之Python第三页 无字天书之Python第四页 无字天书之Python第五页 条件判断 if-else if语句判断流程如下:学过Java的八成秒懂 if 语句可以通过判断条件是否成立来决定是否执行某个语句或者某段具体的业务逻辑。 上代码讲解:( input(’’)自己体会:就是个输入内容而已,注意事项input()的内容类型是str不能直接和整数进行比较 ) # if-else # 判断输入的内容是否大于1000 使用的input('') money= input('请输入你的财产:') if float(money)>=1000: print('富豪一枚') else: print('穷屌丝') 结果自行输入测试即可 if-elif-else if-elif-else流程图如下: 通过上面的案例各路神仙怕是也有一定了解。但是很显然事情不是绝对的(不一定小于1000就是穷屌丝) 这里重新在上代码: # if-elif-else money=input(

python基础

ぃ、小莉子 提交于 2020-01-23 23:29:12
变量 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用。 第一个字符必须是字母表中字母或下划线 _ 。 标识符的其他的部分由字母、数字和下划线组成。 标识符对大小写敏感。   在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。 以下关键字不能声明为变量名 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'] 变量的定义要具有可描述性。   推荐定义方式:驼峰体,下划线。 常量 常量即指不变的量,如pai 3.141592653..., 或在程序运行过程中不会改变的量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量。 多行语句   Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句。 空行  

pthon之循环——零基础学python 008

有些话、适合烂在心里 提交于 2020-01-23 21:12:39
目录: while循环 for循环 循环的两个关键语句:break 和continue 1. while循环 如果条件为真,就会一直执行循环体。如果想结束循环,可以在循环体里面设置可以递增或递减的参数,递增或递减到某个值时,当不符合条件的时候就会跳出循环。 比如让一个输出语句循环6次: i = 0 while ( i < 6 ) : print ( "这是一个句子。" ) i += 1 print ( "循环结束。" ) 运行结果: 可以看到这里设置了可以递增的参数i,每次循环过后i的值都会加1,当执行了6次打印后条件6<6为假,所以跳出循环。 2. for循环 python里面for循环的使用方法和c语言不一样,它语法是: for 目标 in 表达式: 循环体 举个例子: 目标指一个变量,可以是自己任意命名的,这里我定义的是i。这里的表达式是字符串,那么根据字符串的长度来执行对应长度的循环次数。这里长度是6所以应该打印了六次。因此我们用fo也能实现刚刚while的功能: 这个表达式的搭配有很多,其中最常用的有range()方法,range()语法: range( [start,] stop [, step = 1] ) -这个BIF有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。 -step = 1表示第三个参数的默认值是1。

如何使用Python进行循环?

心已入冬 提交于 2020-01-23 15:05:50
如何使用Python进行循环? 在Python中,你很可能遇见循环的一类问题。对于我——一个热爱编程的小学生,循环也是无处不在的。 举个例子: (LEGO education EV3) 刚才是乐高编程EV3的例子,再举一个… … 这里是Scratch里循环的例子。 由此可见,循环在编程中是非常重要的。 正式开始! 现在,我们要显示十次“你好”,你不会循环的时候应该是这样的: *十次不是“你好你好你好你好”,是每一次都有换行的! print ( '你好' ) print ( '你好' ) print ( '你好' ) print ( '你好' ) print ( '你好' ) print ( '你好' ) print ( '你好' ) print ( '你好' ) print ( '你好' ) print ( '你好' ) 我猜你肯定用了复制粘贴! 现在改要求:显示一百遍! 作者:嘿嘿嘿,复制粘贴会让你累死的,你继续用去吧! 试验读者:哼,不是教循环吗?怎么不教?我们走了! 作者:额… …等一下,马上教你们! 1.计数循环 顾名思义,就是循环几次就停止的循环,通用于广大编程语言,又名“for循环”。 举个例子: 小明吃包子,47个就饱。 for a in range ( 0 , 47 , 1 ) : print ( '包子*1' ) print ( '饱了!' ) 接下来