3. python运算符

python运算符

算术运算符

‘’’
1.基本返回的数据类型与参与计算的数据类型一致
2.两个数据之间进行算术,如果数据类型不一致,则会抛出错误
‘’’

【+】:加法算术运算符
#两个数相加
a = 10
b = 20
z = a+b
print('console'.center(50,'-'))
print(z)

#两个字符相加
a = 'hello'
b = 'world'
z = a+b
print(z)

#两个列表相加
a = [1,2,3]
b = [4,5,6]
z = a+b
print(z)
---------------------console----------------------
30
helloworld
[1, 2, 3, 4, 5, 6]
【-】:减法算术运算符
#两个数相减
a = 20
b = 10
z = a-b
print('console'.center(50,'-'))
print(z)
---------------------console----------------------
10
【*】:乘法算术运算符
#两个数乘
a = 20
b = 10
z = a*b
print('console'.center(50,'-'))
print(z)
---------------------console----------------------
200
【/】:除法算术运算符
#两个相除
a = 30
b = 5.5
z = a/b
print('console'.center(50,'-'))
print(z)
---------------------console----------------------
5.454545454545454
【%】:取模算术运算符
#取模,返回两数相除的余数
a = 10
b = 2
z = a%b
print('console'.center(50,'-'))
print(z)
---------------------console----------------------
0
【//】:向下取整算术运算符
#两数相除,向下取最接近的正数
a = 32
b = 10
z = a//b
print('console'.center(50,'-'))
print(z)
---------------------console----------------------
3
【**】:幂值算术运算符
#两数相除,向下取最接近的正数
a = 2
b = 3
z = a**b
print('console'.center(50,'-'))
print(z)
---------------------console----------------------
8

比较运算符

‘’’
1.比较运算符,返回的结果基本是布尔类型(bool)
2.两个数据之间进行比较,如果数据类型不一致,则会抛出错误
‘’’

【==】:等于比较运算符
#判断两个数据是否相等

#数值类型比较,两个值相等则返回为True,反之为False
a = 10
b = 10
z = a==b
print('console'.center(50,'-'))
print(z)
#文本类型比较
a = 'hello'
b = 'hello'
z = a==b
print(z)
---------------------console----------------------
True
True
【!=】:不等于比较运算符

##判断两个数据是否不相等

#数值类型比较,两个值不相等则返回为True,反之为False

a = 10
b = 10
z = a!=b
print('console'.center(50,'-'))
print(z)
#文本类型比较
a = 'hello'
b = 'world'
z = a!=b
print(z)
---------------------console----------------------
False
True
【>】:大于比较运算符
#大于

#数据类型比较,两个数进行比较,如果前者大于后者,则返回True,反之为False
a = 10
b = 20
z = b>a
z_1 = a>b
print('console'.center(50,'-'))
print(z)
print(z_1)
---------------------console----------------------
True
False
【>=】:大于等于比较运算符
#大于等于

#数据类型比较,两个数进行比较,如果前者大于等于后者,则返回True,反之为False
a = 10
b = 20
z = b>a
print('console'.center(50,'-'))
print(z)
---------------------console----------------------
True
【<】:小于比较运算符
#小于

#数据类型比较,两个数进行比较,如果前者小于后者,则返回True,反之为False
a = 10
b = 20
z = a<b
print('console'.center(50,'-'))
print(z)
---------------------console----------------------
True
【<=】:小于等于运算符
#小于等于

#数据类型比较,两个数进行比较,如果前者小于等于后者,则返回True,反之为False
a = 10
b = 20
z = a<=b
print('console'.center(50,'-'))
print(z)
---------------------console----------------------
True

赋值运算符

【=】:基础赋值运算符
#基础赋值运算符,将右边的值赋给左边

a = 10
print('console'.center(50,'-'))
print(a)
---------------------console----------------------
10
【+=】:加法赋值运算符
#加法赋值运算符
a=10
a+=10 #等于a=a+10
print('console'.center(50,'-'))
print(a)
---------------------console----------------------
20
【-=】:减法赋值运算符
#减法赋值运算符
a=10
a-=10 #等于a=a-10
print('console'.center(50,'-'))
print(a)
---------------------console----------------------
0
【*=】:乘法赋值运算符
#乘法赋值运算符
a=10
a*=10 #等于a=a*10
print('console'.center(50,'-'))
print(a)
---------------------console----------------------
100
【*=】:除法赋值运算符
#除法赋值运算符
a=10
a/=2.5 #等于a=a/10
print('console'.center(50,'-'))
print(a)
---------------------console----------------------
4.0
【%=】:取模赋值运算符
#取模赋值运算符
a=10
a%=10 #等于a=a%10
print('console'.center(50,'-'))
print(a)
---------------------console----------------------
0
【//=】:取整除赋值运算符
#取整除赋值运算符
a=10
a//=10 #等于a=a//10
print('console'.center(50,'-'))
print(a)
---------------------console----------------------
1
【**=】:幂值赋值运算符
#幂值赋值运算符
a=2
a**=3 #等于a=a**10
print('console'.center(50,'-'))
print(a)
---------------------console----------------------
8

位运算符

二进制的计算规则概述
'''
ps:补充
二进制:计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”
1. 加法: 0+0=0,0+1=1+0=1,1+1=0(进位为1)1+1+1=1(进位为1)
2. 减法: 0-0=0,1-0=1,1-1=0,0-1=1(错位为1)
3. 乘法: 0*0=0,0*1=1*0=0,1*1=1
4. 除法: 1÷1=1 应注意0÷0=0,0÷1=0,1÷0=0 无意义
'''''
二进制转换
'''

1. 10进制转换为二进制,例如
    10 # 10%2=0 取整数为5 5%2=1 取整数位2 2%2=0 取整数位1 得出结果为0101 再进行取反1010,补充前四位:00001010
    
2.二进制转换为10进制,从右向左计算,索引为0,负数要先转换为正数形式的二进制
    表达方式为:(2**x*y)+(2**(x+1)*y)+.... #x:索引值,从0开始,y:为索引值对应的值
    例如
    a = 10# 00001010 --> 2**0 *0 + 2**1*1 + 2**2 *0 + 2**3 *1+....-->0+2+0+8=10
    
3. 二进制正数转换为二进制负数:将正数二进制先取反再加1
    例如: a = 10# 00001010 -->11110101->再加111110110--10进制为-10
    同理二进制负数转换为二进制正数,将负数二进制先取反再加1
    例如: a = -10# 11110110 -->00001001->再加100001010--10进制为10

1.python中二进制的表现格式为 0b 加二进制值。
#比如二进制 00101100 在python的表现格式就为 0b101100,

【&】:按位与运算符
#参与运算的两个值,如果两个对应的位置为1,则为1,否则为0
a = 10 #10进制数
a_1 = bin(a) #转为二进制:0b1010-》00001010
b = 3
b_1 = bin(b) #转为二进制:0b10--》00000011
z = a&b  #转为二进制:00000010--》转成10进制:2
print('console'.center(50,'-'))
print(a_1)
print(b_1)
print(int('00000010',2)) #二进制转10进制
print(z)
---------------------console----------------------
0b1010
0b11
2
2
【|】:按位或运算符
#参与运算的两个值,如果两个对应的位置只要有一个为1,则为1,否则为0
a = 10 #10进制数
a_1 = bin(a) #转为二进制:0b1010-》00001010
b = 3
b_1 = bin(b) #转为二进制:0b10--》00000011
z = a|b  #转为二进制:00001011--》转成10进制:11
print('console'.center(50,'-'))
print(a_1)
print(b_1)
print(int('00001011',2)) #二进制转10进制
print(z)
---------------------console----------------------
0b1010
0b11
11
11
【^】:按位异或运算符
#参与运算的两个值,如果两个对应的位置数值不同的时候,则为1,否则为0
a = 10 #10进制数
a_1 = bin(a) #转为二进制:0b1010-》00001010
b = 3
b_1 = bin(b) #转为二进制:0b10--》00000011
z = a^b  #转为二进制:00001001--》转成10进制:9
print('console'.center(50,'-'))
print(a_1)
print(b_1)
print(int('00001001',2)) #二进制转10进制
print(z)
---------------------console----------------------
0b1010
0b11
9
9
【~】:按位取反运算符
#参与运算的值,根据对应的位置取反,如果为1则变为0,如果为0则变为1
a = 10 #10进制数
a_1 = bin(a) #转为二进制:0b1010-》00001010
z = ~a  #转为二进制:11110101--》转成10进制:-11
print('console'.center(50,'-'))
print(a_1)
print(int('-00001011',2)) #二进制转10进制
print(z)
---------------------console----------------------
0b1010
-11
-11
【<<】:左移位运算符
#参与运算的值,根据对应的二进制位向左移动若干位
a = 10 #10进制数
a_1 = bin(a) #转为二进制:0b1010-》00001010
z = a<<3  #转为二进制:01010000--》转成10进制:80
print('console'.center(50,'-'))
print(a_1)
print(int('01010000',2)) #二进制转10进制
print(z)
---------------------console----------------------
0b1010
80
80
【>>】:右移位运算符
#参与运算的值,根据对应的二进制位向右移动若干位
a = 10 #10进制数
a_1 = bin(a) #转为二进制:0b1010-》00001010
z = a>>3  #转为二进制:00000001--》转成10进制:1
print('console'.center(50,'-'))
print(a_1)
print(int('00000001',2)) #二进制转10进制
print(z)
---------------------console----------------------
0b1010
1
1

逻辑运算符

【and】:两者都满足的情况
#两边的值,如果x and y  x为False则返回x,否则返回y的值
a = False
b = 5
c = 10
print('console'.center(50,'-'))

print(a and b)
print( b and c)
---------------------console----------------------
False
10
【or】:两者其中一个满足的情况
#两边的值,如果x or y  x为True则返回x,否则返回y的值
a = True
b = 5
c = 10
print('console'.center(50,'-'))
print(a or b)
print( b or c)
---------------------console----------------------
True
5
【not】:取值相反
#对应的值,如果not x ,x为True则返回False,如果x为False则返回True,返回布尔类型
a = False
b = True
c = 10
print('console'.center(50,'-'))
print(not a)
print(not b)
print(not c)
---------------------console----------------------
True
False
False

成员运算符

【in】 : 指定序列找到对应的值
#在指定的序列找到对应的值,则返回为True,否则为False,运算符返回的类型为布尔类型
a = 20
b = 1
c = [1,2,3,4,5]
print('console'.center(50,'-'))
print(a in c)
print(b in c)
---------------------console----------------------
False
True
【not in】 : 指定序列没找到对应的值
#在指定的序列没找到对应的值,True,否则为False,运算符返回的类型为布尔类型
a = 20
b = 1
c = [1,2,3,4,5]
print('console'.center(50,'-'))
print(a not in c)
print(b not in c)
---------------------console----------------------
True
False

身份运算符

【is】:判断两个标识符是否引用的同一个对象
#判断两个标示符是否引用同一个对象,如果x is y ,x,y属于同一个对象则返回为True,否则返回为False
#查看对象的地址可以使用id(x)方法进行获取
#is 和 比较运算符== 的区别是 is是判断对象的地址 ,== 是判断两边的值是否一致
a = [1,2,3,4]
b = a
c = [1,2,3,4]

print('console'.center(50,'-'))

print('a--->id'+str(id(a)))
print('a--->id'+str(id(b)))
print('c--->id'+str(id(c)))

print(b is a)
print(b == a)

print(a is c)
print(a==c)
---------------------console----------------------
a--->id2258092351944
a--->id2258092351944
c--->id2258062758408
True
True
False
True
【is not】:判断两个标识符是否引用的不同对象
#判断两个标示符是否引用同一个对象,如果x is y ,x,y不属于同一个对象则返回为True,否则返回为False
a = [1,2,3,4]
b = a
c = [1,2,3,4]

print('console'.center(50,'-'))

print('a--->id'+str(id(a)))
print('a--->id'+str(id(b)))
print('c--->id'+str(id(c)))

print(b is not a)
print(b != a)

print(a is not c)
print(a!=c)
---------------------console----------------------
a--->id2258062758920
a--->id2258062758920
c--->id2258092351944
False
False
True
False
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的蜗牛—平静从我开始

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值