基础数据类型补充以及编码初识
Posted qiaotianzi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础数据类型补充以及编码初识相关的知识,希望对你有一定的参考价值。
1.今日内容大纲
- 基础数据量类型的补充
- 编码的初始
2.具体内容
2.1基础数据类型
int(float) str bool dict tuple list set
-
int(十进制与二进制转换)
十进制转化成二进制:
除2取余,逆序排列
42 -------》 详见黑板 0010 1010
二进制转化成十进制:
0110 1 0 1 1 :从右至左,2的零次方开始。
1*2**0 + 1*2**1 + 0*2**2 + 1*2**3 + 0*2**4..
-
str: 格式化输出
%s format
%s
# % 占位符 s--->str d--->dight # msg = ‘我叫%s,今年%d, 学习进度%d%%。‘ % (‘渣男‘,18,5) # print(msg)
format
# format # msg = ‘我叫{},今年{}, 学习进度{}。‘.format(‘健身哥‘,19,‘3%‘) # msg = ‘我叫{0},今年{1}, 学习进度{2}。我依然叫{0}‘.format(‘健身哥‘,19,‘3%‘) # print(msg) msg = ‘我叫{name},今年{age}, 学习进度{process}。‘.format(age=19,process=‘3%‘,name=‘龙崽儿‘) print(msg)
ret = ‘12309‘ # print(ret.isdecimal()) # 判断字符串全部都是阿拉伯数字组成 ret1 = ‘BARRYfdasd123‘ # print(ret1.isalpha()) # 判断字符串全部都是字母组成 # ret2 = ‘abc123‘ # print(ret2.isalnum()) # 判断字符串全部都是字母或者数字组成 # 下面的练习1编 # name = ‘barry‘ # #captalize,swapcase,title # print(name.capitalize()) #首字母大写 # print(name.swapcase()) #大小写翻转 # msg=‘taibai say hi‘ # print(msg.title()) #每个单词的首字母大写 # # # 内同居中,总长度,空白处填充 # ret2 = a1.center(20,"*") # print(ret2)
-
list
# list: # 创建列表的方式: # l1 = [1, 2, 3, 4] # l1 = list(‘dfsdafdsaf‘) # # print(l1) # l1 = [i for i in range(10)] # # print(l1) # list l1 = [10, 9, 3, 7, 2, 6, 9, 1, 5] # l1.sort() 从小到大 # l1.sort(reverse=True) 从大到小 # l1.reverse() # 翻转 # print(l1) # 通过索引找元素 # print(l1[1]) # 通过元素找索引(找到第一个元素即返回) # print(l1.index(9)) # 列表可以相加 # l1 = [1,2,3] # l2 = [22,33,44] # print(l1+l2) # 列表可以 与数字相乘 # l1 = [11,22,33] # print(l1*3)
-
tuple
只读列表,(1,2,3,[22,44]) 只能读取数据不能更改数据。
一般工作中,将一些重要的数据构建在元组中,个人信息。
-
dict
字典字典的特性: 字典是以键值对形式存储的,无序的容器型的数据类型无序: 3.字典
字典的特性: 字典是以键值对形式存储的,无序的容器型的数据类型
无序: 3.5版本之前无序,3.6版本之后,有序的。(这个顺序是按照创建字典初键值对的顺序排序)
可以存储大量的数据,查询速度非常快,缺点:占用的空间大。
字典的键是唯一的不可变的。
数据类型的划分:
,3.6版本之后,有序的。(这个顺序是按照创建字典初键值对的顺序排序)可以存储大量的数据,查询速度非常快,缺点:占用的空间大。字典的键是唯一的不可变的。数据类型的划分:
-
可变与不可变
可变(不可哈希)的数据类型:list,dict,set
不可变(可哈希)的数据类型:tuple str int bool
哈希: 哈希算法,只能针对不可变的数据类型,
-
容器型与非容器型:
容器型数据类型:list dict tuple set
非容器型数据类型:str bool int
生产环境相关: 4g内存,几百万个键值对,不用考虑内容优化的问题。
# dic = dict.fromkeys(‘abcd‘,‘太白‘) # dic = dict.fromkeys([1,2,3],‘太白‘) # print(dic)
-
-
集合
容器型的数据类型,可变的数据类型。{},集合要求里面的元素是不可变的数据类型,并且是唯一的,但是集合本身是可变的数据类型,集合无序的。
# print({1, ‘barry‘, (1,2,3), False}) print({1, ‘barry‘, (1,2,3), False,[1,2,3]})
集合:
-
列表去重。
-
关系测试。交集,并集,差集等等。
-
-
数据类型的转化
int(float) str bool dict tuple list set
-
int str bool
int ---> str i = 123 str(i) str ---> int 有条件的,全部是数字组成的字符串转化成数字 s = ‘100‘ if s.isdecimal(): int(s) int ---> bool 非零数字转化成bool都是True 零转化成bool值是False。 bool----> int b = True print(int(b)) 1 b = False print(int(b)) 0
-
list set
list ---> set set(list) 列表去重 set ----> list list(set)
-
str list
str ----> list split s1 = ‘barry-taibai-歌神‘ print(s1.split(‘-‘)) list ---> str l1 = [‘barry‘, ‘taibai‘, ‘歌神‘] print(‘+‘.join(l1))
-
tuple list pass
-
所有的数据类型 共同转化成False
0 ‘‘ [] () {} set() None
-
以上是关于基础数据类型补充以及编码初识的主要内容,如果未能解决你的问题,请参考以下文章