《流畅的Python》 读书笔记 230926】的更多相关文章

2.1 可变序列与不可变序列 可变序列 list. bytearray. array.array. collections.deque 和 memoryview. 不可变序列 tuple. str 和 bytes. 2.2 列表推导和生成器表达式 列表推导是构建列表(list)的快捷方式 生成器表达式则可以用来创建其他任何类型的序列 ps: **很多 Python 程序员都把列表推导(list comprehension)简称为 listcomps,生成 式表达器(generator expre…
列表推导是构建列表(list)的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列.如果你的代码里并不经常使用它们,那么很可能你错过了许多写出可读性更好且更高效的代码的机会. 2.2.1 列表推导和可读性 把一个字符串变成 Unicode 码位的列表 第一种方法 symbols = '$¢£¥€¤' codes = [] # ord() ascii字符串 转换成对应的数字 for symbol in symbols: codes.append(ord(symbol)) print(code…
继承的优缺点 推出继承的初衷是让新手顺利使用只有专家才能设计出来的框架.--Alan Kay 子类化内置类型很麻烦 (如 list 或 dict)) ,别搞这种 直接子类化内置类型(如 dict.list 或 str)容易出错,因为内置类型的 方法通常会忽略用户覆盖的方法. 不要子类化内置类型,用户自己定义的类应该继承 collections 模块的类, 例如UserDict.UserList 和 UserString,这些类做了特殊设计,因此易于扩展. import collections c…
Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据抓取结构如下: 概要 一个简单的web数据抓取的流程就像下面的图一样 HTML获取 分析工具 Firefox Firebug 工具包 urllib urllib2 Requests phantomjs selenium 反反爬虫策略 动态设置User-Agent Cookie的使用 时间延迟/动态延…
看这本书的目的:再熟悉基本概念. 大部分都是知道,但是需要 明确 出来的 概念. - 欢迎吐槽错误,非常感谢. <A byte of python> - THIS 1. 组织行 - 形式:#! /usr/bin/python - 告诉linux通过哪个解释器去运行 源文件. 2. print实际上是一个操作符. 3. 自然字符串(又,原始字符串) - r 或 R, 我猜 r = raw - 完全地直接输出,即使是转义符也直接输出了 >>> print r'\n\nhello'…
字典的变种: OrderedDict 首先来看下面的代码,在一个字典中,有name,age,city,在遍历这个字典的时候.顺序却是随机的,不是按照我们添加的顺序也就是name->age->city. d={} d['name']='zhf' d['age']=33 d['city']='chengdu' for k,v in d.items():     print k,v city chengdu age 33 name zhf 我们如果想字典按照我们添加的顺序呈现出来,就必须用到Orde…
第二章开始介绍了列表这种数据结构,这个在python是经常用到的结构 列表的推导,将一个字符串编程一个列表,有下面的2种方法.其中第二种方法更简洁.可读性也比第一种要好 str='abc' string=[] for s in str:     print string.append(s) ret=[s for s in str] print ret 用这种for-in的方法来推导列表,有个好处就是不会有变量泄露也就是越界的问题.这在c语言中是需要特别注意的问题. 对于两个以上的列表推导作者用到…
这一章中作者简要的介绍了python数据模型,主要是python的一些特殊方法.比如__len__, __getitem__. 并用一个纸牌的程序来讲解了这些方法 首先介绍下Tuple和nametuple的区别: Nametuple是类似于元组的数据类型.除了能够用索引来访问数据,还支持用方便的属性名来访问数据. 传统的元组访问如下.对每个元素的访问都必须通过索引来找到.这种找法很不直观 tup1=('abc','def','ghi') print tup1[1] 使用nametuple来构造:…
在python中一切都可以视作为对象,包括函数.我们来看个例子: def function_try():     '''it is funciton try doc'''     print 'function_try' if __name__=="__main__":     print function_try.__doc__     print function_try.__name__ E:\python2.7.11\python.exe E:/py_prj/fluent_py…
装饰器就如名字一样,对某样事物进行装饰过后然后返回一个新的事物.就好比一个毛坯房,经过装修后,变成了精装房,但是房子还是同样的房子,但是模样变了. 我们首先来看一个函数.加入我要求出函数的运行时间.一般来说代码写成如下.但是我有很多个函数都要计算运行时间.每个函数里面都要写一个计时的过程是一件很麻烦的事. def target():     start=time.time()     print 'running target()'     end=time.time()     print e…