300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 减少谷歌搜索使用次数!你知道这3个Python秘密武器吗?

减少谷歌搜索使用次数!你知道这3个Python秘密武器吗?

时间:2023-05-03 14:07:20

相关推荐

减少谷歌搜索使用次数!你知道这3个Python秘密武器吗?

作为一名写了5年Python的工程师,我发现我们的工具集一直在变小,而不是变大。

很多工具都是不必要或无用的,而其中有一些工具你将完全无法使用。 但是,这三个工具集,是我坚持使用了最长时间的。

秘密武器1:使用Kite可以更快地编写代码,减少Google搜索时间

大多数代码编辑器都具有如下自动完成功能:

它使用语言(有时还有库)文档来建议函数名和参数之类的东西。

这当然没关系,但如果你的编辑器可以浏览多年的GitHub数据,并自动完成不仅仅是函数名,而是整行代码,那就很完美了。

这只是你应该使用Kite的三个理由中的第一个。

原因1:完善代码行

Kite查看您的代码库和变量、常用的在线参数名、文档,然后提出符合上下文的建议:

上面的例子展示了Kite如何预测哪一个变量你将使用哪一个,哪怕它们是一般命名的(比如b)或者使用通用名称(比如x或者y)。

我们花了大约50年的时间在Github上对所有代码进行语义索引,构建统计类型推断,以及以非常深入的方式使用这些语义信息的丰富统计模型。——Kite创始人兼首席执行官Adam Smith

原因2:Copilot进行文档编制

如果你从未听说过“ RTFM”,那可能是因为你还没有犯过我的错误。

无论如何,高级开发人员在发现bug或查看Stack Overflow的问题之前,我们应该要阅读官方文档。

Kite Copilot使文档更容易被读懂。 它与你的编辑器一起运行,并实时显示你用光标突出显示的任何对象/功能/等的文档。

从我的第一份工作到现在,我真的没有借口不首先在文档中寻找答案。

原因3:在本地运行

它是在本地运行的所有基础之上,因此你能很快得到令人难以置信的建议,它可以脱机工作,并且你的代码永远不会发送到云中。

对于互联网较差的人和在封闭源代码库中工作的人们来说,这是非常重要的。

结果

我使用 Kite 已有多年了,而且一直在不断改进。而且该工具在拿到投资后,一直是免费的。

你所要做的就是为你的编辑器下载Kite插件,或者下载Copilot,它可以为你安装插件。下载链接在这里:/?ref=pbadeer

秘密武器2:使用Mypy稳定你的代码

Python是动态类型的,一个过分简化的解释是你可以随时将任何变量设为任何数据类型(字符串,整数等)。

# 这两种变量类型的声明方式完全相同#Python动态地自行找出数据类型# stringvar_name = "string here"# integervar_name = 1234

相反的是静态类型的语言,其中的变量必须有一个特定的数据类型,并且始终遵循它。

# 许多语言也要求声明数据类型# stringstr var_name = "string here"# integerint var_name = 1234

动态键入的利弊

动态类型的优点是,在编写时可以很懒,并且可以减少代码混乱。

但缺点是很多而且很大:

通常在开发周期的后期会遇到错误由于Python不断地计算类型,代码的性能更差函数不太稳定,因为它们的输入和输出可以在没有警告的情况下更改数据类型由于其他人可能不知道您的变量是或可能成为什么样的数据类型,因此传递代码的稳定性要高得多

Python中的静态类型

输入Mypy。一个免费的Python模块,允许你在Python内部使用静态类型。

在 pip install mypy 之后,下面是一个如何使用它的示例:

# 使用普通动态类型声明函数,不使用mypydef iter_primes():# 此处输入代码# 用mypy静态类型声明相同的函数from typing import Iteratordef iter_primes() -> Iterator[int]:# code here

在mypy示例中,我们指定函数返回整数迭代器。这个简单的更改通过强制一个一致的输出使这个函数更加经得起未来的检验。

其他开发人员只需查看声明就可以看到输出的数据类型,与仅使用文档不同的是,如果不遵守该声明,你的代码将出错。

这是从这里的例子中提取的一个超级简单的例子,如果仍然没有意义,去看看它们。

案例地址:http://www.mypy-/examples.html

秘密武器3:使用Sonarlint快速查找错误并编写更简单的函数

现在每个编辑器都有某种类型的错误检查或“linter”内置。它查看代码,通常不运行它,并试图猜测可能出了什么问题。这称为静态代码分析。

VS代码中的默认Python Linter

动态代码分析实际上试图运行/编译部分代码以查看其是否正常工作,但它是在后台自动执行的。事实上,它并不猜测,而是知道它是否有效,以及确切的错误是什么。

SonarLint是动态代码分析的最佳选择,还有更多。这些特点是我喜欢它的原因:

注释或未调用的代码

我犯了把打印语句、注释掉的代码和未使用的函数放在我的代码库中的错误。这会警告我,让我很难忘记,告诉我它在哪里,让它很容易找到。

风险非常小

一个包含不断更新的安全风险的巨大数据库实时地抛出到代码库中,你所暴露的任何已知漏洞都会发出警告。

风险非常小,不可能记住,所以每个人都应该使用一些东西来跟踪这些风险。声纳林是一个很好的开始。

从未执行过的代码

与未调用的代码稍有不同,这将提示我是否创建了任何结果无法达到的计算。这些在写代码的过程中是很难发现,可能导致需要数小时的调试,所以这是我最喜欢的功能之一。

下面是一个例子:

a = Noneif a == None or not a or a:this_will_always_get_called()else:# sonarlint会警告您此行永远不会执行this_will_never_get_called()

认知复杂性

简单的解释是,他们已经创建了一个数学公式,可以计算出阅读/理解代码的难度。

它不仅非常有用,而且很容易理解。每次SonarLint要求我“降低认知复杂度”时,都会附带一个简单的规则解释,比如“嵌套的if语句太多”。

结果

我发现这比基本的阻塞和 linting 实践更有用,而且我确信这会使我编写更人性化的代码。顺便说一下,这是Pythonic!

SonarLint是免费的,所以没有理由不现在就抓住它并将其添加到编辑器上。

结论

如果您跳过这里,只需快速警告,除非您对这些功能有基本的了解,否则可能无法正确使用这些功能。

以下是三种秘密武器的概述:

使用Kite Copilot和Editor插件,编写速度更快,减少使用Google搜索使用次数使用Mypy Python模块稳定代码使用SonarLint编辑器插件快速查找错误并编写更简单的函数

希望这些工具能很好地为你服务,超级好用的3个工具。

文源网络,仅供学习之用,侵删。

在学习Python的道路上肯定会遇见困难,别慌,我这里有一套学习资料,包含40+本电子书,800+个教学视频,涉及Python基础、爬虫、框架、数据分析、机器学习等,不怕你学不会! https://shimo.im/docs/JWCghr8prjCVCxxK/ 《Python学习资料》

关注公众号【Python圈子】,优质文章每日送达。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。