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

相关推荐
吴佳浩27 分钟前
Python入门指南-AI模型相似性检测方法:技术原理与实现
人工智能·python·llm
叶 落37 分钟前
计算阶梯电费
python·python 基础·python 入门
Python大数据分析@1 小时前
Origin、MATLAB、Python 用于科研作图,哪个最好?
开发语言·python·matlab
编程零零七2 小时前
Python巩固训练——第一天练习题
开发语言·python·python基础·python学习·python练习题
Zonda要好好学习2 小时前
Python入门Day4
java·网络·python
小龙在山东3 小时前
Python 包管理工具 uv
windows·python·uv
weixin_307779133 小时前
批量OCR的GitHub项目
python·github·ocr
孤狼warrior4 小时前
灰色预测模型
人工智能·python·算法·数学建模
神仙别闹4 小时前
基于Python实现LSTM对股票走势的预测
开发语言·python·lstm
机器学习之心5 小时前
小波增强型KAN网络 + SHAP可解释性分析(Pytorch实现)
人工智能·pytorch·python·kan网络