python 核心编程 01
特殊变量
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的更多相关文章
- python核心编程(第二版)习题
重新再看一遍python核心编程,把后面的习题都做一下.
- Python核心编程这本书的一些错误
<Python核心编程第二版>这本书比<Python基础教程第二版修订版>详细很多,丰富了很多细节,虽然它是一本经典的入门书,但我发现还是存在一些明显的错误.在面向对象编程这一 ...
- Python核心编程-描述符
python中,什么描述符.描述符就是实现了"__get__"."__set__"或"__delete__" 方法中至少一个的对象.什么是非 ...
- Python核心编程-闭包
百度搜了一下闭包的概念:简而言之,闭包的作用就是在外部函数执行完并返回后,闭包使得收机制不会收回函数所占用的资源,因为内部函数的执行需要依赖外函数中的变量.这是对闭包作用的非常直白的描述,不专业也不严 ...
- python核心编程第二版笔记
python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d 提供调试输出1.2 –O 生成优化的字节码(生成 ...
- 学习《Python核心编程》做一下知识点提要,方便复习(一)
学习<Python核心编程>做一下知识点提要,方便复习. 计算机语言的本质是什么? a-z.A-Z.符号.数字等等组合成符合语法的字符串.供编译器.解释器翻译. 字母组合后产生各种变化拿p ...
- python核心编程--笔记
python核心编程--笔记 的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找pyt ...
- Python核心编程第二版(中文).pdf 目录整理
python核心编程目录 Chapter1:欢迎来到python世界!-页码:7 1.1什么是python 1.2起源 :罗萨姆1989底创建python 1.3特点 1.3.1高级 1.3.2面向 ...
- Python核心编程
对<Python核心编程>的褒奖" The long-awaited second edition of Wesley Chun's Core PythonProgramming ...
随机推荐
- javaweb可部署目录结构
webApp //项目名称 -META-INF --MANIFEST.MF -WEB-INF --classes //编译class文件 --lib //依赖jar --web.xml -ind ...
- 冰淇淋三明治 (Android 4.0)介绍
原文:http://android.eoe.cn/topic/summary 冰淇淋三明治 (Android 4.0) 是 Android 在设计上的一个里程碑.它将 Honeycomb 提供给平板的 ...
- 用sendcloud来发邮件
平时发验证码邮件都是用免费域名邮箱,但是有时一频繁发多了就发不了了,听说用sendcloud可以避免,还能避免阿里云邮件发QQ邮箱进垃圾箱中,去注册了下,免费账户号每个月才50封,自己玩玩可以吧.. ...
- autofac IOC
http://www.cnblogs.com/liupeng/p/4806184.html srvanyui 自建服务
- Webbench是有名的网站压力测试工具
[root@666 webbench-1.5]# yum install ctags [root@666 webbench-1.5]#make && make install inst ...
- raft Paxos
CONSENSUS: BRIDGING THEORY AND PRACTICE https://ramcloud.stanford.edu/~ongaro/thesis.pdf https://web ...
- numpy数组-标准化数据
标准化数据的公式: (数据值 - 平均数) / 标准差 import numpy as np employment = np.array([ 55.70000076, 51.40000153, 50. ...
- c++11实现c++14的optional
c++14中将包含一个std::optional类,它的功能和用法和boost的optional类似.optional<T>内部存储空间可能存储了T类型的值也可能没有存储T类型的值,只有当 ...
- 【Android】Intent解读
Intent 的作用 Intent 是一个将要执行的动作的抽象的描述,一般来说是作为参数来使用,由Intent来协助完成android各个组件之间的通讯. 比如说调用startActivity()来启 ...
- vim复制,粘贴,删除,撤销,替换,光标移动等用法
我接触linux的时候,用的是nano这个文本编辑器,个人觉得他的最大优点就是方便,快速.打开文件,修改文件,到退出都十分的快速,简单.这一点上比vi,vim要强,但是nano不能显示彩色字,不能进行 ...