Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1125813
  • 博文数量: 165
  • 博客积分: 5957
  • 博客等级: 大校
  • 技术积分: 2015
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-24 15:04
文章分类

全部博文(165)

文章存档

2014年(10)

2013年(14)

2012年(9)

2011年(22)

2010年(17)

2009年(17)

2008年(26)

2007年(34)

2006年(16)

我的朋友

分类: 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)

list 的分片(slice)

>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li[1:3]  1
['b', 'mpilgrim']
>>> li[1:-1] 2
['b', 'mpilgrim', 'z']
>>> li[0:3]  3
['a', 'b', 'mpilgrim']
1 您可以通过指定 2 个索引得到 list 的子集, 叫做一个 “slice” 。返回值是一个新的 list, 它包含了 list 中按顺序从第一个 slice 索引 (这里为 li[1]) 开始, 直到但是不包括第二个 slice 索引 (这里为 li[3]) 的所有元素。
2 如果一个或两个 slice 索引是负数, slice 也可以工作。如果对您有帮助, 您可以这样理解:从左向右阅读 list, 第一个 slice 索引指定了您想要的第一个元素, 第二个 slice 索引指定了第一个您不想要的元素。返回的值为在其间的每个元素。
3 List 从 0 开始, 所以 li[0:3] 返回 list 的前 3 个元素, 从 li[0] 开始, 直到但不包括 li[3]

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程序是一致的

    直接访问对象的属性,可能导致数据进入不一致状态


   

 

阅读(2779) | 评论(0) | 转发(0) |
0

上一篇:linux小技巧

下一篇:计算机存储的单位

给主人留下些什么吧!~~