Python 3语法小记(六)条件、循环和assert、pass、del
条件:
if 条件:
语句块
elif:
语句块
else:
语句块
elif 表示 else if
这居然是合法的!!!1 < x < 2!!!
>>> if 1 < x < 2:
print('True') True
and 表示且
>>> if x > 1 and x < 2:
print('True') True
or 表示 或
>>> x
2
>>> if x == 2 or x == 3:
print(x) 2
如果 b 为真则返回a,否则返回 c
a if b else c
>>> 'True' if 1 < x <2 else 'False'
'True'
while 循环
while 条件:
语句块
不需要括号哦!
>>> x
1.2
>>> while x < 2:
print(x)
x += 0.2 1.2
1.4
1.5999999999999999
1.7999999999999998
1.9999999999999998
>>>
经常用 :
while True:
....
if ... :
break
....
for 循环
for something in XXXX:
语句块
即表示对XXXX中的每一个元素,执行某些语句块,XXXX可以是列表,字典,元组,迭代器等等。
>>> for x in range(0,10):
print(x*x) 0
1
4
9
16
25
36
49
64
81
这是 for..else...语句
仅在没有 break 的情况下执行,或者说,只要你没有 break,它就会执行
>>> for n in range(99,81,-1):
root = sqrt(n)
if root == int(root):
print (n)
break
else:
print ("I didn't fint it") I didn't fint it
但你应该尽可能使用列表推导式,因为它更方便,清晰
>>> [x*x for x in range(1,5)]
[1, 4, 9, 16]
>>> [x**2 for x in range(1,10) if x % 2 ==0]
[4, 16, 36, 64]
>>> [(x,y) for x in range(1,3) for y in range(4,6)]
[(1, 4), (1, 5), (2, 4), (2, 5)]
断言 assert
后面语句为真,否则出现 AssertionError
>>> x
1.2
>>> assert x > 1
>>> assert x > 2
Traceback (most recent call last):
File "<pyshell#61>", line 1, in <module>
assert x > 2
AssertionError
>>> assert x > 2, 'x must bigger than 2'
Traceback (most recent call last):
File "<pyshell#64>", line 1, in <module>
assert x > 2, 'x must bigger than 2'
AssertionError: x must bigger than 2
>>>
pass
pass 表示这里什么都没有,不执行任何操作
如果你的程序还有未完成的函数和类等,你可以先添加一些注释,然后代码部分仅仅写一个 pass,这样程序可以运行不会报错,而后期你可以继续完善你的程序
>>> class Nothing:
pass >>>
del
del 删除的只是引用和名称,并不删除值,也就是说,Python 会自动管理内存,负责内存的回收,这也是 Python 运行效率较低的一个原因吧
>>> x = [1,2,3]
>>> y = x #x 和 y指向同一个列表
>>> del x
>>> x
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
x
NameError: name 'x' is not defined
>>> y
[1, 2, 3]
Python 3语法小记(六)条件、循环和assert、pass、del的更多相关文章
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- 【Python】学习笔记六:循环
循环是一个结构,导致一个程序要重复一定的次数 条件循环也一样,当条件变为假,循环结束 For循环 在python for循环遍历序列,如一个列表或一个字符. for循环语法: ——for iter ...
- 第一章:python基础语法| 字符编码| 条件语句...
1.编程语言介绍 编程就是写代码,让计算机帮你做事情.计算机底层是电路,只认识二进制0和1.机器语言&汇编语言语言进化历史:机器.汇编.高级.机器语言只接受二进制代码:汇编语言是采用英文缩写的 ...
- Python 3语法小记(四)字典 dictionary
字典是Python里面一种无序存储结构,存储的是键值对 key - value.关键字应该为不可变类型,如字符串.整数.包含不可变对象的元组. 字典的创建很简单,用 d = {key1 : value ...
- Python 3语法小记(五)字符串
Python 3 的源码的默认编码方式为 UTF-8 在Python 3,所有的字符串都是使用Unicode编码的字符序列. utf-8 是一种将字符编码成字节序列的方式.字节即字节,并非字符.字符在 ...
- Python 3语法小记(九) 异常 Exception
常见异常: Exception 所有异常的基类 AttributeError 特性应用或赋值失败时引发 IOError ...
- Python基础__Python语法基础、条件、循环
之前主要讨论的是Python的对象,这本节将第一次走进Python的语言之旅,将会介绍条件与循环.本节我们将会涉及到复合语句,简要介绍一下Python的语法规则是有必要的Python语法规则 1.语句 ...
- 【python基础语法】运算符&if条件语句&while循环&for循环(第5天课堂笔记)
""" if语法规则: if 条件比较语句1: # 条件成立的时候 会执行的代码 elif 条件比较语句2: # 条件2成立的时候 会执行的代码 else: # 条件不成 ...
- Python基础(6)--条件、循环
本文的主要内容是 Python 的条件和循环语句以及与它们相关的部分. 我们会深入探讨if, while, for以及与他们相搭配的else,elif,break,continue和pass语句. 本 ...
随机推荐
- #Leet Code# Convert Sorted Array to Binary Search Tree
描述:递归 代码: class Solution: # @param num, a list of integers # @return a tree node def sortedArrayToBS ...
- WPF中将四个数字字符串值(比如:"10,10,300,300")转为Rect
RectConverter rectConverter = new RectConverter(); string parseString = viewportEntry.Text; if (pars ...
- hdu 5612 Baby Ming and Matrix games
Baby Ming and Matrix games 题意: 给一个矩形,两个0~9的数字之间隔一个数学运算符(‘+’,’-‘,’*’,’/’),其中’/’表示分数除,再给一个目标的值,问是否存在从一 ...
- 修改phpmyadmin上传文件大小限制
当你想将SQL语句,导入phpmyadmin 时,发现自己的sql语句文本大小 大于 phpmyadmin的课上传的文本大小. 默认phpmyadmin上传文件大小为2M,如果想要phpmyadmin ...
- C#读取Excel几种方法的体会
(1) OleDb: 用这种方法读取Excel速度还是非常的快的,但这种方式读取数据的时候不太灵活,不过可以在 DataTable 中对数据进行一些删减修改 这种方式将Excel作为一个数据源,直接用 ...
- WordPress 前端投稿/编辑插件 DJD Site Post(支持游客和已注册用户)
转自:http://www.wpdaxue.com/front-end-publishing.html 说到前端用户投稿,倡萌之前推荐过3个不错的插件: WordPress匿名投稿插件:DX-Cont ...
- 浅析PC机串口通讯流控制
转自浅析PC机串口通讯流控制 我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解 ...
- 转:Java图形化界面设计——布局管理器之FlowLayout(流式布局)其他请参考转载出处网址
http://blog.csdn.net/liujun13579/article/details/7771191 前文讲解了JFrame.JPanel,其中已经涉及到了空布局的使用.Java虽然可以以 ...
- C#连接数据库的一些鲜为人知的方法
用过VS2008和VS2010的开发人员肯定知道在安装这个IDE的时候会自动安装了一个精简版的SQL数据库服务SqlExpress,这个数据库系统少了最重要的企业管理器,也就是说不能用它来建数据表和一 ...
- WordPress Cart66 Lite插件HTML注入漏洞
漏洞名称: WordPress Cart66 Lite插件HTML注入漏洞 CNNVD编号: CNNVD-201310-525 发布时间: 2013-10-23 更新时间: 2013-10-23 危害 ...