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 类似, 函数中定义函数.
最新文章
- An App ID with Identifier 'com.XXX.XXX’ is not available. Please enter a different string.报错
- rpc使用举例
- JMeter中的关联-正则表达式提取(1)
- QQ微信的备份
- 能源项目xml文件标签释义--CommonsMultipartResolver
- BestCoder 1st Anniversary($) 1003 Sequence
- Principles of good RESTful API Design 好的 RESTful API 设计
- 常用DOS命令参数详解
- CentOS 6.4 + 曙光DS200 IPSan组建FTP服务器
- cout、cerr、clog
- JS跨域代码
- Linux - 进程间通信 - 信号量
- JPush 使用教程
- 认识容器和Docker(一)
- java &;与&;&; |与||的区别
- LeetCode-876 链表的中间结点
- 简述Oracle IOT(Index Organized Table)
- 清北合肥day1
- TF-IDF基本原理
- quartz自定义线程数
热门文章
- Entity Framework 同一个上下文中,如何进行对同一个实体进行指定字段更新
- PhotoShop CS6学习笔记
- Java:集合,对列表(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法
- 开发前奏曲之添加Android SDK平台工具
- 解决&;quot;VC6.0的ClassView里不能显示类或成员变量&;quot;问题
- Android中的MVP架构分解和实现
- 读取JPG图片的Exif属性(一) - Exif信息简介
- oracle 负载均衡连接方式常用SQL语句备忘录
- 【delphi】多线程与多线程同步
- 【Android】LayoutInflater