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、文件处理

原文地址:https://www.cnblogs.com/hardykay/p/10160550.html