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

相关推荐
我是李武涯16 分钟前
PyTorch Dataloader工作原理 之 default collate_fn操作
pytorch·python·深度学习
Kratzdisteln1 小时前
【Python】绘制椭圆眼睛跟随鼠标交互算法配图详解
python·数学·numpy·pillow·matplotlib·仿射变换
maxruan1 小时前
PyTorch学习
人工智能·pytorch·python·学习
唐古乌梁海1 小时前
【python】在Django中,执行原生SQL查询
python·sql·django
程序员大雄学编程2 小时前
「用Python来学微积分」5. 曲线的极坐标方程
开发语言·python·微积分
一位代码3 小时前
python | requests爬虫如何正确获取网页编码?
开发语言·爬虫·python
可触的未来,发芽的智生3 小时前
新奇特:神经网络速比器,小镇债务清零的算法奇缘
javascript·人工智能·python
mortimer3 小时前
还在被 Windows 路径的大小写和正反斜杠坑?是时候让 pathlib 拯救你的代码了!
人工智能·python
std860214 小时前
Rust 与 Python – 这是未来的语言吗?
开发语言·python·rust
鄃鳕4 小时前
Flask【python】
后端·python·flask