程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

python基础学习笔记

发布于2019-08-06 09:43     阅读(949)     评论(0)     点赞(2)     收藏(4)


1.Python中的编码格式

   a.ASCII码

    ASCII码共有127个字符,包括数字,大小写字母,和一些符号,比如常见的字符的ASCII码表示有:A:65,z:132,ASCII码是用一个字节表示的,其主要的缺点就是因为在内存中只占一个字节,

    所以无法被用来表示中文,只能表示一些单字符元素。针对不能表示中文的缺点,中国也提出了一种可以表示中文的编码格式GB2312。

  b.unicode编码

    为了实现将所有的字符和语言可以编入到一套字符编码中区,Unicode编码格式被创造,Unicode可以实现表示中文,但是其存在本质的缺点是用两个字节表示一个字符,造成了很大的内存浪费,

    所以将ASCII码表示的字符编码转换为Unicode编码,只需要在前面加上一个字节,补足8个0就可以了。Unicode编码的好处就是统一了字符,让不同的字符不会出现乱码。

 c.utf-8编码

   为了统一字符编码格式,杜绝乱码的出现,并且解决掉Unicode编码造成的浪费资源,出现了一种可变长字符编码,UTF-8编码,可以根据字符的大小,自适应编成1-6个字节,通常英文字母和数字

  编成一个字节,汉字编成3个字节,从另一种程度讲ASCII码也是属于UTF-8的,这就解决了一些ASCII码编译乱码的出现。

 d.计算机内存中不同编码的应用场景

   在计算机内存中存在的是Unicode编码,但是写入存储磁盘中是以UTF-8格式写入的,内存中Unicode表现的形式就是字节,当磁盘文件中的字符需要读到内存中的时候,需要使用encode转换成字     节的形式,表示形式为带有字节b前缀,eg:XXX.encode('unicode')输出:b'xxxx'。内存中的字节如果要从磁盘中去读取字符需要将内存中展示的Unicode编码转换成utf-8编码格式,通过decode方式来实现b'xxx'decode('utf-8')输出:XXX。

2.关于Python中的容器数据类型

a.列表

list是Python内置的数据类型,是一种有序的集合,可以随时添加和删除其中的元素,是一个可迭代的对象。利用代码‘for x in list:’,输出X的值,可以迭代出列表中的每一个元素。

list常用方法:len(list),用来计算列表的长度,list.append(xx)方法可以对列表进行末尾追加,list.pop(index)方法可以用来删除指定元素。

b.元组

tuple类型与list都是Python内置容器类型,一般表示形式为tuple = (x,x,x,x),tuple类型一旦初始化之后便不能再进行改变,没有类似于insert,append这样的插入方法,因为tuple类型不可变,所以代码相对list更为安全,一般代码中可以使用tuple代替list的地方尽量使用tuple代替list。tuple中定义只有一个元素的元组的方法:tuple = (1,),如果没有结尾的逗号,Python解释器会把定义的类型当做整数处理,输出为1。

c.字典

dict其实就是键对值(key - value)存储,可以快速查找。dict类型是无序的数据类型。字典与list的区别,dict插入的是键对值,所以查找速度快,但是占用的存储空间比较大,相反list是查找的速度慢,但是在内存中只占一小部分空间,浪费内存少,dict通常在Python广泛用于高速查找。

列举dict中的所有key和value  : for key ,value in dict.items():

d.集合

set与dict类似,只不过存储的是一组key值,因为key值是不可重复的,所以set中的元素也是没有重复的,一般list去重,可以通过将list类型改为set类型,达到去重的效果。set类型是无序的,可以通过set.add()方法进行集合中插入元素,set.remove()方法进行集合中删除元素。两个set可以进行数学上的交集,并集,等集合操作。

 



所属网站分类: 技术文章 > 博客

作者:我想吃火锅

链接:https://www.pythonheidong.com/blog/article/7126/f210beef84978d53f45f/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

2 0
收藏该文
已收藏

评论内容:(最多支持255个字符)