Github:https://github.com/icexmoon/PEP-CN
Gitee:https://gitee.com/icexmoon/PEP-CN
最近学习Python,翻译了几篇PEP,遂突发奇想有没有PEP的系统中文翻译项目,翻了一下Github,有一个现成的项目PEP中文翻译计划,但该项目存在以下缺陷:
- 已有较长时间未更新。
- 缺失版权声明。比如某个PEP链接的文章是明确声明不允许转载的微信公众号文章。
- 翻译内容包含多种外部链接,已经部分链接已失效。
所以我在Github创建了这个项目,目的是进行系统性翻译中文版PEP,为Python学习者做出一些贡献。
当然,我个人的力量远远不够,这里还是希望Python爱好者能广泛加入这个项目。
想加入项目或者有任何建议,可以直接在本项目的issue页面发帖。
如果你不了解什么是PEP,可以阅读学习Python,经常见到PEP,那么PEP是什么呢?
为了避免项目PEP中文翻译计划中的不足,这里暂时规定一下规范:
-
翻译文章必须使用Markdown文本作为载体。
如果不会使用Markdown,可以阅读从今天开始Markdown,相信我,和学习一门编程语言相比,这完全是轻而易举。
-
在文章开头必须注明PEP原文地址。
-
在文章末尾必须注明创作者和版权声明,例如:
版权声明:本文由 [**icexmoon**](https://github.com/icexmoon/) 翻译,遵循CC 4.0 BY-SA版权协议。建议使用 CC 4.0 版权声明,CC 4.0 BY-SA 的意思是可以转载和改编,但必须注明原作者和来源,关于更多 CC 协议的说明可以阅读“知识共享”(CC协议)简单介绍。
-
所有翻译成果使用本项目的Github仓库进行托管,在目录中直接进行引用,不使用第三方外链。
-
译文中如果需要插入图片,必须将图片上传到可靠图床后添加进文本。
Markdown-img是我编写的对此有帮助的小工具。
-
待翻译列表以未链接的形式在目录中展示,主要由其它网络文章推荐和个人口味形成,如果有其它想添加的待翻译PEP,请在issue页面告知。
-
可以从待翻译列表认领或者自行确认翻译目标。为了避免重复劳动,选定后请提交一个空的Markdown文件到分支合并请求进行占位。
-
建议在译文中保留原始英文段落,采用中英文对照方式,这样更便于纠错和改进。
-
建议进行全文翻译,如果时间精力有限,可以将未翻译部分以原文方式呈现,只翻译核心内容。
-
译文使用中文标点,原文中使用md代码块方式包裹的内容也应该依然使用此方式。
-
译文之外的译者注释部分应当使用md中的注释语法
>注释,例如:>linter指语法检查工具,可以参考[**程序开发中的linter是什么意思?**](https://www.zhihu.com/question/28421865)中的回答,译者注。 -
译文之外添加的链接可以使用
**加粗**的方式强化显示。 -
为了尽可能提高翻译内容的一致性,添加了词汇对照表作为专有名词的翻译依据,如果表中没有,可以选择合适的翻译后维护该表。
-
鼓励在翻译中对必要的相关已翻译或未翻译PEP进行引用,比如:
注意:
Dict,DefaultDict,List,Set和FrozenSet主要用于注释返回值。对于参数,最好使用下面定义的抽象集合类型,例如:Mapping,Sequence或AbstractSet。这是解耦思想的体现,即“向上编程”,此外,Python 3.9 通过PEP 585 -- 标准集合中的类型提示泛型废弃了
typing.Dict等,已经使用dict等类型泛型进行了统一,译者注。
- Typora是个优秀的多平台免费Markdown编辑器,唯一缺点是如果内容较多,反应会变慢(至少我的落伍小破笔记本如此)。
- DeepL是最近出现的德国产优秀翻译器,据说使用了深度学习,实际使用也的确比Google优秀一些,至少在翻译计算机专业内容时候是这样。推荐下载桌面版进行使用,效率更高。
如果有其他Python爱好者加入,打算组织实现以下计划:
- 筛选并确定翻译的PEP列表。
- 编写PEP中的常见专用词汇对照表。
- 进行翻译条目的认领和分配。
- 对已翻译条目进行修订。
所有已翻译文章列表会展示在这里:
所有链接均为Github链接,如果无法正常访问请前往本项目的Gitee镜像,然后直接访问pep目录下的md文档阅读,亦可下载或克隆整个仓库。
- PEP 0 -- Index of Python Enhancement Proposals,Python增强提案索引
- PEP 7 -- Style Guide for C Code,C扩展规范
- PEP 8 -- Style Guide for Python Code,Python编码规范
- PEP 20 -- The Zen of Python,Python之禅
- PEP 202 -- List Comprehensions,列表推导式
- PEP 205 -- Weak References,弱引用
- PEP 234 -- Iterators,迭代器
- PEP 257 -- Docstring Conventions,文档字符串约定
- PEP 274 -- Dict Comprehensions,字典推导式
- PEP 279 -- The enumerate() built-in function,内建函数enumerate()
- PEP 282 -- A Logging System,一个日志系统
- PEP 285 -- Adding a bool type,添加一个 bool 类型
- PEP 289 -- Generator Expressions,生成器表达式
- PEP 308 -- Conditional Expressions,条件表达式
- PEP 309 -- Partial Function Application,部分函数应用
- PEP 318 -- Decorators for Functions and Methods,函数和方法装饰器
- PEP 333 -- Python Web Server Gateway Interface v1.0,Python Web 服务网关接口 v1.0
- PEP 342 -- Coroutines via Enhanced Generators,通过增强生成器实现协程
- PEP 343 -- The "with" Statement,with语句
- PEP 380 -- Syntax for Delegating to a Subgenerator,委托给子生成器的语法
- PEP 405 -- Python Virtual Environments,Python虚拟环境
- PEP 435 -- Adding an Enum type to the Python standard library,在Python标准库中添加一个枚举类型
- PEP 443 -- Single-dispatch generic functions,单分派泛函数
- PEP 471 -- os.scandir() function,遍历目录
- PEP 484 -- Type Hints,类型提示
- PEP 492 -- Coroutines with async and await syntax,通过async与await语句实现协程
- PEP 498 -- Literal String Interpolation,字符串字面量插值法
- PEP 525 -- Asynchronous Generators,异步生成器
- PEP 526 -- Syntax for Variable Annotations,变量注解语法
- PEP 563 -- Postponed Evaluation of Annotations,推迟的注解评估
- PEP 557 -- Data Classes,数据类
- PEP 572 -- Assignment Expressions,赋值表达式
- PEP 584 -- Add Union Operators To dict,给dict添加合并操作符
- PEP 585 -- Type Hinting Generics In Standard Collections,标准集合中的类型提示泛型
- PEP 614 -- Relaxing Grammar Restrictions On Decorators,放宽对装饰器的语法限制
- PEP 616 -- String methods to remove prefixes and suffixes,移除前缀和后缀的字符串方法
- PEP 634 -- Structural Pattern Matching: Specification,结构化模式匹配:规范
- PEP 635 -- Structural Pattern Matching: Motivation and Rationale,结构化模式匹配:动机和原理
- PEP 636 -- Structural Pattern Matching: Tutorial,结构化模式匹配:教程
- PEP 3101 -- Advanced String Formatting,高级字符串格式化
- PEP 3105 -- Make print a function,将print变为函数
- PEP 3115 -- Metaclasses in Python 3000,Python3中的元类
- PEP 3119 -- Introducing Abstract Base Classes,介绍抽象基类
- PEP 3120 -- Using UTF-8 as the default source encoding,使用UTF-8作为默认的源编码
- PEP 3135 -- New Super,新的 super
- PEP 3148 -- futures - execute computations asynchronously,futures - 异步执行计算
- PEP 3156 -- Asynchronous IO Support Rebooted: the "asyncio" Module,重新启动的异步IO支持:"asyncio "模块
- PEP 3333 -- Python Web Server Gateway Interface v1.0.1 Python Web 服务网关接口 v1.0.1
- PEP 8000 -- Python Language Governance Proposal Overview,Python 语言治理提案概述
版权声明:本文由 icexmoon 原创,遵循CC 4.0 BY-SA版权协议。