python笔记6.2

来源:互联网 发布:苹果5s支持4g网络吗 编辑:程序博客网 时间:2024/05/18 02:24
1. Python 语句中有一些基本规则和特殊字符:
     z 
井号(#)表示之后的字符为 Python 注释
     z 换行 (\n) 是标准的行分隔符(通常一个语句一行)
     z 反斜线 ( \ ) 继续上一行
     z 分号 ( ; )将两个语句连接在一行中
     z 冒号 ( : ) 将代码块的头和体分开
     z 语句(代码块)用缩进块的方式体现
     z 不同的缩进深度分隔不同的代码块
     z Python 文件以模块的形式组织

2.缩进相同的一组语句构成一个代码块,我们称之代码组。像 if、while、def 和 class 这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。
3. 缩进四个空格宽度,避免使用制表符对一个初次使用空白字符作为代码块分界的人来说,遇到的第一个问题是:缩进多大宽度才合适?两个太少,六到八个又太多,因此我们推荐使用四个空格宽度。需要说明一点,不同的文本编辑器中制表符代表的空白宽度不一,如果你的代码要跨平台应用,或者会被不同的编辑器读写,建议你不要使用制表符。
4.模块:每一个 Python 脚本文件都可以被当成是一个模块。模块以磁盘文件的形式存在。当一个模块变得过大,并且驱动了太多功能的话,就应该考虑拆一些代码出来另外建一个模块。模块里的代码可以是一段直接执行的脚本,也可以是一堆类似库函数的代码,从而可以被别的模块导入(import)调用。模块可以包含直接运行的代码块、类定义、函数定义或这几者的组合。
5.等号(=)是主要的赋值运算符
6. Python 标识符字符串规则和其他大部分用 C 编写的高级语言相似:
     z 第一个字符必须是字母或下划线(_)
     z 剩下的字符可以是字母和数字或下划线
     z 大小写敏感标识符不能以数字开头;除了下划线,其他的符号都不允许使用。处理下划线最简单的方法是把它们当成字母字符。大小写敏感意味着标识符 foo 不同于 Foo, 而这两者也不同于 FOO。
7. 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx 被看作是“私有的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx 来表示变量是很好的习惯。因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格。
8.
推荐代码风格:主程序调用 main()函数主程序代码通常都和你前面看到的代码相似,检查 __name__ 变量的值然后再执行相应的调用(参阅下一页的核心笔记)。主程序中的代码通常包括变量赋值, 类定义和函数定义,随后检查__name__来决定是否调用另一个函数( 通常调用 main()函数)来完成该模块的功能。主程序通常都是做这些事。
9.__name__ 指示模块应如何被加载由于主程序代码无论模块是被导入还是被直接执行都会运行, 我们必须知道模块如何决定运行方向。一个应用程序可能需要导入另一个应用程序的一个模块,以便重用一些有用的代码(否则就只能用拷贝粘贴那种非面向对象的愚蠢手段)。 这种情况下,你只想访问那些位于其它应用程序中的代码,而不是想运行那个应用程序。因此一个问题出现了,“Python 是否有一种方法能在运行时检测该模块是被导入还是被直接执行呢?”__name__ 系统变量就是正确答案。
10. 类似 os.linesep 这样的名字需要解释器做两次查询: (1)查找 os 以确认它是一个模块,(2)在这个模块中查找 linesep 变量。因为模块也是全局变量, 我们多消耗了系统资源。如果你在一个函数中类似这样频繁使用一个属性,我们建议你为该属性取一个本地变量别名。 变量查找速度将会快很多--在查找全局变量之前, 总是先查找本地变量。 这也是一个让你的程序跑的更快的技巧: 将经常用到的模块属性替换为一个本地引用。代码跑得更快,而也不用老是敲那么长的变量名了。在我们的代码片段中,并没有定义函数,所以不能给你定义本地别。
11.
0 0