各种运算符

算术运算符

# = 就是赋值运算符
a = 100
b = 3



# 算术运算符
# +    加
a = 100
b = 3
print(a + b)



# -    减
a = 100
b = 3
print(a - b)



# *    乘
a = 100
b = 3
print(a * b)



# /    除
a = 100
b = 3
print(a / b)



# 同时得到商和余数

print(divmod(10, 3))
a1 , b1 = divmod(10 , 3)
print(a1, b1)
print('***')


# //  取整
a = 100
b = 3
print(a // b)



# %   求余
a = 100
b = 3
print(a % b)



# **  求幂
a = 100
b = 3
print(a ** b)
c = pow(a, b)
print(c)



# 复合运算符
# +=
a = 100
b = 3
a += b # a = a + b
print(a)



# -=
a = 100
b = 3
a -= b
a = a - b
print(a)

# *=
a = 100
b = 3
a *= b
print(a)



# /=
a = 100
b = 3
a /= b
print(a)



# //=
a = 100
b = 3
a //= b
print(a)



# %=
a = 100
b = 3
a %= b
print(a)



# **=
a = 100
b = 3
a **= b
print(a)


关系运算符

# > 大于
a = 5
b = 3
print(a > b)


# >= 大于等于
a = 3
b = 5
print(b >= a)


# < 小于
a = 3
b = 5
print(b > a)




# <= 小于等于
a = 3
b = 5
print(b <= a)


# == 等于
a = 3
b = 5
print(b == a)



# != 不等于
a = 3
b = 5
print(b != a)




逻辑运算符

# 与 and 两边的表达式都为真,结果才为真。有一个假就为假。
a = 3
b = 5
c = 4
print(a < b and c < a)



# 或 or 两边的表达式有一个为真,结果就为真。
# 判断2008年是否是闰年
a = 2008
print((a % 4 == 0 and a % 100 != 0) or a % 400 == 400)


# 非 not 用于取反表达式的结果,真变假,假变真。
# 判断2008年是否不是是闰年
a = 2008
print(not((a % 4 == 0 and a % 100 != 0) or a % 400 == 400))

成员运算符

# in 判断一个值是否是另一个值的对象
list1 = [1, 2, 3, 4, 5, 6, 7]
print(9 in list1)



# not in 判断一个值是否不是另一个值的对象
list1 = [1, 2, 3, 4, 5, 6, 7]
print(9 not in list1)


d = {'name': 'dahua'}
# 对于字典,判断的是键
print('name' in d)

按位运算符

# & 按位于,对应的数据位都为1,结果的数据位才为1,否则为0
a = 0b00001010
b = 0b01010110
#   0b00000010
print('0b{:b}'.format(a & b))


# | 按位或,对应的数据位一个为1,结果的数据位就为1,否则为0
a = 0b00001010
b = 0b01010110
#   0b01011110
print('0b{:b}'.format(a | b))


# ^ 按位异或,对应的数据位不同,结果的数据位才为1,相同则为0
a = 0b00001010
b = 0b01010110
#   0b01011100
print('0b{:b}'.format(a ^ b))


# ~ 按位取反,符号位0变1, 1变0。结果加1
0b00000010#--- 2
0b10000011#--- -3

print('0b{:d}'.format(~2))


'''
<< 左移动运算符
各二进制位全部左移动若干位,由 << 右侧数字决定,高位丢弃,低位补0, 符号位不变
00000101 - -- 5
00010100 - -- 20

10000101 - -- -5
10010100 - -- -20
'''

print(5 << 2)

# >>按位右移
'''
各二进制位全部左移动若干位,由 >> 右侧数字决定,低位丢弃,高位补(正数补0 负数补1.).符号位不变
0000 0101 --- 5
0000 0001 --- 1

1000 0101 --- -5


1000 0101 --- 原码 -5   负数先求反码,再移位。
1111 1011 --- 补码
1111 1110 --- 补码右移两位,高位补1
1000 0001 --- 符号位不变,其余位取反,
1000 0010 --- 加1 -2
'''

print(5 >> 2)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值