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

成员运算符

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

时间: 2024-10-25 20:04:07

Python新手学习基础之运算符——成员运算与身份运算的相关文章

Python新手学习基础之运算符——比较运算符

比较运算符 比较运算符可以使用比较两个值,所有的内建类型都支持比较运算.当用运算符比较两个值时,结果是一个逻辑值,不是True,就是False. 有一点要注意的是,不同的类型的比较方式不一样,数字类型会根据数字大小和正负进行比较,而字符串会根据字符串序列值进行比较等等. 在Python中有以下比较运算符: 现在我们就用比较运算符来完成一个小任务吧: 在x和y之间填入正确的比较运算符,来输出x和y的最大值,请主动思考哦~~~ 更多学习内容,就在码芽网http://www.mayacoder.com

Python新手学习基础之运算符——算术运算符

算术运算符 之前文章在介绍变量类型的时候,其实已经用过了很多算术符,比如+.-.*././/.** 等,除此之外,还有一个符号是之前内容没提到的,就是 % ,用来返回除法余数的运算符号. 假设有变量x和y,x为10,y为3,x%y的结果就是1. 在运算符中有优先级,跟数学中的一样,所以在写的时候有些要优先运算的需要加上括号,比如:3 * (4 + 5). Python支持不同的数字类型相加,它使用数字类型强制转换的方式来解决数字类型不一致的问题,就是说它会将一个操作数转换成另一个操作数相同的数据

Python新手学习基础之运算符——赋值与逻辑运算

赋值也是一种运算符 我们在之前的章节,了解过,在Python里变量是不需要声明的,只要变量的标识符合法,就可以直接定义并赋值,而且Python也允许我们同时为多个变量赋值(包括为多个变量赋不同类型的值),例如: a = b = c = 20  #三个变量赋同样的值d, e, f = -2, 5.5, 'hello'  #三个变量赋不同类型的值 Python里的赋值运算有下面几种: 看段实例代码和运行结果,做下理解吧: 逻辑运算 程序中会经常用到逻辑运算,生活中也都是逻辑. 比如老师要你来听明天下

Python新手学习基础之初识python——与众不同2

看完了Python的缩进,现在来看看Python的标识符.引号和注释. 标识符 关于Python的标识符,其实不是与众不同,只是有一定的规则. 标识符是编程时使用的名字.在Python中,标识符有几点要素: 第一个字符必须是字母或者下划线 _ : 标识符的的其他部分必须由数字.字母.下划线组成: 标识符对字母的大小写敏感. 引号 Python的字符串通常可以用单引号 ' ' .双引号 " " .双三引号 """ """或单三引

Python新手学习基础之数据类型——字符串类型

Python中字符串被定义为引号之间的字符集合,可以用 ' (一对单引号)或 " (一对双引号)括起来,字符串也可以被 """ (一对三个双引号)或者 ''' (一对三个单引号)括起来.使用索引运算符([ ])和切片运算符([ : ])可以得到子字符串.在Python中,字符串第一个字符的索引是0,而最后一个字符的索引是-1.索引和切片会在后面的文章中进行讲解. 让我们先来创建下字符串吧!例如: str1 = 'maya'   srt2 = 'coder' 字符串也

Python新手学习基础之数据类型——数字类型

创建一组数字 Python 的有以下几种内置数字类型: int,整型,比如:1.-2.598: float,浮点型,比如:0.0.-3.5.18.55: bool,布尔型,即True和False两个关键字,但他们的值实际上还是1和0,所以他们是可以进行加减的哦: complex,复数型(复数是数学术语),用a+bj或者complex(a,b)来表达,a.b都是浮点型.比如:3.5j.5-2j. 对数字进行运算 数字运算?有同学会说这不就是加减乘除(+ - * /)嘛,当然没错啦! 但在这里要讲的

Python新手学习基础之函数-return语句与函数调用

return语句 return语句的写法是: return 表达式 return语句用于退出函数,选择性地向调用方返回一个表达式.return在不带参数的情况下,默认返回None. None是一个特殊的值,它的数据类型是NoneType.NoneType是Python的特殊类型,它只有一个值None.它不知道任何运算也没有任何内建方法,和任何其他的数据类型比较永远返回false.你可以将None复制给任何变量,但是你不能创建其他NoneType对象.实例参考: #使用return语句在add函数

Python新手学习基础之数据类型——字符串的切片截取

切片截取是Python中字符串常见的一些操作,我们会在这篇文章里详细介绍,切片截取的作用是获取子字符或子字符串. 实际上,我们要做的就是使用索引,用冒号分隔两个索引,形式为:变量[头下标:尾下标],冒号之前的数字表示开始的位置,冒号之后的数字表示结束的位置.这是一个左闭右开区间,也就是说这个字符串包含头下标,但是不包含尾下标. Python的数据有两种索引方式:最左边以0开始,依次增加:最右边的元素索引为-1,往左依次减少. Python的索引很灵活,可以根据具体情况来选择相应的索引方式. 字符

Python新手学习基础之条件语句——elif语句

elif语句 (相当于C语言的else if) 在Python中,当我们需要有更多的判断条件时,我们往往会使用另外一种语法表达,即使用elif: if 判断条件1: 执行语句1 elif 判断条件2: 执行语句2 elif 判断条件3: 执行语句3 ...... else: 执行语句n 现在我们有一个任务要完成,假设现在有一个分数,你他的等级如下: 90分及以上属于A:80分到89分属于B:70到79分属于C:60分到69分属于D: 0到59分属于E: 你需要用if/elif/else语句根据分