运算符
算数运算符
print(2**7,9/7,9//7)
# **取幂 /除法 //整除
赋值运算符
a**=c #幂赋值运算符
a//=c #取整除赋值运算符
a/=c #除法赋值运算符
a:=c #海象运算符,可在表达式内部为变量赋值
海象运算符
a="strstrstrstr"
if (n := len(a)) > 10:
print(f"List is too long ({n} elements, expected <= 10)")
#List is too long (12 elements, expected <= 10)
位运算符
& 按位与: 同1为1,反之为0
| 按位或: 一个为1则为1
^ 按位异或:当两对应二进位相异为1
~ 按位取反:对每个二进制位取反 ~x 类似于 -x-1
<< 左移动: 各二进位左移若干位,高位丢弃,低位补0
>> 右移动:各二进位全部右移若干位
a = 60#00111100
b = 13#00001101
c = 0
c = a & b #00001100
c = a | b #00111101
c = a ^ b #00110001
c = ~a #11000011
c = a << 2#11110000
c = a >> 2#00001111
逻辑运算符
and 与
or 或
not 非
a = 0;b = 2
if ( a and b ):
print ("3 - 变量 a 和 b 都为 true")
else:
print ("3 - 变量 a 和 b 有一个不为 true")
if ( a or b ):
print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("4 - 变量 a 和 b 都不为 true")
ifnot( a and b ):
print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
print ("5 - 变量 a 和 b 都为 true")
成员运算符
in 如果在指定的序列中找到值,返回True,反之返回Flase
not in 如果在指定的序列中找到值,返回Flase,反之返回True
a = 10
b = 20
list = [1, 2, 3, 4, 5 ]
if ( a in list ):
print ("1 - 变量 a 在给定的列表中 list 中")
else:
print ("1 - 变量 a 不在给定的列表中 list 中")
if ( b notin list ):
print ("2 - 变量 b 不在给定的列表中 list 中")
else:
print ("2 - 变量 b 在给定的列表中 list 中")
身份运算符
is 判断两个标识符是不是引用自一个对象,对应返回True\False
is not 反之
x is y, 类似 id(x) == id(y)
id() 函数用于获取对象的内存地址
a = 20
b = 20
if ( a is b ):
print ("1 - a 和 b 有相同的标识")
else:
print ("1 - a 和 b 没有相同的标识")
if ( id(a) == id(b) ):
print ("2 - a 和 b 有相同的标识")
else:
print ("2 - a 和 b 没有相同的标识")
# 修改变量 b 的值
b = 30
if ( a is b ):
print ("3 - a 和 b 有相同的标识")
else:
print ("3 - a 和 b 没有相同的标识")
if ( a isnot b ):
print ("4 - a 和 b 没有相同的标识")
else:
print ("4 - a 和 b 有相同的标识")
is 与 == 区别
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等
a=[1,2,3]
b=a #此时为对a的引用,del(a)会报错
print(b is a)
print(b==a)
b=a[:]
print(b is a)
print(b==a)
转载请注明:XAMPP中文组官网 » Python教程:运算符系列实例