特殊变量

python用下划线作为变量的前缀和后缀指定特殊变量.
_XXX : 不用 'from module import *' 导入, 可以认为是模块中的私有变量
__XXX__ : 系统定义的名字
__XXX : 类中的私有变量
避免用下划线开头作为变量名称

模块布局

(1) 起始行(unix)
(2) 模块文档, 简介模块的功能和重要的全局变量的含义, 模块外可通过 module.__doc__ 访问这些内容
(3) 模块导入
(4) 变量定义, 这里指的是全局变量, 本模块中的所有函数都可以直接使用. 从好的编程风格角度说, 除非必须, 否则尽量使用局部变量代替全局变量
(5) 类定义
(6) 函数定义
(7) 主程序

测试代码

在主程序中书写测试代码

测试代码仅当文件被执行时运行(不是文件作为模块被其他模块导入), 我们应该利用 __name__这个有利条件, 将测试代码放在名字叫main()或者test()的函数中. 如果该模块被当作脚本运行, 就调用该模块.

编程调试

debugger : pdg, 允许设置断点, 调试

logger : logging, 程序日志系统

profiles: profile, hotshot, cProfile

匿名函数

python允许使用lambda关键字创建匿名函数. 可以有参数

lambda 表达式返回可调用的函数对象.

lambda : True

在上边的例子中, 我们简单的用 lambda 创建了一个函数(对象), 既没有在任何地方保存它, 也没有在任何地方调用它. 这个函数的引用计数在函数创建时被设置为True, 但是因为没有引用保存下来, 计数又回到 0 , 然后被垃圾回收. 为了保留住这个对象, 我们将它保存在一个变量中, 以后可以随时调用.

true = lambda : True

true()

闭包

看样子跟 javascript 类似, 函数中定义函数.

python 核心编程 01的更多相关文章

  1. python核心编程(第二版)习题

    重新再看一遍python核心编程,把后面的习题都做一下.

  2. Python核心编程这本书的一些错误

    <Python核心编程第二版>这本书比<Python基础教程第二版修订版>详细很多,丰富了很多细节,虽然它是一本经典的入门书,但我发现还是存在一些明显的错误.在面向对象编程这一 ...

  3. Python核心编程-描述符

    python中,什么描述符.描述符就是实现了"__get__"."__set__"或"__delete__" 方法中至少一个的对象.什么是非 ...

  4. Python核心编程-闭包

    百度搜了一下闭包的概念:简而言之,闭包的作用就是在外部函数执行完并返回后,闭包使得收机制不会收回函数所占用的资源,因为内部函数的执行需要依赖外函数中的变量.这是对闭包作用的非常直白的描述,不专业也不严 ...

  5. python核心编程第二版笔记

    python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d   提供调试输出1.2 –O   生成优化的字节码(生成 ...

  6. 学习《Python核心编程》做一下知识点提要,方便复习(一)

    学习<Python核心编程>做一下知识点提要,方便复习. 计算机语言的本质是什么? a-z.A-Z.符号.数字等等组合成符合语法的字符串.供编译器.解释器翻译. 字母组合后产生各种变化拿p ...

  7. python核心编程--笔记

    python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找pyt ...

  8. Python核心编程第二版(中文).pdf 目录整理

    python核心编程目录 Chapter1:欢迎来到python世界!-页码:7 1.1什么是python 1.2起源  :罗萨姆1989底创建python 1.3特点 1.3.1高级 1.3.2面向 ...

  9. Python核心编程

    对<Python核心编程>的褒奖" The long-awaited second edition of Wesley Chun's Core PythonProgramming ...

随机推荐

  1. Oozie-自定义实现WorkFlow中shell action

    拷贝默认的shell目录来进行修改 $ cp -r ./examples/apps/shell/ my-apps/ 定义job.properties nameNode=hdfs://bigdata-0 ...

  2. eclipse 创建Maven 架构的dynamic web project 问题解决汇总

    Eclipse创建Maven结构的web项目的时候选择Artifact Id为maven-artchetype-webapp,点击finish之后,一般会遇到如下问题 1. The superclas ...

  3. Atitti 过程导向 vs 结果导向 attilax的策略

    Atitit  世界著名零食 1.1. /////milk hand candy , milk soft candy . fruit soft candy1 1.2. ==========cookie ...

  4. 【Unity】8.1 Unity内置的UI控件

    分类:Unity.C#.VS2015 创建日期:2016-04-27 一.简介 Unity 5.x内置了-套完整的GUI系统,提供了从布局.控件到皮肤的-整套GUI解决方案,因此可直接利用它做出各种风 ...

  5. Java 格式化数字

    ; ){ DecimalFormat df = "); String xs = df.format(x); System.out.println(xs); x++; } 将 1 格式化为 0 ...

  6. LeetCode——4Sum &amp; 总结

    LeetCode--4Sum & 总结 前言 有人对 Leetcode 上 2Sum,3Sum,4Sum,K Sum问题作了总结: http://blog.csdn.net/nanjunxia ...

  7. dom4j: 生成的XML文件根节点 xmlns="" 的问题

    使用dom4j写入XML文件时,写入完毕后发现root element中没有 xmlns,也即是没有命名空间. 正确的写法如下: Document document = DocumentHelper. ...

  8. (转)Using Python3.5 in Ubuntu - Trusty

    转自:https://www.reddit.com/r/IPython/comments/3lf81w/using_python35_in_ubuntu_trusty/Note:照这个方案安装pyth ...

  9. 找个些有用的网站(CSS生成)

    http://www.shejidaren.com/css-button-generator-and-beautifucl-style-sheet.html

  10. 17、uwp 打包失败记录

    今天在打包时,总是打包失败, visual studio 报错误: 严重性 说明 代码 项目 文件 行 禁止显示状态错误 Error info: error 80080204: All app pac ...