Giter Club home page Giter Club logo

interpy-zh's Introduction

title nav_order permalink has_children
主页
0
/
true

Python进阶

《Python进阶》是《Intermediate Python》的中文译本, 谨以此献给进击的 Python 和 Python 程序员们!

阅读本书

2021最新目录版,实时更新托管在GithubPages: https://py.eastlakeside.cn

进入阅读{: .btn .btn-green }

前言

Python,作为一个"老练"、"小清新"的开发语言,已受到广大才男俊女的喜爱。我们也从最基础的Python粉,经过时间的摧残慢慢的变成了Python老鬼。

《Intermediate Python》这本书具有如下几个优点:

  1. 简单
  2. 易读
  3. 易译

这些都不是重点,重点是:它是一本开脑洞的书。无论你是Python初学者,还是Python高手,它显现给你的永远是Python里最美好的事物。

世上语言千万种 美好事物藏其中

译者在翻译过程中,慢慢发现,本书作者的行文方式有着科普作家的风范,--那就是能将晦涩难懂的技术用比较清晰简洁的方式进行呈现,深入浅出的风格在每个章节的讨论中都得到了体现:

  • 每个章节都非常精简,5分钟就能看完,用最简洁的例子精辟地展现了原理。
  • 每个章节都会通过疑问,来引导读者主动思考答案。
  • 每个章节都引导读者做延伸阅读,让有兴趣的读者能进一步举一反三。
  • 每个章节都是独立的,你可以挑选任意的章节开始阅读,而不受影响。

总之,这本书非常方便随时选取一个章节进行阅读,而且每次阅读一个章节,你都可能会有一些新的发现。

原书作者

感谢英文原著作者 @yasoob《Intermediate Python》,有了他才有了这里的一切。

译者

欢迎建议指正或直接贡献代码

https://github.com/eastlakeside/interpy-zh/issues

微信交流群

可参考这个issue里的指引来加群:#19

interpy-zh's People

Contributors

bruceli avatar comesx4 avatar fengbeihong avatar gitter-badger avatar jggnice avatar jiedo avatar jxinging avatar kaneg avatar legendtkl avatar liuwons avatar liuyu1005 avatar loveyakamoz avatar muxueqz avatar qiwihui avatar rand01ph avatar samypesse avatar spawnris avatar suqi avatar timgates42 avatar tntc4stl3 avatar twq0076262 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

interpy-zh's Issues

带参数的装饰器的最后一个示例email_logit写的有问题,运行报错

运行代码:

email_logit._logfile = 'out3.log' # 如果需要修改log文件参数
@email_logit
def myfunc2():
    pass

myfunc2()

错误如下:


TypeError Traceback (most recent call last)
/tmp/ipykernel_74/2250255109.py in
1 email_logit._logfile = 'out3.log' # 如果需要修改log文件参数
2 @email_logit
----> 3 def myfunc2():
4 pass
5

/tmp/ipykernel_74/2465603354.py in init(self, email, *args, **kwargs)
5 def init(self, email='[email protected]',*args, **kwargs):
6 self.email = email
----> 7 super(email_logit, self).init(*args, **kwargs)
8
9 def notify(self):

TypeError: init() missing 1 required positional argument: 'func'

我进行了修改,修改后的email_logit代码如下:

class email_logit(logit):
    '''
    一个logit的实现版本,可以在函数调用时发送email给管理员
    '''
    def __init__(self, func, email='[email protected]',*args, **kwargs):
        self.email = email
        super(email_logit, self).__init__(func,*args, **kwargs)

    def notify(self):
        # 发送一封email到self.email
        # 这里就不做实现了
        print("Send email!")
        pass

再次运行后结果如下:

myfunc2 was called
Send email!

已捐赠

加个微信好友可好。 mcx1469

使用C扩展部分 Python/C API 有问题

int n;
char *s;
PyObject* list;
PyArg_ParseTuple(args, "siO", &n, &s, &list);

PyArg_ParseTuple(args, "siO", &n, &s, &list);&n&s 的顺序写反了。
应为

int n;
char *s;
PyObject* list;
PyArg_ParseTuple(args, "siO", &s, &n, &list);

部分延伸内容扩充的问题

由v2ex网友glumes提出:

python 新手,想用 python 做一些更炫的事情的话,大多要导入其他模块吧。
所以,楼主能给些建议如何去知道了解有第三方模块,以及学习掌握他们呢?

Generators章节的建议

在定义Iterable或Iterator的含义时,直接按照英文的顺序翻译过来效果并不好,中文会让人理解错误。

原文:
一个迭代器是任意一个对象,只要它定义了一个next(Python2) 或者next方法。
建议:
任意一个对象,只要定义了next(Python2) 或者next方法,它就是迭代器。

Filter章节中的一些疑问

less_than_zero = list(filter(lambda x: x < 0, number_list))

filter本身会生成一个列表,是否可以去掉list

Github直接阅读的体验改善

一些v2ex网友(@nightv2 )反馈,github直接阅读时,想增加回到目录的链接。

这个需要参考下别的github书籍来改进一下, 一个可改进的就是,

我们的一些小节非常短,可以合并成一个大节,这样就可以减少翻页和回到目录的需求

甚至,可以合成一个超大单页书

关于map的返回类型

在4.1Map小节里的"squared = list(map(lambda x: x**2, items))"里的“list”是否多余?因为map返回类型就是list。
e3d7abe2-6a3d-4921-9d19-6e3c20200477

排版错误

在pdf35页,最后一句话出现了两个错误。
1、多了一个括号
2、应该是"now you are in the welcome() function" 而不是 "now you are in the greet() function"

image

“open函数” 章节的一个错误

在 “open函数” 章节里有一处错误语句:“对于计算机来说,所有的问题件都是字节”。
正确句子应该是 “对于计算机来说,所有的文件都是字节”。

17.0 lambda表达式 最后的例子-列表并行排序在python3中失效

列表并行排序,原来的代码

    data = zip(list1, list2)
    data.sort()
    list1, list2 = map(lambda t: list(t), zip(*data))

python3中报错:
AttributeError: 'zip' object has no attribute 'sort'

应该改为

    data = zip(list1, list2)
    data = sorted(data)
    list1, list2 = map(lambda t: list(t), zip(*data))

这是因为在python2中zip()返回的是list类型,而在python3中返回的是zip类型(一种可迭代类型),所以不能用sort(),而应该改为sorted()。

P.S. 原库 intermediatePython 目前也有这个问题

pdf版本显示不完整

文中的部分长名函数显示不全,没法换行,缩放不起作用,如图为第一个装饰器那一章

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.