#python–变量、运算符与数据类型、位运算 --一些加入了自己的理解
##具体学习内容
###1.按位异或 运算符:相同为0不同为1
理解:从他的名称就可以看出,他想要的是 异,所以不同为真—1 ,相同为假—0
###2算术运算符
print(3 / 4) #0.75 可取float
print(3 // 4) # 0 取整
###3.三元运算符
x, y = 4, 5
small = x if x < y else y
print(small) # 4
理解:small= (一元)条件成立结果 if (二元)条件 else (三元)条件不成立结果
###4.其他运算法
is 、not is 与 == 区别
is、not is 比较的是两个变量的内存地址:(list,dict,tuple等) 可变变量的地址不同,str 不可变变量的地址相同
“==” 比较的是两个具体的值
###5.查看某一个类、对象 的 属性和方法
5整型也是对象
b = dir(int)
print(b)
[例子]找到一个整数的二进制表示,再返回其长度。
a = 1031
print(bin(a)) # 0b10000000111
print(a.bit_length()) # 11
###6.保留浮点型的小数点后 n 位。可以用 decimal 包里的 Decimal 对象和 getcontext() 方法来实现。
import decimal
from decimal import Decimal
decimal.getcontext().prec = 4
c = 1 / Decimal(3)
d = Decimal(1) / 3
e = Decimal(1) / 3
print(c)
print(d)
print(e)
0.3333
0.3333
0.3333
7.bool(X)
理解:
变量x非空 即 true;
数值类型 0 0.0 为空
容器类型 里面没元素就是空的 null
###8.如果要判断两个类型是否相同推荐使用 isinstance()
##学习问题
案例:一元运算符优于二元运算符。例如3 ** -2等价于3 ** (-2)
,但是为啥下面的不相等
print((-3) ** 2) #9
print(-3 ** 2) # -9
##解决方法记录
与小组成员沟通后,原因是因为:
指数运算符 的优先级别高于一元 运算符的,所以 如果没有括号 是先算平方的,然后再加 负号。