Skip to main content

运算符

运算符(Operator,听起来很专业,其实你小学一年级就见过了,用最通俗的话说:运算符就是告诉电脑对数据“做什么动作”的符号。
  • 数据(数字、文字)是“名词”(比如:苹果、我、100 块钱)。
  • 运算符 就是“动词”(比如:加、减、对比、给)。
想象你在玩一个游戏:
  1. 算术运算符:帮你计算打怪掉了多少血(血量 - 攻击力)。
  2. 比较运算符:判断你挂了没(血量 <= 0?)。
  3. 逻辑运算符:判断能不能放必杀技(怒气满了 && 技能没冷却)。
  4. 赋值运算符:当你升级了,系统把你的等级改写(等级 = 等级 + 1)。
为了让你彻底明白,接下来我把最常用的几种运算符拆开来讲,配合生活中的栗子!

算术运算符

数学老师教的,这是最简单的,就是加减乘除,用来算数的。
  • + (加):你需要买两个苹果。1 + 1
  • - (减):你有 10 块钱,花了 3 块。10 - 3
  • * (乘):编程中乘号通常是星号 *2 * 5
  • / (除):编程中除号通常是斜杠 /10 / 2
  • % (取余):也叫“取模”,用于计算除法的余数,如7 % 3 的结果是 1

比较运算符

这个运算符是做裁判用的,这用来比较两个东西,结果只有两种:对(True) 或者 错(False)。就像是在问电脑问题。
  • > (大于)10 > 5 → 电脑回答:
  • < (小于)3 < 1 → 电脑回答:
  • >= (大于等于):想买个价是 200 元游戏,兜里有 200 够吗?我的钱 >= 200
  • == (等于):用来判断两边是否一样。你的密码 == 正确密码 → 若一样就让你登录。
  • != (不等于):感叹号代表“不”。你选的答案 != 正确答案 → 答错了。

赋值运算符

赋值运算符 = 是新手最容易晕的地方,我们把这个运算符的作用比拟为:贴标签/装箱子。 注意,这里的一个等号,不是数学里的“相等”,而是“给”的意思,如下意思是把 100 这个数字,放进 一个叫 score 的盒子里。或者说,把 score 设定为 100
score=100

逻辑运算符

生活中的决定通常不只一个条件,逻辑运算符就是把多个条件连起来,即用于做复杂的决定。
  • and (并且)两个条件都要满足才行。 例子: 找对象要求 长得帅 and 有钱。如果你只有钱但不帅,结果就是
  • or (或者)只要满足其中一个条件就行。例子: 周末去玩,去公园 or 去看电影。 只要干了其中一件事,这就过了。
  • not (非 )唱反调例子: not 下雨 (非下雨 = 没下雨)。
来个示例代码
a_age = 19
b_age = 21

if  a_age>18 and b_age>18 :
   print("两人都已成年,可以开工!")
Python 的逻辑运算符和其它大部分语言都不一样,它们不再是诸如 && ||,而是一个个单词来表示,比如 and or。这样更接近自然语言!

语句

如果在 Python 里写代码是搭积木
  1. 运算符 是积木块上的接口(凸起和凹槽)。
  2. 变量积木块本身。
  3. 语句 就是你搭好的一层积木
    • 简单的语句(赋值、打印)就是铺平的一层。
    • 复杂的语句(判断、循环)就是搭出了特殊的造型(比如门框、楼梯)。
在 编程的世界里 里,语句是电脑能够执行的最小指令单位。换句话说,你写的一行让电脑“干一件具体事”的代码,通常就是一条语句。 Python 官方语法把语句干净地切成两大类:简单语句和复合语句,没有冒号 → 简单语句;有冒号 → 复合语句! 复合语句至少两行(有头部和缩进身体),且还可以包含其它(子)语句;但简单语句是纯粹的一行且仅一种语句!
一行就能写完,不带冒号,用换行或分号结束。 例:
x = 10          # 赋值语句
print("hi")     # 表达式语句
pass            # 空语句
break           # 跳转语句
import math     # 导入语句

赋值语句

这是最常见的。就是让机器人下定义:“记住,这个东西叫什么,值是多少。代码长这样:
score = 100

表达式语句

表达式

表达式就是“任何能算出一个值”的代码片段。 它本身不依赖等号、不依赖分号,也不依赖放在哪一行; 只要运行它后,它就能吐出一个结果供你继续使用的就都是,如 1+1len()input()1>2a and b都是! 凡是能‘当值用’——能赋值、能传参、能参与运算——的就是表达式;不能当值用的,就是语句或其他结构。最简判断法:代入“等号右边”或“括号里”,把片段放到下面两个位置,不报错就说明它是表达式!
x = ...          # 等号右边
print(...)       # 函数实参
“带返回值的方法调用(实际上任意方法都有返回值 默认为None)”和“任意运算符的使用”都满足“能算出一个值”,因此它们都是表达式。

表达式语句

把表达式单独放一行(末尾回车或分号),最后没人要它的值(既不等号接,也不当参数),也就是说前面不带关键字,后面不带等号,算完就扔。
1 + 1 # 算数运算
len([1, 2, 3]) # 方法调用(返回值3)
print('hello') # 方法调用(返回值None)
x = len([1,2,3]) # 赋值语句(整行是语句,右边是表达式)
if len([1,2,3]) > 2:   # 流程控制语句(右边是表达式,但整行不是表达式语句)

流程控制语句

这部分是 Python 的精髓!

判断语句

岔路口,选择如何走下去,如下代码“如果分数大于等于 60,就喊‘及格了’;否则,喊‘不用补考’。”
if score >= 60:
   print("及格了!")
else:
   print("不用补考!")
注意: 这不仅仅是一行,这是一个代码块,但整体逻辑算一个复合语句。

循环语句

复读机功能,如下代码 “把‘我爱编程’这句话,重复喊 5 遍。”
for i in range(5):
   print("我爱编程")