包含:
| 算术运算符:+,-,*,/,//,%,** |
| 比较运算符:==,!=,>,<,>=,<= |
| 逻辑运算符:and,or,not |
| 位运算符:&,|,^,~,<<,>> |
| 赋值运算符:=,+=,-=,*=,/=,//=,%=,**=,&=,|=,^=,<<=,>>= |
| 身份运算符:is,is not |
| 成员运算符:in,not in |
| 条件运算符(三元运算符):expr1 if condition else expr2 |
| 切片运算符、格式化字符串运算符等非基本运算符 |
(1)算术运算符
算术运算符是一组用于数学运算的运算符。在 Python 中,常见的算术运算符包括:

加法运算符(+)还可以用于字符串的拼接,乘法运算符(*)可以用于字符串或列表等序列类型的重复
/ 表示浮点数除法,// 表示整数除法。/ 的结果会是一个浮点数,即使两个操作数都是整数;而 // 的结果则会是一个整数,如果需要的话会向下取整
对于正数的除法,/ 和 // 的结果是一样的;而对于负数的除法,/ 的结果会向下取整,而 // 的结果会向上取整
python2和python3版本的/除法对整数的运算有所不同
(2)比较运算符
比较运算符用于比较两个值,并返回一个布尔值,即True或False。以下是Python中的比较运算符:

这些运算符可以应用于大多数Python数据类型,包括数字、字符串、列表、元组、集合等。需要注意的是,对于不同类型的对象,比较运算符的行为可能会有所不同,因此需要谨慎使用。例如,对于不同类型的对象,相等运算符(==)可能返回False,而不等于运算符(!=)可能返回True
只有具有可比性的对象才能进行比较运算。如果列表中的元素类型不同,则无法进行比较运算
(3)逻辑运算符:and,or,not
逻辑运算符是用于比较两个条件之间的关系的运算符。在Python中有三个逻辑运算符:
and:如果两个条件都是True,则返回True,否则返回False
or:如果两个条件中有一个是True,则返回True,否则返回False
not:如果条件是False,则返回True,否则返回False
(4)位运算符

位运算符只能用于整数类型,如果对其他类型使用位运算符会引发类型错误
对于二元运算符,参与运算的两个操作数必须具有相同的位长度。如果它们的长度不相同,则会在较短的操作数左侧补零,使它们的长度相同
按位取反运算符(~)将操作数的每一位取反,即将 0 变为 1,将 1 变为 0。但是要注意取反后的值并不是数值的补码,因为补码的表示方法与原码不同
左移运算符(<<)将操作数的二进制表示向左移动指定的位数,右侧用零填充
右移运算符(>>)将操作数的二进制表示向右移动指定的位数,左侧用符号位填充(如果原始值为正,则使用 0 填充,如果原始值为负,则使用 1 填充)
按位与运算符(&)对操作数的二进制表示进行按位与运算,仅当两个操作数的对应位都为 1 时,结果的对应位才为 1
按位或运算符(|)对操作数的二进制表示进行按位或运算,仅当两个操作数的对应位都为 0 时,结果的对应位才为 0
按位异或运算符(^)对操作数的二进制表示进行按位异或运算,仅当两个操作数的对应位不同时,结果的对应位才为 1
(5)赋值运算符
赋值运算符用于给变量赋值

其中,+=、-=、*=、/=、%=、**=、//= 等复合赋值运算符是对变量进行原地修改,效果等价于执行一次二元运算符,再用运算结果更新变量
Python中的赋值运算符是从右向左执行的。也就是说,在多个赋值语句中,最右边的表达式会先被求值并赋值给左边的变量,然后再依次向左执行
a = b = c = 1
# 一样的
c = 1
b = c
a = b
(6)身份运算符
身份运算符用于比较两个对象的内存地址是否相同,包括is和is not两个操作符。
is操作符返回True如果两个对象的内存地址相同,即它们是同一个对象;is not操作符返回True如果两个对象的内存地址不同,即它们不是同一个对象。
需要注意的是,身份运算符比较的是对象的内存地址,而不是值。所以对于一些不可变对象,如数字、字符串、元组等,由于其值不可改变,因此它们在内存中只有一份,所以它们的身份运算结果可能会出乎意料。例如,对于两个值相等的整数对象,它们的身份运算结果可能不相同,因为它们在内存中可能有不同的地址。
(7)成员运算符
成员运算符用于测试指定值是否为序列的成员,包括字符串、列表、元组、集合和字典

(8)条件运算符(三元运算符)
x if condition else y
其中 condition 是一个条件表达式,当其为真时返回 x,否则返回 y。这个运算符通常用于简单的条件赋值或返回操作,可以简化代码的书写
(9)切片运算符、格式化字符串运算符等非基本运算符
非基本运算符通常是特定模块或对象所定义的运算符,不是 Python 语言本身的运算符
成员访问运算符:用于访问对象的属性或方法,例如 . 和 [],. 用于访问对象的属性,[] 用于访问对象的元素或调用对象的方法。
其他运算符:不同模块或对象可能定义了其他的非基本运算符,例如 NumPy 模块定义了向量的点积运算符 @。
切片运算符:用于从一个序列中获取一个子序列。在Python中,切片运算符用方括号[]表示,可以使用冒号:分隔起始索引和终止索引
sequence[start:stop:step]
sequence为序列对象,如字符串、列表、元组等;
start为切片的起始索引(包含该索引处的元素),默认为0;
stop为切片的终止索引(不包含该索引处的元素),默认为序列的长度;
step为切片的步长,默认为1。
如果省略start,则从序列的第一个元素开始切片;如果省略stop,则切到序列的最后一个元素;如果省略step,则默认为1
格式化字符串:使用花括号({})作为占位符,格式为:"格式字符串".format(值或变量)。其中,格式字符串中的占位符使用大括号括起来,并可以在括号内指定变量或值的格式化方式
1634

被折叠的 条评论
为什么被折叠?



