在学习python运算符的过程中,遇到了一些不同于其它语言的运算符,记录在此。
1. 逻辑运算符not
python3的逻辑运算符包括:and, or, not。 and和or与其它语言相似, not的作用类似于shell, java中的“!”, 表示“非”。
if not(a and b):
print("变量 a 和 b 都为 false,或其中一个变量为 false")
else:
print("变量 a 和 b 都为 true")
2. 成员运算符in, not in
Python支持成员运算符,测试给定值是否为序列中的成员,比如字符串,列表或元组。
运算符 | 描述 |
---|---|
in | 在指定序列中找到给定值,返回True, 否则返回False |
not in | 在指定序列中没有找到给定值,返回True, 否则返回False |
a = 5
b = 8
list = [1, 2, 3, 4, 5];
if (a in list):
print("a 在list中")
if (b not in list):
print("b 不在list中")
Output:
a 在list中
b不在list中
3. 身份运算符is, not is
运算符 | 描述 |
---|---|
is | 两个操作符引用同一个对象返回True, 否则返回False |
is not | 两个操作符不是引用同一个对象返回True, 否则返回False |
a = 20
b = 20
if (a is b):
print("a和b 引用同一个对象")
if (a is not b):
print("a和b 引用不同的对象")
区别 | |
---|---|
is | 判断两个变量引用的对象是否为同一个 |
== | 用于判断引用变量的值是否相等 |
示例:
>>>a = [1, 2, 3]
>>>b = a
>>>b is a
True
>>>b == a
True
>>>b = a[:]
>>>b is a
False
>>>b == a
>>>True