【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 ...
随机推荐
- Windows10电源选项:睡眠、休眠、启用快速启动
参考链接: http://www.dnpz.net/diannaozhishi/2223.html http://www.cfan.com.cn/2018/0118/130151.shtml 在介绍w ...
- Nginx TP框架伪静态配置
location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } }
- 第二章启动引导器GRUB2
第二章启动引导器GRUB2grub的配置文件路径:vim /boot/grub2/grub.cfg (不建议直接编辑)vim /etc/default/grub (可编辑的文件)将编辑的操作刷新到/b ...
- objectarx调用python注意点
1. 用conda先装好虚拟环境,为了兼容cad2010,最高只能用python3.5(已经不维护了), 如果cad高版本建议python3.6+ 2. 能用pip安装的就用pip安装, 不能用pip ...
- WordPress安全方案
一.WordPress介绍WordPress是一款世界级的网站内容管理系统,因其系统结构科学合理,功能强大,操作简单,拥有海量用户.和其他CMS一样,安全漏洞也是其无法避免的问题.虽然官方不断发布补丁 ...
- svn提交规范
本文档参考了Git提交规范,旨在规范使用SVN进行代码版本管理时的提交操作. 提交前的准备 1. 检查代码 在提交代码前,请先进行必要的代码检查,确保代码的正确性.可读性和可维护性.可以使用代码质量管 ...
- CSPS2019 括号树 题解
链的部分分 我们设f[i]表示以i结尾的括号序列有多少个,那么i的实际答案就是f的前缀和 显然,所有左括号和不能匹配的右括号的f均为0 对于每一个能匹配的右括号i,我们找到与之匹配的左括号p,以i结尾 ...
- MATLAB信号处理常用函数(转载)
https://shimo.im/docs/YyRXY8cQdqY8RJvc/ <MATLAB信号处理工具箱>,可复制链接后用石墨文档 App 或小程序打开 嗯这个肯定是随便看看,有个印象 ...
- CF1801B题解
CF1801B题解 传送门 更好的阅读体验 简化题意:有 n 个商店,每个商店卖 a,b 两种商品,价格分别为 \(a_i,b_i\),你需要在每个商店买一个商品,并且不能在所有商店都买同一种商品,最 ...
- nodsjs POST请求
PHP 遇到问题: 1.跨域问题 报failed to load response data:no data fond for response with give header("Cont ...