运算符和表达式
1.运算符
- 算术运算符:这些运算符用于基本的数学运算。其中包括加(+),减(-),乘(*),除(/),取模(%),幂(**)等。
- 比较运算符:这些运算符用于比较两个值。比较运算符的结果是布尔值,True 或 False。这些运算符包括等于(==),不等于(!=),大于(>),小于(<),大于或等于(>=),小于或等于(<=)等。
- 逻辑运算符:这些运算符用于处理布尔值(True 或 False)。逻辑运算符包括与(and),或(or),非(not)。
- 赋值运算符:这些运算符用于给变量赋值。其中包括等于(=),加等于(+=),减等于(-=),乘等于(*=),除等于(/=),取模等于(%=),幂等于(**=)等。
- 位运算符:这些运算符用于直接操作二进制位。其中包括位与(&),位或(|),位非(~),位异或(^),左移(<<),右移(>>)等。
- 成员测试运算符:这些运算符用于检查一个值是否是另一个集合的成员。其中包括在(in)和不在(not in)。
- 身份测试运算符:这些运算符用于检查两个值是否指向内存中的同一位置。其中包括身份等与(is)和身份不等(is not)
- 增量和减量运算符:这些运算符用于改变变量的值。其中包括加一(+=1),减一(-=1)。
2.表达式
用运算符和括号将运算对象(常量、变量、函数等)连接起来的,符Python语言语法规则的式子,称为表达式。
一、运算符
1.算术运算符
运算符 | 示例 | 功能说明 |
---|---|---|
+ | a = 5 + 3 | 加法运算符,用于将两个操作数相加 |
- | a = 5 - 3 | 减法运算符,用于将左操作数减去右操作数 |
* | a = 5 * 3 | 乘法运算符,用于将两个操作数相乘 |
/ | a = 10 / 2 | 除法运算符,用于将左操作数除以右操作数 |
// | a = 10 // 3 | 整数除法运算符,结果为商的整数部分 |
% | a = 10 % 3 | 取模运算符,返回除法的余数 |
** | a = 2 ** 3 | 幂运算符,用于计算左操作数的右操作数次幂 |
代码案例如下:
a = 5 + 3 #输出 8
a = 5 - 3 #输出 2
a = 5 * 3 #输出 15
a = 10 / 2 #输出 5
a = 10 // 3 #输出 3
a = 10 % 3 #输出 1
a = 2 ** 3 #输出 8
2.比较运算符
比较运算符用于比较两个或多个操作数的值。以下是一些主要的比较运算符及其功能:
==
:等于运算符,用于比较两个操作数是否相等。如果相等,返回True,否则返回False。!=
:不等于运算符,用于比较两个操作数是否不相等。如果不相等,返回True,否则返回False。<
:小于运算符,用于比较左操作数是否小于右操作数。如果小于,返回True,否则返回False。>
:大于运算符,用于比较左操作数是否大于右操作数。如果大于,返回True,否则返回False。<=
:小于等于运算符,用于比较左操作数是否小于或等于右操作数。如果小于或等于,返回True,否则返回False。>=
:大于等于运算符,用于比较左操作数是否大于或等于右操作数。如果大于或等于,返回True,否则返回False。
3.赋值运算符
运算符 | 示例 | 功能说明 |
---|---|---|
+= | a += 3等同于 a = a + 3 | 加等于运算符,将右操作数的值加到左操作数上,并将结果赋值给左操作数 |
-= | a -= 3等同于 a = a - 3 | 减等于运算符,将左操作数的值减到右操作数上,并将结果赋值给左操作数 |
*= | a *= 3等同于 a = a * 3 | 乘等于运算符,将右操作数的值乘以左操作数,并将结果赋值给左操作数 |
/= | a /= 3等同于 a = a / 3 | 除等于运算符,将左操作数的值除以右操作数,并将结果赋值给左操作数 |
//= | a //= 3等同于 a = a // 3 | 整数除等于运算符,将左操作数的值除以右操作数取整后赋值给左操作数 |
%= | a %= 3等同于 a = a % 3 | 模等于运算符,将左操作数的值对右操作数的值取模后赋值给左操作数 |
**= | a **= 3等同于 a = a **3 | 幂等于运算符,将左操作数的值右操作数的幂次方后赋值给左操作数 |
代码案例如下:
a += 3 #等同于 a = a + 3
a -= 3 #等同于 a = a - 3
a *= 3 #等同于 a = a * 3
a /= 3 #等同于 a = a / 3
a //= 3 #等同于 a = a // 3
a %= 3 #等同于 a = a % 3
a **= 3 #等同于 a = a ** 3
4.成员运算符
成员运算符用于检查一个值是否是另一个集合的成员,以下是主要的成员运算符及其功能:
in
:成员运算符,用于检查左操作数是否包含在右操作数中。如果左操作数在右操作数中存在,返回True,否则返回False。例如,3 in [1, 2, 3, 4]
返回True,因为3是列表[1, 2, 3, 4]
中的一个元素。not in
:非成员运算符,用于检查左操作数是否不包含在右操作数中。如果左操作数不在右操作数中,返回True,否则返回False。例如,5 not in [1, 2, 3, 4]
返回True,因为5不是列表[1, 2, 3, 4]
中的一个元素。
5.运算符优先级
在同级别的运算符中,Python不提供它们的运算规则,而是按照从左到右的顺序依次进行运算。因此,需要注意在编写代码时合理使用括号来控制运算的优先级,避免产生不必要的错误。下表列出了从最高到最低优先级的所有运算符。优先级高的运算符优先计算或处理,同级别的按从左往右的顺序计算(赋值运算符除外,它是按从右往左的顺序)
二、表达式
表达式是由操作符和操作数组成的。操作数可以是变量、常量、函数等。操作符可以是加法、减法、乘法、除法、幂等。
以下是一些常见的Python表达式:
1. 算术表达式:用于进行数学运算,包括加法、减法、乘法、除法、幂等。例如,3 + 4
表示将 3 和 4 相加,结果为 7。
2. 字符串表达式:用于将两个字符串连接起来。例如,"Hello, " + "world!"
表示将 "Hello, " 和 “world!” 连接起来,结果为 “Hello, world!”。
3. 布尔表达式:用于判断两个值是否相等。例如,a == b
表示将变量 a 和 b 的值进行比较,如果相等则结果为 True,否则为 False。
4. 逻辑表达式:用于将多个布尔表达式组合起来进行逻辑运算。例如,(a > b) and (b < c)
表示将两个条件组合起来,只有当两个条件都为 True 时结果才为 True。
5. 成员测试表达式:用于检查一个值是否是另一个集合的成员。例如,3 in [1, 2, 3, 4]
表示将 3 与列表 [1, 2, 3, 4] 中的元素进行比较,如果 3 在列表中则结果为 True,否则为 False。
6. 身份测试表达式:用于检查两个引用是否指向同一个对象。例如,a is b
表示将变量 a 和 b 的引用进行比较,如果它们指向同一个对象则结果为 True,否则为 False。
除了以上这些表达式外,Python还支持条件表达式(三元运算符)和海象运算符。条件表达式使用 if-else
语句来选择两个值中的一个进行返回。海象运算符使用冒号(:
)作为分隔符将表达式分成三个部分,第一个部分是变量名,第二个部分是表达式结果,第三个部分是赋值操作。例如,x: y = z
表示将 z 的值赋给 y,并将 y 的值赋给 x。