Python之python数据类型(python数据类型有几种)
off999 2024-09-13 13:36 33 浏览 0 评论
python基础之五大标准数据类型
学习一门语言,往往都是从Hello World开始。 但是笔者认为,在一个黑框框中输出一个“你好,世界”并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常常说的基础。本篇从python中的变量类型开始。
五大标准数据类型
在内存中存储的数据可以有多种类型。
例如, 一个人的名字可以用字符来存储, 年龄可以用数字来存储, 爱好可以用集合来存储等等。
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
其中属于集合类型的数据类型有 列表、元组及字典。
0x00. 数字(Numbers)
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
当你指定一个值时,Number对象就会被创建:
1
2
var1 = 1
var2 = 2
del语句删除一些对象的引用,其语法是:
1
del var1[,var2[,var3[....,varN]]]]
通过使用del语句可以删除单个或多个对象的引用。例如:
1
2
del var1
del var1, var2
四种不同的数字类型:
- int(有符号整型)
- long(长整型[也可以代表八进制和十六进制])
- float(浮点型)
- complex(复数)
a. int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
b. long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
c. float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
d. complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
小整数对象——小整型对象池
在实际编程中,数值比较小的整数,比如1,2,29等,可能会非常频繁的出现。而在python中,所有的对象都存在于系统堆上。想想?如果某个小整数出现的次数非常多,那么Python将会出现大量的malloc/free操作,这样大大降低了运行效率,而且会造成大量的内存碎片,严重影响Python的整体性能。
在Python2.5乃至3.3中,将小整数位于[-5,257)之间的数,缓存在小整型对象池中。
0x01. 字符串(String)
字符串或串(String)是由数字、字母、下划线组成的一串字符。
它是编程语言中表示文本的数据类型。
Python的字串列表有2种取值顺序:
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
如果你要实现从字符串中获取一段子字符串的话,可以使用变量 [头下标:尾下标],就可以截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
比如:
1
s = 'i love python'
s[2:6]的结果是love。(顾头不顾尾,或左闭右开)
操作实例:
1
2
3
4
5
6
7
8
str = 'Hello World'
print(str) #输出完整字符串
print(str[0]) #输出字符串中的第一个字符
print(str[2:5]) #输出字符串中第三个至第五个之间的字符
print(str[2:]) #输出从第三个开始到最后的字符串
print(str*2) #输出字符串两次
print('say: ' + str) #输出连接的字符串
0x02. 列表(List)
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
操作实例:
1
2
3
4
5
6
7
8
9
list = ['apple', 'jack', 798, 2.22, 36]
otherlist = [123, 'xiaohong']
print(list) #输出完整列表
print(list[0]) #输出列表第一个元素
print(list[1:3]) #输出列表第二个至第三个元素
print(list[2:]) #输出列表第三个开始至末尾的所有元素
print(otherlist * 2) #输出列表两次
print(list + otherlist) #输出拼接列表
0x03. 元祖(Tuple)
元组是另一个数据类型,类似于List(列表)。
元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
操作实例与列表相似
0x04. 字典(Dictionary)
字典(dictionary)是除列表以外Python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
操作实例:
1
2
3
4
5
6
7
8
9
10
dict = {}
dict['one'] = 'This is one'
dict[2] = 'This is two'
tinydict = {'name':'john','code':5762,'dept':'sales'}
print(dict['one']) #输出键为'one'的值
print(dict[2]) #输出键为2的值
print(tinydict) #输出完整的字典
print(tinydict.keys()) #输出所有键
print(tinydict.values()) #输出所有值
相关推荐
- 实战:用 Python+Flask+Echarts 构建电商实时数据大屏
-
在电商运营中,实时掌握销售趋势、用户行为等核心数据是决策的关键。本文将从实战角度,详解如何用Python+Flask+Echarts技术栈,快速搭建一个支持实时更新、多维度可视化的电商数据大屏,帮...
- DeepSeek完全使用手册:从新手到高手的2000字实操指南
-
一、工具定位与核心功能矩阵(200字)DeepSeek是一款专注于深度推理的强大AI助手,其功能丰富多样,可归纳为4大能力象限:plaintext差异化优势:DeepSeek支持最长达16Ktok...
- Python绘制可爱的图表 cutecharts
-
一个很酷的python手绘样式可视化包——可爱的图表cutecharts。Cutecharts非常适合为图表提供更个性化的触感。Cutecharts与常规的Matplotlib和Seabo...
- 第十二章:Python与数据处理和可视化
-
12.1使用pandas进行数据处理12.1.1理论知识pandas是Python中最常用的数据处理库之一,它提供了高效的数据结构和数据分析工具。pandas的核心数据结构是Serie...
- 5分钟就能做一个Excel动态图表,你确定不学学?(纯gif教学)
-
本文说明下图是一个比较酷炫的Excel动态图表,最难的部分就是用到了一个复选框控件。其实这个控件我很早就见过,但是不会用呀!望洋兴叹。这次呢,我也是借着这个文章为大家讲述一下这个控件的使用。本文没有...
- Python数据可视化:从Pandas基础到Seaborn高级应用
-
数据可视化是数据分析中不可或缺的一环,它能帮助我们直观理解数据模式和趋势。本文将全面介绍Python中最常用的三种可视化方法。Pandas内置绘图功能Pandas基于Matplotlib提供了简洁的绘...
- 如何使用 Python 将图表写入 Excel
-
将Python生成的图表写入Excel文件是数据分析和可视化中常见的需求。Python提供了多种库(如matplotlib、openpyxl和xlsxwriter)来实现这一功能。本文...
- Excel 图表制作太痛苦?用 Python 生成动态交互图表
-
做个动态图表花了3小时?你该换方法了!上周帮销售部做季度汇报图表,Excel操作把我整崩溃了——插入折线图后发现数据源选错,重新选择又得调格式想做动态筛选图表,捣鼓"开发工具"...
- Python Matplotlib 入门教程:可视化数据的基石
-
一、简介Matplotlib是Python中最流行的数据可视化库,提供从简单折线图到复杂3D图形的完整解决方案。其核心优势在于:o灵活性强:支持像素级样式控制o兼容性好:与NumPy、Pa...
- 20种Python数据可视化绘图 直接复制可用
-
本文介绍20种python数据绘图方法,可直接用于科研绘图或汇报用图。1.折线图(LinePlot)-描述数据随时间或其他变量的变化。importmatplotlib.pyplotasp...
- Python os模块完全指南:轻松玩转文件管理与系统操作
-
Pythonos模块完全指南:轻松玩转文件管理与系统操作os模块是Python与操作系统对话的"瑞士军刀",学会它能让你轻松管理文件、操控路径、获取系统信息。本教程通过场景化案例+...
- Python中h5py与netCDF4模块在Anaconda环境的下载与安装
-
本文介绍基于Anaconda环境,下载并安装Python中h5py与netCDF4这两个模块的方法。h5py与netCDF4这两个模块是与遥感图像处理、地学分析等GIS操作息息相关的模块,应用...
- python中的模块、库、包有什么区别?
-
一文带你分清Python模块、包和库。一、模块Python模块(Module),是一个Python文件,以.py结尾,包含了Python对象定义和Python语句。模块能定义函数,类和变...
- centos7 下面使用源码编译的方式安装python3.11
-
centos7下面使用源码编译的方式安装python3.11,步骤如下:cd/root#只是将python3.11的安装包下载到/root目录下wgethttps://www.python.o...
- Python其实很简单 第十四章 模块
-
模块是一组程序代码,可以是别人已经写好的,也可以是自己编写的,但都是已经存在的,在编程时直接使用就可以了。模块机制的最大好处就是程序员不再编写重复的代码,而直接利用已有的成果,这样就能将更多的精力投入...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)