码迷,mamicode.com
首页 > 编程语言 > 详细

Python新手学习基础之运算符——成员运算与身份运算

时间:2016-07-31 11:24:12      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

成员运算符

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

技术分享

 

Python新手学习基础之运算符——成员运算与身份运算

标签:

原文地址:http://www.cnblogs.com/malimalihong/p/5722527.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!