python跟踪打印:
python -m trace --trace xxx.py
1.print "xxx" ,"%3d %0.2f">>f % (year,price)
2.import sys
sys.exit() 或者 Raise.SystemExit
os.exit()底层立刻停止
3.行末不需要分号,也可以加,用于多语句共行
4.if a<b: while a<b: else:
都要用:打底,pass表示空指令
if not (b<a or/and b>a):
elif xxx:
5.f=open("xxx")
line=f.readline()
while line:
line = f.readline()
f.close()
6.index从0开始
7.“”“ ”“”表示文档字符串
a="hello a "
b=a[0:5]
c="word"
d=a+c
str(x),repr(y),`z`可以转成字符串
8.list []
name=['a','b','c','d']
len(name)
name[i]
name.append("xxx")
name.insert(index,"xxx")
a=[1,"d",3.14,["mark", 7 ,9]]
a[3][2] #=9
9.#注释
10.元组,用(),不能更新
11for
for i in range(1,10):
print "%d" % (i)
xrange(0,100000,5) #step = 5
12 hastable
a={
"uasername": "a",
"uid" : 256
}
u=a["username"]
username=a.get("username","default")
k = a.keys();
del a["username"]
13 返回多值数组
def div(a,b=5):
return (q,r)
q1,r1=div(15,3)
可以用global定义全局变量
14 class
def __init__(self):
self表示this
__表示特殊函数
_foo表示私有方法,不能import
@staticmethod静态函数
@classmethod类函数
内置方法:__str__ __rstr__ __add__ __sub__ __radd/rsub__ __neg__ isinstance issubclass
15 try
try:
f=open("xxx")
except IOError,e:
print e # IOError类型 e异常对象
else:
pass
finally:
pass
raise RuntimeError,"Unrec error"
raise exception,[value]
exception是类型,value是值,对异常的描述
自定义异常
import exception
class xxxExcep(exception)
16文件名即模块名
import div as foo
foo.func(a,b)
from div import *
import module
dir(module) #列出功能列表
17分行符 、
tuple (,,,) list [,,,] dir{:,:,}
18数制
056 8
0x56 16
1234L long
1.3+3.4j(或者J) 虚部
s=u"\u0068" unicode
s=r"xxx" 原始字符
19 操作符
divmode(x,y):(int(x/y),x%y)
20四舍五入
round
22 Str处理
s+r
S*r n次拷贝
s%d 格式化
s[i] index
s[i:j] substr
x in s, x not in s 从属
len(s)
for x in s: 迭代
d={'x':13,'y':1.54}
'%(x)_10d (%(y)0.3g' %d #字典格式化方式
24 比较
x==y # 值比较
x is y #引用比较
27不定参数
def fprint (file, fmt,*args):
xxx(file, fmt,*args) # 传到下一个参数
**args字典参数
28递归次数
sys.getrecursionlimit()
29 apply(foo, (3,"x"),{"name":"div" ...})
第二个是不定参数
第三个是字典参数
30 列表内涵
[表达式 for item in list
for item2 in list2
if item > 0]
31 eval(str)表达式计算
exec('a=100') 字符串当成代码执行
execfile(filename)
compile(str,file,'single'/'exec'/'eval')
32__init__.py导入包的时候自动运行这个文件
33.执行参数
sys.argv[0]
range(len(sys.argv))
os.environ("PATH")
34 sys.stdin.read(1)
37保存对象
import Pickle
Pickle.dump(object,f)
load f
也可以用schelve
db=shelve.open(file)
db['key']=object
38 import atexit
atexit.register(foo)
41执行命令
os.system('ls')
os.popen(command,[, mete='r'[, buffersize]])
temp=os.popen('ls *.py').readline()
import command
(str,output) =command.getstatusoutput("ls")
42 import re
keyline=re.compiler(r"^\s*...",re.I)
43 if __name__=="__main__"
......