zoukankan      html  css  js  c++  java
  • python基础之数据类型

    • 数字(number)

      • 整数(int)

        • 不可变数据类型

        • python2 长整数Long

        • python3 没有长短之分

      • 浮点数(float):小数有精度 2.0,1.2

      • 复数(complex):2+3j

    • 布尔值(bool):大小写敏感

      • 非空非0为真,0或空为假

    • 字符串(str):不可变数据类型,C语言中一个单词为chr:’a‘,多个为chr*:’abc‘;python没有之分就一个,’sdsf‘

      • abc‘,“abc”,’‘’abc‘’‘ 字符串中的都是无意义的,除了一些 转义符

      • ’i‘m a boy':需要转义 ’i‘m a boy'

      • 转义符:, 换行符, 制表符,\转义

      • 格式化:

        • %s 任意字符串

        • %d 任意整数

        • %f 任意浮点数

        • %x 十进制整数

        • format()

          >>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
          'Hello, 小明, 成绩提升了 17.1%'
      • 有序序列可做切片,索引操作

    • 列表(list):[]表示,[1,'s'],可变数据类型

      • 有序序列可做切片,索引操作

    • 元组(tuple):不可变数据类型,()表示,('a',2)

      • 有序序列可做切片,索引操作

      • 一个数据的元组(2,)

    • 字典(dict):可变数据类型

      • 无序数据类型,不可做切片,索引操作

    • 集合(set):可变数据类型

      • 无序数据类型,不可做切片,索引操作

      • 经过哈希运算,数据不重复

    索引,切片:有序序列的操作

    • 索引:用索引来访问list中每一个位置的元素,记得索引是从0开始的 ,如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素

      • 'smk'[0] = 's','smk'[-1] = 'k'
      • 索引数字:0123
        字符串:'ssds'
        索引数字:-4-3-2-1
    • 切片:对一个有序数据截取需要的数据

      • 切片超出范围不会报错,返回空,索引会报错

      • >>> 'sdfgdg'[0:2]
        'sd'
        >>> 'sdfgdg'[-1:3]#默认只能从左往右取
        ''
        >>> 'sdfgdg'[-1:-3]
        ''
        >>> 'sdfgdg'[-1:6]
        'g'
        >>> 'sdfgdg'[-1:1]
        ''
        >>> 'sdfgdg'[-6:6]
        'sdfgdg'
      • 带有步长:不管step正负,索引值都不会变

        • step为正,从左往右,

        'asdf'[1:-1:2] = 'ad'#左闭右开,包括a本身 
        • step为负,从右往左

        'asdf'[1:-1:-1] = ''
        #
        这样取是不行的,只能从右往左取,从起点1开始去往右走,1索引值是s,终点到-1,索引值是f,所以是取不到的。假如是'asdf'[1:0:-1],往右走取0,索引值是a,左闭右开所以是能取到s
      • 范围切片赋值:

        • 坑位对应数据个数:对应坑位依次排开

        • 数据个数大于或小于坑位:追加至原数据位置

        • 假如有步长,数据必须对应坑位个数,不对应报错

          >>> a = [1,2,3,5,4]
          >>> a[:2]
          [1, 2]
          >>> a[:2] = [1,5,6]
          >>> a
          [1, 5, 6, 3, 5, 4]
          >>> a[:2] = [5,6]
          >>> a
          [5, 6, 6, 3, 5, 4]
          >>> a[:2]
          [5, 6]
          >>> a[:2] = ['l']
          >>> a
          ['l', 6, 3, 5, 4]
          >>> a[:-1:2]
          ['l', 3]
          >>> a[:-1:2] = ['k','m','g']
          Traceback (most recent call last):
            File "<stdin>", line 1, in <module>
          ValueError: attempt to assign sequence of size 3 to extended slice of size 2
          >>> a[:-1:2] = ['k','m']
          >>> a
          ['k', 6, 'm', 5, 4]

    字典集合的操作

    • 字典(dict):{a:'b',1:'k'}key值不可变数据类型,value可变数据类型
      • mydict = dict(([1,2],[4,5])) 工厂函数

      • 内建方法dict.fromkeys([1,2,3,4,5],'a') 批量创建

      • hash算法处理过的数据,通过key值指向一个value值

      • for循环访问key值

      • 字典更新:

        • 不存在的key值时,dict[key] = value 创建一个新的key值

        • update:mydict.update(((1,2),)) 二元组

      • mydict.keys() mydict.values() mydict.get(key)

      • 删除字典:

        • del mydict[key]

        • del mydict

        • mydict.pop(key) 会返回对应的key值

        • mydict.clear() 清空字典

    • 集合:(set)
      • 集合可以去重,数据经过hash处理,储存不可变数据

      • 工厂函数 myset = set((1,2),)

      • 不可变集合:f = frozenset([1,2,3]) 不可以增删改查

      • 可变集合: g = set([1,2,3])

        • set.add(不可变数据类型) 更新集合,原数据加进去,不拆分

        • setupdate(数据集) 把数据集拆分成单个元素加进去

      • 删除集合:

        • set.pop() 不接受参数,随机删除返回删除值

        • set.remove(key) 接受参数

        • set.discard(key) 接受参数

        • del myset

        • set.clear()

      • 集合for访问

      • 集合判断:var in myset

      • 集合运算:

        • 子集:a < b或a.issubset(b) 判断a是否是b的子集

        • 超集:a > b或a.issuperset(b) 判断a是否是b的超集

        • 交集:a&b(intersetion)a和b相同的元素

        • 并集:a|b(union)a和b全部的元素

        • 差补:a-b(symmetric_difference)a去掉b的所有的元素(包括相同的)只留下自己独有的

        • 差分:a^b(symmetric_difference_update) 去掉a和b相同的元素,交集的反集

     

     

     

  • 相关阅读:
    深入浅出了解OCR识别票据原理(Applying OCR Technology for Receipt Recognition)
    OCR技术浅探:基于深度学习和语言模型的印刷文字OCR系统
    Python 3.6.4 / win10 使用pip安装keras时遇到依赖的PyYAML安装出错
    简单http代理服务器搭建
    Socket之心跳包实现思路
    设计模式之访问者模式
    设计模式之责任链模式
    设计模式之策略者模式
    C#将.spl剥离成.emf文件格式
    设计模式之状态者模式
  • 原文地址:https://www.cnblogs.com/kmnskd/p/9191220.html
Copyright © 2011-2022 走看看