python基础-数据类型
Posted wangxianyun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础-数据类型相关的知识,希望对你有一定的参考价值。
一、什么是数据类型
数据类型是一组具有相似属性的一类数据的集合,数据类型决定了其存储到计算机中的方式。将数据进行类型划分,是为了更方便的处理数据。比如:你想让计算机进行数值运算,你就传数字给它,你想让它处理文字,就传字符串给它。python中的基本数据类型包括:数字类型、字符串类型、列表类型、元组类型、字典类型、集合类型、布尔类型,一共七种。
二、数字类型(number)
(1)int(整型)
在64位系统中,整数的位数位64位,取值范围-263 ~ 263 -1。
(2)long(长整型)
跟C语言不同,python的长整型没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于及其内存有限,我们使用的长整型数值不可能无限大。
- 注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整型,所以如今在长整数数据后边不加字母L也不会导致严重后果。在python3里不再有long类型了,全都是int
a = 2**65 print(type(a)) b = 2**60 print(type(b))
在phthon3环境中,得到的结果均为<class \'int\'>。
(3)float(浮点型)
即小数,如1.111,2.333等
三、字符串(string)
在python 中,加了引号(" ",\' \',\'\'\' \'\'\')的字符都被认为是字符串。
age = "22" # 只要加引号就是字符串 age = 22 # 不加引号为int msg = \'\'\' My name is alex, Iam 22 years old \'\'\' # 三个引号也可以 hometown = \'Shandong\' # 单引号也行
单引号、双引号、多引号有什么区别呢?
单引号和双引号没有任何区别,只有在特殊情况下,需要配合使用,比如:
msg = "My name is alex, I\'m 22 years old!"
多引号的区别在于,多引号可以容纳多行字符串,比如:
复制代码 msg = \'\'\' 床前明月光, 疑是地上霜, 举头望明月, 低头思故乡。 \'\'\' 复制代码
四、布尔类型
布尔类型很简单,就两个值,一个真True,一个假False,主要用于逻辑判断。比如:
复制代码 a = 3 b = 5 print(a>b) 结果:False print(a<b) 结果:True 复制代码
计算机为什么需要描述这种条件呢?因为可以通过这种条件结果来进行不同的操作!比如:
if a >b: print(a is bigger than b) else: print(a is smaller than b)
五、列表类型
列表(List)是一种数据项构成的有限序列,即按照一定的线性序列,排列而成的数据项的集合。在python中,用中括号[ ]来表示列表。列表中的每一个数据叫做元素,元素和元素之间用逗号","隔开,每一个元素都有自己的下标,下标从0开始,每添加一个元素,就会自动+1。比如:
name = [\'alex\', \'jack\', \'rain\', \'rachel\', \'mack\']
它在计算机中的存储形式可以形象的表示为:
元素名 alex jack rain rachel mack 下标(索引) 0 1 2 3 4
想要获到列表中某个元素的值,只需要通过下标或索引就能拿到,比如:
: name[0] \'alex\' :name[4] \'mack\'
六、元组
元组(Tuple)和列表一样,也是一些列数据的有序集合,但和列表不同的是,元组 不能被修改,又被称为只读列表。在python中用()来表示元组。
元组的特点:
1、可以存放多个值
2、不可变
3、按照从左到右的顺序定义元组元素,从下标0开始。
元组的创建:
ages = (11, 22, 33, 44, 55) 或 ages = tuple((11, 22, 33, 44, 55))
常用操作:
复制代码
索引
ages = (11, 22, 33, 44, 55) ages[0] 11 ages[-1] 55
循环
for age in ages: print(age) 11 22 33 44 55 复制代码
- 注意:元组本身不可变,如果元组中含有其他可变元素,则这些可变元素可以改变,比如:
data = (99, 88, [\'alex\', \'jack\'], 33) data[2][0] = \'金角大王\' data (99, 88, [\'金角大王\', \'jack\'], 33]
为啥呢?因为元组只是存每个元素的内存地址,上面[\'alex\', \'jack\'] 这个列表的内存地址存在元组里确实不可变,但是列表中的元素存储的内存地址在另外一块地址空间,是可变的。
七、字典
字典(Dict)是一系列键(key)-值(vlaue)对组成的无序集合,键和值之间用冒号(:)隔开,而键值对之间用逗号隔开。定义的语法如下:
key1:value1, key2:value2
示例:
info = name:"张三", age:18, sex:"male", height:180
字典的特性:
1、是key-value结构
2、key必须为不可变数据类型、必须唯一。比如:字符串、元组、数字等
3、可以存放多个value、value可以被修改,可以不唯一;
4、无序
5、查询速度快,而且不受dict 大小影响。
小练习取music
info =
\'username\':\'tony\',
\'addr\':
\'国家\':\'中国\',
\'info\':[666, 999, \'编号\':466722, \'hobby\':[\'read\', \'study\', \'music\']]
1.music在大字典里的位置
d1 = info[\'addr\'] # \'国家\': \'中国\', \'info\': [666, 999, \'编号\': 466722, \'hobby\': [\'read\', \'study\', \'music\']]
-
music在小字典里的位置
d2 = d1[\'info\'] # [666, 999, \'编号\': 466722, \'hobby\': [\'read\', \'study\', \'music\']] -
music在列表里的位置
d3 = d2[2] # -
music在小字典里的位置
d4 = d3[\'hobby\'] # [\'read\', \'study\', \'music\'] -
music在列表里的位置
d5 = d4[2] # music
print(d5)
整合
d6 = info[\'addr\'][\'info\'][2][\'hobby\'][2]
print(d6)
八、集合
集合(Set)是一个无序的不重复元素的组合。python中用 来表示集合!
用表示,但是不能使用键值对表示,如果使用的话就变成字典了
示例:
a = 1, 2, 4, "alex", "rain", (1,2)
集合的特点:
1、集合里面的元素不可变,代表你不能存储一个列表或者字典在集合里,只能存储数字、字符串和元组等不可变类型的数据;
2、集合天生去重,在集合里无法存重复的数据;
3、无序,不像列表、元组那样可以通过索引来标记在列表中的位置,集合中的元素是无序的,没有先后之分,比如:1,2,3和3,2,1是同一个集合。
基于上面的特性,集合可以做两件事,去重及关系运算。
九、与用户进行交互
1.什么是用户交互
- 用户交互就是人与计算机交流
- 人往计算机里输入数据(input)
- 计算机打印输出结果(print)
2.为什么要用交互
- 为了让计算机像人一样与用户沟通
- 过去银行行长控制柜台人员让其与客户沟通
- 现在是控制 ATM 这个机器来与用户交流
3.如何使用用户交互
接收用户输入 input
以上是关于python基础-数据类型的主要内容,如果未能解决你的问题,请参考以下文章