【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 ...
随机推荐
- openssl 全面支持国密SM2/SM3/SM4加密算法
sm4展示 代码 /** 文件名: https://github.com/liuqun/openssl-sm4-demo/blob/cmake/src/main.c */ #include <s ...
- Windows下Zookeeper安装使用
Windows下Zookeeper安装使用 ZooKeeper是一种分布式协调服务,用于管理大型主机. 在分布式环境中协调和管理服务是一个复杂的过程. ZooKeeper通过其简单的架构和API解决了 ...
- 2020.11.24 typeScript命名空间
命名空间:定义了标识符的可见范围,一个标识符可以在多个命名空间中定义,它在不同命名空间的含义是互不相干的.在一个新的命名空间可以定义任何新的标识符,它不会与已有的任何标识符发生冲突. 使用: 这个时候 ...
- PHP 二维按照某个字段对数组排序
function arraySort($arr, $keys, $type = 'asc') {//二维按照某个字段对数组排序 $keysvalue = $new_array = array(); f ...
- MySql数据库的两大引擎InnoDB和MyIsam的区别
事务方面 InnoDB支持事务,MyISAM不支持事务.MySql的默认存储引擎为InnoDB 外键方面 InnoDB支持外键,MyISAM不支持,对一个包含外键的InnoDB表转为MYISAM会失败 ...
- vulnhub靶场之HARRYPOTTER: ARAGOG (1.0.2)
准备: 攻击机:虚拟机kali.本机win10. 靶机:HarryPotter: Aragog (1.0.2),下载地址:https://download.vulnhub.com/harrypotte ...
- 详解AQS的7个同步组件
摘要:AQS的全称为Abstract Queued Synchronizer,是在J.U.C(java.util.concurrent)下子包中的类. 本文分享自华为云社区<[高并发]AQS案例 ...
- RPA主流厂商有哪些?
RPA(机器人流程自动化(Robotic Process Automation)是一种能够自动化基于规则.结构化和重复的业务流程的技术.机器人流程自动化降低了成本,同时防止了人为错误,该技术目前已应用 ...
- Android笔记--报错AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY in "create table if not exists user_info(导致APP闪退)
问题描述 每次一运行,APP程序必定闪退,百度了发现,闪退问题绝大多数就跟sql语句有关: 看到控制台报出这样的错误: 百度发现,我忘记了最初的知识点: 在表里面,自动递增是在数据类型为Integer ...
- Linux Redhat ens33不显示IP问题
[第一步]:查看系统网卡设备 : ip addr show