文章目录
- 1、type() 和 isinstance()
- 2、强制类型转换
- 3、原码,反码,补码
- 4、位运算
- 5、if条件语句
- 6、循环语句
- 7、for循环
- 标准:
- range()函数
- enumerate()函数
- break语句 - 直接跳出循环
- continue语句 - 跳出当前循环
- pass语句
- 推导式
1、type() 和 isinstance()
- 均是判断类型信息
使用方法:
区别:
type()
不考虑继承关系,但是isinstance()
考虑继承关系
2、强制类型转换
与其他语言(C语言,Java语言)操作一致
3、原码,反码,补码
- 原码 - 二进制数字
- 反码 :
- 正数:二进制的0全部改成1,1全部改成0
- 负数 :符号位不变,其他与正数一致
- 补码:
- 正数:就是原码
- 负数:反码+1
- 符号位:0为正数,1为负数
4、位运算
~
运算:把补码中的0,1全部取反~
1 = 0~
0 = 1- 按位与操作 & : 俩个对应位置均为1,最后就是1
1&1=1
1&0=0
0&1=0
0&0=0 - 按位或操作 | :只要有一个是1,就全是1
1 | 1 = 1
1 | 0 = 0
0 | 0 = 0
0 | 1 = 0 - 按位异或操作:俩互相不同的时候为1,相同则为0
1^1 = 0
1^0 = 1
0^1 = 1
0^0 = 0 - 按位左移表示乘法
11 << 2 = 11 * (2 ^2 )= 44 - 按位右移表示除法
11 >> 2 = 11 ➗(2^2)= 2 - 快速交换ab的值
a ^= b
b ^= a
a ^= b - 通过 a & (-a)快速获取a的最后一位为1 的位置的整数:
00 00 01 01 -> 5
11 11 10 11 -> -5
计算结果: 00 00 00 01 -> 1 - 位运算实现整数集合:
a的补集 == ~a
a交b == a&b
a并b == a|b
a差b == a&(~b) - 整数在内存中是以补码的形式存在的,输出也是以补码形式
- 用
bin()
的话,负数。。。居然是加了一个符号。。。好坑 python
的整型不限制长度
5、if条件语句
- 单独一个
if
if - else
语句
if-else
语句有严格的缩进,如果缩进错误,会报错
if - elif else
assert
这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError
的异常。
6、循环语句
- 循环语句也是在
while
后面要加上:
号,之前C语言,Java语言需要的{}
,全部变成:
号 - 对字符串进行截取:用
[ ]
- 比较冒号在数字前后的差异
- ·while-else·循环
7、for循环
标准:
for *** in ***:
****;
- 如果是直接输出,就是换行,有啥要求需要用上面代码的end才行
- 键值对:
- for - else 类似于: while - else
range()函数
里面的第三个参数是代表的是,输出的数字要中间间隔3才可以
enumerate()函数
属于枚举
- 数组与enumerate的区别:
break语句 - 直接跳出循环
continue语句 - 跳出当前循环
pass语句
使用方法:
目的:起到应该占位的作用,没有什么实际意义,就是让结构更加完整
就是当你不知道这个代码需要写什么的时候,你可以写一个pass,然后再继续后续代码
推导式
[ expr for value in collection [if condition] ]
- y = [a * 2 for a in x] # a属于x,计算对应的2a的值
x = [-4, -2, 0, 2, 4]
y = [a * 2 for a in x] # a属于x,计算对应的2a的值
print(y)
# [-8, -4, 0, 4, 8]
- i属于1到10,求i的平方
x = [i ** 2 for i in range(1, 10)]
print(x)
# [1, 4, 9, 16, 25, 36, 49, 64, 81]
- 从0-5,第一个i代表序号,第二个i代表i的二次方
x = [(i, i ** 2) for i in range(6)]
print(x)
# [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]
- 二维数组类似:
i属于0-2,j属于0-2,x[0][0]代表第一个数字
x = [[i, j] for i in range(0, 3) for j in range(0, 3)]
print(x)
# [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
x[0][0] = 10
print(x)
# [[10, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- 求和
s = sum([i for i in range(101)])
print(s) # 5050
s = sum((i for i in range(101)))
print(s) # 5050