pep

PyLint,PyChecker还是PyFlakes? [关闭]

萝らか妹 提交于 2020-02-26 05:25:27
我想获得一些关于这些工具的反馈: 特征; 适应性; 易用性和学习曲线。 #1楼 好吧,我有点好奇,所以我只是在问了问题之后立即测试了3个人;-) 好的,这不是一个非常认真的评论,但我可以这么说: 我在以下脚本中尝试 使用默认设置 的工具(这很重要,因为您可以选择检查规则): #!/usr/local/bin/python # by Daniel Rosengren modified by e-satis import sys, time stdout = sys.stdout BAILOUT = 16 MAX_ITERATIONS = 1000 class Iterator(object) : def __init__(self): print 'Rendering...' for y in xrange(-39, 39): stdout.write('\n') for x in xrange(-39, 39): if self.mandelbrot(x/40.0, y/40.0) : stdout.write(' ') else: stdout.write('*') def mandelbrot(self, x, y): cr = y - 0.5 ci = x zi = 0.0 zr = 0.0 for i in xrange(MAX_ITERATIONS) : temp =

Python Ellipsis对象有什么作用?

爷,独闯天下 提交于 2020-02-26 01:17:05
在闲逛名称空间时,我注意到一个看起来很奇怪的对象“ Ellipsis ”,它似乎并没有做任何特别的事情,但它是一个全局可用的内置对象。 经过搜索,我发现Numpy和Scipy在切片语法的某些晦涩变体中使用了它……但是几乎没有其他东西。 是否将此对象添加到专门支持Numpy + Scipy的语言中? Ellipsis是否有任何一般意义或用途? D:\workspace\numpy>python Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> Ellipsis Ellipsis #1楼 它的预期用途不仅应用于这些第三方模块。 在Python文档中没有适当提及它(或者也许我找不到),但是 省略号 ... 实际上 至少在一个地方 用在CPython 中。 它用于表示Python中的无限数据结构。 我在玩列表时遇到了这个符号。 有关更多信息,请参 见此问题 。 #2楼 __getitem__ minimal ... 自定义类中的示例 当魔术语法 ... 在自定义类中传递给 [] 时, __getitem__() 会收到一个

Data Classes vs typing.NamedTuple primary use cases

微笑、不失礼 提交于 2020-02-17 08:57:22
问题 Long story short PEP-557 introduced data classes into Python standard library, that basically can fill the same role as collections.namedtuple and typing.NamedTuple . And now I'm wondering how to separate the use cases in which namedtuple is still a better solution. Data classes advantages over NamedTuple Of course, all the credit goes to dataclass if we need: mutable objects inheritance support property decorators, manageable attributes generated method definitions out of the box or

Data Classes vs typing.NamedTuple primary use cases

痴心易碎 提交于 2020-02-17 08:56:14
问题 Long story short PEP-557 introduced data classes into Python standard library, that basically can fill the same role as collections.namedtuple and typing.NamedTuple . And now I'm wondering how to separate the use cases in which namedtuple is still a better solution. Data classes advantages over NamedTuple Of course, all the credit goes to dataclass if we need: mutable objects inheritance support property decorators, manageable attributes generated method definitions out of the box or

深入学习 Python 的包

為{幸葍}努か 提交于 2020-01-09 13:17:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 为什么需要对项目分发打包? 平常我们习惯了使用 pip 来安装一些第三方模块,这个安装过程之所以简单,是因为模块开发者为我们默默地为我们做了所有繁杂的工作,而这个过程就是 打包 。 打包,就是将你的源代码进一步封装,并且将所有的项目部署工作都事先安排好,这样使用者拿到后即装即用,不用再操心如何部署的问题(如果你不想对照着一堆部署文档手工操作的话)。 不管你是在工作中,还是业余准备自己写一个可以上传到 PyPI 的项目,你都要学会如何打包你的项目。 Python 发展了这么些年了,项目打包工具也已经很成熟了。他们都有哪些呢? 你可能听过 disutils 、 distutils 、 distutils2 、 setuptools 等等,好像很熟悉,却又很陌生,他们都是什么关系呢? 2. 包分发的始祖:distutils distutils 是 Python 的一个标准库,从命名上很容易看出它是一个分发(distribute)工具(utlis),它是 Python 官方开发的一个分发打包工具,所有后续的打包工具,全部都是基于它进行开发的。 distutils 的精髓在于编写 setup.py,它是模块分发与安装的指导文件。 那么如何编写 setup.py 呢?这里面的内容非常多,我会在后面进行详细的解析

聊聊 Python 的内置电池

大憨熊 提交于 2020-01-07 07:46:26
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文原创并首发于公众号【 Python猫 】,未经授权,请勿转载。 原文地址: https://mp.weixin.qq.com/s/XzCqoCvcpFJt4A-E4WMqaA (一) 最近,我突然想到一个问题: 相比其它语言,有哪些概念或习惯叫法是 Python 特有的? 在朋友圈提出这个问题后,我得到最多的回复是—— Pythonic 。这个回复一点都不意外,名字中自带 Python 的,当然是特有的啦,与它相似的,还有 Pythonista 。 这两个词是啥意思呢?Python 圈内流传着一个说法“人生苦短,我用 Python”,人们相信存在着最佳的实践方式,采用这种方式是最美的、最高效的、最优雅的,也即是 Pythonic ,而这样做的人(或以此为追求的人)则自称是 Pythonista。这个称号是有别于 Pythoner 或者 Pythonist 的,简单地说就是,它更有追求、更有逼格。 除了以上两个,Python 还有众多独特的叫法,例如终生仁慈独裁者、装饰器、上下文管理器、推导式与生成式、鸭子类型、猴子补丁、魔术方法、GIL、内置电池,等等。它们有的并不是 Python 所原创或独有,但是却因为它才广为人知,它们在 Python 中是代表性的存在物。 (二) 这些内容都很有意思,本文唯独想聊聊它

我的 2019 年 Python 文章榜单

纵饮孤独 提交于 2020-01-07 04:12:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 现在是 2020 年的第一天,我相信从昨天开始,各位的信息流里肯定充斥了各式各样的年度盘点/回顾/总结/记录之类的内容。虽然来得稍晚了,但我还是想给诸位送上这一篇文章。 我将在本文中列出自己于 2019 年度里最喜爱的 10 篇 Python 文章。我的选择标准是极为个性化的,甚至会有点任性,因为我的第一条标准是: 文章必须是我原创或者翻译的。 如标题所言,这就是“我的”文章榜单。同时,为了丰富本文内容,我在榜单之后,还会附上其他人所盘点的文章榜单,给大家呈上更多的精彩内容。 我的年度十佳文章 Python 中 -m 的典型用法、原理解析与发展演变 Python 内存分配时的小秘密 Python进阶:全面解读高级特性之切片! len(x) 击败 x.len(),从内置函数看 Python 的设计思想 编程语言之问:何时该借用,何时该创造? Python 之父撰文回忆:为什么要创造 pgen 解析器? Python 进阶之源码分析:如何将一个类方法变为多个方法? 遇见一只黑猫,她说Python是个怪物 [译] PEP 318--函数和方法的装饰器 聊聊 Python 的内置电池 / 聊聊 print 的前世今生 附录三份榜单: 1、爱湃森年度 Python 榜单 Our journey to type

Partial stub in PyCharm

社会主义新天地 提交于 2020-01-04 14:21:17
问题 I would like to introduce partial type annotation to my project. For example for overloading. I found that pep561 introduce partial stub file support. I develop my project with PyCharm and I add corresponding *.pyi file. And got expected information, but PyCharm reports that cannot find reference in pyi file. It is possible to force PyCharm to look to orginal py file when there is no entry in pyi file? Or maybe it is also doable with partial entry for class? I create sample project to show

PEP 3106 suggests slower way? Why?

不羁岁月 提交于 2019-12-30 22:53:46
问题 Recently, I had to convert the values of a dictionary to a list in Python 3.6 and an use case where this is supposed to happen a lot. Trying to be a good guy I wanted to use a solution which is close to the PEP. Now, PEP 3106 suggests list(d.keys()) which obviously works fine - but using timeit on my Windows 7 machine i see >python -m timeit "[*{'a': 1, 'b': 2}.values()]" 1000000 loops, best of 3: 0.249 usec per loop >python -m timeit "list({'a': 1, 'b': 2}.values())" 1000000 loops, best of 3

【译】PEP 318--函数和方法的装饰器

耗尽温柔 提交于 2019-12-29 21:21:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> PEP原文 : https://www.python.org/dev/peps/pep-0318 PEP标题: Decorators for Functions and Methods PEP作者: Kevin D. Smith, Jim J. Jewett, Skip Montanaro, Anthony Baxter 创建日期: 2003-06-05 合入版本: 2.4 译者 : 豌豆花下猫 ( Python猫 公众号作者) PEP翻译计划 : https://github.com/chinesehuazhou/peps-cn 内容 警告警告警告 摘要 动机 为什么这很难? 背景 关于“Decorator”名称 设计目标 当前语法 语法的选择 装饰器位置 语法形式 为什么是 @? 当前实现与历史 社区共识 例子 (不再是)未决问题 参考资料 版权 警告警告警告 本文档旨在描述装饰器语法和做出决定的过程。它既不试图涵盖大量潜在的替代语法,也不试图详尽列出每种形式的所有优点和缺点。 摘要 当前用于转换函数和方法的方式(例如,将它们声明为类或静态方法)很笨拙,并且可能导致难以理解的代码。在理想的情况下,这些转换应该在代码中作声明的位置进行。本 PEP 引入了对函数或方法声明作转换的新语法。 动机