Python学习之路(四)数据类型

五迷三道 提交于 2019-12-28 12:12:48
再识变量

1、变量就是存放数据的容器。我们定义一个变量其实就是把这个数据放在这个容器里面。
2、python的数据类型

  • 整型 int
  • 浮点型 float
  • 布尔型 bool。True真,False假。注意是首字母大写
  • 字符串 str
  • 列表 list
  • 元组 tuple
  • 字典 dictionary
  • 集合 set
  • 使用type 判断数据类型:type(x)判断x变量的数据类型
a = '123'
b = 123

print(type(a))
print(type(b))

3、不同类型变量之间的计算

  • 数字型变量(整数、浮点型、bool型)可以直接计算,bool型True是1,False 是0
a = 3
b = 2.4
c = True
d = False
print(a+b+c)
print(a*b*d)
print(type(a*b*d))# 注意有浮点型参与运算时 结果是浮点型
  • 字符串类型 使用+拼接字符串。使用*表示多个字符串重复
a = '123'
b = '###'
c = (a+b)*3
print(c)
print(type(c))
  • 类型转换,不同类型的数据不能进行计算,如下:
a = '123'
b = 123
# print(a+b)#会报错
print(int(a)+b)# 需要把字符串转换成整型

各种数据都可以进行类型转换如下:

a = ['1',2,3]#定义列表
b = (123,345)#定义元组
print(type(set(a)))#列表转成集合
print(type(list(b)))#元组转出列表
print(type(tuple(a)))#列表转出元组
列表(list)

1、相当于php里面的索引数组,用 [ ]定义,数据 之间使用 , 分隔
2、可以保存不同的数据类型
3、常规操作,如下图所示:
在这里插入图片描述

# 定义列表
lang = ['python','php','c','c++','go']
# 打印列表数据个数
print(len(lang))
# 遍历列表并打印值
for item in lang:
    print(item)

# 如果需要打印列表的序号,使用 enumerate 函数如下:
for index,item in enumerate(lang):
    print(index,'=>',item)

以是列表的定义及遍历,其他操作方法类似

元组(tuple)

1、定义

  • 用小括号括起来 :lang = (‘python’,‘php’,‘c’,‘c++’,‘go’)
    +本质和列表一样,不同的是元组只能读里面的值,不能修改
  • 当里面只有一个元素的时候,一定要在后面加,lang = (‘c++’,)

2、操作

  • 元组取值 tuple[index]
# 定义元组
lang =('python','php','c','c++','go')
print(lang[2])
# 创建空元组
info_tuple = ()
# 遍历元组
for index,item in enumerate(lang):
    print(index,'=>',item);
  • 列表和元组的转换:
  list(tuple)  #  把元组转成列表
  tuple(list)  #  把列表转成元组

字典dictionary

1、定义:

  • 如果列表在php中相当于索引数组,那么字典就是php的关联数组(更像json)
  • 字典是用键值对表示的,所以无序
  • 用 {}来定义字典,也相当于js里面的 json数据
  • 键 key 是索引 值 value 是数据
  • 键 和 值 之间使用 : 分隔
  • 键必须是唯一的 值 可以取任何数据类型,但 键 只能使用 字符串、数字或 元组

2、常用操作

  • 遍历:for k,v in …
xiaoming = {"name": "小明",
            "age": 18,
            "gender": True,
            "height": 1.75}
for k,v in xiaoming.items():  
  • 其它操作如下图所示
    在这里插入图片描述
  • 更常用的方法,列表中每个元素是一个字典:
 [{'name': 'bobo', 'age': 18}, {"name": 'bobo1', 'age': 19}] 
  这种格式比较常用,列表中嵌套字典
字符串(string)

1、定义:

  • 用单引号或双引号引起来的数据类型
  • 如果在字符串里使用引号,可以 用 \ 转义,或单双引号嵌套

2、操作

  • 获得元素 可以通过索引取获取指定位置的字符(字符串也支持索引)a[-1]代表最后一个元素
  • 用for 遍历
string = "Hello Python"
print(string[-1])

for c in string:
    print(c)
  • 常规操作:
    在这里插入图片描述
    3、切片
  • 切片适用于 字符串、列表、字典、元组
    在这里插入图片描述
  • 公式: 字符串[开始索引:结束索引:步长]
  • 指定的区间属于 左闭右开 型 [开始索引, 结束索引) 从 起始 位开始,到 结束位的前一位 结束(不包含结束位本身)

以下的字符串都是这样定义的:string = “HelloPython”

截取从 2 ~ 5 位置 的字符串:
str = string[2:6] #省略后面步长的 :1
  • 从头开始,开始索引 数字可以省略,冒号不能省略
截取从 开始 ~ 5 位置 的字符串。省略后面步长的 :1
str = string[:6]
  • 末尾结束,结束索引 数字可以省略,冒号不能省略
# 截取从 2 ~ 末尾 的字符串
str = string[2:]’
# 截取完整的字符串
# 头和尾都省略了、步长和冒号也省略了 
# 中间冒号不能省
str = string[:]
  • 步长默认为 1,如果连续切片,数字和冒号都可以省略
# 从开始位置,每隔一个字符截取字符串
# 开始和结束省了,中间冒号不能省
# 步长不为1,冒号和数字都不能省
# 1为连续,2为每隔1个,依次类推
str = string[::2]
  • 倒序 (切片的原理以及公式不变,原则只有一个,只要出现负数就得从右开始)
# 打印最后末尾的n,
print(string[-1])
# 打印最后末尾的o
print(string[-2])

#=======以上内容 结合切片使用=======
#截取从2~ `末尾 - 1`的字符串===>尾是负数表示  结尾从 最右开始数
print(string[2:-1])#---lloPytho

#截取 末尾2个字符====头是负数时,从右边开始截取,2为个数
print(string[-2:])#----on

# 字符串逆序=====string[-1],string[-2],然后从头到尾 这样执行,所以就倒序了
print(string[::-1])
集合

1、集合(set)是一个无序的不重复元素序列。字典是键值对的,集合是单个的。
2、可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

3、创建格式: parame = {value01,value02,…}或者set(value)

4、常规操作:
在这里插入图片描述
5、集合主要作用点(给列表做去重操作)

li = ['python', 'c', 'c++', 'c++']
print(list(set(li)))
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!