清波
首先 in 在Python 中是操作符,具体来说是 成员操作符。就是对于序列(字符串,元组,列表)或集合(set)或映射(字典)这些数据类型 做 成员判断,自然成员判断的返回是 在其中和不在其中,用Python 的说法就是 True , False ,也就是说 xx in xxx 是可以用在 诸如: if xx in xxx, while xx in xxx 等等典型的需要判断的情况(不止如此,还有更多)。代码如下:a = 1
b = (1,2,3)
c = [1,2,3]
d = {1:"a",2:"b",c:"3"}
e = {1,2,3}
f = "123"
if a in b:
do something
.
.
.
if a in f:
do something #完全 do 不了,因为不在其中。。。作为成员操作符 跟另外一个关键字 not 配合,组成不能再优雅的 非成员判断: 不在其中。这对第一次接触这类语法的人,尤其是有其他语言基础的人,有很大的价值观冲击(我就是)。。。代码如下:if a not in f;
do something然后,更大冲击要来了, JS 在上个版本中也引入了类似的语法。 for xx in xxx: do something with xx or not。这是对 关键字 in的重载,在这里解释下 重载,代码如下:print 1+2
3
print "1"+"2"
"13"如上,就是对 加号 + 的重载(对于不同的数据类型,加号表现出不同的行为),严格来说,for 循环中的 in 的重用算不算重载,我也说不清楚。姑且算吧。 代码如下:for i in a:
print i # do something with i
for i in a:
print "%" # do noting with i基本就这些吧。