python六种基本数据类型

Python3 中有六个标准的数据类型:

  • number(数字)

  • string(字符串)

  • tuple(元组)

  • list(列表)

  • set(集合)

  • dictionary(字典)

  • 前三种为不可变数据(不可变数据类型在第一次声明赋值声明的时候, 会在内存中开辟一块空间, 用来存放这个变量被赋的值, 而这个变量实际上存储的, 并不是被赋予的这个值, 而是存放这个值所在空间的内存地址, 通过这个地址, 变量就可以在内存中取出数据了. 所谓不可变就是说, 我们不能改变这个数据在内存中的值, 所以当我们改变这个变量的赋值时, 只是在内存中重新开辟了一块空间, 将这一条新的数据存放在这一个新的内存地址里, 而原来的那个变量就不在引用原数据的内存地址而转为引用新数据的内存地址了),后三种为可变数据。

  • 注意(区别C语言):1、变量不需要声明,且变量赋值后变量才会真正被创建;2.变量没有类型 3. 多个变量可以同时赋值

  • 内置函数 type(), 用以查询变量的类型

  • 问题:

    1.变量为什么不需要声明类型?

    这个也与python中a代表地址有关,其它语言中把值赋给a的同时也限制了a的类型,其它语言中a代表的就是一个实实在在的量,而python中a代表的是指向这个量的地址,这个地址可以指向任何类型数据的存储空间,指向整型,a就是整型,指向字符串,a就是字符串,指向函数对象,a就是函数对象,这就是python中的隐式声明。

    另一种解释:Python的变量本事是个指针。当Python解释器执行number=1的时候,实际上先在内存中创建一个int对象,然后将number指向这个int对象的内存地址,也就是将number“贴”在int对象上

    2.变量怎么回收?

    Python中的del是将这个对象的指向删除,当这个对象没有任何指向的时候,Python虚拟机才会删除这个对象。

    3.内置函数 type() 与 isinstance() 区别

    type(obj):用于判断一个未知对象的类型

    isinstance(obj1,obj2):用于判断对象obj1是否是另一个类obj2的实例,简单说就是判断obj1是不是属于obj2类型,或者理解为obj1和obj2类型是不是一样。

    type() 不会认为子类是一种父类类型,isinstance() 认为子类是一种父类类型。

    class A:passclass B(A):passisinstance(A(), A)  # returns True
    type(A()) == A      # returns True
    isinstance(B(), A)    # returns True
    type(B()) == A        # returns False
    

number(数字)

  • int(整型), float(浮点型), bool, complex(复数类型) 四种基本类型,用于存储数值

  • 类型转换:int(),float()…

  • 数学运算 :+、-、* 都与C语言相同 / 表示做除法(结果一定为浮点数) // 表示做除法(结果只保留整数部分,去掉小数部分)% 表示做求余运算** 表示做幂次方运算 (注意运算次序)

string(字符串)

#!/usr/bin/env python3str1 = 'Hello'print(str1[0])
  • 字符串需要用单引号 ’ ’ 或双引号 " " 括起来 三引号–注释
  • 字符串也是一种特殊的元组。不能改变字符串中的某个元素的值
  • String类型运算:+ 对多个字符串进行连接 * 重复输出字符串n次 字符串名[: ] 截取字符串的一部分(最左边索引值为0,最右边索引值为-1,倒数第二索引值为-2…)字符串名[ ] 通过索引获取字符串中单个字符 in/not in 判断单个字符是/不是在字符串中 r/R 将转义字符等特殊字符也当成普通字符
  • 基础操作:索引、切片、乘法-多次输出、成员资格检查、长度len()、最大值、最小值

list (列表)

#!/usr/bin/env python3list1 = [True, 1, 'Hello']print(list1)
  • list 的数据项可以不同类型
  • list 的各个元素可以改变
  • list 是使用 [ ] 方括号包含各个数据项
  • + 多个列表进行合并成一个列表 * 列表重复输出多次 in 某个项是否在列表中
  • 可对列表项进行添加、修改、删除
  • 方法:appand(appand用于将一个对象附加到列表尾部)extend(将列表附加到列表) pop(从列表中删除一个元素—没有添加索引默认最后一个元素,并返回这一元素)remove(用于删除第一个为指定值的元素)reverse(按相反的顺序排列列表中的元素)sort(对列表顺序排列)

tuple (元组)

#!/usr/bin/env python3tuple1 = (True, 1, 'Hello')print(tuple1)
  • tuple 是使用 ( ) 小括号包含各个数据项
  • tuple 与 list 的唯一区别是 tuple 的元素是不能修改,而 list 的元素可以修改

set(集合)

  • set 是一个无序不重复元素的序列
  • 使用大括号 { } 或者 set() 函数创建集合
  • 用 set() 创建一个空集合
  • 使用 set 可以去重
set1 = {'me', 'you', 'she', 'me'}print(set1)

1.怎么理解 tuple, list 是有序的序列,而 set 是无序的序列

tuple 或 list 的定义元素顺序和输出一样,而 set 不是。

dictionary(字典)

  • 字典的每个元素是键值对,无序的对象集合
  • 字典是可变容器模型,且可存储任意类型对象
  • 字典可以通过键来引用,键必须是唯一的且键名必须是不可改变的(即键名必须为Number、String、元组三种类型的某一种),但值则不必
  • 字典是使用 { } 大括号包含键值对
  • 创建空字典使用 { }

dict1 = {'name': 'steve', 'age': 18}print(dict1)

附加资料:








python六种基本数据类型相关推荐

  1. python变量定义大全_详解python变量与数据类型

    这篇文章我们学习 Python 变量与数据类型 变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,变量可以通过变量名访问.在 Python 中 变量命名规定,必须是大小写英文,数字 ...

  2. 【Python基础入门系列】第03天:Python 变量与数据类型

    这篇文章我们学习 Python 变量与数据类型 Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可 ...

  3. 学python能做什么类型的工作-Python支持哪些数据类型

    Python基本数据类型一般分为:数字.字符串.列表.元组.字典.集合这六种基本数据类型. 数字数字类型是不可更改的对象.对变量改变数字值就是生成/创建新的对象.Python支持多种数字类型: 整型( ...

  4. 【Python】标准数据类型

    [Python]标准数据类型 在Python中,每个变量在使用的时候必须进行赋值,赋值之后该变量会自动被创建,并且在Python中,所有的变量都没有类型,变量单纯只是变量而已,我们所说的类型只是这个变 ...

  5. python支持哪些数据类型_Python支持的数据类型

    Python基本数据类型一般分为:数字.字符串.列表.元组.字典.集合 这六种基本数据类型. 数字 数字类型是不可更改的对象.对变量改变数字值就是 生成/创建 新的对象.Python支持多种数字类型: ...

  6. python字典、列表、元祖使用场景_python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍...

    python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 元祖跟列表类似.只不过是有区别的. 如下: tuple(元祖英文) 跟列表类似, 元素不能 ...

  7. python和R数据类型查看、赋值、列表、for循环、函数用法对比示例

    python和R数据类型查看.赋值.列表.for循环.函数用法对比示例 很多工程师可能刚开始的时候只熟悉python或者R其中的一个进行数据科学相关的任务. 那么如果我们对比这学习可以快速了解语言设计 ...

  8. python常见的数据类型_Python中常见的数据类型总结

    Python提供多种数据类型来存放数据项集合,主要包括序列(列表list和元组tuple),映射(如字典dict),集合(set),下面对这几种一一介绍: 一 序列 1.列表list 列表是一种有序的 ...

  9. python基础之数据类型与变量

    阅读目录 一.变量 二.数据类型 2.1 什么是数据类型及数据类型分类 2.2 标准数据类型: 2.2.1 数字 2.2.1.1 整型: 2.2.1.2 长整型long: 2.2.1.3 布尔bool ...

最新文章

  1. Linux下安装RabbitMQ
  2. PAT1056 组合数的和 (15 分)
  3. Elasticsearch SQL介绍及实例
  4. IDEA通过Database连接MySql数据库
  5. 放苹果(信息学奥赛一本通-T1192)
  6. 4个数字,如何最快找到最小的2个数
  7. 计算机网络--从五层模型开始(完善中)
  8. 51nod 1443 路径和树——最短路生成树
  9. 设计模式09-组合模式
  10. flash cs4中3D特性之PerspectiveProjection属性设置
  11. VS2010 安装包打包(转)
  12. fx2n4ad模块中文手册_特殊功能模块FX2N-4AD用户指南手册三菱FX2N-4AD手册 - 广州凌控...
  13. 三星s6android7.0资源,【更新】Galaxy S6 SM-G9200 7.0的官方固件
  14. 马士兵的经典名言!!!
  15. JS设计模式(二)-Revealing Module(揭示模式)
  16. 发一个自己常用的通信词汇缩写表(实时更新)
  17. javascript学习之路1
  18. 为什么说OKRS-E是适合的OKR框架
  19. 如何看电脑支持最大多少内存条?仅需一个命令
  20. 前端vue视频vue-video-player插件总结知识点案例(带源码)

热门文章

  1. janus是什么意思中文翻译_janus
  2. 字面常量_从字面上看,“打印屏幕”按钮是否可以打印屏幕(并且可以再次打印)吗?
  3. 唯有爱和勇气不可辜负 《无双争霸战》删档计费测试明日开启
  4. 步进电机的S型加减速算法
  5. 鸣志M2伺服驱动器电机16CL错误驱动器重载
  6. mysql行锁+排他锁,mysql的表锁和行锁,排他锁和共享锁。
  7. WEB之http协议工作原理
  8. QML 自定义控件 时间滚筒控件
  9. javaweb习题集
  10. 信号上升沿陡峭与信号带宽关系