Some bytes after reading ‘A byte of Python’


A byte of Python 是一本不错的Python 入门书,它的前半部分浅显易懂,又不至于过分简单以至乏味。同时,在每个例子之后,它很好得结合了How it works,让读者能够比较容易得吸收例子中不易被发现的语言特性。但是,正如它的中文译名-简明Python 教程,在后半部分似乎有些过于简明,同时How it works 也没有涉及到一些比较的解说,以至于让只会C 和 Pascal 的我完全搞不懂下面这些概念:

什么是 List Comperhension?
为什么会突然出现

listtwo = [2*i for i in listone if i > 2]

这样的语句?它遵循的是什么语法规则呢?

lambda 是什么?它是怎么运作的?

对函数参数的*和**的用法似乎还需要一些例子帮助我去理解。

如果assert 相当于断言,那Python存在debug 模式和release 模式吗?
(我承认我欠缺正确分辨assert 和 if…else 的能力)

在 using sys.argv 的例子中,它是如何靠

for filename in sys.argv[1:]:
    readfile(filename)

这样的语句实现遍历参数中所有的文件的呢?

以上这些问题都是我看了 A byte of Python 后困惑的地方,也许正是作者故意留下的线索,以便读者进一步靠自己的力量去了解Python吧。

Tagged on:

2 thoughts on “Some bytes after reading ‘A byte of Python’

发表评论

电子邮件地址不会被公开。