今日作业1
1.python解释器的种类及特点
CPython
,由C语言开发的,使用最广的解释器IPython
,基于cpython之上的一个交互式计时器,交互方式增强,功能和CPython一样pypy
,目标是执行效率,对python代码进行动态编译,提高执行效率JPython
,运行在java上的解释器,直接把python代码编译成java字节码执行IronPython
,运行在微软.NET平台上的解释器,把python编译成.NET的字节码
2.PEP8规范
- 缩进,4个空格缩进
- 每行最大长度79,换行可以使用反斜杠 最好使用圆括号。换行点要在操作符的后边敲回车。
- 不要在一句import中多个库,比如import os, sys不推荐。
- 操作符左右各加一个空格
- 逗号、冒号、分号前不要加空格
- 总体原则,错误的注释不如没有注释。所以当一段代码发生变化时,第一件事就是要修改注释!
- 模块命名尽量短小,使用全部小写的方式,可以使用下划线
3.简述解释型语言和编译型语言
编译型语言, (先编译打包,后执行)
使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式
一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高
解释型语言,(依赖解释器, 提供相应的解释器,就可以运行源代码 )
解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序 。
解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低
4、bit、B、KB、MB、GB的关系
` 1TB=1024GB,
1GB=1024MB;
1MB=1024KB;
1KB=1024B;
1B=8bit`
5、列举你所了解到python2和python3的区别
python2有int和long int类型,python3只有int类型
python2的str就是python3的Unicode
python2的bytes就是python3的str
6、is和==的区别
== 是比较值是否相同
is 是比较id是否相同
7、一行代码实现数值交换
a,b = b,a
8、列举常用的字符串格式化的方式
- %S
- format
- f-string
9、python垃圾回收机制
引用计数,当指向该内存的引用为0时回收
标记清除,第一阶段标记,第二阶段清楚
分代清除, 为了更合理的进行【标记-删除】 ,代数越高的对象(存活越持久的对象),进行【标记-删除】的时间间隔就越长
10:求结果(自己先想,想完在执行):
v1 = 1 or 3 1 v2 = 1 and 3 3 v3 = 0 and 2 and 1 0 v4 = 0 and 2 or 1 1 v5 = 0 and 2 or 1 or 4 1 v6 = 0 or Flase and 1
对python而言
其一, 在不加括号时候, and优先级大于or
其二, x or y 的值只可能是x或y. x为真就是x, x为假就是y
第三, x and y 的值只可能是x或y. x为真就是y, x为假就是x
例一:
对于, 1 or 5 and 4: 先算5 and 4, 5为真, 值为4. 再算1 or 4, 1 为真,值为1
对于, (1 or 5) and 4: 先算1 or 5, 1为真, 值为1. 再算1 and 4, 1为真,值为4