python运算符与二进制

# 算术运算符 + - * /  % ** //
a = 10
b = 20
# print(a + b)
# print( a - b )
# print( a * b)
# print( a / b)
# print(2 ** 3)
# print( 9 % 2 )
# print( 9 // 2 )


# 字符串运算
'''
1. 字符串与数字不能直接参与运算
2. 字符串和字符串使用 + 结果是字符串的拼接
3. 字符串如果和数字 使用 * 那么就是重复前面的字符串
'''
# print('1'+2) # X
# print('1'+'2') # '12'
# print('1'*5) # '11111'

# 关于字符串的拼接
l = 'love'
# i = 'i '+l+' you'
# i = f'i {l} you'
# i = 'i {} you'.format(l)
# i = 'i {l} you'.format(l=l)
# print(i)

# 赋值运算 与 比较运算 和  逻辑运算

# 赋值运算
a = 10
a += 20  # a = a+20
a -= 30
# print(a)

# 比较运算
a = 10
b = 20
# print(a == b)
# print(a != b)
# print(a > b)
# print(a < b)
# print(a >= b)
# print(a <= b)


# 逻辑运算 and  or  not


# and 与 必须都为真,一假则假
# print(True and True)  # True
# print(True and False)  # False
# print(False and True)  # False
# print(False and False) # False
# print(20 and 30) # 30
# print(40 and 30) # 30
# print(40 and 0) # 0
# print(0 and 30) # 0


# # or 或 有真则真,全假则假
# print(True or True) # True
# print(True or False) # True
# print(False or True) # True
# print(False or False) # False
# print(10 or 20) # 10
# print(20 or 10) # 20
# print(0 or 20)  # 20
# print(30 or 0)  # 30


# not 非  取反,真变假,假变真
# print(True) # True
# print(not True) # False
# print(False) # False
# print(not False) # True
#  二进制 与 位运算

# 十进制数 转为 二进制数
a = 125
'''
125 // 2  商 62  余 1
62 // 2  商 31  余 0
32 // 2  商 15  余 1
15 // 2  商 7  余 1
7 // 2  商 3  余 1
3 // 2  商 1  余 1
1 // 2  商 0  余 1
按照计算的结果,把余数从低位到高位依此排列
1 1 1 1 1 0 1
'''
# bin() 可以转为 二进制数
# print(bin(125)) # 0b1111101

# 二进制 转 为 十进制
# 按权展开求和
n = 0b1111101
'''
  1111101
1 ==> 1*2**6 ==> 64
1 ==> 1*2**5 ==> 32
1 ==> 1*2**4 ==> 16
1 ==> 1*2**3 ==> 8
1 ==> 1*2**2 ==> 4
0 ==> 0*2**1 ==> 0
1 ==> 1*2**0 ==> 1
'''
# print(64+32+16+8+4+0+1)
# int()转为十进制
# print(int(0b1111101))

# 作业  把十进制的数 转为 二进制

# & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
a = 60
b = 13
# print(bin(a),bin(b))
# print(a&b)
'''
111100
001101

001100
1 1*2**3
1 1*2**2
0 0*2**1
0 0*2**0

12
'''

# | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1'''
111100
001101

111101
'''
# print(int(0b111101))
# print(a|b)

#  ^ 按位异或运算符:当两对应的二进位相异时,结果为1
'''
111100
001101

110001
'''
# print(int(0b110001))
# print(a^b)

# 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0print(a << 2)
'''
a
0011 1100
1111 0000


0011 1100
0000 1111
'''
print(a >> 2)
# print(int(0b1111))
# 其它运算符


# in  not in  检测成员是否存在
s = 'iloveyoiutosimida'
# s = ['love','io','you']
# s = ('i','love','you')
# s = {'i','love','you'}
# s = {1:'i',2:'love',3:'you'} # 如果是字典类型 只能检测 键
# print(2 in s) # 检查 love 字符串 是否存在与 s变量中
# print('loves' not in s) # 检查 love 字符串 是否 不存在 与 s变量中


# id() 变量的 id属性获取,函数用于获取对象内存地址
a = 10
b = 10

# is is not 检测两个变量是否引用了同一个对象

#is 是判断两个标识符是不是引用自一个对象
print(id(a),id(b))
print(a is b)

# is not 是判断两个标识符是不是引用自不同对象
print(a is not b)


# Python运算符优先级
a = 10 and (30 and 0) or 20 and 15 or 35

print(a)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值