python 学习笔记(3)

'''
算术运算符
+	加 - 两个对象相加
-	减 - 得到负数或是一个数减去另一个数	a - b 输出结果 -11
*	乘 - 两个数相乘或是返回一个被重复若干次的字符串	a * b 输出结果 210
/	除 - x 除以 y	b / a 输出结果 2.1
%	取模 - 返回除法的余数	b % a 输出结果 1
**	幂 - 返回x的y次幂	a**b 为10的21次方
//	取整除 - 向下取接近除数的整数

'''
a=4
b=2
print(a+b) #6
print(a-b) #2
print(a*b) #8
print(a/b) #2
print(a%b) #0
print(a**b)#16
print(a//b)#2

"""
比较运算符
==	等于 - 比较对象是否相等	
!=	不等于 - 比较两个对象是否不相等	
>	大于 - 返回x是否大于y	
<	小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。
>=	大于等于 - 返回x是否大于等于y。	
<=	小于等于 - 返回x是否小于等于y。
"""

a=3
b=5
print(a==b) #False
print(a!=b) #True
print(a>b) #False
print(a<b) #True
print(a>=b) #False
print(a<=b) #True



'''
赋值运算符
=	简单的赋值运算符	
+=	加法赋值运算符	
-=	减法赋值运算符	
*=	乘法赋值运算符	
/=	除法赋值运算符	
%=	取模赋值运算符	
**=	幂赋值运算符	
//=	取整除赋值运算符	
:=	海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符。
'''
a = 21
b = 7
c = 0


c = a + b
print(c) #28

c += a
print(c) #28+21=49

c *= a
print(c) #49*21=1029

c /= a
print(c) #1029/21=49

c = 2
c %= a
print(c) #2%21=2

c **= a
print(c) #2**21=2097152

c //= a
print(c) #2097152//21=99864

a='2435654321334445432434534'
if (n := len(a)) > 10:
    print(n)

'''
位运算符
&	按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0	
|	按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。	
^	按位异或运算符:当两对应的二进位相异时,结果为1	
~	按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1	
<<	左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。	
>>	右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
'''
a=30 # a=‭0001 1110‬
b=40 #b=‭0010 1000‬

print(a&b) #62
'''
换算成二进制,按照上面的规则每一位相与
同为1才是1
‭0001 1110‬
‭0010 1000‬
----------
0000 1000 ->8
'''
print(a|b) #62
'''
只要有1 就为1
‭0001 1110‬
‭0010 1000‬
----------
0011 1110 ->2+4+8+16+32=62
'''
print(a^b) #54
'''
相同为0  相异为1
‭0001 1110‬
‭0010 1000‬
----------
0011 0110 -> 2+4+16+32=54
'''

print(~a) #-31

'''
取反
‭0001 1110‬
----------
1110 0001 ->
按照上面的结果,因为计算机规定,二进制最高位为符号为,1为负数,0为正数,上面这个二进制最高位为1 所以是个负数
而负数在内存中存储形式是补码的形式存储
故而要求1110 0001这个数的补码
正数的补码为正数本身
负数的补码是,最高位符号为不变为1,其余各位取反,然后在加1得到补码
1 001 1110 +1=1 001 1111=-(1+2+4+8+16)=-31
至于什么是补码,什么是反码,什么是原码   自己百度
'''


print(a>>2) #表示a 右移2位 得到7
'''
向右边移动,左边位数不够补0
‭0001 1110‬ -> 00 0111  左边补 0  ->0000 0111->1+2+4=7
'''
print(a<<2)  #120
'''
向左移,右边位数不够补0
 ‭0001 1110 ->0111 10 右边补0 -> 0111 1000 -> 8+16+32+64=120
'''

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值