if语句
>>通用格式
if语句一般形式如下:
if <test1>: <statements1> elif <test2>: <statements2> else: <statements3>
另外需要注意的是,Python中是没有switch/case语句的
while循环
while语句是Python语言中最通用的迭代结构,简而言之,只要顶端测试一直计算到真值,就会重复执行一个语句块。
>>一般格式
while <test>: <statements1> else: <statements2> >>break,continue,pass和循环else
break
跳出最近所在的循环(跳过整个循环语句)。
continue
跳到最近所在循环的开头处(来到循环的首行)。
pass
什么事也不做,只是空占位符语句。
循环else块
只有当前循环正常离开时才会执行(也就是没有碰到break语句)
>>一般循环格式
加入break和continue语句后,while的一般格式变为:
while <test1>: <statements1> if <test2>:break if <test3>:continue else: <statements2> >>pass
pass语句是无运算的占位符,当语法需要语句并且还没有任何实用的语句可写时,就可以使用它。
>>循环else
在while语句中加入else和C/C++中的语法不太一样,这里详细说明一下。else后面的代码只有当循环正常结束时才会执行,如果是用break跳出循环的,这部分代码就不会运行,具体看一个求质数的例子:
x = y // 2 while x > 1: if y % x == 0: print(y,'has factor',x) break x -= 1 else: print(y,'is prime')
再看一个对比的例子,没有使用else的情况:
found=False while x and not found: if (matchx[0]): print('Ni') found=True else: x=x[1:] if not found: print('not found') 使用else后的情况: while x: if (match(x[0])): print('Ni') break else: print('not found')
for循环
for循环在Python中是一个通用的序列迭代器:可以遍历任何有序的序列对象内元素。for语句可以用于字符串、列表、元组、其他内置可迭代对象。
>>一般格式
for <target> in <object>: <statements> else: <statements>
此处的else的作用和while语句中的一样。另外需要注意的是,当Python运行for循环时,会逐个将序列对象中的元素赋值给目标,然后为每个元素执行循环体。
编写循环的技巧
内置range函数:返回一系列连续增加的整数,可作为for中的索引
内置zip函数:返回并行元素的元组的列表,可用于在for中遍历数个数列
>>循环计数器:while和range
range
当range函数只有一个参数时,会返回从零算起的整数列表,但其中不包括该参数的值。如果传进两个参数,那第一个参数是上边界,第二个参数是下边界。如果传进三个参数时,第三个参数表示步进值。
range提供了一种简单的方法,重复特定次数的动作:
for i in range(5): print(i,'Pythons')
相应的C++代码则是:
int i; for(i = 0;i < 5;++i) { std::cout<<i<<"Python"; }
>>并行遍历:zip和map
zip会取得一个或多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对。
L1=[1,2,3,4] L2=[5,6,7,8] list(zip(L1,L2))
上述代码的执行结果是:
[(1,5),(2,6),(3,7),(4,8)]
当参数的长度不同时,zip会以最短序列的长度为准来截断所得到的元组。
使用zip构造字典:
keys=['spam','eggs','totast'] values=[1,2,5] D = dict(zip(keys,values))
>>产生偏移和元素:enumerate
enumerate函数一个比较新的内置函数,它能同时返回元素值和偏移值:
s='spam' for (offset,item) in enumerate(s): print(item,'appears at offset',offset)

文章讨论了由于语法歧义而导致的Python中元组理解的不可能。建议使用tuple()与发电机表达式使用tuple()有效地创建元组。(159个字符)

本文解释了Python中的模块和包装,它们的差异和用法。模块是单个文件,而软件包是带有__init__.py文件的目录,在层次上组织相关模块。

文章讨论了Python中的Docstrings,其用法和收益。主要问题:Docstrings对于代码文档和可访问性的重要性。

本文讨论了Python中的“ Pass”语句,该语句是函数和类等代码结构中用作占位符的空操作,允许在没有语法错误的情况下实现将来实现。

文章在Python中讨论 /和//运营商: / for for True Division,//用于地板部门。主要问题是了解它们的差异和用例。Character数量:158


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

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

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

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!