2.3Python语言的运算符(Operator)和分隔符(Delimiter)

运算符(Operator)

一元运算符

运算符名称说明例子
取反对a取反运算-a

二元运算符

运算符名称说明例子
+对于数字类型是求和操作,对于序列等其它类型是连接操作a + b
求a减b的差a – b
*对于数字类型是求积操作,对于序列等其它类型是重复操作a * b
/求a除以b的商a / b
%取余求a除以b的余数a % b
**求a的b次幂a ** b
//地板除法求小于a除以b商的最大整数a // b

赋值运算符

运算符名称说明例子
+=加赋值a = a + ba += b
-=减赋值a = a – ba -= b
*=乘赋值a = a * ba *= b
/=除赋值a = a / ba /= b
%=取余赋值a = a % ba %= b
**=幂赋值a = a ** ba **= b
//=地板除法赋值a = a // ba //= b
&=位与赋值a = a & ba &= b
|=位或赋值a = a | ba |= b
^=位异或赋值a = a ^ ba ^= b
<<=左移赋值a = a << ba <<= b
>>=右移赋值a = a >> ba >>= b

比较运算符

运算符名称说明例子
==等于a 等于 b 时返回 True,否则返回 Falsea == b
!=不等于与 == 相反a != b
>大于a 大于 b 时返回 True,否则返回 Falsea > b
<小于a 小于 b 时返回 True,否则返回 Falsea < b
>=大于或等于a 大于或等于 b 时返回 True,否则返回 Falsea >= b
<=小于或等于a 小于或等于 b 时返回 True,否则返回 Falsea <= b

逻辑运算符

运算符名称说明例子
not逻辑非a 为 True 时,值为 False;a 为 False 时,值为 Truenot a
and逻辑与a、b 全为 True 时,计算结果为 True,否则为 Falsea and b
or逻辑或a、b 全为 False 时,计算结果为 False,否则为 Truea or b

位运算符

运算符名称说明例子
~位反将 x 的值按位取反~x
&位与x 与 y 位进行位与运算x & y
|位或x 与 y 位进行位或运算x | y
^位异或x 与 y 位进行位异或运算x ^ y
>>右移x 右移 a 位,高位采用符号位补位x >> a
<<左移x 左移 a 位,低位采用 0 补位x << a

字符串拼接符

Python字符串的拼接就像将数相加一样,将它们相加:

>>> "Hello, " + "world!"
'Hello, world!'
>>> x = "Hello, "
>>> y = "world!"
>>> x + y
'Hello, world!'

切片运算符

序列切片就是从序列中切分出更小的序列,切下的切片包括start位置元素,不包括end位置元素。

start是开始索引,end为结束索引,step是正整数或副整数步长,下次索引=当前索引+步长。

如果省略 start 参数,其默认值为 0。如果省略 end 参数,默认到序列的结尾。如果省略 step 参数,其默认值为 1。

[start:end:step]
>>> a = "Hello"
>>> a[1:5]
'ello'
>>> a[1:5:2]
'el'
>>> a[1:]
'ello'
>>> a[:2]
'He'

海象运算符

使用海象运算符 := 在表达式中为变量赋值,:=是一个表达式不是语句。

while chunk := fp.read(200):
   print(chunk)

标识号测试运算符

is 测试是同一对象,is not 测试不是同一个对象。

print(a is b)
print(a is not b)

成员测试运算符

in 测试在一个序列(sequence)对象中是否包含某一个元素,not in 测试在一个序列(sequence)对象中是否不包含某一个元素。

>>> a = [1, 2]
>>> print(2 in a)
True
>>> print(1 not in a)
False

分隔符(Delimiter)

(       )       [       ]       {       }
,       :       .       ;       @       =       ->
+=      -=      *=      /=      //=     %=      @=
&=      |=      ^=      >>=     <<=     **=

句点也可出现于浮点数和虚数字面值中。连续三个句点有表示一个省略符的特殊含义。以上列表的后半部分为增强赋值操作符,在词法中作为分隔符,但也起到运算作用。

以下可打印 ASCII 字符作为其他形符的组成部分时具有特殊含义,或是对词法分析器有重要意义:

'       "       #       \

以下可打印 ASCII 字符不在 Python 词法中使用。如果出现于字符串字面值和注释之外将无条件地引发错误:

$       ?       `

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/python/pythonbasic/2681.html

发表评论

登录后才能评论