说明
在python中,if作为条件语句,当if后面的条件参数为真时,则执行后面的语句块,反之跳过,为了深入理解if语句,我们需要知道if语句的真假判断方式。
在写爬虫时经常会用到 if:xxx 然后再执行后面的语块,如果返回会的数据为空值列表,空字典等,则不会执行后面的语块。保留原来的变量。如scrapy中判断是否有下一页再发送请求,如果返回的数据为空值,不会执行后面 的语句发送请求。
示例
在python交互器中,经过测试发现以下条件均为假,相当于False
In [2]: if '':
...: print('ok')
...:
In [3]: if 0:
...: print('ok')
...:
In [4]: if None:
...: print('ok')
...:
In [5]: if []:
...: print('ok')
...:
In [6]: if ():
...: print('ok')
...:
In [7]: if {}:
...: print('ok')
...:
In [8]: if False:
...: print('ok')
...:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
而条件为非0或非空,则均为真,相当于True
In [9]: if 'c':
...: print('ok')
...:
ok
In [10]: if [0]:
....: print('ok')
....:
ok
In [11]: if 1:
....: print('ok')
....:
ok
In [12]: if True:
....: print('ok')
....:
ok
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
在两个值相比较的情况下,只有两值完全相等或意义正确时,才为真
In [14]: if '123'=='123':
....: print('ok')
....:
ok
In [15]: if 10>9:
....: print('ok')
....:
ok
In [16]: if 2*3==5:
....: print('ok')
....: