python笔记之运算符教学(Python教程第20篇成员运算符)
python笔记之运算符教学(Python教程第20篇成员运算符)除了字符串,也可以用于检测元组、列表、集合:in通常与if语句组合使用,下面是组合示例:数据为欲检测的目标数据成员容器。可以是序列(字符串,列表或元组)、集合(set)、映射(字典)等。如果数据存在成员,返回True,否则返回False。下面是检测字符串是否是另一个字符串的一部分的应用示例:
Python中有两个成员运算符:in、not in。顾名思义,正如它的英文含义“在……里面”和“不在……里面”一样,成员运算符可用来检测某个数据是否是另一个数据的成员,包括判断某个字符串是否包含另一个字符串——这是最常用到的功能。
inin的使用格式如下:
成员 in 数据
其中成员为欲检测的数据成员。
数据为欲检测的目标数据成员容器。可以是序列(字符串,列表或元组)、集合(set)、映射(字典)等。
如果数据存在成员,返回True,否则返回False。
下面是检测字符串是否是另一个字符串的一部分的应用示例:
in通常与if语句组合使用,下面是组合示例:
除了字符串,也可以用于检测元组、列表、集合:
也可用于检测字典,但字典有所不同,字典的每个成员都有键和值两种概念,in总是检测键而不是值:
不过不能使用它判断一个类中是否具有某个属性:
取而代之,可以使用hasattr函数:
not in是in的逆运算,其使用语法与in类似,只是结果相反,其使用格式如下:
成员 not in 数据
成员与数据的含义与in中的相同。
区别在于返回值正好与in相反,当数据中不存在成员时返回True,否则返回False。
下面是一个判断range(3)中是否包含3的示例:
需要注意的是,not in是一个独立的成员运算符,而不是not逻辑运算符与in成员运算符的组合,组合的应用形式是这样的:
not成员 in 数据
当然这样的用法也是合法的,而且其与not in的原始使用效果是等同的,因为in的运算符优先级比not要高,下面的示例证明了这点(为了防止干扰,使用列表而不是元组做为要判断的数据):
可以看到,未加括号的not ...in与in单独加小括号的结果相同,而与not单独加括号的结果不同。(注:小括号具有最高优先级。)
连续的not in与分开的not...in的运算结果是相同的。
结语本文的知识点较少,只有两个运算符,但是比较常用,主题也很明确,编写的过程中,想到如果合并成一起让人难以索引,所以最终决定还是单列一文。以后温习的时候也可以快速找到。
温习前文Python教程:第19篇 逻辑运算符
Python教程:第18篇 算术运算符
Python教程:第17篇 比较运算符