Python 学习散记

 

del:

  用法:

      eg:a = [0,1,2,3]

         del a[0]

         print a   # 得到  1,2,3

  特别:

       del 删除不会删除数据,只是不再指向而已

      eg:a = [0,1,2,3]

         b = a

         del a

         print b  # 得到 0,1,2,3

 

decode 和 encode:

  字符串在 python 里面是用 unicode 保存的,unicode 可以认为是一种中间体

  eg:

    str1.decode('utf-8')    #表示把类型为utf-8的字符串str1变成 unicode 

    str1.encode('utf-8')    #表示把类型 unicode 的字符串str1变成 utf-8 的字符串

  查看系统的默认编码方式:

    import sys

    sys.getdefaultencoding()

  来自:http://www.2cto.com/kf/201207/142453.html

 

findall:

  用法:

    str1 = re.findall('正则表达式',unicodepage,re.S)

  解释:

    unicodepage 代表一个 unicode 类型的字符串

    正则表达式代表搜索的方式

    re.S代表 任意匹配模式,意思就是可以匹配\n也就是可以多行

    具体看 :http://xiaofeng1982.blog.163.com/blog/static/3157245820117124555434/

    更多模式:http://blog.csdn.net/pleasecallmewhy/article/details/8929576

   特别:

    一大收获啊!!正则表达式的()隐藏用法?   //反正我之前没理解

    比如,re.findall( regExp, unicodepage )

    如果 regExp = 'abc.*?abc.*?a'   那么返回的列表是有abc的,比如 ['abc...abc...a']

    如果 regExp = 'abc(.*?)abc(.*?)a' 那么返回的列表是没有abc 的,而且,列表会自动切分,比如 返回的是 ['...','...']

time模块:

  用法:

    import time

    time.time()

    time.ctime()

  解释:

    输出当前时间化成秒

    输出当前时间

if __name__=="__main__"

  解释:

    每个模块都有个__name__,假如模块不是被别人调用,那么__name__默认为__main__,否则为文件名

    ?所以这个语句用来测试,模块是不是被调用的,具体实际意义未知,留问号

enumerate:

  用法:

    lst = [(1,2),(3,4),(5,6)]

    for i,t in lst:

      print i,t    #输出 1 2 3 4 5 6

    for i,t in enumerate(lst):

      print i,t    #输出 0 (1,2) 1 (3,4)  2(5,6)  带标号

posted @ 2014-09-18 19:22  闭目人  阅读(128)  评论(0)    收藏  举报