目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5929.4k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(19.2k)
赞(0)

同一运算符

image-20211025114853853

同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。

运算符描述
isis是判断两个标识符是不是引用同一个对象
is notis not 是判断两个标识符是不是引用不同对象

is== 区别:

is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。

== 用于判断引用变量引用对象的值是否相等,默认调用对象的 __eq__()方法。

整数缓存问题

  1. 命令行模式下,Python仅仅对比较小的整数对象进行缓存(范围为[-5, 256])缓存起来C语言底层用数组实现,连续分配空间,便于查找,而并非是所有整数对象。

  2. 文件模式下,所有数字都会被缓存,范围是:[-无穷大,+无穷大])

    1. 缓存实现:[-5,256]仍然底层用数组实现;不在[-5,256]出现的数,缓存到链表中,不连续分配空间

总结

  1. is 比较两个对象的 id 值是否相等,是否指向同一个内存地址
  2. == 比较的是两个对象的内容是否相等,值是否相等
  3. is 运算符比 == 效率高,在变量和None进行比较时,应该使用 is

【操作】同一运算符测试

成员运算符

成员运算符测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符描述
in如果在指定的序列中找到值返回 True,否则返回 False
not in不在,则返回True

运算符优先级问题

如下优先级,从高到低。

运算符描述
**指数 (最高优先级)
~按位翻转
* / % //乘,除,取模和取整除
+ -加法减法
>> <<右移,左移运算符
&位 'AND'
^ |位运算符
<= < > >=比较运算符
<> == !=等于运算符
= %= /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not or and逻辑运算符

实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织。

  1. 乘除优先加减
  2. 位运算和算术运算>比较运算符>赋值运算符>逻辑运算符

基本运算符总结

运算符说明
and , or , not布尔与、布尔或、布尔非
is , is not同一性判断,判断是否为同一个对象
in , not in判断是否在指定序列中
<,<=,>,>=,!=,==比较值是否相当,可以连用
| ^ &按位或,按位异或、按位与
<<, >>移位
~按位翻转
+,-,*,/,//,%加,减,乘,浮点除、整数除、取余
**幂运算

【操作】使用python表示数学式:

img

答案: (5+10*x)/5-13*(y-1)*(a+b)/x+9*(5/x+(12+x)/y)

实时效果反馈

1. 如下代码,错误的是:

A 10 in [10,20,30] 结果是:True

B "py" in "python" 结果是:True

C 100 not in [10,20,30] 结果是:False

D "hello" is “hello" 结果是:True

答案

1=>C

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2