一、语句和语法
基本规则和特殊符号:
# : 注释
; : 将两个语句连接在一行中
:: 将代码块的头和体分开
语句(代码块): 缩进方式体现,不同的缩进深度分割不同的代码块,同
组的代码必须严格左对齐,随着缩进深度的增加,代码
块的层次也在加深,没有缩进的代码块是最高层次的,
也称为脚本的"main"部分。
风格建议:缩进四个空格宽度,避免使用制表符
模块: 每一个Python脚本文件都可以被当成一个模块。模块以磁盘文件
的形式存在。可以包含直接运行的代码块、类定义、函数定义
或这几者的组合。
二、变量赋值
Python语言中, = 是主要的赋值运算符。Python的赋值与其它语言不同
在于,它不是将一个值赋给一个变量,而是将对象的引用赋值给变量。
比较显著的区别是:c语言中赋值表达式会返回值,而Python的赋值语句中
不会返回值。此外,Python还支持链式赋值:y = x = x+1,支持"多元"
赋值 x,y,z = 1,2,'a string'
例Python实现两个值得交换:
>>> x,y = 1,2
>>> x
1
>>> y
2
>>> x, y = y , x
>>> x
2
>>> y
1
三、标识符和关键字
Python的标识符与C语言相似:
字母或下划线开头,大小写敏感
专用下划线标识符:
_xxx : 不用'from module import *'导入
__xxx__: 系统定义名字
__xxx : 类中的私有变量名
注意:避免用下划线作为变量名的开始
关键字:and\as\assert\break\class\continue\def\del\elif
else\except\exec\finally\for\from\global\if\import\
in\is\lambda\not\or\pass\print\raise\return try\
while\with,yield,None
四、基本风格指南
注释: 确保注释的正确性
文档:Python可以通过__doc__特别变量,动态获得文档字串。在模块,
类声明,或函数声明中第一个没有复制的字符串可以用属性
obj.__doc__来进行访问,其中obj是一个模块,类,或函数的名字
缩进:省略
模块结构和布局:起始行、模块文档、模块导入、变量定义、类定义
函数定义、主程序
在主程序中书写测试代码:Python标准库中提供unittest模块
五、内存管理
变量无须事先声明
变量无须指定类型:变量在第一次赋值时自动声明。
程序员不用关心内存管理:
变量名会被"回收"
del语句能够直接释放资源
引用计数:当对象呗创建并赋值给变量,该对象的引用计数为1,
每出现一次赋值或者传递赋值时,引用计数加1
当变量引用别的对象,或对象被销毁等情况下引用计数
减一。
垃圾收集:释放引用计数为0或其他特殊情况的对象。
基本规则和特殊符号:
# : 注释
; : 将两个语句连接在一行中
:: 将代码块的头和体分开
语句(代码块): 缩进方式体现,不同的缩进深度分割不同的代码块,同
组的代码必须严格左对齐,随着缩进深度的增加,代码
块的层次也在加深,没有缩进的代码块是最高层次的,
也称为脚本的"main"部分。
风格建议:缩进四个空格宽度,避免使用制表符
模块: 每一个Python脚本文件都可以被当成一个模块。模块以磁盘文件
的形式存在。可以包含直接运行的代码块、类定义、函数定义
或这几者的组合。
二、变量赋值
Python语言中, = 是主要的赋值运算符。Python的赋值与其它语言不同
在于,它不是将一个值赋给一个变量,而是将对象的引用赋值给变量。
比较显著的区别是:c语言中赋值表达式会返回值,而Python的赋值语句中
不会返回值。此外,Python还支持链式赋值:y = x = x+1,支持"多元"
赋值 x,y,z = 1,2,'a string'
例Python实现两个值得交换:
>>> x,y = 1,2
>>> x
1
>>> y
2
>>> x, y = y , x
>>> x
2
>>> y
1
三、标识符和关键字
Python的标识符与C语言相似:
字母或下划线开头,大小写敏感
专用下划线标识符:
_xxx : 不用'from module import *'导入
__xxx__: 系统定义名字
__xxx : 类中的私有变量名
注意:避免用下划线作为变量名的开始
关键字:and\as\assert\break\class\continue\def\del\elif
else\except\exec\finally\for\from\global\if\import\
in\is\lambda\not\or\pass\print\raise\return try\
while\with,yield,None
四、基本风格指南
注释: 确保注释的正确性
文档:Python可以通过__doc__特别变量,动态获得文档字串。在模块,
类声明,或函数声明中第一个没有复制的字符串可以用属性
obj.__doc__来进行访问,其中obj是一个模块,类,或函数的名字
缩进:省略
模块结构和布局:起始行、模块文档、模块导入、变量定义、类定义
函数定义、主程序
在主程序中书写测试代码:Python标准库中提供unittest模块
五、内存管理
变量无须事先声明
变量无须指定类型:变量在第一次赋值时自动声明。
程序员不用关心内存管理:
变量名会被"回收"
del语句能够直接释放资源
引用计数:当对象呗创建并赋值给变量,该对象的引用计数为1,
每出现一次赋值或者传递赋值时,引用计数加1
当变量引用别的对象,或对象被销毁等情况下引用计数
减一。
垃圾收集:释放引用计数为0或其他特殊情况的对象。