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

相关推荐
数据智能老司机1 小时前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
数据智能老司机2 小时前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构
c8i3 小时前
django中的FBV 和 CBV
python·django
c8i3 小时前
python中的闭包和装饰器
python
这里有鱼汤7 小时前
小白必看:QMT里的miniQMT入门教程
后端·python
TF男孩17 小时前
ARQ:一款低成本的消息队列,实现每秒万级吞吐
后端·python·消息队列
该用户已不存在1 天前
Mojo vs Python vs Rust: 2025年搞AI,该学哪个?
后端·python·rust
站大爷IP1 天前
Java调用Python的5种实用方案:从简单到进阶的全场景解析
python
用户8356290780511 天前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
c8i1 天前
python中类的基本结构、特殊属性于MRO理解
python