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

相关推荐
疯狂成瘾者11 分钟前
语义分块提升RAG检索精度
python
小陈工2 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
A__tao6 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢6 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
迷藏4947 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨7 小时前
python扫码登录dy
开发语言·python
bazhange7 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能8 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
unicrom_深圳市由你创科技8 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
小敬爱吃饭8 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘