关于电路

Python编程的初学者

z

线启动器

Zimmerj

加入2020年12月9日
33
您好,我是这种编程的新手,我想我不太了解它的工作原理,使用方法以及如何运行它。
我还没有找到类似的线程,但是如果有的话,我很乐意在那里定向。

一些背景:我以前已经完成了一些基本的嵌入式C编程,并且我了解编译过程以及书面代码如何转化为电路的作用。一旦将其复制到ROM/RAM,它现在是一个具有自己的程序来运行它的“独立”系统。

现在开始本课程,我完全迷路了。Python型编程仅在现有操作系统中运行吗?从我阅读的内容来看,这似乎是通过使用程序员写的代码来控制其他程序/软件的意图,我认为它被称为“脚本”。我使用一个名为MU的IDE,可以从中运行并调试/检查代码,还使用Python Shell。对我来说,这并不重要,因为我能从那里做什么?代码仅在IDE中运行?我认为这被称为“重放编程”,我很确定它不仅仅是在IDE中编写代码。

当我使用它时,我还阅读了有关解释器以及如何实际运行代码的方式(类似于编译器,但仍然不同)。这一定是为什么当您在其他地方运行时使用Shebang线,而不是来自IDE?解决通往解释器的路径?

我知道这是很多,任何答案都值得赞赏。谢谢。
最后编辑:
HRS

HRS

加入2014年6月13日
307
Python在Linux,Windows,MacOS以及可能的其他一些上运行。您可以将其用于脚本,以便可以使用它来执行外部程序,但它本身就是一种完整的编程语言。

您可以从IDE运行程序,还可以从Linux上的Bash或Windows上的命令提示符等命令中运行程序。或者,您可以像其他任何程序一样从GUI创建指向您的程序的链接。

Shebang线让操作系统知道应该使用Python的口译员在Shebang线上执行这些内容。在Linux上我使用
#!/usr/bin/env Python因为我的环境知道口译员在哪里。您也可以硬链接Python解释器可执行文件,但我不建议这样做。我不确定这一点,但我认为#!/usr/bin/env Python也可以在Windows上使用。由于(指向)Linux二进制/usr/bin/pythonWindows二进制在c:\ python39 \ python.exe或使用环境变量的好主意。
z

线启动器

Zimmerj

加入2020年12月9日
33
Python在Linux,Windows,MacOS以及可能的其他一些上运行。您可以将其用于脚本,以便可以使用它来执行外部程序,但它本身就是一种完整的编程语言。

您可以从IDE运行程序,还可以从Linux上的Bash或Windows上的命令提示符等命令中运行程序。或者,您可以像其他任何程序一样从GUI创建指向您的程序的链接。

Shebang线让操作系统知道应该使用Python的口译员在Shebang线上执行这些内容。在Linux上我使用
#!/usr/bin/env Python因为我的环境知道口译员在哪里。您也可以硬链接Python解释器可执行文件,但我不建议这样做。我不确定这一点,但我认为#!/usr/bin/env Python也可以在Windows上使用。由于(指向)Linux二进制/usr/bin/pythonWindows二进制在c:\ python39 \ python.exe或使用环境变量的好主意。
您的意思是,如果我编写程序,我可以将其加载到Windows中的命令提示符中并从那里运行?

您可以直接将代码直接从Python空闲中运行吗?说如果我想在我的操作系统(我的PC上的某些程序/软件)上执行外部程序,我是否可以做到并消除使用Shebang-line的需求?

如果是这种情况,为什么有人要从命令提示符中运行代码(给定一个Shebang-line用作解释器的路径)?与外壳或IDE相比,在Python空闲中运行代码是否有起伏?
最后编辑:
Wolframore

Wolframore

加入2019年1月21日
2,246
听起来您只需要与闲置一起玩并从那里继续前进,因为您对要完成的目标有想法,您可以得出关于如何进行操作的结论。
Apachekid

Apachekid

加入2015年1月12日
385
您好,我是这种编程的新手,我想我不太了解自己的工作方式,使用方法以及如何运行它。
我还没有找到类似的线程,但是如果有的话,我很乐意在那里定向。

一些背景:我以前已经完成了一些基本的嵌入式C编程,并且我了解编译过程以及书面代码如何转化为电路的作用。一旦将其复制到ROM/RAM,它现在是一个具有自己的程序来运行它的“独立”系统。

现在开始本课程,我完全迷路了。Python型编程仅在现有操作系统中运行吗?从我阅读的内容来看,这似乎是通过使用程序员写的代码来控制其他程序/软件的意图,我认为它被称为“脚本”。我使用一个名为MU的IDE,可以从中运行并调试/检查代码,还使用Python Shell。对我来说,这并不重要,因为我能从那里做什么?代码仅在IDE中运行?我认为这被称为“重放编程”,我很确定它不仅仅是在IDE中编写代码。

当我使用它时,我还阅读了有关解释器以及如何实际运行代码的方式(类似于编译器,但仍然不同)。这一定是为什么当您在其他地方运行时使用Shebang线,而不是来自IDE?解决通往解释器的路径?

我知道这是很多,任何答案都值得赞赏。谢谢。
Python是一个解释语言而不是编译像C.

因此,您永远不会编译,链接或构建代码,当然不是我们使用C或Java的明确意义。

您正在使用哪种硬件,开发板?
z

线启动器

Zimmerj

加入2020年12月9日
33
您可以从命令提示符(包括Python程序)中运行程序。我不明白您的意思是“加载到命令提示符”。

您为什么要消除Shebang线?有多种方法可以用脚本调用解释器。Shebang是最好的方法。
https://docs.python.org/3/using/windows.html#launcher

我认为您应该开始编程,您将弄清楚大多数这些内容。
好的,谢谢。

我的意思是,您可能不会在另一个命令提示下写出单个代码指令,而是在另一个shell/iDE中写下整个代码,然后将该代码文件称为命令提示作品。
然后,我想知道这样做是否有任何好处,反对通过Shell,IDE或其他使用Python解释器的其他人运行代码?

不是我是否想要,也许我不应该将其包括在问题中,这令人困惑。我的意思是,如果我可以通过闲置运行它,没有Shebang,正如我认为闲置已经在程序本身中运行的解释器吗?这更多是我的好奇心,而是我有充分的理由这样做。
最后编辑:
z

线启动器

Zimmerj

加入2020年12月9日
33
Python是一个解释语言而不是编译像C.

因此,您永远不会编译,链接或构建代码,当然不是我们使用C或Java的明确意义。

您正在使用哪种硬件,开发板?
是的,我一直在尝试阅读解释和编译语言之间的差异,肯定会让我的头大。

我没有使用任何类型的开发板或硬件,这就是哈哈。我不知道该代码是用的,除了我在操作系统中通过Python Shell编写了代码。我现在正在做非常基本的事情,只是学习语言。但是,如果我想编写要做任何事情的代码,那种代码将如何?我可以用它关闭电脑吗?我可以用它打开网络浏览器吗?这对我来说听起来很复杂,要编写代码,但是如果我不将代码复制到芯片或其他任何内容,我看不到它可以用它做什么。
z

线启动器

Zimmerj

加入2020年12月9日
33
听起来您只需要与闲置一起玩并从那里继续前进,因为您对要完成的目标有想法,您可以得出关于如何进行操作的结论。
我还回答了其他问题,也许解释了我的情况,但是是的,我同意。我可能确实需要写更多,看看会发生什么。但是我没有实现目标,这就是为什么我提出正确的问题很棘手的原因。我只是想了解操作系统中的代码可以做些什么,而当它不会为特定的芯片编写,然后将其复制到芯片内存中。

芯片具有其架构,这就是为什么选择知道其体系结构的编译器很重要,编译器还需要了解您选择的语言。而且,一旦对芯片引脚进行了示意图以及这些功能是什么,就可以编写代码,取决于您想要做什么。对我来说,这更加直接。
HRS

HRS

加入2014年6月13日
307
我的意思是,您可能不会在另一个命令提示下写出单个代码指令,而是在另一个shell/iDE中写下整个代码,然后将该代码文件称为命令提示作品。
您在文本编辑器或IDE中编写程序。然后,您使用外壳执行它。
或者您可以使用交互式解释器。我经常将其用作荣耀的计算器。例如:
代码:
[hrs@rz〜] $ Python Python 3.9.1(默认,12月13日2020,11:55:53)[GCC 10.2.0]在Linux类型上“帮助”,“版权”,“ Credits”,“ Credits”或“许可”或“许可”更多信息。>>> a = 1 >>> b = 2 >>> a + c追溯(最新呼叫上次):文件“ ”,第1行,in  nameError:name'c'未定义>>> A + B 3 >>>
我的意思是,如果我可以通过闲置运行它,没有Shebang,正如我认为闲置已经在程序本身中运行的解释器吗?这更多是我的好奇心,而是我有充分的理由这样做。
我从未使用过空闲,所以我不知道,但是您可以从Spyder运行程序(https://www.spyder-ide.org/)没有Shebang。
Apachekid

Apachekid

加入2015年1月12日
385
是的,我一直在尝试阅读解释和编译语言之间的差异,肯定会让我的头大。

我没有使用任何类型的开发板或硬件,这就是哈哈。我不知道该代码是用的,除了我在操作系统中通过Python Shell编写了代码。我现在正在做非常基本的事情,只是学习语言。但是,如果我想编写要做任何事情的代码,那种代码将如何?我可以用它关闭电脑吗?我可以用它打开网络浏览器吗?这对我来说听起来很复杂,要编写代码,但是如果我不将代码复制到芯片或其他任何内容,我看不到它可以用它做什么。
编译器和口译员之间的差异不再像30年前那样清晰,这是可以肯定的,现在有一个灰色的区域,现在将这些桥梁桥接到了概念上。

您使用的操作系统是什么?您使用什么工具来编辑和运行您编写的代码?

原则上,大多数编程语言都会提供与主机OS的一定程度的交互,但这不是统一的,某些语言和工具使其比其他语言更容易。

如果您需要这样做,那么要关闭操作系统的代码原则上不应过分执行。打开Web浏览器可能也会更少一个问题,但是这些事情通常不在语言本身之外,通常为每个平台制作的OS特定组件,无论是Windows,Linux,MacOS还是甚至MCUS。
最后编辑:
z

线启动器

Zimmerj

加入2020年12月9日
33
是的,就计算机科学而言,似乎很多,或者电子设备通常是灰色区域。阅读有关建筑的信息,我有同样的感觉。

我使用Windows 10 64位,然后使用一个名为MU的编辑器(https://codewith.mu/en/about)。除编辑本身外,似乎没有任何互动。这可能是因为我在这种类型的编程方面很少经验,因为我只是在做有关功能,对象等的基本知识。嵌入式编程的工作基本相同,只是您真的不必按顺序编写如此复杂的代码使它做任何事情。似乎有所不同。

我什至不知道这种类型的编程叫什么?这是我发现代码的示例:https://matplotlib.org/3.1.1/gallery/lines_bars_and_markers/simple_plot.html

这可能是我看到的外壳/编辑器/IDE之外的最多互动,图片出现了。看着代码,几乎没有我熟悉的。但是,在这里,它仍然导入一个使用图片来制作图形的库,因此实际上仅与编辑器之间存在交互。

因此,基本上您需要其他软件才能使代码与编辑以外的其他相互作用?
Apachekid

Apachekid

加入2015年1月12日
385
一个名为“ Visual Studio Code”的工具(不要与名为“简单的“ Visual Studio””的其他工具混淆)可以免费使用Microsoft,并且该工具在Linux,MacOS和Windows上运行,它也称为“ VS”代码“有时。

Python是多种语言之一VS代码中的丰富支持

您将获得完整的语法着色和调试等等。

但是,MU看起来不错,特别是在使用某些董事会方面。

我对使MCU设备更容易编写代码的方式非常感兴趣,而Python的语言比C或C ++的语言要少得多 - 我对Python的了解不多。
DJSfantasi

DJSfantasi

加入2010年4月11日
7,606
线程中已将编程语言称为“松散”。影响人们对“松散”的描述的主要组成部分是该语言在该语言中的“键入”方式。对象是函数,变量或数据结构。键入在这篇有关打字的Wikipedia文章。

其次,如何运行程序可以分为几个级别。在基于操作系统的环境中,外壳或命令行是解释器。它使用解析规则进一步定义了如何执行命令。某些命令是操作系统的内部。某些命令是OS中包含的外部程序。有些命令是解释性的。像Windows中的.bat或.cmd文件。否则称为脚本。

OS命令行的另一个功能是执行非内部程序。一种类型是Windows下的Word之类的应用程序。另一种类型的程序是编程语言的运行时间或编译器。编译器会生成一个可以从命令行运行的新外部程序。它创建了一个可以使用OS库的机器语言独立程序。

解释器运行文本文件程序。它将其中包含的命令转换为机器语言代码。可以将此视为在OS命令行Shell中执行的特定语言命令行。

因此,我们在层上有层次。我们从最终运行机器语言代码的口译员开始。

还有另一层抽象。有些语言被翻译成非文本令牌,用于指导解释器执行机器语言。这不会使我提出的模型无效。这只是一个特殊情况。

我已经编码了一个在Arduino上运行的系统。它将专有语言“预编译”为一组称为令牌的数值值。另一个Arduino草图将这些令牌带有这些代币并控制机器。没有操作系统,而是一个环境。因此,我跳过了预译者的第一层抽象。另一个草图执行了一个解释器,该解释器执行了我的预编译代码。

如果您理解这种解释,希望您能更好地理解问题的答案。
z

线启动器

Zimmerj

加入2020年12月9日
33
线程中已将编程语言称为“松散”。影响人们对“松散”的描述的主要组成部分是该语言在该语言中的“键入”方式。对象是函数,变量或数据结构。键入在这篇有关打字的Wikipedia文章。

其次,如何运行程序可以分为几个级别。在基于操作系统的环境中,外壳或命令行是解释器。它使用解析规则进一步定义了如何执行命令。某些命令是操作系统的内部。某些命令是OS中包含的外部程序。有些命令是解释性的。像Windows中的.bat或.cmd文件。否则称为脚本。

OS命令行的另一个功能是执行非内部程序。一种类型是Windows下的Word之类的应用程序。另一种类型的程序是编程语言的运行时间或编译器。编译器会生成一个可以从命令行运行的新外部程序。它创建了一个可以使用OS库的机器语言独立程序。

解释器运行文本文件程序。它将其中包含的命令转换为机器语言代码。可以将此视为在OS命令行Shell中执行的特定语言命令行。

因此,我们在层上有层次。我们从最终运行机器语言代码的口译员开始。

还有另一层抽象。有些语言被翻译成非文本令牌,用于指导解释器执行机器语言。这不会使我提出的模型无效。这只是一个特殊情况。

我已经编码了一个在Arduino上运行的系统。它将专有语言“预编译”为一组称为令牌的数值值。另一个Arduino草图将这些令牌带有这些代币并控制机器。没有操作系统,而是一个环境。因此,我跳过了预译者的第一层抽象。另一个草图执行了一个解释器,该解释器执行了我的预编译代码。

如果您理解这种解释,希望您能更好地理解问题的答案。
有趣的是,现在对我来说更清楚。谢谢。

关于您编码的内容,跳过使用令牌的第一层抽象有什么好处?我的猜测会更快地执行,并且在内存方面可能占用更少的空间?
m

夫人

加入2020年4月2日
235
问题是,您想对Python做什么?

您要在串行输出上控制I/O引脚吗?

您是否要刮擦网站或网站列表以获取“关于”信息?或扫描并保存网站上所有可访问链接中列出的每个电子邮件地址?

搜索一系列文本文件,PDF,XML或HTML文件中的某些短语,更新短语和重新保存。
将一个图像文件类型转换为另一个图像。
通过USB/FTDI串行适配器,从连接到计算机的传感器读取数据,流程/保存数据并控制电动机或显示器,或两者都对应于传感器值。

制作幻灯片显示脚本以显示图像库中的所有照片。

python可以做任何事情,这不是快速,但很容易。5年级学生使用Python学习代码,Google使用Python进行许多小任务,并将各种主要代码粘合在一起。它很容易学习,简单地理解他人的小脚本并易于更改(不需要编译。
z

线启动器

Zimmerj

加入2020年12月9日
33
问题是,您想对Python做什么?

您要在串行输出上控制I/O引脚吗?

您是否要刮擦网站或网站列表以获取“关于”信息?或扫描并保存网站上所有可访问链接中列出的每个电子邮件地址?

搜索一系列文本文件,PDF,XML或HTML文件中的某些短语,更新短语和重新保存。
将一个图像文件类型转换为另一个图像。
通过USB/FTDI串行适配器,从连接到计算机的传感器读取数据,流程/保存数据并控制电动机或显示器,或两者都对应于传感器值。

制作幻灯片显示脚本以显示图像库中的所有照片。

python可以做任何事情,这不是快速,但很容易。5年级学生使用Python学习代码,Google使用Python进行许多小任务,并将各种主要代码粘合在一起。它很容易学习,简单地理解他人的小脚本并易于更改(不需要编译。
我知道,是的,我认为这只是花一些时间的问题,并最终开始尝试导入文件并编写不同的代码。我的意思是,与仅命名一些变量和学习不同类型的功能以及语言一般方式相比。感谢答案,谢谢!
Merdobeyz

Merdobeyz

加入2021年4月21日
4
Python在Linux,Windows,MacOS以及可能的其他一些上运行。您可以将其用于脚本,以便可以使用它来执行外部程序,但它本身就是一种完整的编程语言。

您可以从IDE运行程序,还可以从Linux上的Bash或Windows上的命令提示符等命令中运行程序。或者,您可以像其他任何程序一样从GUI创建指向您的程序的链接。

Shebang线让操作系统知道应该使用Python的口译员在Shebang线上执行这些内容。在Linux上我使用
#!/usr/bin/env Python因为我的环境知道口译员在哪里。您也可以硬链接Python解释器可执行文件,但我不建议这样做。我不确定这一点,但我认为#!/usr/bin/env Python也可以在Windows上使用。由于(指向)Linux二进制/usr/bin/pythonWindows二进制在c:\ python39 \ python.exe或使用环境变量的好主意
这是真的
最佳