《流畅的python》这本确实老辣】的更多相关文章

最近在慢慢看几页, 第一章的示例代码,实现一副扑克牌. 确实老辣~ 不是高手,没有这感觉,我慢慢学吧. import collections from random import choice Card = collections.namedtuple('Card', ['rank', 'suit']) class FrechDeck: ranks = [str(n) for n in range(2, 11)] + list('JQKA') suits = 'spades diamonds c…
流畅的python中有很多奇技淫巧,整本书都在强调如何最大限度地利用Python 标准库.介绍了很多python的不常用的数据类型.操作.库等,对于入门python后想要提升对python的认识应该有帮助.目前读一遍记录了一些有共鸣的操作: Python内置序列类型的主要分类: 按可存放的元素类型分为:容器序列和扁平序列 1. 容器序列,就是什么都能作为元素往里放,包括另一个序列.需要注意的是,如果元素是序列类型,那么存放的往往是引用,需要小心. 常见的容器序列包括:list,tuple,arr…
对象引用.可变性和垃圾回收 变量不是盒子 人们经常使用“变量是盒子”这样的比喻,但是这有碍于理解面向对象语言中的引用式变量.Python 变量类似于 Java 中的引用式变量,因此最好把它们理解为附加在对象上的标注. 在示例 8-1 所示的交互式控制台中,无法使用“变量是盒子”做解释.图8-1 说明了在 Python 中为什么不能使用盒子比喻,而便利贴则指出了变量的正确工作方式. 示例 8-1 变量 a 和 b 引用同一个列表,而不是那个列表的副本 >>> a = [1, 2, 3] &…
流畅的python 第1章 python数据模型 ---1.1 一摞Python风格的纸牌 特殊方法,即__method__,又被称为魔术方法(magic method)或者双下方法(dunder-method). 特殊方法的存在是为了被python解释器调用的 collections.namedtuple用于构建一个只有少数属性但是没有方法的对象 通过实现__getitem__,可以使对象有[]操作,支持切片操作,可迭代 for i in x:实际上是用了iter(x),而这个函数背后则是x.…
1.现在在看<流畅的Python>这本书,看了三页就发现,这本书果然不是让新手来入门的,一些很常见的知识点能被这个作者玩出花来, 唉,我就在想,下面要分析的这些的代码,就算我费劲巴拉的看懂了,又有什么用呢,我其实不想靠着技术吃饭,但是现在在这个岗位上, 就得在其位谋其职,悲哀.我在敲代码方面也没什么天赋,也没什么热情,老话说得好,‘女怕嫁错郎,男怕入错行’, 所以我得从IT行业抽出身来.anyway,进入正题. 2.python解释器碰到特殊的句法时,会使用特殊方法去激活一些基本的对象操作,这…
<流畅的Python>这本书是图灵科技翻译出版的一本书,作者Luciano Ramalho. 作者从Python的特性角度出发,以Python的数据模型和特殊方法为主线,主要介绍了python的集合类型(sequence.mapping.set等).把函数作为一等对象来使用.类的构建.新的文件控制流程(生成器.上下文管理器.协程).用描述符来从底层解释Python对象属性的存储等各个方面. 书中主要围绕Python标准库展开,不会涉及太多的标准库以外的包.虽然它们也很实用. 建议大家可以把前言…
Object References, Mutability, and Recycling 本章章节: Variables Are Not Boxes identity , Equality ,  Aliases Copies are shallow by default Function Parameters as references del and Garbage Collection Weak References Tricks Python Plays with Immutable Va…
流畅的Python 致Marta,用我全心全意的爱 第一部分 序幕 第一章 Python数据模型 特殊方法 定义: Python解释器碰到特殊句法时,使用特殊方法激活对象的基本操作,例如python语句len(x) 调用了x.__ len __的方法.这些特殊方法支持以下的语言构架: 迭代 集合类 属性访问 运算符重载 函数和方法的调用 对象的创建和销毁 字符串表示形式和格式化 管理上下文(with块) 命名规则: __ getitem __ (左右两个双下划线,故称为dunder method…
1. 报错如下: SyntaxError: Non-UTF-8 code starting with '\xd3' in file D:\流畅学python\ex34.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 2. 解决办法: 1> 首行添加 # -*- coding:utf-8 -*- 2> 更改编码格式 File-> Settings->…
2.1 可变序列与不可变序列 可变序列 list. bytearray. array.array. collections.deque 和 memoryview. 不可变序列 tuple. str 和 bytes. 2.2 列表推导和生成器表达式 列表推导是构建列表(list)的快捷方式 生成器表达式则可以用来创建其他任何类型的序列 ps: **很多 Python 程序员都把列表推导(list comprehension)简称为 listcomps,生成 式表达器(generator expre…