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\']]

  1. music在小字典里的位置
    d2 = d1[\'info\'] # [666, 999, \'编号\': 466722, \'hobby\': [\'read\', \'study\', \'music\']]

  2. music在列表里的位置
    d3 = d2[2] #

  3. music在小字典里的位置
    d4 = d3[\'hobby\'] # [\'read\', \'study\', \'music\']

  4. 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基础-数据类型的主要内容,如果未能解决你的问题,请参考以下文章

2 Python基础数据类型

Python基础:数据类型

小白学 Python(16):基础数据类型(函数)(上)

python基础

python基础基础数据类型

python基础二(基础数据类型)