首页 > 代码库 > Python 3 条件、循环和assert、pass、del
Python 3 条件、循环和assert、pass、del
条件:
if 条件:
语句块
elif:
语句块
else:
语句块
elif 表示 else if
这居然是合法的!!!1 < x < 2!!!
[python] view plain copy print?
- >>> if 1 < x < 2:
- print(‘True‘)
- True
and 表示且
[python] view plain copy print?
- >>> if x > 1 and x < 2:
- print(‘True‘)
- True
or 表示 或
[python] view plain copy print?
- >>> x
- 2
- >>> if x == 2 or x == 3:
- print(x)
- 2
如果 b 为真则返回a,否则返回 c
a if b else c
[python] view plain copy print?
- >>> ‘True‘ if 1 < x <2 else ‘False‘
- ‘True‘
while 循环
while 条件:
语句块
不需要括号哦!
[python] view plain copy print?
- >>> x
- 1.2
- >>> while x < 2:
- print(x)
- x += 0.2
- 1.2
- 1.4
- 1.5999999999999999
- 1.7999999999999998
- 1.9999999999999998
- >>>
经常用 :
[python] view plain copy print?
- while True:
- ....
- if ... :
- break
- ....
for 循环
for something in XXXX:
语句块
即表示对XXXX中的每一个元素,执行某些语句块,XXXX可以是列表,字典,元组,迭代器等等。
[python] view plain copy print?
- >>> for x in range(0,10):
- print(x*x)
- 0
- 1
- 4
- 9
- 16
- 25
- 36
- 49
- 64
- 81
这是 for..else...语句
仅在没有 break 的情况下执行,或者说,只要你没有 break,它就会执行
[python] view plain copy print?
- >>> 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
但你应该尽可能使用列表推导式,因为它更方便,清晰
[python] view plain copy print?
- >>> [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
用来检查一个条件,如果它为真,就不做任何事。如果它为假,则会抛出AssertError并且包含错误信息。
例如:
py> x = 23 py> assert x > 0 , "x is not zero or negative" py> assert x % 2 = = 0 , "x is not an even number" Traceback (most recent call last): File "", line 1 , in AssertionError: x is not an even number |
#常用在代码开头的注释
assert
target
in
(x, y, z)
if
target
=
=
x:
run_x_code()
elif
target
=
=
y:
run_y_code()
else
:
assert
target
=
=
z
run_z_code()
pass
pass 表示这里什么都没有,不执行任何操作
如果你的程序还有未完成的函数和类等,你可以先添加一些注释,然后代码部分仅仅写一个 pass,这样程序可以运行不会报错,而后期你可以继续完善你的程序
[python] view plain copy print?
- >>> class Nothing:
- pass
- >>>
del
del 删除的只是引用和名称,并不删除值,也就是说,Python 会自动管理内存,负责内存的回收,这也是 Python 运行效率较低的一个原因吧
[python] view plain copy print?
- >>> 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。