快捷搜索:  汽车  科技

python笔记之运算符教学(Python教程第20篇成员运算符)

python笔记之运算符教学(Python教程第20篇成员运算符)除了字符串,也可以用于检测元组、列表、集合:in通常与if语句组合使用,下面是组合示例:数据为欲检测的目标数据成员容器。可以是序列(字符串,列表或元组)、集合(set)、映射(字典)等。如果数据存在成员,返回True,否则返回False。下面是检测字符串是否是另一个字符串的一部分的应用示例:

Python中有两个成员运算符:innot in。顾名思义,正如它的英文含义“在……里面”和“不在……里面”一样,成员运算符可用来检测某个数据是否是另一个数据的成员,包括判断某个字符串是否包含另一个字符串——这是最常用到的功能。

in

in的使用格式如下:

成员 in 数据

其中成员为欲检测的数据成员。

数据为欲检测的目标数据成员容器。可以是序列(字符串,列表或元组)、集合(set)、映射(字典)等。

如果数据存在成员,返回True,否则返回False。

下面是检测字符串是否是另一个字符串的一部分的应用示例:

python笔记之运算符教学(Python教程第20篇成员运算符)(1)

in通常与if语句组合使用,下面是组合示例:

python笔记之运算符教学(Python教程第20篇成员运算符)(2)

除了字符串,也可以用于检测元组、列表、集合:

python笔记之运算符教学(Python教程第20篇成员运算符)(3)

也可用于检测字典,但字典有所不同,字典的每个成员都有键和值两种概念,in总是检测键而不是值:

python笔记之运算符教学(Python教程第20篇成员运算符)(4)

不过不能使用它判断一个类中是否具有某个属性:

python笔记之运算符教学(Python教程第20篇成员运算符)(5)

取而代之,可以使用hasattr函数:

python笔记之运算符教学(Python教程第20篇成员运算符)(6)

not in

not in是in的逆运算,其使用语法与in类似,只是结果相反,其使用格式如下:

成员 not in 数据

成员数据的含义与in中的相同。

区别在于返回值正好与in相反,当数据中不存在成员时返回True,否则返回False。

下面是一个判断range(3)中是否包含3的示例:

python笔记之运算符教学(Python教程第20篇成员运算符)(7)

需要注意的是,not in是一个独立的成员运算符,而不是not逻辑运算符与in成员运算符的组合,组合的应用形式是这样的:

not成员 in 数据

当然这样的用法也是合法的,而且其与not in的原始使用效果是等同的,因为in的运算符优先级比not要高,下面的示例证明了这点(为了防止干扰,使用列表而不是元组做为要判断的数据):

python笔记之运算符教学(Python教程第20篇成员运算符)(8)

可以看到,未加括号的not ...in与in单独加小括号的结果相同,而与not单独加括号的结果不同。(注:小括号具有最高优先级。)

连续的not in与分开的not...in的运算结果是相同的。

结语

本文的知识点较少,只有两个运算符,但是比较常用,主题也很明确,编写的过程中,想到如果合并成一起让人难以索引,所以最终决定还是单列一文。以后温习的时候也可以快速找到。

温习前文

Python教程:第19篇 逻辑运算符

Python教程:第18篇 算术运算符

Python教程:第17篇 比较运算符

猜您喜欢: