博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础之数据类型
阅读量:4325 次
发布时间:2019-06-06

本文共 2661 字,大约阅读时间需要 8 分钟。

  • 数字(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‘’‘ 字符串中的都是无意义的,除了一些\n \t转义符

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

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

    • 格式化:

      • %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 "
        ", line 1, in
        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相同的元素,交集的反集

 

 

 

转载于:https://www.cnblogs.com/kmnskd/p/9191220.html

你可能感兴趣的文章
小马哥-Java 微服务实践 - Spring Boot 系列-01Java 微服务实践 - Spring Boot 系列(一)初体验...
查看>>
小马哥_汇总
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-01 常用的服务间调用方式讲解
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-02 微服务调用方式之ribbon实战 订单调用商品服务...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-03 高级篇幅之Ribbon负载均衡源码分析实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-06 Feign核心源码解读和服务调用方式ribbon和Feign选择...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-02 Netflix开源组件断路器
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-01分布式核心知识之熔断、降级
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-04 feign结合hystrix断路器开发实战下...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-03 feign结合hystrix断路器开发实战上...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-01 微服务网关介绍和使用场景
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-03 高级篇幅之zuul常用问题分析
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-08 断路器监控仪表参数
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-05 高级篇幅之高并发情况下
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-02 springcloud网关组件zuul
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-06 高级篇幅之深入源码
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-04 自定义Zuul过滤器实现登录
查看>>
Spring Boot_打造企业级微信点餐系统_汇总贴
查看>>