atom python环境_在Atom中设置Python开发环境

atom python环境

当然,那里有很多很棒的文本编辑器。 崇高的文字,方括号,原子。 我个人一直是Atom的粉丝,因为它是完全免费的,并且它具有许多可用的程序包和主题,从而使编码变得更加容易。 在这里,我将介绍如何使用Atom设置“对Python友好的”开发环境,以及一些对python编码有用的软件包,然后再看看编写一些基本代码。

1)下载Atom

首先,如果要使用Atom作为文本编辑器,我们最好下载它。 这是执行此操作的链接: https : //atom.io/

2)安装语法主题

一旦安装了Atom,就可以转到首选项,然后在首选项菜单中选择+ install。 然后,选择主题的选项以下载主题。 语法主题将具有一种配色方案,这将使代码一目了然。 我发现某些主题在JavaScript中似乎很棒,但是在Python中却不那么可读。 例如,对于我的UI和语法主题,我一直是Atom Dark和One Dark的忠实拥护者。 直到最近,我主要使用JavaScript,React和Node进行编码,这个主题对我来说适合那些语言。 但是,在Python中,我不太喜欢它。 找到适合您的语法主题可能很困难,尤其是一旦您习惯了一个主题。

以下是一些我最喜欢的Python:

1)原子材料

这是我在本文中将一直使用的主题,也是在上例中看到的主题。 我喜欢它,因为许多主题往往有些单色,并且出于这个原因似乎不太可读。 Atom Material使用多种颜色,并且具有高对比度,因此很容易查找和读取代码。 https://atom.io/themes/atom-material-syntax

2)手提凿岩机

这个颜色的使用范围不及Atom材质那么广泛,但是对比度却很高。 https://atom.io/themes/jackhammer-syntax

3)黎明前

另一个伟大的。 我已经看到很多开发人员使用此代码,并且似乎对Python非常友好。 https://atom.io/themes/predawn-syntax

如果您想使用其中之一,或者自己找到它们,可以在主题按钮右侧的搜索栏中搜索它们。 或对“语法”或“ python”进行常规搜索。

3)自动完成Python程序包

并非所有人都喜欢自动完成功能。 我同意,有时可能会遇到麻烦。 但是,如果您像我一样,并且刚开始使用Python,它会非常有用。 autocomplete-python软件包使您可以选择由Jedi或Kite驱动。 绝地是一个本地图书馆,而风筝则访问在线图书馆。 这是有关该软件包的更多文档: https : //atom.io/packages/autocomplete-python

4)文件图标包

文件图标包使您可以查看正在处理的每种文件类型的图标/徽标。 如果仅使用Python或仅使用JavaScript或其他工具,则可能不是问题。 但是,您的文件树很有可能可以包含多种语言和格式的多个文件。 在这种情况下,拥有此软件包将帮助您轻松地在树中查找文件。 https://atom.io/packages/atom-file-icons

5)Linter-flake8软件包

这是一个很棒的模块化源代码检查器。 安装软件包后,还需要使用命令行来完成安装。 有关如何执行此操作的说明均已记录在案。 https://atom.io/packages/linter-flake8

6)小地图包

Minimap不是特定于python的,但对于任何编码语言而言,它都是一个出色的工具。 一旦代码长度达到数百行,就很难在代码库中找到您的位置。 Minimap提供了整个代码的“缩小”视图,并突出显示了您在代码中的位置,从而将整个可视化效果保留在atom编辑器中的简洁侧边栏中。 https://atom.io/packages/minimap

7)python-autopep 8软件包

autopep8自动格式化Python代码以符合PEP 8样式指南。 它使用pycodestyle实用程序来确定需要格式化的代码部分。 autopep8能够解决pycodestyle可以报告的大多数格式问题 。 安装此软件包后,您可能需要单击设置,然后选择“保存时格式化”选项。 如文档中所示,这还需要您在命令行上使用pip完成安装。 https://atom.io/packages/python-autopep8

8)脚本包

到目前为止,此列表中最重要的软件包之一是脚本软件包。 这使您可以使用“ command + i”键盘快捷键在Atom编辑器中运行脚本。 该代码将在文本编辑器底部的面板中运行。 https://atom.io/packages/script

9)开始用Python编写代码

我最喜欢的入门方法之一是找到要解决的问题。 Project Euler网站上有许多基于数学的问题,您可以使用任何编程语言来解决。 由于我是Python的新手,所以我决定接受我在JavaScript中解决的项目欧拉问题之一,并在Python中解决相同的问题。 项目Euler上的5号内容如下:

2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?

因此,在JavaScript中,我通过以下方式解决了该问题:

let number = 1;
while ( number % 1 !== 0 || number % 2 !== 0 || number % 3 !== 0 || number % 4 !== 0 || number % 5 !== 0 || number % 6 !== 0 || number % 7 !== 0 || number % 8 !== 0 || number % 9 !== 0 || number % 10 !== 0 || number % 11 !== 0 || number % 12 !== 0 || number % 13 !== 0 || number % 14 !== 0 || number % 15 !== 0 || number % 16 !== 0 || number % 17 !== 0 || number % 18 !== 0 || number % 19 !== 0 || number % 20 !== 0) {
number = number + 1;
}
console.log(number);

基本上在这里我有一个while循环,从1开始,它检查数字是否可以被1到20整除而没有余数。 如果没有,它将添加一个并再次检查直到找到匹配项。 因此,对于Python,我试图简单地使用相同的代码,但将其转换为如下所示的Python,并以这实际上不是一个好主意的事实作为我的序言。

number = 1
while (number % 1 <> 0 or number % 2 <> 0 or number % 3 <> 0 or number % 4 <> 0 or number % 5 <> 0 or number % 6 <> 0 or number % 7 <> 0 or number % 8 <> 0 or number % 9 <> 0 or number % 10 <> 0 or number % 11 <> 0 or number % 12 <> 0 or number % 13 <> 0 or number % 14 <> 0 or number % 15 <> 0 or number % 16 <> 0 or number % 17 <> 0 or number % 18 <> 0 or number % 19 <> 0 or number % 20 <> 0):
number += 1
print number

基本上,这与上述代码具有相同的作用,但是是为Python编写的。 我很快意识到的一个主要区别是Python将打印从1开始的每个数字,直到得到答案为止,这可能需要很长时间。 因此,当我开始尝试理解Python时,以下是一些语法上的差异,这些差异将有助于入门:

1)对于循环

我发现JavaScript中的普通for循环如下所示:

for (var i = 0; i < array.length; i++) {
array[i]
}

但是,在Python中,它看起来更像JavaScript“ for in”循环:

for x in range(0, 3):
print "We're on time %d" % (x)

for循环从0到2,因此运行3次。

2)变数

在JavaScript中,需要先调用“ let,var或const”来定义变量。

let x = 1
const y = 2
var z = 3
let my_array = [1, 2, 3, 4]

在Python中,您可以简单地键入变量名称,而无需将其定义为变量。

x = 1
y = 2
z = 3
my_array = [1, 2, 3, 4]

3)功能

在JavaScript中,使用“函数”调用函数,并且可以采用一个参数或多个参数:

function test_prime(n){
// do stuff
}

在Python中,它们基本相同,但使用关键字“ def”来代替。

def test_prime(n):
//do stuff

函数调用之间的另一个主要区别是,在JavaScript中,函数内部的工作始终在花括号之间,紧跟着参数。 在Python中,函数以冒号开头,而不是花括号,而是在调用该函数的行下方缩进的任何内容。 使用我们之前安装的某些软件包,您经常会看到“意外缩进”,让您知道自己缩进了一些不需要的缩进。 如果您更熟悉JavaScript之类的缩进不会影响代码的功能,那么这很难适应。

4)控制台日志

在JavaScript中,如果您想运行脚本或代码块,则只需console.log它

console.log(my_function);

在Python中,通常使用“ print”命令

print solution

有了这些构建基块之后,我接着进行了Stack Overflow,并为我的原始项目Euler问题找到了更好的解决方案:

check_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
def find_solution(step):
for num in xrange(step, 999999999, step):
if all(num % n == 0 for n in check_list):
return num
return None
if __name__ == '__main__':
solution = find_solution(2520)
if solution is None:
print "No answer found"
else:
print "found an answer:", solution

这是堆栈溢出问题的链接: https : //stackoverflow.com/questions/8024911/project-euler-5-in-python-how-can-i-optimize-my-solution

在这里,我们有一个变量“ check_list”,其中包含一个数组。

在函数“ def find_solution”中,我们逐步浏览数字1到999999999,并检查每个数字与数组中数字的可除性。 如果匹配,则返回数字,如果不匹配,则不返回。

然后,我们将解决方案输入2520的步骤,而不是检查每个数字或每个其他数字,而仅检查每个2520个数字,这使代码可以更快地运行。 然后打印解决方案,或者如果找不到解决方案,则打印解决方案。

显然,我是Python的新手,但是如果您像我一样,并且刚刚开始,那么希望这可以给您一些注意事项。 非常感谢您的阅读!

翻译自: https://hackernoon.com/setting-up-a-python-development-environment-in-atom-466d7f48e297

atom python环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值