【发布时间】:2020-12-16 11:01:21
【问题描述】:
我最近从 matlab 转到了 python,我真的很怀念 matlab 所谓的 scritps。脚本就像一个函数,它没有您输入或输出的变量。相反,它会看到您正在调用它的工作区,然后它创建的所有内容在运行后都可以在工作区中访问。
(Here是介绍matlab脚本概念的视频)
例如,如果您的工作区最初是对象a、b 和c。如果您想要一个从a、b 和c 获取d 的函数,您可以设计它,这样您就可以将其称为:
d = MyFunc(a,b,c)
或者,如果它是一个脚本,你可以调用它:
MyScript
这很有用 - 因为如果您有想要隔离但在整个工作区上运行的代码,您不必编写
d = MyFunc1(a,b,c)
e = MyFunc2(a,b,c,d)
f = MyFunc2(a,b,c,d,e)
但你可以改为写
MyScript1
MyScript2
Myscript3
[这对于处理科学数据非常有用,因为您可能有一个包含大量变量的大工作区,并且您希望执行大量需要大量这些变量的操作,但您希望将它们分离成代码块由主文件调用,因此更易于阅读]
【问题讨论】:
-
我使用 Visual Studio Code。它带有一个类似于 Matlab 交互式 shell 的集成 Jupyter 笔记本。您可以使用称为单元的功能(类似于 Matlab 单元)运行脚本或代码片段。这些将使用交互式工作区中的变量。所以我认为与 Matlab 相比没有任何遗漏。
-
作为一名 MATLAB gal,我非常了解您想要什么,但我不确定 Python 人员会理解它。我建议你展示一些额外的示例代码,以及它是如何工作的。 IE。制作一个简单的脚本(也许解释它保存在一个单独的文件中)。然后展示如何从函数(或另一个脚本)调用它,并展示您现在拥有在脚本中创建的所有变量并且可以使用它们。不幸的是,我自己对 Python 的了解还不够。
-
熟悉Python但不熟悉Matlab,这听起来有点像你想把你的Python代码打包成一个模块。这是可重用代码的标准做法,并且有据可查(尽管随着时间的推移,最佳做法已经发生了显着变化,因此请确保您阅读了一些相当近期和官方的内容)。