![](https://img-blog.csdnimg.cn/20190816091027285.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python进阶学习笔记
结合书籍《流畅的Python》的学习,分享自己的python进阶学习笔记,更好的同大家一起理解python的原理和编程,希望同大家一起学习,一起进步!
瓦力人工智能
这个作者很懒,什么都没留下…
展开
-
Python进阶16_字符串基础操作
前面介绍了一下比较晦涩而且深入的字符文本的处理方法,接下来几节将带来一些常规的操作。比较容易入手。字符串处理字符串字面量字符字面量的通过使用:以单引号开始和结束,但是如何处理的是字符串内使用单引号。例如:'That is Wali's cat双引号字符字面量的还可以通过使用:双引号开始和结束,这样就可以处理字符串内使用单引号的问题.如下:"That is Wali's cat"转义...原创 2019-10-25 17:55:50 · 279 阅读 · 0 评论 -
Python进阶02_序列类型及列表推导
序列类型及列表推导Python不管是哪种数据结构,字符串、列表、字节序列、数组、XML 元素,抑或是数据库查询结果,它们都共用一套丰富的操作:迭代、切片、排序,还有拼接。内置序列类型根据存放数据类型分类容器序列list,tupel,collections.deque存放不同类型的数据所包含的任意类型的对象的引用扁平序列str,bytes, bytearray, memory...原创 2019-08-24 16:50:28 · 186 阅读 · 0 评论 -
Python进阶01_数据模型
数据模型python的纸牌风格通过实现特殊方法来利用 Python 数据模型的两个好处:作为你的类的用户,他们不必去记住标准操作的各式名称可以更加方便地利用Python的标准库,比如random.choice 函数,从而不用重新发明轮子import collections# namedtuple 用以构建只有少数属性但是没有方法的对象Card = collections.nam...原创 2019-08-23 09:47:50 · 139 阅读 · 0 评论 -
Python进阶04-序列切片和增量的高级用法
切片的高级用法为什么忽略最后一个元素在切片的操作中都不会包含最后一个元素,比如b[0:3]:b[0],b[1],b[2]。这样做的目的是:符合Python、C 和其他语言里以 0 作为起始下标的传统。好处有:当只有最后一个位置信息时,我们也可以快速看出切片和区间里有几个元素array[:5],返回5个元素当起止位置信息都可见时,计算出切片和区间的长度:a[1:4],4-1=3,cou...原创 2019-08-29 09:04:54 · 256 阅读 · 1 评论 -
Python进阶14_Unicode排序
Unicode文本排序内置方法python中提供了标准的排序方法但是在内置的方法可能带来一个不好的结果,尤其是比较非 ASCII 字符时。例如下面的例子.由于不同的区域才去的排序规则不一样,下面的例子实际的排序是这样子的:['açaí', 'acerola', 'atemoia', 'cajá', 'caju']而现在的排序结果确实这样子的:['acerola', 'atemoia', ...原创 2019-09-27 10:15:20 · 1909 阅读 · 1 评论 -
Python进阶13_字符编码器
字符编码器常见的编码器Python 自带了超过 100 种编解码器(codec,encoder/decoder),用于在文本和字节之间相互转换。 例如:‘utf_8’,‘utf_16’…需要设置编码器参数的主要用于如下函数:open()str.encode()bytes.decode()如下实例:# 不同的编码的格式for codec in ['latin_1','utf-8...原创 2019-09-24 09:37:09 · 392 阅读 · 0 评论 -
Python进阶12_python中的字符与字节
python中的字符与字节字符和Unicode字符是什么,怎么表示什么字符的编码和解码python中有什么字节类型如何创建字节字节有哪些方法何应用python中字符的定义字符的基础概念**字符串:**由字符组成的序列什么是字符呢?字符: python中的定义是Unicode字符,在python3中,str对象中获取的元素是Unicode字符在python2中,str对...原创 2019-09-20 09:09:51 · 468 阅读 · 0 评论 -
Python进阶11_字典dict和集合set的秘密
本节你将看到关于字典dict和集合set更加深入的原理,尤其是关于散列在其中的作用,将回答以下问题:Python 里的 dict 和 set 的效率有多高?为什么它们是无序的?为什么并不是所有的 Python 对象都可以当作 dict 的键或 set 里的元素?为什么 dict 的键和 set 元素的顺序是跟据它们被添加的次序而定的,为什么不应该在迭代循环 dict 或是 set 的同...原创 2019-09-18 09:24:32 · 165 阅读 · 0 评论 -
Python进阶10_集合set的使用
不可变映射类型标准库里所有的映射类型都是可变的,从 Python 3.3 开始,types 模块中引入了一个封装类名叫 MappingProxyType。只需要给它一个映射,它会返回一个只读的映射类型。但是如果修改了原有的映射,其也会动态跟着一起被修改。自己不被修改,原形被修改了,自己跟着一起被改。coding 实例如下from types import MappingProxyTyp...原创 2019-09-16 08:40:52 · 174 阅读 · 0 评论 -
Python进阶09_你知道吗?还有好多字典类型
其他的字典类型这些字典类型都市在collections 标准模块中主要有如下:前面见过的:defaultdict 用来处理不存在键OrderedDict:用来保持顺序的ChainMap:用来容纳个数不同的映射对象Counter:用来计数UserDict:方便用户自定义自己的映射类型OrderedDict 与ChainMapOrderedDict在添加键的时候会保持顺序,因此键...原创 2019-09-12 09:21:44 · 145 阅读 · 0 评论 -
Python进阶03_元组的理解
元组的理解元组的两大功能作为不可变列表作为数据记录元组和记录元组其实是对数据的记录:元组中的每个元素都存放了记录中一个字段的数据,外加这个字段的位置。正是这个位置信息给数据赋予了意义。如果在任何的表达式里我们在元组内对元素排序,这些元素所携带的信息就会丢失,因为这些信息是跟它们的位置有关的。元组的记录功能:通过数量和位置信息体现,拆包让元组可以完美地被当作记录来使用。gp...原创 2019-08-26 08:21:55 · 158 阅读 · 0 评论 -
Python进阶07_泛映射类型
字典是Python的基石,与它相关的内置函数都在__builtins__.__dict__模块中。想要理解和掌握背后的原理就需要理解散列表。泛映射类型collections.abc 模块中有 Mapping 和 MutableMapping这两个抽象基类,作用是为dict 和其他类似的类型定义形式接口。具体模块如下UML图。什么是广义的映射类型广义上的映射一般继承Mapping 和 Mu...原创 2019-09-05 09:09:50 · 357 阅读 · 0 评论 -
Python进阶06_除了列表,还有谁谁谁
除了列表,还有谁谁谁数组何时使用数组:需要一个只包含数字的列表;数组可以做什么:支持所有跟可变序列有关的操作,包括 .pop、.insert 和 .extend提供从文件读取和存入文件的更快的方法,如 .frombytes 和 .tofile如何创建数组创建数组需要一个类型码,这个类型码用来表示在底层的 C 语言应该存放怎样的数据类型。b 类型码代表的是有符号的字符数组的...原创 2019-09-03 09:33:23 · 142 阅读 · 0 评论 -
Python进阶05_列表排序和查找方法
列表中的两个排序方法list.sort 排序list.sort 排序直接对list本身进行排序,不会新建一个新的列表,也就是说不会复制一份原有的列表,返回只仅仅是一个None,仅仅是将list的元素进行一次排序。Python的惯例如果一个函数或者方法对对象进行的是就地改动,那它就应该返回None,好让调用者知道传入的参数发生了变动,而且并未产生新的对象。例如,random.shuffle...原创 2019-09-02 11:59:36 · 371 阅读 · 0 评论 -
Python进阶08_字典推导以及处理字典中不存在的键
字典推导(diccomp)可以从任何以键值对作为元素的可迭代对象中构建出字典。一般可以将元组的列表利用推导变成字典的数据类型。coding如下country_code = {country:code for code,country in dial_codes}推导的时候利用{}在for之前要定义好格式:谁是键,谁是值在for中也要将对应的参数放进去:code,countrydi...原创 2019-09-09 11:47:42 · 2097 阅读 · 0 评论