数据类型

Posted wangsiwen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型相关的知识,希望对你有一定的参考价值。

1 什么是数据?

 

  x=10,10是我们要存储的数据

 

2 为何数据要分不同的类型

 

  数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示

 

3 数据类型

 

  数字(整形,长整形,浮点型,复数)

 

  字符串

 

  字节串:在介绍字符编码时介绍字节bytes类型

 

  列表

 

  元组

 

  字典

 

  集合

一、 数字

整型与浮点型

整型int
  作用:年纪,等级,身份证号,qq号等整型数字相关
  定义:
    age=10 #本质age=int(10)

浮点型float
  作用:薪资,身高,体重,体质参数等浮点数相关

salary=3000.3 #本质salary=float(3000.3)

二进制,十进制,八进制,十六进制

二、字符串

作用:名字,性别,国籍,地址等描述信息

定义:在单引号双引号三引号内,由一串字符组成
name=‘Kevin‘

优先掌握的操作:
1、按索引取值(正向取+反向取) :只能取

2、切片(顾头不顾尾,步长)
3、长度len
4、成员运算in和not in

5、移除空白strip

6、切分split
7、循环

需要掌握的内置方法

#strip

name=‘*kevin**‘
print(name.strip(‘*‘))
print(name.lstrip(‘*‘))
print(name.rstrip(‘*‘))

#lower,upper
name=‘kevin‘
print(name.lower())
print(name.upper())

#startswith,endswith
name=‘alex_SB‘
print(name.endswith(‘SB‘))
print(name.startswith(‘alex‘))

#format的三种玩法
res=‘{} {} {}‘.format(‘egon‘,18,‘male‘)
res=‘{1} {0} {1}‘.format(‘egon‘,18,‘male‘)
res=‘{name} {age} {sex}‘.format(sex=‘male‘,name=‘egon‘,age=18)

#split
name=‘root:x:0:0::/root:/bin/bash‘
print(name.split(‘:‘)) #默认分隔符为空格
name=‘C:/a/b/c/d.txt‘ #只想拿到顶级目录
print(name.split(‘/‘,1))

name=‘a|b|c‘
print(name.rsplit(‘|‘,1)) #从右开始切分

#join
tag=‘ ‘
print(tag.join([‘egon‘,‘say‘,‘hello‘,‘world‘])) #可迭代对象必须都是字符串

#replace
name=‘alex say :i have one tesla,my name is alex‘
print(name.replace(‘alex‘,‘SB‘,1))

#isdigit:可以判断bytes和unicode类型,是最常用的用于于判断字符是否为"数字"的方法
age=input(‘>>: ‘)
print(age.isdigit())

三、列表

#作用:多个装备,多个爱好,多门课程,多个女朋友等

#定义:[]内可以有多个任意类型的值,逗号分隔
my_girl_friends=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,4,5] #本质my_girl_friends=list([...])

l=list(‘abc‘)

优先掌握的操作:
1、按索引存取值(正向存取+反向存取):即可存也可以取
2、切片(顾头不顾尾,步长)
3、长度
4、成员运算in和not in

5、追加

6、删除
7、循环

#ps:反向步长
l=[1,2,3,4,5,6]

#正向步长
l[0:3:1] #[1, 2, 3]
#反向步长
l[2::-1] #[3, 2, 1]
#列表翻转
l[::-1] #[6, 5, 4, 3, 2, 1]

四、元组

作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),主要是用来读

定义:与列表类型比,只不过[]换成()
age=(11,22,33,44,55)本质age=tuple((11,22,33,44,55))

优先掌握的操作:
1、按索引取值(正向取+反向取):只能取
2、切片(顾头不顾尾,步长)
3、长度
4、成员运算in和not in

5、循环

五、字典

#作用:存多个值,key-value存取,取值速度快

#定义:key必须是不可变类型,value可以是任意类型
info={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘} #本质info=dict({....})

info=dict(name=‘egon‘,age=18,sex=‘male‘)

info=dict([[‘name‘,‘egon‘],(‘age‘,18)])

{}.fromkeys((‘name‘,‘age‘,‘sex‘),None)

#优先掌握的操作:
#1、按key存取值:可存可取
#2、长度len
#3、成员运算in和not in

#4、删除
#5、键keys(),值values(),键值对items()
#6、循环

六、集合

#作用:去重,关系运算,

#定义:
知识点回顾
可变类型是不可hash类型
不可变类型是可hash类型

#定义集合:
集合:可以包含多个元素,用逗号分割,
集合的元素遵循三个原则:
1:每个元素必须是不可变类型(可hash,可作为字典的key)
2:没有重复的元素
3:无序

注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

#优先掌握的操作:
#1、长度len
#2、成员运算in和not in

#3、|合集
#4、&交集
#5、-差集
#6、^对称差集
#7、==
#8、父集:>,>=
#9、子集:<,<=

七 数据类型总结

按存储空间的占用分(从低到高)

数字
字符串
集合:无序,即无序存索引相关信息
元组:有序,需要存索引相关信息,不可变
列表:有序,需要存索引相关信息,可变,需要处理数据的增删改
字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改
















































































以上是关于数据类型的主要内容,如果未能解决你的问题,请参考以下文章

对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段

视图或片段库为常见数据类型组成 UI

一个具有两种显示类型的片段[关闭]

(转) Java中的负数及基本类型的转型详解

从 Apollo 缓存中读取特定类型的所有片段

Android 上的 Kotlin:如何在片段中使用数据库中的 LiveData?