分类: LINUX
2007-07-20 18:34:15
1、from __future__ import division 执行后的结果是:运算符/严格执行true除法(如实计算),运算符//严格执行floor除法(不大于结果的最大整数值)
2、** 是求幂运算符号: 3**4 结果是12
3、运算符号优先级由高到低是
() -- ** -- */ //% -- +-
如果同时有多个 , ** 会是从右至左的顺序求值 , 其余都是从左至右的求值
4、字符串类型属于python的内建数据类型
5、三引号字符串中, 单或双引号不必添加转义字符,且可以跨多行
6、print 参数简记
%d 整数
%8d 8位整数,右对齐
%-8d 8位整数,左对齐
%.8d 8位整数, 不足则以0补充
%x 16进制表示
%f float
%.5f 5位小数float
%e 科学计数法
%s 字符串
%30s 占位30位 ,右对齐
%-30s 占位30位 ,左对齐
%.15s 截取左边开始15个字符
%5.2s 截取字符串占5位, 截取最前2个字符,右对齐
%-5.2s 截取字符串占5位, 截取最前2个字符,左对齐
7、if结构包括if,测试条件和一个冒号(:),主体部分是采用缩排形式
8、python对语法的评估取决于空距,建议将3个空格设置成一个缩进级别
9、3种控制结构便可以写出所有程序:顺序结构,选择结构,重复结构
10、流程控制时要适当的运用“哨兵值”
11、range返回start到end-1的一个序列
range(3,10,2)
start -- 3
end-1 -- 9
2是自增值
>>> range(0,10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(3,10,2)
[3, 5, 7, 9]
12、条件1 and 条件2
条件1如果为假,上述表达式将立刻停止,若条件1为真,则继续求值
出于性能考虑:在and表达式中,若不同条件相互独立,将最有可能为false的放在左边;在or表达式中,将最有可能为true的放在左边
13、所有的运算符中,not的级别最低
14、模块(module)是包含函数和类定义的文件,模块的集合,称为包(package)
称为标准库的模块一般位于python安装目录的库目录下,如/usr/lib/pyth2.4或/usr/local/lib/python2.4
15、dir()可以查询当前的命名空间
16、def fact(arg1 = 1,arg2 = 1,arg3 = 1)
17、支持3种基本序列数据类型:字符串、列表(list)和元组(tuple),序列相当于其他语言的数组
序列如果从尾部访问,最后一个元素是c[-1],倒数第二个是c[-2],一次类推
列表通常存储同种数据的序列,列表长度可以任意更改
元组通常存储异种数据的序列,元组长度和值是不可变的,一旦发现修改,就抛出错误
18、创建空元组:aTuple = ()
创建包含值序列的一个元组:aTuple = 1, 2, 3 创建元组的过程也称为元组打包(packing a tuple),也可以为aTuple = (1, 2, 3)
创建单元素元组:aSingleton = 1, 切记不能少了这个逗号
19、alist = [ 0, 1, 2 ]
print range(len(alist)) --> [ 0, 1, 2 ]
20、print "*"*100
21、解包:(注意长度必须完全一致,否则抛错)
string = "abc"
first,second,third=string ## first=a , second=b, third=c
list = ['a','b','c']
first, second, third=list ## first=a, second=b, third=c
tuple = ('a','b','c')
first, second, third=tuple ## first=a , second=b, third=c
x,y=y,x ## swap x y
22、分片(slice)
>>> li ['a', 'b', 'mpilgrim', 'z', 'example'] >>> li[1:3] ['b', 'mpilgrim'] >>> li[1:-1] ['b', 'mpilgrim', 'z'] >>> li[0:3] ['a', 'b', 'mpilgrim']
23、字典
创建空字典:emptyDict = {}
初始化字典:Dict = {1:"True", 2:"False"}
modify字典元素: grade["Steve"] = 90
删除字典中的一项: del grade["john"]
24、列表的一些常用方法
List = [1,2,3]
List.append(4) -- > List = [1,2,3,4]
List.count(2) -- > 2出现的次数
append(item) 在列表末尾插入item
count(element) 返回element在列表中出现的次数
extend(newList) 将newList的元素插入列表末尾
index(element) 返回element在列表中首次出现的索引,若不在,产生ValueError异常
insert(index,item) 在位置index插入item
pop([index]) index参数可选的。如无参数调用该方法,会删除并返回列表的最后一个元素。如指定了index参数,删除并返回位置index的元素
remove(element) 删除首次在列表中出现的element,如element不在列表中,则产生ValueError异常
reverse() 当场反转列表内容(不创建一个反转的拷贝)
sort([compare-fuction]) 当场对列表内容进行排序
25、字典的一些常用方法
clear() 从字典中删除所有项
copy() 创建并返回字典的一个浅拷贝(新字典中的元素是对原始字典元素的引用)
get(key[,returnValue]) 返回字典中与key对应的值,若key不在字典中,且指定了returnValue,则返回returnValue,若没指定returnvalue,则返回none
has_key(key) 若key在字典中,则返回1,否则返回0
items() 返回一个由元组构成的列表,每个元组包含一个键-值对
keys() 返回字典中所有键的一个列表
popitem() 删除任意键-值对,并作为二个元素的一个元组返回。如字典为空,会产生keyerror异常
setdefault(key[,dummyValue]) 与get类似,若key不在字典中,且指定了dummyValue,将键和dummyValue插入字典,若没指定dummyValue,那值为none
update(newDictionary) 将来自newDictionary的所有键-值对添加到当前字典,并覆盖同名键的值
values() 返回
iterkeys() 返回字典键的一个迭代器
iteritems() 返回键-值对的一个迭代器
itervalues() 返回字典值的一个迭代器
26、深浅copy:深是一个独立的copy,浅copy是随原本变化的一个副本而已
27、参数传递--传对象引用
28、类:
类名首字母必须大写
尽可能包括"文档化字符串"来描述类,文档化字符串习惯上是一个三引号字符串
将所有方法的第一个参数都命名为"self",确保不同的程序员编写的python程序是一致的
直接访问对象的属性,可能导致数据进入不一致状态