python基础之五大标准数据类型
学习一门语言,往往都是从Hello World开始。 但是笔者认为,在一个黑框框中输出一个“你好,世界”并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常常说的基础。本篇从python中的变量类型开始。
五大标准数据类型
在内存中存储的数据可以有多种类型。
例如, 一个人的名字可以用字符来存储, 年龄可以用数字来存储, 爱好可以用集合来存储等等。
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
其中属于集合类型的数据类型有 列表、元组及字典。
0x00. 数字(Numbers)
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
当你指定一个值时,Number对象就会被创建:
var1 = 1
var2 = 2
del语句删除一些对象的引用,其语法是:
del var1[,var2[,var3[....,varN]]]]
通过使用del语句可以删除单个或多个对象的引用。例如:
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 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
比如:
s = 'i love python'
s[2:6]的结果是love。(顾头不顾尾,或左闭右开)
操作实例:
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 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
操作实例:
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组成。
操作实例:
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基础之七种运算符
转载于:https://www.cnblogs.com/snaildev/p/7544558.html
python基础之五大标准数据类型相关推荐
- python类型-python基础之五大标准数据类型
学习一门语言,往往都是从Hello World开始. 但是笔者认为,在一个黑框框中输出一个"你好,世界"并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常 ...
- Python基础知识与常用数据类型
Python基础知识与常用数据类型 目录 Python基础知识与常用数据类型 一.Python概述: 二.Python中的基础语法: 三.Python内置数据结构: 4.附录 一.Python概述: ...
- Python基础(二)--数据类型,运算符与流程控制
目录 Python基础(二)--数据类型,运算符与流程控制 1 数据类型 1.1 Python中的数据类型 1.2 整数类型(int) 1.3 布尔类型 1.4 浮点类型 1.5 复数类型 1.6 类 ...
- 20190513——python基础(列表、数据类型:字典、列表和字典的异同)
二.python基础(列表.数据类型:字典.列表和字典的异同) 1.列表 1)什么是列表 2)从列表提取单 ...
- python中包含的标准数据类型_Python数据类型基础
1. Python标准数据类型 Python3 中有六个 标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字 ...
- Python基础概念_11_标准库
标准库 12 标准库 12.1 简介 Python 标准库是随Python附带安装的,它包含大量极其有用的模块.熟悉 Python 标准库是十分重要的,因为如果你熟悉这些库中的模块,那么你的大多数问题 ...
- Python基础教程:基本数据类型之布尔类型(Boolean)
计算机的本质就是计算,在其内部是0和1的比特位的变化,对外表现就是数据的变化.那么,计算机都能处理什么数据呢?本质上,数据都是以字节(Byte)存储的,表现上看,它们就是整数.浮点数和字符串等.Pyt ...
- python的8种标准数据类型有哪些_Python的八种数据类型
八种数据类型分别是: number(数字).string(字符串).Boolean(布尔值).None(空值) list(列表).tuple(元组).dict(字典).set(集合) 1.number ...
- 字典添加数据_【Python基础学习】4. 数据类型之字典及其操作
知行校园汇 记录学习.分享干货.吐槽人生! 关注 相关说明 文章内容:Python数据类型之字典及其操作 作者博客:csdn.cxhit.com www.cxhit.com 1. 什么是字典 在Pyt ...
最新文章
- linux环境下nacos的安装+启动,阿里云服务器安装nacos
- c语言循环并行处理,C语言设计并行处理
- wxWidgets:可用类概述
- 那一种笔记软件更好用_制作更好的面向用户软件的7种方法
- MyBatis Demo 编写(1)基础功能搭建
- Codeforces Round #429 Div. 1
- 每周送新书:Android软件安全、深入浅出Istio、软件架构设计
- Oracle PLSQL 从入门到精通
- WEB前端性能优化总结——如何提高网页加载速度
- ubuntu oracle 工具,ubuntu上安装Oracle InstantClient
- 如何快速将 Linux 系统制作成 ISO 镜像文件?
- 跟刘欣学习造spring
- 【通俗易懂】机器学习中 L1 和 L2 正则化的直观解释
- 秦雅:IT女生对未来职业的一点思考
- 市场调研-环保型烟花市场现状及未来发展趋势
- 【Python】tkinter点击按钮后获取按钮本身
- 场效应管(FET)总结:
- 基于PostGIS叠加分析优化--气象预警分析案例实践
- vuforia ar unity 案例从零制作 三 番外 假如想在一个程序扫描多个图片,出现不同模型
- python汇率程序_Python入门案例(一):汇率兑换
热门文章
- python 状态机_Python 状态机
- 矩阵论与计算机英语论文,矩阵论翻译论文[8页].pdf
- 卸载idea2020删除以前的配置_推荐一款只有5M大小的绿色良心的卸载工具!
- rmmod无法卸载驱动_AMD芯片组驱动更新:优化了RYZEN CPU供电调节
- SocketJs报错failed: Error during WebSocket handshake: Unexpected response code: 400
- linux内核makefile详解,linux kernel编译Makefile和Kconfig,make menuconfig详解
- matlab 引号内变量,MATLAB 7.0 单引号内变量现实问题!
- matlab接口与编程,精通MATLAB接口与编程
- android 模块混淆配置,使用android studio混淆多个模块
- python切换虚拟环境和全局_为什么python虚拟环境启动后依然使用全局的python和pip...