python原生数据类型(上)

复制代码
# 查看数据
print('hello world')
# 查看数据类型
type('hello world')

hello world

str

1 数据类型定义

1.1 不可变数据类型

复制代码
# 数值
# int,float
x = 1
y = 1.0
# 字符
text = 'hello world'
# 元组
tuple0 = (1,2,3)

print(x,type(x))
print(y,type(y))
print(text,type(text))
print(tuple0,type(tuple0))

1 <class 'int'>

1.0 <class 'float'>

hello world <class 'str'>

(1, 2, 3) <class 'tuple'>

1.2 可变数据类型

复制代码
# 列表
list0 = [1,2,3]
# 集合
set0 = {1,2,3}
# 字典
dict0 = {'a':1,'b':2,'c':3}

print(list0,type(list0))
print(set0,type(set0))
print(dict0,type(dict0))

1, 2, 3\] \ {1, 2, 3} \ {'a': 1, 'b': 2, 'c': 3} \ ## 1.3 易混定义 # 一个数值元素的元组 print('错误示范:',(1),type((1))) print('正确定义:',(1,),type((1,))) # 没有元素的集合 print('错误示范:',{},type({})) print('正确定义:',set(),type(set())) 错误示范: 1 \ 正确定义: (1,) \ 错误示范: {} \ 正确定义: set() \ # 2 数据套娃实验 # 元组 tuple0 = ((1,2,3),(1,2,3),(1,2,3)) print(tuple0,type(tuple0)) tuple0 = ([1,2,3],[1,2,3],[1,2,3]) print(tuple0,type(tuple0)) tuple0 = ({1,2,3},{1,2,3},{1,2,3}) print(tuple0,type(tuple0)) tuple0 = ({'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3}) print(tuple0,type(tuple0)) # 列表 list0 = [(1,2,3),(1,2,3),(1,2,3)] print(list0,type(list0)) list0 = [[1,2,3],[1,2,3],[1,2,3]] print(list0,type(list0)) list0 = [{1,2,3},{1,2,3},{1,2,3}] print(list0,type(list0)) list0 = [{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3}] print(list0,type(list0)) # 集合 set0 = {(1,2,3),(1,2,3),(1,2,3)} print(set0,type(set0)) try: set0 = {[1,2,3],[1,2,3],[1,2,3]} print(set0,type(set0)) except: print('集合套列表套娃失败') try: set0 = {{1,2,3},{1,2,3},{1,2,3}} print(set0,type(set0)) except: print('集合套集合套娃失败') try: set0 = {{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3}} print(set0,type(set0)) except: print('集合套字典套娃失败') # 字典的键 dict0 = {(1,2,3):(1,2,3),(1,2,3):(2,3,4),(1,2,3):(3,4,5)} print(dict0,type(dict0)) dict0 = {(1,2,3):(3,4,5),(1,2,3):(2,3,4),(1,2,3):(1,2,3)} print(dict0,type(dict0)) try: dict0 = {[1,2,3]:(1,2,3),[1,2,3]:(1,2,3),[1,2,3]:(1,2,3)} print(dict0,type(dict0)) except: print('字典的键套列表套娃失败') try: dict0 = {{1,2,3}:(1,2,3),{1,2,3}:(1,2,3),{1,2,3}:(1,2,3)} print(dict0,type(dict0)) except: print('字典的键套集合套娃失败') try: dict0 = { {'a': 1, 'b': 2, 'c': 3}:(1,2,3), {'a': 1, 'b': 2, 'c': 3}:(1,2,3), {'a': 1, 'b': 2, 'c': 3}:(1,2,3)} print(dict0,type(dict0)) except: print('字典的键套字典套娃失败') # 字典的值 dict0 = {'a':(1,2,3),'b':(1,2,3),'c':(1,2,3)} print(dict0,type(dict0)) dict0 = {'a':[1,2,3],'b':[1,2,3],'c':[1,2,3]} print(dict0,type(dict0)) dict0 = {'a':{1,2,3},'b':{1,2,3},'c':{1,2,3}} print(dict0,type(dict0)) dict0 = {'a':{'a':1,'b':2,'c':3},'b':{'a':1,'b':2,'c':3},'c':{'a':1,'b':2,'c':3}} print(dict0,type(dict0)) print('*'*30) print('根据套娃得出以下结论:') print('1.集合的值和字典的键定义时可以重复,输出时不会重复。') print('2.当字典的键定义重复时,输出时字典的键对应的定义的值的最后一个。') print('3.可变数据类型(列表、集合、字典)及其组合不能作为集合的值和字典的键。') print('4.集合的值和列表的键可以作为检验数据类型是否可变的标准。') ((1, 2, 3), (1, 2, 3), (1, 2, 3)) \ (\[1, 2, 3\], \[1, 2, 3\], \[1, 2, 3\]) \ ({1, 2, 3}, {1, 2, 3}, {1, 2, 3}) \ ({'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}) \ \[(1, 2, 3), (1, 2, 3), (1, 2, 3)\] \ \[\[1, 2, 3\], \[1, 2, 3\], \[1, 2, 3\]\] \ \[{1, 2, 3}, {1, 2, 3}, {1, 2, 3}\] \ \[{'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}\] \ {(1, 2, 3)} \ 集合套列表套娃失败 集合套集合套娃失败 集合套字典套娃失败 {(1, 2, 3): (3, 4, 5)} \ {(1, 2, 3): (1, 2, 3)} \ 字典的键套列表套娃失败 字典的键套集合套娃失败 字典的键套字典套娃失败 {'a': (1, 2, 3), 'b': (1, 2, 3), 'c': (1, 2, 3)} \ {'a': \[1, 2, 3\], 'b': \[1, 2, 3\], 'c': \[1, 2, 3\]} \ {'a': {1, 2, 3}, 'b': {1, 2, 3}, 'c': {1, 2, 3}} \ {'a': {'a': 1, 'b': 2, 'c': 3}, 'b': {'a': 1, 'b': 2, 'c': 3}, 'c': {'a': 1, 'b': 2, 'c': 3}} \ *** ** * ** *** 根据套娃得出以下结论: 1.集合的值和字典的键定义时可以重复,输出时不会重复。 2.当字典的键定义重复时,输出时字典的键对应的定义的值的最后一个。 3.可变数据类型(列表、集合、字典)及其组合不能作为集合的值和字典的键。 4.集合的值和列表的键可以作为检验数据类型是否可变的标准。 # 3 数据切片实验 try: int0 = 123 print(123[0]) except: print('整数类型数据不支持切片') try: float0 = 123.12 print(float0[0]) except: print('浮点数类型数据不支持切片') str0 = '123' print(str0[ 0],str0[ 1],str0[ 2]) print(str0[-3],str0[-2],str0[-1]) print(str0[:],str0[0:1],str0[0:]) print(str0[-3:-1],str0[0:-1]) tuple0 = (1,2,3) print(tuple0[0]) list0 = [1,2,3] print(list0[0]) set0 = {1,2,3} try: print(set0[0]) except: print('集合类型数据不支持切片') dict0 = {'a':{1,2,3},'b':{1,2,3},'c':{1,2,3}} print(dict0['a']) try: {'a':{1,2,3},'b':{1,2,3},'c':{1,2,3}}[0] except: print('字典类型数据不支持非字典的key切片') try: print(dict0[['a','b']]) except: print('字典类型数据不支持多值切片') print('*'*30) print('根据切片得出以下结论:') print('1.数值(整数、浮点数)和集合不支持切片操作。') print('2.字典切片时,切片列表的值只能是字典键当中的某个元素。') print('3.设n为字符串、元组或列表的长度,切片下标是0,1,2,...,n-1或-n...,-2,-1') print('4.多个元素切片时,包左不包右,并且[a:b]的形式下,a对应的下标不在b对应的下标的左边,切片值为0') 整数类型数据不支持切片 浮点数类型数据不支持切片 1 2 3 1 2 3 123 1 123 12 12 1 1 集合类型数据不支持切片 {1, 2, 3} 字典类型数据不支持非字典的key切片 字典类型数据不支持多值切片 *** ** * ** *** 根据切片得出以下结论: 1.数值(整数、浮点数)和集合不支持切片操作。 2.字典切片时,切片列表的值只能是字典键当中的某个元素。 3.设n为字符串、元组或列表的长度,切片下标是0,1,2,...,n-1或-n...,-2,-1 4.多个元素切片时,包左不包右,并且\[a:b\]的形式下,a对应的下标不在b对应的下标的左边,切片值为0

相关推荐
java干货7 分钟前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序
开发语言·python·算法
机器懒得学习8 分钟前
智能股票分析系统
python·深度学习·金融
毕设源码-郭学长8 分钟前
【开题答辩全过程】以 基于python的二手房数据分析与可视化为例,包含答辩的问题和答案
开发语言·python·数据分析
SR_shuiyunjian12 分钟前
Python第三次作业
python
vx_biyesheji000113 分钟前
豆瓣电影推荐系统 | Python Django 协同过滤 Echarts可视化 深度学习 大数据 毕业设计源码
大数据·爬虫·python·深度学习·django·毕业设计·echarts
鸽芷咕38 分钟前
DrissionPage 成 CANN 仓库爆款自动化工具:背后原因何在?
运维·python·自动化·cann
爱学习的阿磊39 分钟前
使用Fabric自动化你的部署流程
jvm·数据库·python
少云清1 小时前
【金融项目实战】7_接口测试 _代码实现接口测试(重点)
python·金融项目实战
深蓝电商API1 小时前
爬虫IP封禁后的自动切换与检测机制
爬虫·python
m0_550024631 小时前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python