Python中常用的有7种值(数据)的类型及type()语句的用法
目录
- 0.Python中常用的有7种值(数据)的类型
- Python中的数据类型主要有:```Number```(数字)、```Boolean```(布尔)、```String```(字符串)、```List```(列表)、```Tuple```(元组)、```Dictionary```(字典)、```Set```(集合)。
- 1. ```type()```语句的使用方式
- 2. ```isinstance()```判断一个变量的类型
- 3.数据类型的转换
0.Python中常用的有7种值(数据)的类型


Python 中的每个值都有一个数据类型。
在 Python 编程中,一切(万物)皆对象,数据类型实际上是类,变量是这些类的实例(对象)。
Python中的数据类型主要有:Number(数字)、Boolean(布尔)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)、Set(集合)。
其中又分为可变数据类型和不可变数据类型,可变数据类型是指可以随着函数的执行发生变化,而不可变数据类型不可以改变
- 不可变数据类型(3个):
Number(数字)、Boolean(布尔)、String(字符串)、Tuple(元组) - 可变数据类型(4个):
List(列表)、Dictionary(字典)、Set(集合)
1. type()语句的使用方式
- 类型:数字
-
int(整型)
-
float(浮点型)
-
complex(复数)
Py3.x 去除了 long 类型,现在只有一种整型int,表示为长整型
print(type(111)) # 这是单行注释,整数可以是任何长度,只受到可用内存的限制。```
print(type(111.0)) #浮点数精确到 15 位小数。
print(type(4+3j)) #复数以 x + yj 的形式写成,其中 x 是实部,y 是虚部。
'''
这是多行注释,用三个单引号
'''
>>> i = 2 ** 500 # 2 的 500 次幂
>>> i
3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376
>>>
>>> f = 0.12345678901234567890
>>> f
0.12345678901234568 # 值被截断
>>>
>>> c = 5+6j
>>> c
(5+6j)
- 类型:布尔
print(type(True))

- 类型:字符串
字符串是 Unicode 字符的序列。
可以使用单引号('')或双引号("")来表示字符串,多行字符串可以使用三重引号 ‘’’ 或 “”" 来表示。
print(type("湖南"))

>>> s = 'Hello, Python!' # 单引号
>>> s
'Hello, Python!'
>>>
>>> s = "Hello, World!" # 双引号
>>> s
'Hello, World!'
>>>
>>> s = '''Hello, # 三重单引号
... Python!'''
>>> s
'Hello,\nPython!'
>>>
>>> s = """ # 三重双引号
... Hello,
... World!
... """
>>> s
'\nHello,\nWorld!\n'
字符串可以被索引和截取,截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 开始,-1 为从末尾的开始位置。
>>> s = "Hello, World!"
>>>
>>> s[4] # 第五个字符
'o'
>>>
>>> s[7:10] # 第八个开始到第十个的字符
'Wor'
>>>
>>> s[-4:-1] # 倒数第四个开始到倒数第一个的字符
'rld'
>>> s[0:-1] # 从第1个开始到倒数第一个的字符
''Hello, World''
>>> s[:-1] # 从第1个开始到倒数第一个的字符(0可省略)
''Hello, World''
>>>
>>> s[5] = 'p' # 生成错误,字符串是不可变的
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
加号(+)是字符串的连接符, 星号(*) 表示复制当前字符串,紧跟的数字为复制的次数。
>>> s1 = "Hello,"
>>> s2 = " World!"
>>>
>>> s1 + s2 # 连接字符串
'Hello, World!'
>>>
>>> (s1 + s2) * 3 # 复制 3 次字符串
'Hello, World!Hello, World!Hello, World!'
- 类型:列表
列表是有序的元素序列,它是 Python 中使用最频繁的数据类型,非常灵活。
列表中元素的类型可以不同,支持数字、字符串,甚至可以包含列表(所谓的嵌套)。
列表用[]标识,内部元素用逗号分隔。
print(type([1,2,3,4,5,6,7]))

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
>>> l = [3, 2, 5, 4, 1]
>>> l
[3, 2, 5, 4, 1] # 有序
>>>
>>> l[2] # 第三个元素
5
>>>
>>> l[0:3] # 从第一个元素到第三个元素
[3, 2, 5]
>>>
>>> l[3:] # 从第三个元素开始的所有元素
[4, 1]
列表是可变的,意思是说,列表中元素的值可以被改变。
>>> l = [1, 2, 3]
>>> l[2] = 5 # 将第三个元素 3 变为 5
>>> l
[1, 2, 5]
- 类型:元组
元组与列表相同,也是有序序列,唯一的区别是元组是不可变的。
元组适用于保护性的数据,通常比列表快,因为它不能动态更改。
元组用()标识,内部元素用逗号分隔。
print(type((1,2,3,4,5,6,7)))

元组也可以被索引和截取,但是不能被更改。
>>> t = (3, 2, 5, 4, 1)
>>> t
(3, 2, 5, 4, 1) # 有序
>>>
>>> t[1] # 第二个元素
2
>>>
>>> t[0:2] # 从第一个元素到第二个元素
(3, 2)
>>>
>>> t[0] = 10 # 生成错误,元组是不可变的
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
虽然元组中的元素不可变,但它可以包含可变的对象,例如:List(列表)。
构造一个空的或者包含一个元素的元组比较特殊,所以要采用一些额外的语法规则:
>>> tup1 = () # 空元组
>>> tup2 = (5, ) # 一个元素,需要在元素后添加逗号
- 类型:集合
集合是一个无序不重复元素集。
集合用 {} 标识,内部元素用逗号分隔。
可以使用大括号 {} 或者 set() 函数创建集合,注意: 要创建一个空集合,必须使用 set() 而不是 {},因为 {} 用于创建一个空字典。
a={1,2,3,4,5,6,7}
print(type(a))

既然集合是无序的,那么索引就没有任何意义,也就是说,切片操作符 [] 不起作用。
>>> s = {"Java", "Python", "PHP"}
>>> s
{'PHP', 'Python', 'Java'} # 无序
>>>
>>> s[1] # 生成错误,不支持索引
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: 'set' object does not support indexing
不重复,是指集合中相同的元素会被自动过滤掉,只保留一份。
>>> s = {"PHP", "Python", "Java", "Python", "PHP"}
>>> s
{'PHP', 'Python', 'Java'} # 去重
除了去重之外,还常用于成员关系的测试。
>>> if ('Python' in s) :
... print('Python 在集合中')
... else :
... print('Python 不在集合中')
...
Python 在集合中
集合之间也可执行运算,例如:并集、差集、交集。
>>> a = set('abcdefg')
>>> b = set('abghijk')
>>>
>>> a
{'b', 'f', 'e', 'd', 'a', 'c', 'g'}
>>> b
{'b', 'k', 'h', 'i', 'j', 'a', 'g'}
>>>
>>> a - b # 差集
{'f', 'c', 'd', 'e'}
>>>
>>> a | b # 并集
{'b', 'k', 'f', 'h', 'i', 'e', 'j', 'd', 'a', 'c', 'g'}
>>>
>>> a & b # 交集
{'b', 'a', 'g'}
>>>
>>> a ^ b # 对称差 - 不同时存在的元素
{'e', 'c', 'k', 'f', 'h', 'i', 'j', 'd'}
对称差公式:A Δ B = (A − B) ∪(B − A)。也可表示为两个集合的并集减去它们的交集:A Δ B = (A ∪B) − (A ∩B)。
- 类型:字典
字典是键值对的无序集合。
通常在有大量的数据时会使用,在检索数据时字典做了优化,必须知道要检索的 value 所对应的 key。
字典用 {} 标识,其中的每个元素都以key:value对的形式出现,key 和 value 可以是任何类型。
注意: 字典中的 key 必须是唯一的。
a={'admin':'pwd'}
print(type(a))

可以用 key 来检索相应的 value,但相反则不行。
>>> d = {} # 创建空字典
>>> d['name'] = 'Python' # 增加新的键/值对
>>> d['site'] = 'www.python.org'
>>>
>>> d
{'name': 'Python', 'site': 'www.python.org'}
>>>
>>> d['site'] # 键为 'site' 的值
'www.python.org'
>>>
>>> d['Python'] # 生成错误,不能用 value 检索 key
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 'Python'
字典有一些内置的函数,例如:keys()、values()、clear() 等。
>>> d.keys() # 所有键
dict_keys(['name', 'site'])
>>>
>>> d.values() # 所有值
dict_values(['Python', 'www.python.org'])
>>>
>>> d.clear() # 清空字典
>>> d
{}
2. isinstance()判断一个变量的类型
可以使用type(变量名称)方法,返回变量的数据类型;2.isinstance(变量名称,数据类型),只能返回True或False
a=111
print(isinstance(a,int))

3.数据类型的转换
可以使用不同的类型转换函数来转换不同的数据类型,例如:int()、float()、str()等。
从 int 转换为 float:
>>> float(5)
5.0
从 float 到 int 的转换,值将会被截断(使其接近零):
>>> int(10.8)
10
>>>
>>> int(-10.8)
-10
字符串的转换必须包含兼容的值:
>>> float('2.5')
2.5
>>>
>>> str(25)
'25'
>>>
>>> int('str')
Traceback (most recent call last):File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'str'
甚至可以将一个序列转换为另一个序列:
>>> set([1, 2, 3])
{1, 2, 3}
>>>
>>> tuple({4, 5, 6})
(4, 5, 6)
>>>
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
要转换为字典,每个元素必须是一对:
>>> dict([[1, 'value'], ['key', 2]])
{1: 'value', 'key': 2}
相关文章:
Python中常用的有7种值(数据)的类型及type()语句的用法
目录 0.Python中常用的有7种值(数据)的类型Python中的数据类型主要有:Number(数字)、Boolean(布尔)、String(字符串)、List(列表)、Tuple…...
某配送平台未授权访问和弱口令(附赠nuclei默认密码验证脚本)
找到一个某src的子站,通过信息收集插件,发现ZABBIX-监控系统,可以日一下 使用谷歌搜索历史漏洞:zabbix漏洞 通过目录扫描扫描到后台,谷歌搜索一下有没有默认弱口令 成功进去了,挖洞就是这么简单 搜索文章还…...
01.总览
目录 简介Course 1: Natural Language Processing with Classification and Vector SpaceWeek 1: Sentiment Analysis with Logistic RegressionWeek 2: Sentiment Analysis with Nave BayesWeek 3: Vector Space ModelsWeek 4: Machine Translation and Document Search Cours…...
Linux换源
前言 安装完Linux系统,尽量更换源以提高安装软件的速度。 步骤 备份原始源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak修改sources.list sudo vim /etc/apt/sources.list将内容替换成对应的源 **PS:清华源地址:https:…...
【高考志愿】 化学工程与技术
目录 一、专业概述 二、就业前景 三、就业方向 四、报考注意 五、专业发展与深造 六、化学工程与技术专业排名 七、总结 一、专业概述 化学工程与技术专业,这是一门深具挑战与机遇的综合性学科。它融合了工程技术的实用性和化学原理的严谨性,为毕…...
2024上半年网络与数据安全法规政策、国标、报告合集
事关大局,我国数据安全立法体系已基本形成并逐步细化。数据基础制度建设事关国家发展和安全大局,数据安全治理贯穿构建数据基础制度体系全过程。随着我国数字经济建设进程加快,数据安全立法实现由点到面、由面到体加速构建,目前已…...
基于SpringBoot扶农助农政策管理系统设计和实现(源码+LW+调试文档+讲解等)
💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…...
淘宝商铺电话怎么获取?使用爬虫工具采集
访问淘宝商铺是一个合法的行为,你可以使用爬虫工具来提取淘宝商铺的信息。下面是一个基本的Python程序示例,用于使用爬虫工具访问淘宝商铺: import requestsdef get_store_info(store_id):url fhttps://shop{id}.taobao.comresponse reque…...
ModStart:开源免费的PHP企业网站开发建设管理系统
大家好!今天我要给大家介绍一款超级强大的开源工具——ModStart,它基于Laravel框架,是PHP企业网站开发建设的绝佳选择! 为什么选择ModStart? 模块化设计:ModStart采用模块化设计,内置了众多基…...
npm安装依赖报错——npm ERR gyp verb cli的解决方法
1. 问题描述 1.1 npm安装依赖报错——npm ERR! gyp verb cli npm MARN deprecated axiosQ0.18.1: critical security vuLnerability fixed in v0.21.1. For more information, npm WARN deprecated svg001.3.2: This SVGO version is no Longer supported. upgrade to v2.x.x …...
公网环境使用Potplayer远程访问家中群晖NAS搭建的WebDAV听歌看电影
文章目录 前言1 使用环境要求:2 配置webdav3 测试局域网使用potplayer访问webdav4 内网穿透,映射至公网5 使用固定地址在potplayer访问webdav 前言 本文主要介绍如何在Windows设备使用potplayer播放器远程访问本地局域网的群晖NAS中的影视资源ÿ…...
Forecasting from LiDAR via Future Object Detection
Forecasting from LiDAR via Future Object Detection 基础信息 论文:cvpr2022paper https://openaccess.thecvf.com/content/CVPR2022/papers/Peri_Forecasting_From_LiDAR_via_Future_Object_Detection_CVPR_2022_paper.pdfgithub:https://github.co…...
【unity笔记】五、UI面板TextMeshPro 添加中文字体
Unity 中 TextMeshPro不支持中文字体,下面为解决方法: 准备字体文件,从Windows系统文件的Fonts文件夹里拖一个.ttf文件(C盘 > Windows > Fonts ) 准备字库文件,新建一个文本文件,命名为“字库”&…...
如何在Windows 11上设置默认麦克风和相机?这里有详细步骤
如果你的Windows 11计算机上连接了多个麦克风或网络摄像头,并且希望自动使用特定设备,而不必每次都在设置中乱动,则必须将首选设备设置为默认设备。我们将向你展示如何做到这一点。 如何在Windows 11上更改默认麦克风 有两种方法可以将麦克…...
Flutter循序渐进==>数据结构(列表、映射和集合)和错误处理
导言 填鸭似的教育确实不行,我高中时学过集合,不知道有什么用,毫无兴趣,等到我学了一门编程语言后,才发现集合真的很有用;可以去重,可以看你有我没有的,可以看我有你没有的…...
泛微E9开发 限制明细表列的值重复
限制明细表列的值重复 1、需求说明2、实现方法3、扩展知识点3.1 修改单个字段值(不支持附件类型)3.1.1 格式3.1.2 参数3.1.3 案例 3.2 获取明细行所有行标示3.2.1 格式3.2.2 参数说明 1、需求说明 限制明细表的“类型”字段,在同一个流程表单…...
magicapi导出excel
参考:Hutool参考文档 response模块 | magic-api import response;import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map;import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; …...
【秋招突围】2024届秋招笔试-科大讯飞笔试题-03-三语言题解(Java/Cpp/Python)
🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系计划跟新各公司春秋招的笔试题 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📧 清隆这边…...
springboot是否可以代替spring
Spring Boot不能直接代替Spring,但它是Spring框架的一个扩展和增强,提供了更加便捷和高效的开发体验。以下是关于Spring Boot和Spring关系的详细解释: Spring框架: Spring是一个广泛应用的开源Java框架,提供了一系列模…...
基于SpringBoot的CSGO赛事管理系统
您好!我是专注于计算机技术研究的码农小野。如果您对CSGO赛事管理系统感兴趣或有相关开发需求,欢迎随时联系我。 开发语言:Java 数据库:MySQL 技术:SpringBoot框架,Java技术 工具:Eclipse&a…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
