Python打卡第一天

写在前面:

deadline果然是第一生产力,训练营碰上组会+结课报告+党日活动,booooom

回到正题,今天的学习内容是:变量、运算符与数据类型+位运算

需要注意的点:

1.算术运算符

3 // 4 = 0
#整除
3 % 4 = 3
#取余

2.is, is not和==, !=

a = ["hello"]
b = ["hello"]
print(a is b, a == b)  # False True
print(a is not b, a != b)  # True False
  • is, is not 对比的是两个变量的内存地址
  • ==, != 对比的是两个变量的值
  • 比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
  • 对比的两个变量,指向的是地址可变的类型(list,dict等),则两者是有区别的。

3.运算符的优先级

  • 一元运算符优于二元运算符。例如3 ** -2等价于3 ** (-2)
  • 先算术运算,后移位运算,最后位运算。例如 1 << 3 + 2 & 7等价于 (1 << (3 + 2)) & 7
  • 逻辑运算最后结合。例如3 < 4 and 4 < 5等价于(3 < 4) and (4 < 5)

4.python中各种数据类型之间的相互转化:目标类型(变量)

int(x [,base ])         将x转换为一个整数       
str(x )                 将对象 x 转换为字符串    
repr(x )                将对象 x 转换为表达式字符串    
eval(str )              用来计算在字符串中的有效Python表达式,并返回一个对象    
tuple(s )               将序列 s 转换为一个元组    
list(s )                将序列 s 转换为一个列表    
chr(x )                 将一个整数转换为一个字符    
unichr(x )              将一个整数转换为Unicode字符    
ord(x )                 将一个字符转换为它的整数值    
hex(x )                 将一个整数转换为一个十六进制字符串    
oct(x )                 将一个整数转换为一个八进制字符串    

5.重头!!!位运算(基于二进制)

按位与(&):两位同时为“1”,结果才为“1”,否则为0;

特殊用途:

扫描二维码关注公众号,回复: 11724097 查看本文章
  • 清零:与一个各位都为零的数值相与,结果为零。

  • 取一个数的指定位:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”

设X=10101110,取X的低4位,用 X & 0000 1111 = 0000 1110 

按位或(|):只要有一个为1,其值为1。

特殊用途:

对一个数据的某些位,置1:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零。此数与X相或

将X=10100000的低4位置1 , X | 0000 1111 = 1010 1111

异或(^):两个相应位值不同,则结果为1,否则为0。与0相异或,保留原值 ,与1相异或,翻转 。

取反(~):对一个二进制数按位取反,0变1,1变0

特殊用途:一个数的最低位为零,可以表示为:a&~1。(取反运算符的优先级比算术运算符、关系运算符、逻辑运算符和其他运算符都高)

左移(<<):将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。

若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。

右移(>>):将一个运算对象的各二进制位全部右移若干位(右边的二进制位丢弃,正数左补0,负数左补1)

将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。

每右移一位,相当于该数除以2。

复合赋值运算符:位运算符与赋值运算符结合,组成新的复合赋值运算符,它们是:

&= 例:a &= b 相当于a=a & b

|= 例:a |= b 相当于a=a | b

>>= 例:a >>= b 相当于a=a >> b

<<= 例:a <<= b 相当于a=a << b

^= 例:a ^= b 相当于a=a ^ b

运算规则:和前面讲的复合赋值运算符的运算规则相似。

如果两个不同长度的数据进行位运算时,系统会将二者按右端对齐,然后进行位运算。
Too much for today,see you soon

参考文献:
https://blog.csdn.net/Marccco/article/details/88709481
https://github.com/datawhalechina/team-learning-program/tree/master/Python-Language

猜你喜欢

转载自blog.csdn.net/sinat_39470268/article/details/107513204