欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python3运算符

程序员文章站 2022-03-20 16:15:46
Python3运算符 Python语言支持以下类型的运算符: # Python3算术运算符 假设两个变量x=20 y=30,下面使用算术运算符运算 # Python3比较运算符 返回结果显示"true"和"false" 输出结果为: # Python3赋值运算符 输出结果为: # Python3按位 ......

python3运算符

python语言支持以下类型的运算符:

  算术运算符
  比较(关系)运算符
  赋值运算符
  逻辑运算符
  位运算符
  成员运算符
  身份运算符
  运算符优先级

#============python3算术运算符============
假设两个变量x=20 y=30,下面使用算术运算符运算

x = 50
y = 20

print(x + y)  #加
print(x - y)  #减
print(x * y)  #乘
print(x / y)  #除
print(x // y) #除法取整数
print(x % y)  #除法取余数

#============python3比较运算符============
返回结果显示"true"和"false"

==     判断对象是否相等
!=     比较两个对象是否不相等
>      大于
<      小于
>=     大于等于
<=     小于等于
a = 20
b = 30

print(a == b)
print(a != b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)

输出结果为:

false
true
false
true
false
true

#============python3赋值运算符============

=	简单的赋值运算符	c = a + b 将 a + b 的运算结果赋值为 c
+=	加法赋值运算符	c += a 等效于 c = c + a
-=	减法赋值运算符	c -= a 等效于 c = c - a
*=	乘法赋值运算符	c *= a 等效于 c = c * a
/=	除法赋值运算符	c /= a 等效于 c = c / a
%=	取模赋值运算符	c %= a 等效于 c = c % a
**=	幂赋值运算符	c **= a 等效于 c = c ** a
//=	取整除赋值运算符	c //= a 等效于 c = c // a
a = 20
b = 30
c = 10

c = a + b
print(c)

c += a
print(c)

c -= a
print(c)

c *= a
print(c)

c /= a
print(c)

c %= a
print(c)

c //= a
print(c)

输出结果为:

50
70
50
1000
50.0
10.0
0.0

#============python3按位运算符============
按位运算符是把数字看作二进制来进行计算的
python中的按位运算法则如下:
a = 50
b = 70

a的二进制格式就是: 0011 0010
b的二进制格式就是: 0100 0110

1、a & b = 0000 0010
按位与运算的运算符是 &,它有 2 个操作数,其运算法则是,如果两个相应位都为1,则该位的结果为1,否则为0
c = a & b
print(c)
输出结果为:
2

2、a | b = 0111 0110
按位或运算的运算符是 |,它有 2 个操作数,运算法则是,只要对应的二个二进位有一个为1时,结果位就为1
c = a | b
print(c)
输出结果为:
118

3、a ^ b = 0111 0100
按位异或运算的运算符是 ^,它有 2 个操作数,运算法则是,按位将 2 个操作数对应的二进制数一一对应,当对应位的二进制值相同(同为 0 或同为 1)时,所得结果为 0;反之,则为 1
c = a ^ b
print(c)
输出结果为:
116

4、a << 3 = 1001 0000
左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0
c = a << 3
print(c)
输出结果为:
400

5、a >> 3 = 0000 0110
右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
c = a >> 3
print(c)
输出结果为:
6

6、~a = 1100 1101
按位取反,也常称为"按位非"运算,此运算的运算符为 ~,它只有 1 个操作数,其运算法则为: 将操作数的所有二进制位 1 改为 0,0 改为 1
c = ~a
print(c)
输出结果为:
-51


#============python3逻辑运算符============
python支持逻辑运算符如下:

and
or
not

优先级: ()>not>and>or
1、and
逻辑运算符and, x and y ,如果x的值为true,and的运算不会结束,会继续看y的值,所以此时真与假取决于y的值,所以x如果为真,则返回y的值;
如果x为假,那么and运算就会结束运算过程了,因为有一个为假则and为假,所以返回x的值

2、or
逻辑运算符or, x or y 如果x为true则返回x,如果x为false返回y值; 因为如果x为true那么or运算就不需要在运算了,因为一个为真则为真,
所以返回x的值;如果x的值为假,那么or运算的结果取决于y,所以返回y的值

3、not
not 如果 x 为 true,返回 false;如果 x 为 false,它返回 true

 


#============python3成员运算符============

in	如果在指定的序列中找到值返回 true,否则返回 false
not in  如果在指定的序列中没有找到值返回 true,否则返回 false
list = ['james','b','c','d','e','f','g']
a = 'james'
z = 'wade'

print(a in list)
print(z in list)
print(a not in list)
print(z not in list)

if (a in list):
    print('变量a在list列表中')
else:
    print('变量a不在list列表中')

if (z in list):
    print('变量z在list列表中')
else:
    print('变量z不在list列表中')

if  (a not in list):
    print('变量a不在list列表中')
else:
    print('变量a在list列表中')

if  (z not in list):
    print('变量z不在list列表中')
else:
    print('变量z在list列表中')

输出结果为:

true
false
false
true
变量a在list列表中
变量z不在list列表中
变量a在list列表中
变量z不在list列表中

#============python3身份运算符============

is	is 是判断两个标识符是不是引用自一个对象,x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 true,否则返回 false
is not	is not是判断两个标识符是不是引用自不同对象,x is not y ,类似 id(a) != id(b);如果引用的不是同一个对象则返回结果 true,否则返回 false
a = 30
b = 70

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

if  (a is b):
    print('a和b有相同的标识符')
else:
    print('a和b的标识符不相同')

b = 30
if (a is not b):
    print('a和b的标识符不相同')
else:
    print('a和b有相同的标识符')

输出结果为:

false
true
a和b的标识符不相同
a和b有相同的标识符

重要: is 与 == 区别;"is"用于判断两个变量引用对象是否为同一个,"==" 用于判断引用变量的值是否相等

#============python3运算符优先级============
从最高到最低优先级的所有运算符:

python3运算符