Python教程之成员和身份运算符的用法详解

 更新时间:2022年09月21日 11:12:16   作者:海拥  
身份运算符是python用来判断的两个对象的存储单元是否相同的一种运算符号。Python的成员运算符是“是否包含运算符”,主要应用在字符串或者集合中。本文将通过示例聊聊二者的使用,需要的可以参考一下

成员运算符

Python 提供了两个成员运算符来检查或验证值的成员资格。它测试序列中的成员资格,例如字符串、列表或元组。 

in 运算符

 'in' 运算符用于检查序列中是否存在字符/子字符串/元素。如果在序列中找到指定元素,则评估为 True,否则为 False。例如,

'G' in 'GeeksforGeeks'   # 检查字符串中的“G”
True
'g' in 'GeeksforGeeks'   # 检查字符串中的“g”,因为 Python 区分大小写,返回 False
False
'Geeks' in ['Geeks', 'For','Geeks']   # 检查字符串列表中的“Geeks”
True
10 in [10000,1000,100,10]        # 检查整数列表中的 10
True
dict1={1:'Geeks',2:'For',3:'Geeks'}     # 检查字典键中的 3
3 in dict1
True
# Python 程序说明使用“in”运算符在列表中查找常见成员
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7, 8, 9]
for item in list1:
	if item in list2:
		print("overlapping")
	else:
		print("not overlapping")

输出

not overlapping
not overlapping
not overlapping
not overlapping
not overlapping

没有使用 in 运算符的相同示例:

# 说明在不使用“in”运算符的情况下在列表中查找常见成员的 Python 程序

# 定义一个接受两个列表的函数()


def overlapping(list1, list2):

	c = 0
	d = 0
	for i in list1:
		c += 1
	for i in list2:
		d += 1
	for i in range(0, c):
		for j in range(0, d):
			if(list1[i] == list2[j]):
				return 1
	return 0


list1 = [1, 2, 3, 4, 5]
list2 = [6, 7, 8, 9]
if(overlapping(list1, list2)):
	print("overlapping")
else:
	print("not overlapping")

输出

not overlapping

'not in' 运算符

如果在指定序列中没有找到变量,则评估为 true,否则评估为 false。

# Python 程序来说明 not 'in' 运算符
x = 24
y = 20
list = [10, 20, 30, 40, 50]

if (x not in list):
	print("x is NOT present in given list")
else:
	print("x is present in given list")

if (y in list):
	print("y is present in given list")
else:
	print("y is NOT present in given list")
复制代码

输出:

x is NOT present in given list
y is present in given list

身份运算符

如果两个对象实际上具有相同的数据类型并共享相同的内存位置,则使用标识运算符来比较对象。
有不同的身份运算符,例如 

'is' 运算符

如果运算符两侧的变量指向同一对象,则计算结果为 True,否则计算结果为 false。

# Python程序说明'is'恒等运算符的使用
x = 5
y = 5
print(x is y)
id(x)
id(y)

输出:

True
140704586672032
140704586672032

在给定的示例中,变量 x 和 y 都分配了值 5,并且都共享相同的内存位置,这就是返回 True 的原因。

'is not' 运算符

如果运算符两侧的变量指向不同的对象,则计算结果为 false,否则计算结果为 true。

# Python程序说明'is not'恒等运算符的使用
x = 5
if (type(x) is not int):
	print("true")
else:
	print("false")

# Prints True
x = 5.6
if (type(x) is not int):
	print("true")
else:
	print("false")

输出:

False
True

到此这篇关于Python教程之成员和身份运算符的用法详解的文章就介绍到这了,更多相关Python成员 身份运算符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现简繁体转换

    Python实现简繁体转换

    很多时候简繁体转换,掌握了简体与繁体的转换,往往能够事半功倍,本文主要介绍了Python实现简繁体转换,感兴趣的可以了解一下
    2021-06-06
  • python break和continue用法对比

    python break和continue用法对比

    在本篇文章里小编给大家整理的是一篇关于python break和continue用法对比内容,有需要的朋友们可以学习参考下。
    2021-06-06
  • python 使用poster模块进行http方式的文件传输到服务器的方法

    python 使用poster模块进行http方式的文件传输到服务器的方法

    今天小编就为大家分享一篇python 使用poster模块进行http方式的文件传输到服务器的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python自定义指标聚类实例代码

    Python自定义指标聚类实例代码

    K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一,下面这篇文章主要给大家介绍了关于Python自定义指标聚类的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • Python基于socket模块实现UDP通信功能示例

    Python基于socket模块实现UDP通信功能示例

    这篇文章主要介绍了Python基于socket模块实现UDP通信功能,结合实例形式分析了Python使用socket模块实现IPV4协议下的UDP通信客户端与服务器端相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • 基于Python实现批量读取大量nc格式文件并导出全部时间信息

    基于Python实现批量读取大量nc格式文件并导出全部时间信息

    这篇文章主要为大家详细介绍了如何基于Python语言,逐一读取大量.nc格式的多时相栅格文件并导出其中所具有的全部时间信息的方法,需要的可以参考下
    2024-01-01
  • 关于opencv读取和写入路径有汉字的处理方式

    关于opencv读取和写入路径有汉字的处理方式

    这篇文章主要介绍了关于opencv读取和写入路径有汉字的处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • python定时检测无响应进程并重启的实例代码

    python定时检测无响应进程并重启的实例代码

    这篇文章主要介绍了python定时检测无响应进程并重启的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • 详解python的变量

    详解python的变量

    这篇文章主要为大家介绍了python中的变量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python文件相关操作和方法汇总大全

    Python文件相关操作和方法汇总大全

    这篇文章主要介绍了Python文件相关操作和方法汇总大全,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08

最新评论