语句和语法
分号 ( ; )将两个语句连接在一行中。冒号 ( : ) 将代码块的头和体分开
语句(代码块)用缩进块的方式体现。不同的缩进深度分隔不同的代码块。缩进四个空格宽度,避免使用制表符
Python 文件以模块的形式组织
在Python 语言中,对象是通过引用传递的。区别于C,Python 的赋值语句不会返回值。链式赋值没问题。
Python 不支持类似 x++ 或 --x 这样的前置/后置自增/自减运算
Python 用下划线作为变量前缀和后缀指定特殊变量
_xxx 不用'from module import *'导入
__xxx__系统定义名字
__xxx 类中的私有变量名
__name__ 指示模块应如何被加载。 如果模块是被导入, __name__ 的值为模块名字。如果模块是被直接执行, __name__ 的值为 '__main__'
变量无须事先声明
变量无须指定类型
程序员不用关心内存管理
变量名会被“回收”
del 语句能够直接释放资源
对象
所有的Python 对像都拥有三个特性:身份,类型和值。
引用。类似于java。变量名是对象的一个引用。
is 与 not 标识符都是 Python 关键字。
运算符 功能
obj1 is obj2 obj1 和obj2 是同一个对象
obj1 is not obj2 obj1 和obj2 不是同一个对象
cmp(obj1, obj2) 比较 obj1 和 obj2, 根据比较结果返回整数 i:
i < 0 if obj1 < obj2
i > 0 if obj1 > obj2
i == 0 if obj1 == obj2
repr(obj) 或 `obj` 返回一个对象的字符串表示
str()函数得到的字符串可读性好, 而repr()函数得到的字符串通常可以用来重新获得该对象, 通常情况下 obj == eval(repr(obj)) 这个等式是成立的。
from-import
isinstance()接受一个类型对象的元组做为参数,
Python 不支持方法或函数重载。
内建函数 工厂函数区别 工厂函数实际上是类。你调用它们时, 实际上是生成了该类型的一个实例, 就象工厂生产货物一样。int(), long(), float(),
complex() str(), unicode(), basestring() list(), tuple() type()dict() bool() set(), frozenset() object() classmethod() staticmethod()
super() property() file()
print id(x) 对象ID(内存地址相关)
数值字符串不可以被修改。列表可以被修改而无须替换原始对象
访问模型中共有三种访问方式:直接存取,顺序,和映射
数据类型 存储模型 更新模型 访问模型l
数字 Scalar 不可更改 直接访问
字符串 Scalar 不可更改 顺序访问
列表 Container 可更改 顺序访问
元组 Container 不可更改 顺序访问
字典 Container 可更改 映射访问
数字
函数 功能
abs(num) 返回 num 的绝对值
coerce(num1, num2) 将num1和num2转换为同一类型,然后以一个 元组的形式返回。
divmod(num1, num2) 除法-取余运算的结合。返回一个元组(num1/num2,num1 %num2)。对浮点数和复数的商进行下舍入(复数仅取实数部分的商)
pow(num1, num2, mod=1) 取 num1 的 num2次方,如果提供 mod参数,则计算结果再对mod进行取余运算
round(flt, ndig=0) 接受一个浮点数 flt 并对其四舍五入,保存 ndig位小数。若不提供ndig 参数,则默认小数点后0位。
hex(num) 将数字转换成十六进制数并以字符串形式返回
oct(num) 将数字转换成八进制数并以字符串形式返回
chr(num) 将ASCII值的数字转换成ASCII字符,范围只能是0 <= num <= 255。
ord(chr) 接受一个 ASCII 或 Unicode 字符(长度为1的字符串),返回相应的ASCII或Unicode 值。
unichr(num) 接受Unicode码值,返回 其对应的Unicode字符。所接受的码值范围依赖于你的Python是构建于UCS‐2还是UCS‐4。
模块 介绍
decimal 十进制浮点运算类 Decimal
array 高效数值数组(字符,整数,浮点数等等)
math/cmath 标准C库数学运算函数。常规数学运算在match模块,复数运算在cmath模块
operator 数字运算符的函数实现。比如 tor.sub(m,n)等价