您的位置:首页 > 编程语言 > Python开发

python 核心编程学习笔记(第3章) 对应Let's-python视频第4集

2009-10-24 09:54 756 查看

Python基础(chapter3)

1 setence and syntax语句和语法
1.1 #为注释符号
1.2 /n是标准行分隔符, 通常一个语句一行
1.3 反斜线/表示下一行继续, 用来将单条语句放入多行…尽量使用括号代替
1.4 分号;表示将两个语句连接在一行中…不提倡
1.5 冒号:表示将代码块的头和体分开
1.6 语句(代码块)用缩进块方式体现: 同一个代码组的代码必须严格左对齐..由于不同的editor制表符宽度不一, 为了使代码跨平台, 推荐使用4个空格缩进
1.7 不同缩进深度分隔不同的代码块
1.8 python文件以模块的形式组织: 模块以磁盘文件的形式存在, 不应该让某个模块充斥的太大
2 赋值
2.1 赋值语句没有返回值, 但可以使用链式赋值
2.2 python2.0开始支持增量赋值(算符和等号连接赋值), 但是python不支持++, --
2.3 赋值操作中, 可变对象会被直接修改(引用位置值的修改), 不可变对象则被重新赋予新的对象(引用修改)
2.4 多元赋值: a, b, c = 1, 2, ‘string’, 建议使用tuple的方式进行多元赋值: (a, b, c) = (1, 2, ‘string’)
3 swap操作: x, y = y, x
4 标识符
4.1 大小写敏感
4.2 python的关键字列表和iskeyword()函数在keyword模块, 方便查阅
4.3 内建: built-in可以看作是系统保留字….对于一些内建函数需要覆盖(重定义, 替换)…built-in是__builtins__模块的成员, 该模块由解释器自动导入
4.4 python不支持重载
4.5 下划线: 作为变量前缀和后缀指定特殊变量
4.5.1 _xxx: 不用’from module import*’导入
4.5.2 __xxx__: 系统定义名字
4.5.3 _xxx: 类中的私有变量名


6 模块组织



# 起始行
# 模块文档
# 模块导入
# 变量定义
# 类定义
# 函数定义
# 主程序
7 __name__用于指示模块应该如何被加载, 如果值是”__main__”说明是主模块, 如果是模块名, 说明是被导入的
8 主模块测试代码
def main():
# business process
if(__name__ == ‘__main__’)
main()
9 内存管理
9.1 基本
9.1.1 弱类型 – 动态类型
9.1.2 programmer不关心内存管理
9.1.3 变量并会被回收
9.1.4 del语句能够直接释放资源
9.2 变量未初始化不允许使用
9.3 引用计数: 对于一个内存堆中的对象, 有多少个指针引用它..引用计数就是多少, 引用计数为0时, 该对象可以被垃圾回收器回收
9.3.1 增加
9.3.1.1 对象创建
9.3.1.2 别名创建(引用赋值)
9.3.1.3 参数传递(引用传值)
9.3.1.4 被容器引用
9.3.2 减少
9.3.2.1 引用生命周期结束
9.3.2.2 对象别名被显示销毁 del y
9.3.2.3 对象别名被赋予其他引用
9.3.2.4 窗口对象本身被销毁
9.3.3 del
9.3.3.1 从现在的名字空间中删除一个别名
9.3.3.2 对象的引用计数减一
9.4 垃圾回收: 有对象引用计数为0, 对象被显示告知需要销毁, 有内存消耗大户存在导致系统压力较大时, 垃圾回收机制运行, 清理需要回收的内存区域…垃圾回收机制还有一个循环垃圾回收器, 确保释放循环引用对象(a引用b, b引用a, 导致其引用计数永远不为0)
10 将引入的其他模块中常用的变量重新赋予一个本地别名(ls = os.linesep)不仅可以避免冗长的变量名, 又可以提高加载速度(因为现在是本地变量了)
11 重要的其他模块
11.1 debugger: pdb允许设置断点, 逐行调试, 检查堆栈, 还支持事后调试
11.2 logger: logging分紧急, 错误, 警告, 信息, 调试五级日志
11.3 profilers: 性能测试器
11.3.1 profile: python编写, 测试函数执行时间, 每次脚本执行总时间.
11.3.2 hotshot: python2.2, c编写, 解决了性能测试过载问题, 但需要更多时间生成结果, python2.5修正了hotshot的时间计量bug
cProfile: python2.5, c编写, 需要较长时间从日志文件载入分析结果, 不支持子函数状态细节, 某些结果不准
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: