设为首页 收藏本站
查看: 639|回复: 0

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

[复制链接]

尚未签到

发表于 2017-5-5 12:15:36 | 显示全部楼层 |阅读模式
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编写, 需要较长时间从日志文件载入分析结果, 不支持子函数状态细节, 某些结果不准

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-373469-1-1.html 上篇帖子: Python基础教程之第8章 异常 下篇帖子: 初识django, 一起进入python的世界吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表