成员运算符

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

最新文章

  1. ssh 免密码登录
  2. asp.net环境变量
  3. ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境(转)
  4. lintcode 中等题:和大于S的最小子数组
  5. [转]Android读写文件
  6. 浅析HTTP协议的请求报文和响应报文
  7. 树莓派做coolpy服务器
  8. Elasticsearch Windows下安装及配置集群
  9. [matlab] 1.拟合
  10. js写滚动的文字
  11. dock容器操作命令
  12. stl集合算法
  13. JavaScript 之call , apply 和prototype 介绍
  14. 算法第四版 在Linux 中调用Algs4库
  15. Tensorflow BatchNormalization详解:3_使用tf.layers高级函数来构建带有BatchNormalization的神经网络
  16. svn删除
  17. 聚类 高维聚类 聚类评估标准 EM模型聚类
  18. MySQL数据库操作(DDL)
  19. Linux内核之进程(1)
  20. Codeforces Round #368 (Div. 2) A , B , C

热门文章

  1. swipejs
  2. 使用AlertDialog创建对话框的大致步骤
  3. cursor: pin S
  4. Codeforce 221 div1
  5. js学习之道:js防止表单重复提交
  6. 再探java基础——对面向对象的理解(1)
  7. 二、Solr安装(Tomcat)
  8. 一些使用Android设备调试功能的注意事项(挖职位)
  9. 记录一下自己总结出来的,在内网环境下使用maven打包的各种方法,包括各种常用的打包方式(一)
  10. linux-ln命令