Python 语言支持以下类型的运算符
1. 算术运算符
+
、-
、*
、/
、%
、**
、//
**
返回x的y次幂
//
取整除 - 向下取接近商的整数(//
得到的并不一定是整数类型的数,它与分母分子的数据类型有关系)
print(7//2)
print(7.0//2)
print(7//2.0)
2. 比较(关系)运算符
>、<、>=、<=、==、!=
非常简单, 不再赘述。
3. 赋值运算符
=、+=、-=、*=、/=、%=、**=、//=、:=。
主要讲解 :=, 此运算符称之为 海象运算符。可在表达式内部为变量赋值。Python3.8 版本新增运算符。
海象运算符
::=
,python3.8中引入
。
这玩意儿是一个语法糖,我感觉用途也不大,对于不大熟悉的人来说,反倒是不友好了。所以说这玩意也不要乱用。会降低代码的可读性。
什么时候可能用到呢?
# 如果我想写判断字符长度是否大于10,如果大于10,则输出该字符串的长度。一般的, 我们都会这样写:
string = input('Please input a word:> ')
if len(string) > 10:
print(f'This length of word is {len(string)}.')
# 很明显, 上述的len(string)出现了2次。
接下来运用海象运算符来体验一下
。
string = input('Please input a word:> ')
if (n := len(string)) > 10:
print(f'This length of word is {n}.')
# 这样写的话len(string)就只出现了一次,
# 因为在len方法执行的时候就把值赋给了,
# 所以我们后面的代码就可以使用n变量。
4. 逻辑运算符
and、or、not。
等价C/C++中的 &&、||、!。
5. 位运算符
&、|、^、~、<<、>>。
6. 成员运算符
in
:如果在指定的序列中找到值返回 True,否则返回 False。
not in
:如果在指定的序列中找到值返回 True,否则返回 False。
print('a' in ['a', 'b']) # True
print('a' not in ['a', 'b']) # False
7. 身份运算符
(1) is
:is 是判断两个标识符是不是引用自一个对象。
x is y, 类似 id(x) == id(y)
, 如果引用的是同一个对象则返回 True,否则返回 False。
(2) is not
:is not 是判断两个标识符是不是引用自不同对象。
x is not y , 类似 id(x) != id(y)
。如果引用的不是同一个对象则返回结果 True,否则返回 False。
(3)
Notice:注: id() 函数用于获取对象内存地址
。
a= 10
b= 20
print(a is b) # False
print(a is not b) # True
(4)
is与==的区别
is 用于判断两个变量引用的对象
是否为同一个, == 用于判断引用变量的值
是否相等。