if 'example' in resp:
上述命令的含义是什么,in resp:
是什么?
我正在浏览公开发布的源代码,以便在我创建程序之前更好地了解python,但是我只是不明白或者能够找到“在resp:中”是什么意思。
确切的代码是
if 'example' in resp:
print 'Success'
答案 0 :(得分:1)
表达式
'example' in resp
如果变量True
包含值resp
和'example'
,则评估为False
。显然,仅当resp
属于包含多个值的类型(例如列表,集合,字符串或元组)时,此方法才有效。这相当于调用:
resp.__contains__('example')
以下是一些例子:
1 in [1, 2, 3, 4] #evaluates to true because the value 1 is found in the list [1, 2, 3, 4]
'a' in "abc" #evaluates to true because the character 'a' is found within the string "abc"
0 in {5, 6, 7} #evaluates to false because the value of 0 is not found within the set {5, 6, 7}
答案 1 :(得分:1)
运算符
in
和not in
测试集合成员资格。 x in s 如果x是集合s的成员,则求值为true,false 除此以外。 x不在s中返回s中x的否定。这个系列 成员资格测试传统上一直与序列绑定;一个东西 如果集合是序列,则是集合的成员 包含一个等于该对象的元素。但是,它有意义 许多其他对象类型,以支持成员资格测试而不是 序列。特别是字典(用于键)和设置支持 会员资格测试。对于列表和元组类型,当且仅当存在时,x中的x才为真 存在索引i,使得x == y [i]为真。
对于Unicode和字符串类型,当且仅当x是a时,y中的x才为真 y的子串。等效测试是y.find(x)!= -1。注意,x和y 不一定是同一类型;因此,'u'ab'in'abc'将返回 真正。空字符串始终被视为any的子字符串 其他字符串,所以“”在“abc”中将返回True。
答案 2 :(得分:0)
在内部,它会调用resp.__contains__('example')
。通常这会检查集合是否包含某个元素。
答案 3 :(得分:0)
in
运算符测试包含。根据{{1}}的类型,可能是几种不同的东西。
如果resp
是字符串,则会测试resp
是否为'example'
的子字符串:
resp
如果>>> 'example' in 'example4'
True
>>> 'example' in 'sample'
False
是列表,集合,元组或其他集合,则会测试resp
是否在集合中:
'example'
如果>>> 'example' in ['example', 'asdf']
True
>>> 'example' in ['example4', 'asdf']
False
是dict,则会测试resp
是否是dict中的键:
'example'
如果>>> 'example' in {'example': 'asdf'}
True
>>> 'example' in {'asdf': 'example'}
False
属于其他类型,那么resp
resp
所说的就是in
。您可以期待它是上述示例中的精神,但它可以做一些疯狂的事情,如运行Quake或下载色情,如果这是__contains__
resp
方法所说的。