【Python基础】数据类型与类型转换
五种基本数据类型
在 Python 中,基本数据类型是指不可变对象的数据类型。以下是 Python 中的基本数据类型:
- 整数类型(int):表示整数,例如 1、2、3 等等。
- 浮点数类型(float):表示带有小数点的数字,例如 1.0、2.5、3.14 等等。
- 复数类型(complex):表示形如 a+bj 的复数,其中 a 和 b 是浮点数,j 表示虚数单位。
- 布尔类型(bool):表示 True 和 False 两种值。
- 字符串类型(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中的主要可变数据类型包括:
- 列表(List):列表是Python中最常用的可变数据类型之一。列表中可以包含任意类型的元素,并且可以通过索引和切片来访问和修改其元素。
- 字典(Dictionary):字典是Python中另一个常用的可变数据类型。字典中的元素是以键值对的形式存储的,可以通过键来访问和修改其值。
- 集合(Set):集合是Python中用于存储唯一元素的可变数据类型。集合支持多种操作,例如交集、并集、差集等。
- 字节数组(Bytearray):字节数组是一种可变的二进制数据类型,可以通过修改其元素来改变其内容。
- 队列(Queue):队列是Python标准库中提供的一种可变数据类型,可以通过添加或删除元素来改变其内容。队列支持多种操作,例如入队、出队等。
- 堆(Heap):堆是一种可以动态添加或删除元素的可变数据类型,可以通过堆排序来维护其内部的元素顺序。
类型转换
在 Python 中,可以使用一些内置函数来进行类型转换。以下是一些常用的类型转换函数:
- int():将一个数值或字符串转换成整数。例如,int(‘123’) 返回 123。
- float():将一个数值或字符串转换成浮点数。例如,float(‘3.14’) 返回 3.14。
float("inf")是无穷大
- str():将一个对象转换成字符串。例如,str(123) 返回 ‘123’。
- bool():将一个值转换成布尔类型。例如,bool(0) 返回 False,bool(1) 返回 True。
- list():将一个可迭代对象转换成列表。例如,list(‘hello’) 返回 [‘h’, ‘e’, ‘l’, ‘l’, ‘o’]。
- tuple():将一个可迭代对象转换成元组。例如,tuple([‘a’, ‘b’, ‘c’]) 返回 (‘a’, ‘b’, ‘c’)。
- set():将一个可迭代对象转换成集合。例如,set([1, 2, 3]) 返回 {1, 2, 3}。
- dict():将一个可迭代对象转换成字典。例如,dict([(‘name’, ‘Alice’), (‘age’, 18)]) 返回 {‘name’: ‘Alice’, ‘age’: 18}。
类型转换并不总是能够成功。例如,如果尝试将一个非数值或非字符串的对象转换成整数或浮点数,会引发 TypeError 异常。因此,在进行类型转换时需要注意类型的兼容性。
【Python基础】数据类型与类型转换的更多相关文章
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- 图解python | 基础数据类型
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- python基础数据类型考试题
Python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...
- 1--Python 入门--Python基础数据类型
一.Python基础语法 初次使用Python,首先要明确三点: Python的标识符(例如变量名.函数名等),可用字母.数字和下划线构成,不能以数字开头,且区分大小写. Python对于缩进敏感.在 ...
- python 基础数据类型之list
python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- Python基础数据类型题
Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...
- Python基础数据类型之字符串
Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...
- Python基础数据类型之集合
Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...
随机推荐
- 第二章 excel的快捷键操作
本章介绍excel中部分常用的快捷键 1.文件类 工作簿操作:Ctrl + N 新建:Ctrl + w 关闭当前:Ctrl + S 保存 F12 当前另存为 Ctrl + p 打印当前 2.通用类 C ...
- P1706 全排列问题(DFS)
全排列问题 题目描述 按照字典序输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数n 输出格式 由1 ~ n组成的所有不重复的数字序列 ...
- springboot-项目获取resources下文件
背景: 项目的resources 目录下放置了一份txt文件,需求是想获取到这份文件转成File对象,调用文件上传的接口进行文件上传操作. 实现: 1.使用 ResourceUtils:本地ok,测试 ...
- leetcode medium 记录 51-100
# Title Solution Acceptance Difficulty Frequency 92 Reverse Linked List II 40.3% Medium ...
- Linux shell $相关的变量
代码示例1 点击查看代码 user="yaya" echo ${user} #在已定义过的变量前加$符号便可使用该变量,{}是可选的 yaya #输出结果 代码示例2 点击查看代码 ...
- 痞子衡嵌入式:盘点国内RISC-V内核MCU厂商(2021年发布产品)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内RISC-V内核MCU厂商(2021). 虽然RISC-V风潮已经吹了好几年,但2019年才是其真正进入主流市场的元年,最近国内大量 ...
- 再谈回声消除测评丨Dev for Dev 专栏
本文为「Dev for Dev 专栏」系列内容,作者为声网音视频实验室工程师 黄译庆. 音频质量的优化是一个复杂的系统工程,回声消除是其中一个老生常谈的话题,一般来说,回声消除的效果受设备本身的声学设 ...
- 基于Kafka和Elasticsearch构建实时站内搜索功能的实践
作者:京东物流 纪卓志 目前我们在构建一个多租户多产品类网站,为了让用户更好的找到他们所需要的产品,我们需要构建站内搜索功能,并且它应该是实时更新的.本文将会讨论构建这一功能的核心基础设施,以及支持此 ...
- 可靠消息最终一致性【本地消息表、RocketMQ 事务消息方案】
更多内容,前往IT-BLOG 一.可靠消息最终一致性事务概述 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调 ...
- SpringBoot打包成exe(别再用exe4j了,使用JDK自带工具)
SpringBoot打包成exe(别再用exe4j了,使用JDK自带工具) 搜到大部分打包exe的文章都是使用exe4j打包 步骤贼多,安装麻烦,打包麻烦 收费软件,公司使用会吃律师函 JDK14以上 ...