zoukankan      html  css  js  c++  java
  • python备忘录

    本文主要是记录一下python,比较详尽的python学习资料:

    Python学习笔记_王纯业 http://pan.baidu.com/s/1eQrDEYA

    部分有详细的博文链接

    1.字符串

    切片 s[a:b] :返回的是 [a,b)的子串

    长度: len(s)

    字符串的替换方法有两种:

    last_date = “1/2/3”   目标为"123"

    之一:repalce

    date =last_date.replace('/','')

    之二:re

    p = re.compile("/")

    date = p.sub('', last_date)

    注意事项是:

    一定不要转义,否则函数不会生效。

    2.日期

    from datetime import date

    import datetime

    定义时间年月日:d = date(yyyy,mm,dd)

    多少天之后:d += datetime.timedelta(days=10)

    格式控制:d.strftime('%Y:%m:%d')

    两个日期相隔多少天:abs( (d1-d2).days )

    3.文件操作方式

    fin = open('data.txt')

    读取一行:fin.readline()

    4.文件格式编码问题:

    fin = open('词典.txt','rb')
    t = fin.read()
    txt = t.decode("gb2312", "ignore")
    fin.close()

    fin = open('训练语料库.txt',encoding='UTF-8') #UTF8读取,因为涉及到编码解码问题
    txt = fin.read()
    fin.close()

    5.切片

    字符串、列表、元组在python中都符合“序列”这一特征,只要符合这一特征的变量我们都可以用切片(slice)去存取它们的任意部分。我们可以把序列想像成一个队列,我可能需要前面三位、后面三位、或从第三位后的四位、或隔一个取一个等,我们用切片操作符来实现上述要求。

    切片操作符在python中的原型是
    [start:stop:step]

    即:[开始索引:结束索引:步长值]

    开始索引:同其它语言一样,从0开始。序列从左向右方向中,第一个值的索引为0,最后一个为-1

    结束索引:切片操作符将取到该索引为止,不包含该索引的值。

    步长值:默认是一个接着一个切取,如果为2,则表示进行隔一取一操作。步长值为正时表示从左向右取,如果为负,则表示从右向左取。步长值不能为0

    li = [1,2,3,4,5,6,7]
    
    print li[1:]           #输出[2,3,4,5,6,7],省略终止索引,表示取起始索引之后的所有值,
    等效于li[1:len(li)]
    
    print li[:3]           #输出[1,2,3],省略起始索引,表示从0开始取,等效于li[0:3]
    
    print li[:]            #输出[1,2,3,4,5,6,7],省略起始索引、终止索引、步长值表示取全部,
    等效于li[0:len(li):1]
    
    print li[::]           #输出[1,2,3,4,5,6,7],省略起始索引、终止索引、步长值表示取全部,
    等效于li[0:len(li):1]
    
    print li[::-1]        #输出[7,6,5,4,3,2,1],省略起始索引、终止索引,步长值为-1,表示反向获取
    

      

    6. map介绍:第一个参数接收一个函数名,第二个参数接收一个可迭代对象

    lt = [1, 2, 3, 4, 5, 6]
    def add(num):
        return num + 1
    rs = map(add, lt)
    print rs #[2,3,4,5,6,7]

    7. ZIP介绍:

    x = [1, 2, 3, 4, 5 ]
    y = [6, 7, 8, 9, 10]
    print zip(x, y)  # [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]

    8. 跨平台操作的文件路径:

    linux: /home/XXX

    windows: C:Windows

    可见在不同的平台上文件路径使用的文件分隔符不一样。

    在python中,我们可以使用os.path.sep作为文件分隔符。

    a+os.path.sep+b+os.path.sep+c

    a+os.path.sep+b+os.path.sep+c 我们也可以写成 os.path.join(a,b,c) 。类似的操作还有:os.path.split();

    9.Python中__init__方法注意点

    Linux下命令:
    from os import system
    cmd = 'ls'
    s = system(cmd)
    print str(s)
     
    10. 如果想输出转义字符串的原始字符串(转义字符非转义,对字符串不进行转义),我们可以用repr方式:
    repr('dsa
    res')的输出方式是:
    'dsa
    res'
    
    普通的为:
    dsa
    res

    11. Python中所有对象都是指针,对象的拷贝不能直接使用=号进行拷贝,应该使用copy.deepcopy() 

     
    12.安装setuptools: https://pypi.python.org/pypi/setuptools#windows-simplified
     安装pip:https://pypi.python.org/pypi/pip#downloads
     
  • 相关阅读:
    JS(五)
    typescript(02)
    typescript(01)
    opensuse15.1字符界面下配置网络
    docker 再次学习
    load dll get last error 14001 Error: The Side-by-Side configuration information for XXXX.DLL contains errors. sxstrace.exe (14001).
    DRF序列化与反序列化
    《流畅的python》:生成字典的几种方式
    《流畅的python》:bisect来管理已排序的序列
    《流畅的python》:由*初始化一个由列表组成的列表
  • 原文地址:https://www.cnblogs.com/yejinru/p/3475137.html
Copyright © 2011-2022 走看看