1. 简述b、B、KB、MB、GB的关系?
b ---- 位(bit)
B ---- 字节(一个字节等于8位)
1 B = 8 bit
1 KB = 1024 B
1 MB = 1024 KB
1 GB = 1024 MB
2. 简述PE8规范?
1. 使用4个空格而不是tab键进行缩进。
2. 每行长度不能超过79。
3. 使用空行来间隔函数和类。
4. 必要时候,在每一行下写注释。
5. 使用文档注释,写出函数注释。
6. 在操作符和逗号之后使用空格,但是不要在括号内部使用。
7. 命名类和函数的时候使用一致的方式,比如使用 CamelCase 来命名类,使用 lower_case_with_underscores 来命名函数和方法。
8. 在类中总是使用 self 来作为默认。
9. 尽量不要使用魔法方法。
10. 默认使用UTF-8,甚至ASCII作为编码方式。
11. 换行可以使用反斜杠,最好使用圆括号。
12. 不要在一句 import 中多个库。空格的使用
各种右括号前不要加空格。
逗号、冒号、分号前不要加空格。
函数的左括号前不要加空格。如Func(1)。
序列的左括号前不要加空格。如list[2]。
操作符左右各加一个空格,不要为了对齐增加空格。
函数默认参数使用的赋值符左右省略空格。
不要将多句语句卸载同一行,尽管使用‘;’允许。
if/for/while语句中,即使执行语句只有一句。也必须另起一行。函数命名使用全部小写的方式,常量命名使用大写,类属性(方法和变量)使用小写。
类的命名首字母大写。
3. 通过代码实现如下进制间的转换?
# 二进制转换成十进制 —— int
v = "0b1111011"
b = int(v, 2)
print(b) # 123
# 十进制转换成二进制 —— bin
v2 = 18
print(bin(int(v2))) # 0b00a0
# 八进制转换成十进制
v3 = "011"
print(int(v3)) # 11
# 十进制转换成八进制 —— oct
v4 = 30
print(oct(int(v4))) # 0o36
# 十六进制转换成十进制
v5 = "0x12"
print(int(v5, 16)) # 18
# 十进制转换成十六进制 —— hex
v6 = 87
print(hex(int(v6))) # 0x57
4. python递归的最大层数?
998 主要还是要和执行的机器有关。
5. 求结果(and or)?
# 1. 1 or 3
print(1 or 3) # 1
# 2. 1 and 3
print(1 or 3) # 3
# 3. 0 and 2 and 1
print(0 and 2 and 1) # 0
# 4. 0 and 2 or 1
print(0 and 2 or 1) # 1
# 5. 0 and 2 or 1 or 4
print