一、数据类型:
Integer
Long
Float
Complex number: (-5 + 4j)
二、字符串:
单引号:’hello’
双引号: “world”
三引号:’’’ or “”” 多行输入 or (行尾\)
Raw String: 无任何转义, r or R 开头
Unicode String: u or U开头
无字符一说
三、变量无需声明!
语句并不需要分号结尾;多条语句放在同一行用分号隔开
以空格和tab作为block定义
四、操作符
+ 对字符串作连接;
* 重复字符串次数;
** power;
// 向下取整
% 求余
>> << 算术移动
& | ^ ~ 按位操作
逻辑操作:not and or
五、语句控制
If:
Elif:
Else:
While xxx:
(else):
No switch case!
For … in(start, end, step) [start, end):
六、函数
Def xxx_fun(a,b = 1):
1. 支持默认参数
2. 函数中使用外部变量使用global参数,函数内外同名变量不覆盖
3. docString特性:函数开头,访问方式:xxx.__doc__
def fun(a, b,c ):
“”” This is fun “””
Print fun.__doc__
4. 空函数定义:
Def null_fun:
Pass
七、模块使用
1.import 模块名称
2.单独导入from xxximport xxx or *
3.模块中的成员访问xxx.xxx
4.使用.pyc加快访问速度
5.模块仅在第一次import被初始化,即会被执行
6.每个模块有一个__name__属性,若当前__name__= “__main__”,指示当前模块自身在运行
7.dir()列出模块中的所有函数、类和变量,默认参数本模块
8.清除变量del xxx
八、数据结构
类似java
List: [“”,“”] mutable
Tuple: (“”,“”) immutable
空元素:() 单元素: (2, )
Dictionary:{ key: value, key : value} key – immutable; val – mutable or immutable
% print格式化输出 % name % (name,string)
数据索引为负数,即从末尾开始取。 -1表示末尾第一个
九、面向对象
1. 数据默认public, 方法virtual.
2. __xxx表示private变量
3.由于无需定义成员变量,故在__init__函数中作初始化 or 类似操作
4.__def__类似析构函数
5.继承用tuple () 表示,支持多继承
6.类变量在class内,方法外声明
7.python不自动调用父类构造函数,需要子类显示调用!
十、输入输出
命令行:raw_input, print
文件操作:
file类似C语言fopen
write, readline, read, close
对象存储操作,即对象持久化:dump, load
十一、异常处理
1. Try…except or try…finally,和java类似
2. 使用raise抛出异常,自定义异常需继承Error or Exception
3. 带参数异常处理,except xxxException, x: …
十二、标准库
系统相关操作库:sys, os
十三、其他
1.__init__
__del__
__str__,__getitem__(self,key),__len__self类似java toString
__lt__ ,类似c++运算符重载
2.使用tuple or dictionary作为函数参数声明:*à tuple, ** à dictionary
3.动态创建函数对象:
Eg:return lambda S: print “Lambda”
4. exec执行字符串 or 文件中的语句
5. eval计算字符串中的值
6. assert断言,不满足时抛出断言异常
7. repr(),获取对象的打印表示,类似toString()方法,自定义通过__repr__实现
十四、UI方面
PyQt
PyGTK
wxPython
TkInter