Python新手学习基础之运算符——成员运算与身份运算
2024-10-11 01:20:25
成员运算符
Python里有成员运算符,可以判断一个元素是否在某一个序列中。比如可以判断一个字符是否属于这个字符串,可以判断某个对象是否在这个列表中等等。
Python中的成员操作符的使用语法是:
obj [not] in sequence
这个操作符返回值是True或者False。
看个代码实例吧:
身份运算符
Python支持对象本身的比较,比较的语法是:
obj1 is [not] obj2
身份运算符是用来比较2个对象是否是同一个对象,而之前比较运算符中的 == 则是用来比较2个对象的值是否相等。
这里需要讲下身份运算符是怎么判断的。
Python中的变量有3个属性:name、id、value。
name可以理解为变量名,id可以联合内存地址来理解,value就是变量的值。is运算符则是通过这个id来进行判断的,id一样就返回true,否则返回false。
比如:
a = [1, 2, 3]
b = [1, 2, 3]
print( a == b )
print( a is b )
这段代码输出的结果是true和false,因为变量a和变量b的value是一样的,所以用==运算符比较的变量的value,所以返回true。但是用is的时候,比较的是id,a和b的id不一样(可以使用id(a)来查看a的id),所以返回false。
但是并不是所有的情况都是这样的,对于小的整数,Python缓存了-5到257之间的所有整数,共262个。所以下面的代码:
a = 100
b = 100
print( a is b ) c = 500
d = 500
print( c is d )
返回结果一个是true,一个是false,false的情况和上面一样,true的结果是因为Python对小的整数做了处理,还有字符串的情况也是一样的,使用is都会返回相等。
更多学习内容,就在码芽网http://www.mayacoder.com/lesson/index
最新文章
- ssh 免密码登录
- asp.net环境变量
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境(转)
- lintcode 中等题:和大于S的最小子数组
- [转]Android读写文件
- 浅析HTTP协议的请求报文和响应报文
- 树莓派做coolpy服务器
- Elasticsearch Windows下安装及配置集群
- [matlab] 1.拟合
- js写滚动的文字
- dock容器操作命令
- stl集合算法
- JavaScript 之call , apply 和prototype 介绍
- 算法第四版 在Linux 中调用Algs4库
- Tensorflow BatchNormalization详解:3_使用tf.layers高级函数来构建带有BatchNormalization的神经网络
- svn删除
- 聚类 高维聚类 聚类评估标准 EM模型聚类
- MySQL数据库操作(DDL)
- Linux内核之进程(1)
- Codeforces Round #368 (Div. 2) A , B , C