最近面试,遇到了很多基础知识。好久都不写代码了,基础知识都不扎实了。所以现在是再过一遍基础知识,做个笔记,省的以后每次都翻书。
- 语句和语法
# : 注释
\n 行分隔符
\ 继续上一行
;两个语句连在一行中
:代码块的头和体分开
python 语句使用缩进来分隔代码块
python 文件以模块的形式组织 - 变量赋值
x + =1
x,y,z = 1,2,”123” - 标识符
_xxx 不用 from module import * 导入
_xxx_ 系统定义名字
_xxx 类的私有变量 - 基本风格
风格指南 pep8 、257(文档字符串规范)
模块机构和布局:
(1)起始行
(2)模块文档
(3)模块导入
(4)(全局)变量定义
(5)类定义
(6)函数定义
(7)主程序
关于主程序:
一般python文件 基本都是写来当模块被导入用的 通常有个主程序,可以被直接执行的。
一般主程序代码可能是要被导入,也可能直接执行。我们如何判断是被导入还是直接执行呢。 就靠__name__。 如果模块是被导入的 __name__的值就是模块的名字,如果模块是被直接执行,__name__的值就是 ‘__main__’。 - 内存管理
python是动态类型 对象的类型和内存的占用都是运行时候决定的 所以变量名无需事先声明
引用计数: 创建时候为1 被引用就增加 当引用被销毁时候减少 引用离开范围时候也被减少 比如函数执行完 所有函数内的局部变量都被销毁了
垃圾回收: 垃圾收集器 寻找计数为0 的来释放内存 或计数大于0应该被销毁的对象 - 相关模块和开发工具
调试器 pdb
记录器 logging
性能测试:profile、hotshot、cProfile