《中小学生Python编程入门指南》3.1 运算符

第二章 Python的基本语法

3.1 运算符


什么是运算符呢?其实很简单,我们数学上学习到的加减乘除就是运算符,还有前面学习到的赋值语句“等于号”也是运算符。很多高级编程语言会将常用的运算符设计成一样,像Java、C、JavaScript等等,常用的运算符基本上一致,可以降低学习的成本。而且运算符是十分常用的,所以一般都会设计得比较简便且容易理解,以提高编写效率。下面列举Python得运算符,这些也不用特意去记,用着用着就记得,不记得就多查查,多看几遍就记得了。

1、Python的运算符分为一下几类:(分类什么的也不用去记得,无非就为了记忆或者查阅的时候方便)

算术运算符

比较(关系)运算符

赋值运算符

逻辑运算符

位运算符

成员运算符

身份运算符

以下使用例子,a = 3,  b = 4

① 算术运算符

(加减乘除我们不多介绍了,跟数学上使用差不多,但需要说明的是,不仅仅是数字,字符串也能加、乘,后面我们讲字符串我们再细说)

运算符 描述 举例
+
-
*
/
% 取余数 >>> b % a
1
** 求幂,相当于计算器的xy >>> a ** b
81
// 取整除,取较小的整数,不是四舍五入 >>> 5 // 2
2
>>> -5 // 2
-3

② 比较运算符

比较运算符是用来比较用的,比如说大于、小于之类的我们都懂,我们使用比较运算符就可以设置很多逻辑性的操作,举个例子,现在是8:30,分钟数minutes是30,我们设置闹钟,如果minutes大于等于45分的时候,给我们提醒一下,这就需要比较运算符“大于等于”。比较运算符非常常用,列表如下:

运算符 描述 举例
== 等于,比较对象是否相等 >>> a == b
False
!= 不等于,比较对象是否不相等 >>> a != b
True
> 大于,比较前一个对象是否大于后一个对象 >>> a > b
False
< 小于,比较前一个对象是否小于后一个对象 >>> a < b
True
>= 大于等于,比较前一个对象是否大于或等于后一个对象 >>> a >= b
False
<= 小于等于,比较前一个对象是否小于或等于后一个对象 >>> a <= b
True
>>> 4 <= b
True

③ 赋值运算符

我们前面知道了给变量赋值用赋值运算符是用一个等于号,假如有一个变量c = 10,那要给这个变量加1,我们可以写成c = 11。那如果我们不知道c的数值是多少,而还想给这个数值加1 的话应该怎么写?可以写成 c = c + 1,意思就是讲c的值 + 1 之后再赋值给c,我们是从右读向左的,跟我们数学上的使用习惯 1 + 1 = 2 是不一样的,这不是比较的关系。python的设计为了让 c = c + 1 之类的常用写法更加简便,设计了简化的赋值运算符 += 等等运算符,比如 c = c + 1 可以简写成 c += 1 。

运算符 描述 举例
= 赋值运算符,将等号右边的运算结果赋值给左边
+= 加法运算符,将等号左边的对象加上等号右边的运算结果,其结果赋值给等号左边
-= 减法运算符,将等号左边的对象减去等号右边的运算结果,其结果赋值给等号左边 b -= a 等效于 b = b - a
*= 乘法运算符,以减法运算符类推
/= 除法运算符,以减法运算符类推
%= 求余运算符,以减法运算符类推
**= 幂运算符,以减法运算符类推
//= 取整除运算符,以减法运算符类推
:= 海象运算符(因为看起来像海象而得名),可在表达式内部为变量赋值。Python3.8之后新增的运算符 if (n := len(a)) > 10:
    print(f"打印n的值: ({n})")
这个例子中使用了海象运算符可以比原先未使用的写法少调用了一次len()

④ 位运算符

我们如果有阅读附录一二进制相关的内容,我们就能了解什么是位的概念,也就是二进制的换算。位的计算在一些领域的使用还是蛮多的,读取文件也可以按位读取。这里不详细讲位运算,具体可以看附录一的内容,这里我们认识这些符号即可。

(按8位二进制换算,a = 3 = 0000 0011, b = 4 = 0000 0100)

运算符 描述 举例
& 按位与运算符。两个值的与运算,两个相应位置都为1,该位为1,否则为0。 a & b 换算二进制其结果为0000 0000,即为0
| 按位或运算符。两个值的或运算,相应位置有一个为1,该位为1,否则为0。 a | b 换算二进制其结果为0000 0111,即为7
^ 按位异或运算符。两个值的异或运算,相应位置不同,该位为1,否则为0。 a ^ b 换算二进制其结果为0000 0111,即为7
~ 按位取反运算符。0变成1, 1变成0。 ~a 换算二进制为 11111 1100,即为252
<< 左移运算符。该值的二进制位全部左移若干位,高位超出的丢弃,低位补0 a << 2 换算二进制为 0000 1100,即为12
>> 右移运算符。该值的二进制位全部右移若干位,低位超出的丢弃,高位补0 a >> 1 换算二进制为 0000 0001,即为1

⑤ 逻辑运算符

Python在设计逻辑运算符算是蛮有意思的,别的编程语言一般都是使用特殊字符,而Python并没有,比如用Python表示并的关系,用的是“and”,十分口语化,很多编程语言用的是“&&”,和位运算符相对应。逻辑运算符是十分常用的运算符,比如我们设计一个程序,用来筛选语数英三门功课都考90分以上的同学,如果使用条件判断语句没有使用逻辑运算符,我们就需要判断三次:

第一步,筛选“语文成绩 > 90”的同学;第二步,在这批筛选好的同学里面,再筛选“数学成绩 > 90”的同学;第三步,在这批筛选好的同学里面,再筛选“英语成绩 > 90”的同学。

但是如果使用逻辑运算符and,就只需要一步就能筛选:

筛选 “语文成绩 > 90” and “数学成绩 > 90” and “英语成绩 > 90” 的同学。

运算符 表达式 描述 举例
and x and y 与,如果x为False,x and y 返回False,否则返回y的计算值 >>> 1 > 0 and 3 <= 5
True
>>> 10 and 3
3
>>> 1 > 0 and 3
3
or x or y 或,如果x为True,返回x的值,否则返回y的计算值 >>> 1 > 0 or 3 <= 5
True
>>> 10 or 3
10
>>> 1 < 0 or 3
3
not not x 非,True变成False,False变为True >>> not 3
False
>>> not 0    # 0表示False
True
>>> not 1
False
>>> not 1 > 0
False

⑥ 成员运算符

成员运算符也是常用的运算符,表示某对象在不在某对象里面,比如“123”这个字符串,就被包含于“456123456”这个比较长的字符串里面。

(举例使用a = "123", b = "456123456", c = "789")

运算符 描述 举例
in 判断指定对象是否在另一对象里面,有则True,没有则False >>> a in b
True
>>> a in c
False
not in 判断指定对象是否不在另一对象里面,没有则True,有则False >>> c not in b
True
>>> c not in a
True
>>> c not in c
False

⑦ 身份运算符

身份运算符用来判断两个对象是不是同一个。比如说,变量a = 1,变量b = 1,数值相等,如果使用比较运算符 == ,判断结果是相等的,但是如果两个变量存储的数值在内存中分别存在两个位置,存储单元id不同,则用身份运算符对比是不同的。

运算符 描述 举例
is 判断两个对象是否引用自同一个地址空间 >>> a = [1,2]
>>> b = [1,2]
>>> a == b
True
>>> a is b
False
>>> a is not b
True
is not 判断两个对象是否不是引用自同一个地址空间

2、运算符优先级问题。Python的运算符这么多,优先级是怎样的,比如,我们在数学上使用加法和乘法混合时,都会先计算乘法,那么Python会不会也先计算乘法呢?实验结果如下:

由上面结果可知,Python是有按照我们数学上的使用习惯先计算乘法再计算加法,下面表格列举了运算符的优先级顺序,由高到低排列。

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

原文地址:https://www.cnblogs.com/sunshinesky/p/12364705.html

时间: 2024-10-10 07:31:10

《中小学生Python编程入门指南》3.1 运算符的相关文章

《中小学生Python编程入门指南》 附录一

附录一     1.我们日常使用的数字进制是十进制,也就是"逢10进1",就是我们数数,从0数到9,到了10就又变化了,又是从0开始.一样的,二进制顾名思义就是"逢2进1",从0数数,0.1.10.11.100.101...以此类推.我们可能比较常用的还有十六进制数,比如说我们在用Photoshop等图片编辑软件或者其他用到颜色编辑的工具时,时常会看到类似于"#12d54f"之类的表示方法,其实这六位数值就是对应了我们"三原色"

《中小学生Python编程入门指南》1.2 Python是什么

1.2 Python是什么     Python语言是一种计算机语言,我们可以这样理解计算机语言.我们人类和计算机语言不通,所以需要中间介质,计算机懂的,我们人类也懂的,这就是计算机语言.Python只是很多种计算机语言中的一种.如果对编程这方面有了解的话,应该还会听过C.Java.C++.PHP等等计算机语言. Python这个单词翻译成中文就是巨蟒的意思,习惯来说,对于编程语言都是没有中文名的,直接用原名.其实不一定所以编程语言都是用英文编写的,还有用中文编写的,但很少人用,比如易语言,就是

《中小学生Python编程入门指南》1.3 安装环境

1.3 安装环境 Python是一种开发语言,是需要编译这种语言的工具的,只有编译成我们电脑懂得语言,电脑才能执行我们得python语句,我们一般都称为软件开发环境(Software Development Environment,SDE),我们可能还听过IDE(集成开发环境,Integrated Development Environment),这是涉及比较专业的开发工具,有兴趣的同学可以了解,本书还是主要侧重于基础知识的普及. 我们本书演示用的操作系统是Windows 10系统,当然,如果使

《中小学生Python编程入门指南》2.1 设计开发一个计算器

第二章 设计自己的第一个Python应用 1.1 设计开发一个计算器 这一节我们来尝试实现完成一个计算器的应用.毕竟我们是初学者,不可能做得那么完美,也不是真的需要实现,只是想借这一个应用的理解,我们带入一些python的教学和其他的计算机相关知识. 我们先想想,计算器我们需要什么功能?先不想象多么只能的计算器,我们要先实现简单的会加减乘除的就可以了.那么我们就知道了,计算器是要有会加减乘除计算的功能的.那除此之外呢?我们想一下计算的流程,其实就是三个部分组成:①输入.②计算.③输出.好,那我们

《中小学生Python编程入门指南》 1.1 什么是编程

原文地址:https://www.cnblogs.com/sunshinesky/p/12297274.html

编程入门指南

前言 如今编程成为了一个越来越重要的「技能」:作为设计师,懂一些编程可能会帮你更好地理解自己的工作内容:作为创业者,技术创始人的身份则会让你的很多工作显得更容易.而作为刚想入门的新手,面对眼前海量的信息,或许根本不知道从哪里开始:入门轻松度过初级材料的学习后,发现学习越来越困难,陡峭的学习曲线又让你望而却步:你知道如何在页面上打印输出一些文本行,但是你不知道何时该进行一个真正的有用的项目:你不清楚自己还有哪些不知道的东西,你甚至搞不清下一步该学什么. 这篇文章的内容对此不仅会有一些方向性的建议,

《编程入门指南》个人实践、感受与总结

0.<编程入门指南>原文:http://zhuanlan.zhihu.com/xiao-jing-mo/19959253?_client_version=6.5.8 虽然已码过不少代码了,毕竟本科不在CS,担心自己的学习不够系统.偶然看到这篇入门指南,觉得写得很不错,对于入门而言也很系统并且并不简单. 以下是个人实践和总结,不定期更新…… 启  蒙 1 (v1.3). 完成 Codecademy 的 Python 部分. 内容简单,闯关性质让人很有动力继续做下去,大概一两个晚上就可以完成,内容

Python编程入门到实践 - 笔记(1,2章)

自学 Python 有段时间了,总是觉得自己基础不牢,想着把看完的两本基础书写个博客做个笔记啥的. 准备在重新看一遍<Python编程入门到实践>,坚持写博客笔记. Python编程入门到实践的前两章笔记,学习的内容如下: 查看当前环境中的 python 版本 python环境的搭建 变量和变量的命名 字符串的打印 修改字符串的大小写 制表符和换行符 删除空白字符 python的整数运算,计算平方,立方 使用 str() 函数 查看当前环境中的 python 版本 命令行下输入 python 

Python编程入门(一)

Python编程入门(一) ========================================================================================= 概述: ========================================================================================= 编程语言 1.脚本编程语言 ★脚本编程语言 如php,perl,python,java等为脚本编程语言,