这个Python资源在GitHub上标星超8000,现在被翻译成了中文 | 资源
乾明 编辑整理
量子位 出品 | 公众号 QbitAI
最近,GitHub上一个关于Python的工程完工了。
一个名为“暮晨”的贡献者,把一个非常有趣的Python项目,翻译成了中文版。
这个项目是《What the f*ck Python!》,专门介绍 Python 里面那些奇奇怪怪的语言坑。
关于项目
项目的主体构成部分就是示例,一共分为5个部分,分别是:
Strain your brain!/大脑运动!
Appearances are deceptive!/外表是靠不住的!
Watch out for the landmines!/小心地雷!
The Hidden treasures!/隐藏的宝藏!
Miscellaneous/杂项
以上,总计51个示例。
每一个示例的结构都是一样的,以“Mutating the immutable!/强人所难”为例:
首先,会给出代码:
some_tuple = ("A", "tuple", "with", "values")another_tuple = ([1, 2], [3, 4], [5, 6])
然后,给出Output( Python version):
>>> some_tuple[2] = "change this"TypeError: 'tuple' object does not support item assignment>>> another_tuple[2].append(1000) # 这里不出现错误>>> another_tuple([1, 2], [3, 4], [5, 6, 1000])>>> another_tuple[2] += [99, 999]TypeError: 'tuple' object does not support item assignment>>> another_tuple([1, 2], [3, 4], [5, 6, 1000, 99, 999])
然后,对意外输出的结果进行简短的描述,在这个示例中,就是:
我还以为元组是不可变的呢…
接下来,就会对示例进行说明,简要叙述发生了什么以及为什么会发生。如有必要, 也会举例说明。
在这个示例中是这样的:
引用
https://docs.python.org/2/reference/datamodel.html
不可变序列 不可变序列的对象一旦创建就不能再改变。(如果对象包含对其他对象的引用,则这些其他对象可能是可变的并且可能会被修改; 但是,由不可变对象直接引用的对象集合不能更改。)
+= 操作符在原地修改了列表. 元素赋值操作并不工作, 但是当异常抛出时, 元素已经在原地被修改了。
有些地方,贡献者还会给出译注,比如整个示例中就是:
对于不可变对象, 这里指tuple, +=并不是原子操作, 而是extend和=两个动作, 这里=操作虽然会抛出异常, 但 extend 操作已经修改成功了。
其他还有50个示例,等你来看~
怎么使用?
当然,要学习一下怎么使用这个资源。项目贡献者在用法部分表示,最好依次阅读下面的示例。
然后,在阅读每一个示例的时候,这样做:
仔细阅读设置例子最开始的代码。
阅读输出结果。
确认结果是否如你所料。
确认你是否知道这背后的原理。
如果不知道, 深呼吸然后阅读说明 (如果你还是看不明白, 别沉默!可以提问题)。
如果知道, 给自己点奖励, 然后去看下一个示例。
此外,还可以在命令行阅读 WTFpython,有 pypi 包 和 npm 包(支持代码高亮),不过都是英文版的。
关于作者
这个项目的原作者,是一个名为Satwik Kansal的印度小哥。
GitHub上的介绍称,在深度学习和去中心化应用方面是一个“老司机”。
目前,英文版资源,标星已经8.3k了。
传送门
中文版:
https://github.com/leisurelicht/wtfpython-cn
英文原版:
https://github.com/satwikkansal/wtfpython
— 完 —
年度评选申请
加入社群
量子位AI社群开始招募啦,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式;
此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。
进专业群请在量子位公众号(QbitAI)对话界面回复关键字“专业群”,获取入群方式。(专业群审核较严,敬请谅解)
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
这个Python资源在GitHub上标星超8000,现在被翻译成了中文 | 资源相关推荐
- GitHub上标星95k+超牛的《Java面试突击版》PDF
前言 不论是校招还是社招都避免不了各种面试.笔试,如何去准备这些东西就显得格外重要.不论是笔试还是面试都是有章可循的,我这个有章可循'说的意思只是说应对技术面试是可以提前准备. 运筹帷幄之后,决胜千里 ...
- 高燃!GitHub上标星75k+超牛的Java面试突击版
前言 不论是校招还是社招都避免不了各种面试.笔试,如何去准备这些东西就显得格外重要.不论是笔试还是面试都是有章可循的,我这个有章可循'说的意思只是说应对技术面试是可以提前准备. 运筹帷幄之后,决胜千里 ...
- GitHub上标星75k+超牛的《Java面试突击版》,分享PDF离线版
前言 不论是校招还是社招都避免不了各种面试.笔试,如何去准备这些东西就显得格外重要.不论是笔试还是面试都是有章可循的,我这个有章可循'说的意思只是说应对技术面试是可以提前准备. 运筹帷幄之后,决胜千里 ...
- GitHub上标星75k+超牛的《Java面试突击版》,java开发实战经典第二版答案
运筹帷幄之后,决胜千里之外!不打毫无准备的仗,我觉得大家可以先从下面几个方面来准备面试: 1.自我介绍.(你可千万这样介绍: "我叫某某,性别,来自哪里,学校是哪个,自己爱干什么" ...
- 太赞了,GitHub 上标星 115k+ 的 Java 教程!
额,大家好啊,我是浑元形意门的学员小二哥(忍住别笑).就在五个半小时前,有个小伙伴私信我说,"哥,能推荐一些高质量的 Java 教程吗?" 迫不及待的同学可以直接拉到文末. 我回他 ...
- GitHub 上标星 115k+ 的 Java 教程
额,大家好啊,我是浑元形意门的学员小二哥(忍住别笑).就在五个半小时前,有个小伙伴私信我说,"哥,能推荐一些高质量的 Java 教程吗?" 我回他,"教妹学 Java 不 ...
- 牛皮!这份GitHub上标星90.6K的Java面试指南+笔记,带你搞定96%的java面试
前言 今年受疫情影响,面试难度增大,工作很难找,从延迟的金三银四,裁员的企业.人数众多的金九银十等方方面面都可以看得出来 今天,我们要分享的是,GitHub上标星90.6K的Java面试指南+笔记,这 ...
- 【干货】Github标星1.2K,Visual Transformer 最全最新资源,包含期刊、顶会论文
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨梁定康 编辑丨极市平台 导读 给大家分享一个超全面的visua ...
- 手机上的机器学习资源!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现!...
吴恩达机器学习.深度学习,李航老师<统计学习方法>.CS229数学基础等,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成 ...
最新文章
- MinkowskiEngine实用函数和类
- 【趋势】吴军:未来机器将会控制98%的人
- Visual c++6.0 如何自定义一个光标,使其变成字
- 使用HtmlAgilityPack抓取网页数据
- [html] 在a标签中,怎样防止链接跳转?
- pytorch —— 池化、线性、激活函数层
- 用python实现(1.求输入的百倍,十位,个位数;2.输入a,b和ab间夹角,计算c边长;3.计算两点间曼哈顿距离;4.计算给定数据的几何平均数;5.计算向量的L1和L2范数)
- PIO导出Excel 设置样式
- linux activemq 日志,log4j通过ActiveMQ远程记录日志设计配置
- vue2.0实现银行卡类型种类的选择
- windows7 系统下载(2)
- linux chrome 缓存,Linux设置chrome缓存至内存,及开关机同步
- XCTF-Cat+Bug
- 1-开发环境--android文件系统的结构
- 猫眼CEO郑志昊:为什么说产品思维已“死”?
- 前端如何实现一键截图功能?
- 前端上传文件保存到变量中
- Linux之V4L2驱动框架
- cmd.exe专杀工具
- bzoj3785--骑士游戏--有“环”的动态规划
热门文章
- Python 爬下的必胜客数据背后,藏着什么样的信息?
- 程序员如何巧妙学习算法技巧?
- 为什么 React Native 连遭 Airbnb、Udacity 抛弃?
- 【2021Java最新学习路线】java后端开发入门
- java vo转map_javabean实体类对象转为Map类型对象的方法(转发)
- 翻译是不是计算机常用的颜色模式,关于颜色的翻译
- python灰色预测_灰色系统预测GM(1,1)模型
- 带格式文本html 直接复制粘贴,通过JS将带格式的文本复制到剪贴版的两种方法...
- php元类,什么是元类-python编程入门系列图文教程-PHP中文网教程
- c语言输出方框□怎么回事_值得收藏的 C语言指针讲解文章,确实不错!