五种基本数据类型

在 Python 中,基本数据类型是指不可变对象的数据类型。以下是 Python 中的基本数据类型:

  1. 整数类型(int):表示整数,例如 1、2、3 等等。
  2. 浮点数类型(float):表示带有小数点的数字,例如 1.0、2.5、3.14 等等。
  3. 复数类型(complex):表示形如 a+bj 的复数,其中 a 和 b 是浮点数,j 表示虚数单位。
  4. 布尔类型(bool):表示 True 和 False 两种值。
  5. 字符串类型(str):表示文本,
    • 由单引号''或者双引号""或者三引号""" """包裹起来的文本内容。例如 “hello”、“world” 等等。不过一般情况下三引号是用来表示注释的

这些基本数据类型是不可变的,也就是说它们的值一旦创建就无法被修改。这意味着每次对基本数据类型的操作都会返回一个新的对象,而原来的对象并不会被改变。例如,对整数类型进行加法操作时,会返回一个新的整数对象,而原来的整数对象并不会被修改。

除了这些基本数据类型,Python 中还有可变对象的数据类型,例如列表类型(list)、字典类型(dict)等等。与基本数据类型不同,对可变对象的操作可以改变对象的值,而不是返回一个新的对象。

另外,NoneType 代表了 None(空值)这个对象的数据类型,它通常被用来表示变量或函数返回值的缺失或空值。与基本数据类型类似,NoneType 也是不可变的对象。NoneType 虽然不是 Python 的基本数据类型,但它仍然是一种常见的数据类型,具有一些基本数据类型的特征,比如不可变和常量性,

不可变数据类型

Python中的不可变数据类型是指在创建后不能修改其内部状态的数据类型,因为它们的值在创建后就被固定下来,不可改变。Python中的主要不可变数据类型包括:

数字(Number):包括整数(int)、浮点数(float)、复数(complex)等,一旦创建就不能修改其值。

字符串(String):是由单个字符或者字符串序列组成的不可变序列,一旦创建就不能修改其内容。

元组(Tuple):是由一组有序的、不可重复的元素组成的序列,一旦创建就不能再进行修改。

布尔型(Boolean):只有两个取值,即True和False。

冻结集合(Frozen Set):是一种不可变的集合类型,可以看做是集合的不可变版本,一旦创建就不能再进行修改。

需要注意的是,虽然不可变数据类型的值不能被修改,但是它们可以被重新赋值为其他的值。例如,一个整数变量可以被重新赋值为另一个整数,但是不能修改原来的整数值。同时,在Python中,字符串和元组等不可变类型也可以进行拼接、切片和索引等操作,但是这些操作并不会修改原来的值,而是返回一个新的对象。

可变数据类型

Python中的可变数据类型是指在创建后可以通过修改其内部状态来改变其内容的数据类型。Python中的主要可变数据类型包括:

  1. 列表(List):列表是Python中最常用的可变数据类型之一。列表中可以包含任意类型的元素,并且可以通过索引和切片来访问和修改其元素。
  2. 字典(Dictionary):字典是Python中另一个常用的可变数据类型。字典中的元素是以键值对的形式存储的,可以通过键来访问和修改其值。
  3. 集合(Set):集合是Python中用于存储唯一元素的可变数据类型。集合支持多种操作,例如交集、并集、差集等。
  4. 字节数组(Bytearray):字节数组是一种可变的二进制数据类型,可以通过修改其元素来改变其内容。
  5. 队列(Queue):队列是Python标准库中提供的一种可变数据类型,可以通过添加或删除元素来改变其内容。队列支持多种操作,例如入队、出队等。
  6. 堆(Heap):堆是一种可以动态添加或删除元素的可变数据类型,可以通过堆排序来维护其内部的元素顺序。

类型转换

在 Python 中,可以使用一些内置函数来进行类型转换。以下是一些常用的类型转换函数:

  1. int():将一个数值或字符串转换成整数。例如,int(‘123’) 返回 123。
  2. float():将一个数值或字符串转换成浮点数。例如,float(‘3.14’) 返回 3.14。
    1. float("inf")是无穷大
  3. str():将一个对象转换成字符串。例如,str(123) 返回 ‘123’。
  4. bool():将一个值转换成布尔类型。例如,bool(0) 返回 False,bool(1) 返回 True。
  5. list():将一个可迭代对象转换成列表。例如,list(‘hello’) 返回 [‘h’, ‘e’, ‘l’, ‘l’, ‘o’]。
  6. tuple():将一个可迭代对象转换成元组。例如,tuple([‘a’, ‘b’, ‘c’]) 返回 (‘a’, ‘b’, ‘c’)。
  7. set():将一个可迭代对象转换成集合。例如,set([1, 2, 3]) 返回 {1, 2, 3}。
  8. dict():将一个可迭代对象转换成字典。例如,dict([(‘name’, ‘Alice’), (‘age’, 18)]) 返回 {‘name’: ‘Alice’, ‘age’: 18}。

类型转换并不总是能够成功。例如,如果尝试将一个非数值或非字符串的对象转换成整数或浮点数,会引发 TypeError 异常。因此,在进行类型转换时需要注意类型的兼容性。

【Python基础】数据类型与类型转换的更多相关文章

  1. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  2. 图解python | 基础数据类型

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  3. Python基础数据类型-列表(list)和元组(tuple)和集合(set)

    Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...

  4. python基础数据类型考试题

    Python基础数据类型考试题 考试时间:两个半小时                      满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...

  5. 1--Python 入门--Python基础数据类型

    一.Python基础语法 初次使用Python,首先要明确三点: Python的标识符(例如变量名.函数名等),可用字母.数字和下划线构成,不能以数字开头,且区分大小写. Python对于缩进敏感.在 ...

  6. python 基础数据类型之list

    python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...

  7. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

  8. Python基础数据类型题

    Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...

  9. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...

  10. Python基础数据类型之集合

    Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...

随机推荐

  1. Visual Studio Tools for Apache Cordova 使用web技术构建使用Ios Andriod 和 windows 的应用

    1.vs 开发web app 2.官方的解说

  2. 01.html大致主体格式

    <!DOCTYPE html> 不是HTML标签,就是文档声明标签 告诉浏览器使用哪种html版本来显示网页,其必须在文档中的最前面位置,要放在<html>标签之前, < ...

  3. .Net中跨域问题的解决方案

    开发中前端与后端完全分离并分开发布,遇到跨域问题,一通百度之后,解决方案如下: 把下面的代码放在web.config文件中的 System.WebServer 节点下 <httpProtocol ...

  4. Charles抓包数据导入postman

    Charles抓包数据导入postman 1.先抓取到对应的请求,右键,再点击Copy cURL Request,操作如下图所示:                                   ...

  5. egret 当前运行环境

    if(egret.Capabilities.runtimeType == egret.RuntimeType.WXGAME){}

  6. gitlab-ce安装

    # vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors. ...

  7. python安装第三方库出现“'pip' is not recognized ...”报错及其解决

    命令行安装第三方库,直接 通过命令 pip install XXX 会报错: 'pip' is not recognized as an internal or external command, o ...

  8. jQuery下载步骤以及相关使用

    jQuery下载 进入相关网址执行下载操作,网址在这里:http://www.jq22.com/jquery-info122 进入页面之后,页面的左侧,会有这样的显示: 我们需要自主在这里选择自己需要 ...

  9. Javaweb知识复习--MyBatis+Mapper代理开发

    一种持久层框架,主要用于简化JDBC MyBatis应用步骤 1.在数据库里面创建一个表 2.创建模块,导入坐标 就是新建一个Maven项目,在pom.xml里面导入mybatis相应导包依赖代码: ...

  10. 基于 Gitlab + Harbor + K8s + Kuboard 的 CI 实践

    CI/CD 概念 CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法.CI/CD 的核心概念是持续集成.持续交付和持续部署.作为一种面向开发和运维团队的解决方案,CI/CD 主要 ...