zoukankan      html  css  js  c++  java
  • python学习笔记之数据类型、字符编码、文件处理

       

    1、数据类型

      1、数字(int,float)

        整形(int):定义 age=20  #本质age=int(20)

        浮点类型:salary=3000.3 #本质salary=float(3000.3)

        还有不常用的长整型、复数。

      2、字符串

        定义:在单引号双引号三引号内,由一串字符组成

        name = “hardykay”

        1、按索引取值(正向取+反向取) :只能取

        

        2、切片

          格式:name[开头:结尾:步长],注意是包头不包尾。

          

        3、求长度 len

          

        4、in和not in

          

         5、移除空白strip

            

           当然还有lstrip,rstrip,这跟left和right有关,手动试试吧!

        6、切分split

        

        7、循环

          

       8、需要掌握的操作

        a、strip,lstrip,rstrip                              去空白
        b、lower,upper                                   字母大小写
        c、startswith,endswith       检查
        d、format的三种玩法       http://www.cnblogs.com/JackLi07/p/9832137.html
        e、split,rsplit                                       分割
        f、join              用于将序列中的元素以指定的字符连接生成一个新的字符串。
        g、replace            把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
        h、isdigit             如果字符串只包含数字则返回 True 否则返回 False。

        9、练习

        

    # 写代码,有如下变量,请按照要求实现每个功能
    name = " aleX"
    # 1)    移除 name 变量对应的值两边的空格,并输出处理结果
    name = ' aleX'
    a=name.strip()
    print(a)
    
    # 2)    判断 name 变量对应的值是否以 "al" 开头,并输出结果
    name=' aleX'
    if name.startswith(name):
        print(name)
    else:
        print('no')
    
    # 3)    判断 name 变量对应的值是否以 "X" 结尾,并输出结果
    name=' aleX'
    if name.endswith(name):
        print(name)
    else:
        print('no')
    
    # 4)    将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
    name=' aleX'
    print(name.replace('l','p'))
    
    # 5)    将 name 变量对应的值根据 “l” 分割,并输出结果。
    name=' aleX'
    print(name.split('l'))
    
    # 6)    将 name 变量对应的值变大写,并输出结果
    name=' aleX'
    print(name.upper())
    
    # 7)    将 name 变量对应的值变小写,并输出结果
    name=' aleX'
    print(name.lower())
    
    # 8)    请输出 name 变量对应的值的第 2 个字符?
    name=' aleX'
    print(name[1])
    
    # 9)    请输出 name 变量对应的值的前 3 个字符?
    name=' aleX'
    print(name[:3])
    
    # 10)    请输出 name 变量对应的值的后 2 个字符?
    name=' aleX'
    print(name[-2:])
    
    # 11)    请输出 name 变量对应的值中 “e” 所在索引位置?
    name=' aleX'
    print(name.index('e'))
    
    # 12)    获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
    name=' aleX'
    a=name[:-1]
    print(a)
    练习

      3、列表

        my_list=['alex','wupeiqi','yuanhao',4,5] #本质my_list=list([...])

        1、按索引存取值(正向存取+反向存取):即可存也可以取
          

                         

       很多功能跟字符串类似,字符串本质上就是一个比较特殊的列表。

        2、删除

          

        3、del、pop、remove的区别

          a、del能删除任何东西,pop和remove只能操作列表字典等

          b、del和pop删除是已知道key,不需要知道value。remove是通过value删除的

          

       4、元组

        与列表类型比,只不过[]换成()

        a = (1,2,3,4),元组是不可变的。

      5、字典

        作用:存多个值,key-value存取,取值速度快

        定义:key必须是不可变类型,value可以是任意类型

        

    info={'name':'egon','age':18,'sex':'male'} #本质info=dict({....})
    或
    info=dict(name='egon',age=18,sex='male')
    或
    info=dict([['name','egon'],('age',18)])
    或
    {}.fromkeys(('name','age','sex'),None)

        其他操作都一样,不谈了,谈点不一样的。

        1、键keys()

          

        2、值values()

          

        3、键值对items()

          

      6、集合

        集合跟列表几乎一样,唯一不同在于,集合没有重复值,因此,列表去重可以使用集合来做。除了去重,还有一个极其重要的作用,那就是运算。还有就是集合使用{}或者set()

        

       7、总结

         数字

           字符串

        集合:无序,即无序存索引相关信息
        元组:有序,需要存索引相关信息,不可变
        列表:有序,需要存索引相关信息,可变,需要处理数据的增删改
        字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改
    
    

    2、字符编码

         

    3、文件处理

  • 相关阅读:
    CF763C Timofey and Remoduling
    CF762E Radio Stations
    CF762D Maximum Path
    CF763B Timofey and Rectangles
    URAL1696 Salary for Robots
    uva10884 Persephone
    LA4273 Post Offices
    SCU3037 Painting the Balls
    poj3375 Network Connection
    Golang zip压缩文件读写操作
  • 原文地址:https://www.cnblogs.com/hardykay/p/10160550.html
Copyright © 2011-2022 走看看