当我发现国际友人翻译了我的文章之后……

2020-07-20
阅读 2 分钟
1.3k
我今天在某博客平台上看到了一则留言: 非常意外!不会只是巧合吧? 我马上就点开链接去核实,然后发现那篇文章是全文翻译了我之前写的文章,而且该作者还翻译了另外的两篇。 如果读者了解我,应该知道我也翻译过不少文章,比如有 PEP系列 、Guido的解析器系列 、Flask 作者 Armin Ronacher 的文章、Anthony Shaw 和 Bre...

Python 为什么用 # 号作注释符?

2020-07-19
阅读 3 分钟
1.3k
关于编程语言中的注释,其重要性基本上已为大家所共识。 然而关于注释的规范,这个话题就像我们之前聊过的缩进、终止符和命名方式一样,众口难调。 注释符通常可分为两种,即行注释与块注释(inline/block),它们在不同的编程语言中的符号可谓让人眼花缭乱。 比如行注释符,它至少有以下的 17 种之多(出自维基百科))...

Python 为什么只需一条语句“a,b=b,a”,就能直接交换两个变量?

2020-07-14
阅读 3 分钟
1.7k
从接触 Python 时起,我就觉得 Python 的元组解包(unpacking)挺有意思,非常简洁好用。 最显而易见的例子就是多重赋值,即在一条语句中同时给多个变量赋值: {代码...} 在此例中,赋值操作符“=”号的右侧的两个数字会被存入到一个元组中,即变成 (1,2),然后再被解包,依次赋值给“=”号左侧的两个变量。 如果我们直接写x...

一篇文章掌握 Python 内置 zip() 的全部内容

2020-07-09
阅读 3 分钟
2.5k
一篇文章掌握 Python 内置 zip() 的全部内容 zip() 是 Python 中最好用的内置类型之一,它可以接收多个可迭代对象参数,再返回一个迭代器,可以把不同可迭代对象的元素组合起来。 我之前写迭代器系列的时候,在《Python进阶:设计模式之迭代器模式》中简单地介绍过它,前几天翻译了 Python 3.10 采纳的 PEP-618 ,介绍了...

Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性

2020-07-02
阅读 5 分钟
3.9k
译者前言:相信凡是用过 zip() 内置函数的人,都会赞同它很有用,但是,它的最大问题是可能会产生出非预期的结果。PEP-618 提出给它增加一个参数,可以有效地解决大家的痛点。这是 Python 3.10 版本正式采纳的第一个 PEP,「Python猫」一直有跟进社区最新动态的习惯,所以翻译了出来给大家尝鲜,强烈推荐一读。(PS:严...

Python 3.10 版本采纳了首个 PEP,中文翻译即将推出

2020-06-30
阅读 2 分钟
1.6k
3.9.0 beta 4: Monday, 2020-06-293.9.0 beta 5: Monday, 2020-07-20 3.9.0 candidate 1: Monday, 2020-08-10 3.9.0 candidate 2: Monday, 2020-09-14 3.9.0 final: Monday, 2020-10-05

Python 为什么不支持 i++ 自增语法,不提供 ++ 操作符?

2020-06-21
阅读 3 分钟
2.3k
在 C/C++/Java 等等语言中,整型变量的自增或自减操作是标配,它们又可分为前缀操作(++i 和 --i)与后缀操作(i++ 和 i--),彼此存在着一些细微差别,各有不同的用途。

Python 为什么推荐蛇形命名法?

2020-06-17
阅读 2 分钟
6k
本期“Python为什么”栏目,我们将聚焦于变量命名中的连接方式,来切入这块是非之地,想要回答的问题是——Python 为什么要推荐蛇形命名法?

Python 3.9 beta2 版本发布了,看看这 7 个新的 PEP 都是什么?

2020-06-09
阅读 4 分钟
1.1k
随着 Python 3.9.0b1 的发布,即开发周期中计划的四个 beta 版本的首个,Python 3.9 的功能已经是完善了。在 10 月发布最终版本之前,还会有许多测试和稳定性方面的工作要做。

涨见识了,在终端执行 Python 代码的 6 种方式!

2020-06-06
阅读 4 分钟
1.3k
为了我们推出的 VS Code 的 Python 插件 [1],我写了一个简单的脚本来生成变更日志 [2](类似于Towncrier [3],但简单些,支持 Markdown,符合我们的需求)。在发布过程中,有一个步骤是运行python news ,它会将 Python 指向我们代码中的"news"目录。

Python 为什么没有 main 函数?为什么我不推荐写 main 函数?

2020-06-03
阅读 3 分钟
1.4k
毫无疑问 Python 中没有所谓的 main 入口函数,但是网上经常看到一些文章提“Python 的 main 函数”、“建议写 main 函数”……

Python 为什么不用分号作终止符?

2020-05-27
阅读 2 分钟
1.2k
一般而言,编程语言中使用分号“;”来实现两种目的: 作为语句分隔符:使用分号来分隔语句(statement),这样就能在一行代码中书写多条语句(一行多句) 作为语句终止符:使用分号来终止语句,这样就能把多行代码识别为一条语句(一句多行) 单纯看“分隔符”与“终止符”,它们都是必须的,然而是否都要用分号来表示呢?这个...

Python 的十万个为什么?

2020-05-17
阅读 1 分钟
1.4k
近期看到短视频火热起来,看到某些短视频平台的发展数据,看到我国 5G 建设的落地加速。这新的风气慢慢就感染了我,我也想在视频方向上做点尝试。

Python 的缩进是不是反人类的设计?

2020-05-16
阅读 3 分钟
3.1k
Python 的缩进是不是反人类的设计? 前些天,我写了《Python为什么使用缩进来划分代码块?》,文中详细梳理了 Python 采用缩进语法的 8 大原因。我极其喜欢这种简洁优雅的风格,所以对它赞美有加。 然而文章发出去后,非常意外,竟收到了大量的反对意见!!(以往文章的互动不多,此次创下了记录) 我就不截图了,先摘录...

Python 为什么抛弃累赘的花括号,使用缩进来划分代码块?

2020-05-10
阅读 2 分钟
1.7k
Python 为什么使用缩进来划分代码块? 大家好,这是“Python为什么”系列节目的文字稿(文末有观看地址)。 本期话题:Python 为什么使用缩进来划分代码块,而不像其它语言使用花括号 {} 或者 “end” 之类的语法? Python 的缩进是一个老生常谈的话题,经常有人会提及它,比如 Python 之父在上个月就恰好转发过一篇文章: ...

天大福利!世界第一科技出版公司 Springer 免费开放 400 多本电子书!

2020-05-02
阅读 2 分钟
3.1k
目前,施普林格是全球第一大科技图书出版公司和第二大科技期刊出版公司,每年出版 6500 余种科技图书和约 2000 余种科技期刊。施普林格在网络出版方面居于全球领先地位,其 SpringeLink 是全球科技出版市场最受欢迎的电子出版物平台之一。(摘自百度百科)

学编程这么久,还傻傻分不清什么是方法(method),什么是函数(function)?

2020-04-09
阅读 3 分钟
1.2k
在编程语言中有两个很基础的概念,即方法(method)和函数(function)。如果达到了编程初级/入门级水平,那么你肯定在心中已有了初步的答案。

Python 3.9 新特性:任意表达式可作为装饰器!

2020-03-20
阅读 3 分钟
1.5k
然而,更为高效率的是,仅在半个月内,它的实现就被合入了代码仓。也就是说,我们最快有望在 3 天后(3月23日)发布的 3.9.0 alpha 5 版本中看到它!

Python 小技巧:如何实现操作系统兼容性打包?

2020-03-17
阅读 3 分钟
2.6k
有一个这样的问题:现要用 setuptools 把一个项目打包成 whl 文件,然后 pip install 在 Windows/Linux 两种操作系统上,但是该项目中有一些依赖库只有 Windows 上才有(例如 pywinauto、pywingui、pywinrm),那么问题是,如何实现打包文件的可兼容性安装?

Fabric 源码学习:如何实现批量管理远程服务器?

2020-03-14
阅读 2 分钟
1.8k
前不久,我写了一篇《Fabric教程》,简单来说,它是一个用 Python 开发的轻量级的远程系统管理工具,在远程登录服务器、执行 Shell 命令、批量管理服务器、远程部署等场景中,十分好用。

Python 进阶之源码分析:如何将一个类方法变为多个方法?

2019-12-22
阅读 5 分钟
1.3k
Python 中装饰器的本质就是移花接木,用一个新的方法来替代被装饰的方法。在实现参数化的过程中,我们介绍过的几个库到底用了什么手段/秘密武器呢?

Python 的整数与 Numpy 的数据溢出

2019-09-10
阅读 2 分钟
3.2k
然后,他继续发了张图,内容是 print(100000*208378),就是直接打印上图的 E[0]*G[0],结果是 20837800000,这是个正确的结果。

Python 内存分配时的小秘密

2019-08-31
阅读 4 分钟
2.2k
Python 中的sys 模块极为基础而重要,它主要提供了一些给解释器使用(或由它维护)的变量,以及一些与解释器强交互的函数。 本文将会频繁地使用该模块的getsizeof() 方法,因此,我先简要介绍一下: 该方法用于获取一个对象的字节大小(bytes) 它只计算直接占用的内存,而不计算对象内所引用对象的内存 这里有个直观的...

如何美观地打印 Python 对象?这个标准库可以简单实现

2019-08-25
阅读 4 分钟
2.3k
明线:早期的 print 语句带有 C 和 Shell 的影子,是个应用程序级的 statement,在最初十几年里,经历过 PEP-214 和 PEP-259 的改进;再到 2009 年的大版本 3.0,由语句改成了 print() 函数,还在 3.3 版本,做过一次功能增强,最终上升成为一等的内置函数。

从 Python 之父的对话聊起,关于知识产权、知识共享与文章翻译

2019-08-22
阅读 4 分钟
3.4k
一、缘起 前不久,我在翻译 Guido van Rossum(Python之父)的文章时,给他留言,申请非商业用途的翻译授权。 过程中起了点小误会,略去不表,最终的结果是:他的文章以CC BY-NC-SA 4.0 许可协议进行授权。部分对话如下: CC 协议是一种授权许可协议,我曾看到过几次,但了解不多,所以便查阅了相关的内容。 本文主要是...

Python 之父的解析器系列之三:生成一个 PEG 解析器

2019-08-10
阅读 7 分钟
2k
原题 | Generating a PEG Parser 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫(“Python猫”公众号作者) 声明 | 本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议。为便于阅读,内容略有改动。 首发地址:[链接] 我已经在本系列第二篇文章中简述了解析器的基础结构,并展示了一个简单的手写解析...

Python 之父再发文:构建一个 PEG 解析器

2019-08-03
阅读 7 分钟
1.8k
花下猫语: Python 之父在 Medium 上开了博客,现在写了两篇文章,本文是第二篇的译文。前一篇的译文 在此 ,宣布了将要用 PEG 解析器来替换当前的 pgen 解析器。

Python 之父撰文回忆:为什么要创造 pgen 解析器?

2019-07-29
阅读 4 分钟
1.8k
花下猫语: 近日,Python 之父在 Medium 上开通了博客,并发布了一篇关于 PEG 解析器的文章(参见我翻的 全文译文)。据我所知,他有自己的博客,为什么还会跑去 Medium 上写文呢?好奇之下,我就打开了他的老博客。

Python之父发文吐槽现有解析器,考虑将它替换掉

2019-07-27
阅读 5 分钟
2.1k
花下猫语: Guido van Rossum 是 Python 的创造者,虽然他现在放弃了“终身仁慈独裁者”的职位,但却成为了指导委员会的五位成员之一,其一举一动依然备受瞩目。近日,他开通了 Medium 账号,并发表了第一篇文章,透露出要替换 Python 的核心部件(解析器)的想法。这篇文章分析了当前的 pgen 解析器的诸多缺陷,并介绍了 ...

小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得

2019-07-15
阅读 6 分钟
10.2k
本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:[链接] 今天,猫哥要推荐一本非常著名的开源书籍:《500 Lines or Less》。 在开始正题之前,先介绍一下它所属的系列。该系列叫 AOSA,是“The Architecture of Open Source Applications”的简称,即“开源程序的体系结构”,目前有四本书,本期主角是...