Lua 与 Python 对比

lua-users home
wiki

引言

Python [1] 是一种流行的编程语言。Python 和 Lua 都常被嵌入到应用程序中以提供脚本支持。

脚本在游戏中被越来越频繁地使用。选择脚本语言时需要考虑许多因素。这可能是一个简单的决定,取决于目标平台的架构,例如您是在 PC 还是游戏机上。假设您拥有快速的 CPU、虚拟内存和硬盘存储的优势,Python 庞大的库资源可以帮助您更快地完成项目。如果您没有这些优势,Python 就不是一个选项,因为它相当庞大。

总体比较

以下是一个简单的比较,列出了 Python 和 Lua 各自的优势。

Python

Lua

面向对象

基于 OO 模型进行的比较将在此处跟进

Python

Lua

摇摆不定

参考文献

用户意见

请不要在这里挑起战争。请随意就您的经验发表简单客观的陈述。

不再存在。在 https://lua-users.lua.ac.cn/lists/lua-l/ 中搜索“lua -w”(带引号)。请参阅 DetectingUndefinedVariablesDavidManura

一个基于此做出整个决定的奇怪点。Python 的生成器与即将推出的 Lua 的有限协程相同。请参阅 LuaList:2002-07/msg00174.html
它们有关联,但并不相同。Lua 的协程更通用。另外,我们并没有完全基于这一点做出决定;这只是决定天平倾斜的问题。
Python 的生成器从历史上看不是“相同”的协程:请参阅 https://pythonlang.cn/dev/peps/pep-0342/ 以了解 Python 最近对支持协程的更改。
通过使用 Codespeak 库(Debian 包 python-codespeak-lib)中的 greenlets,可以非常方便地为 Python 提供良好的协程支持,而无需使用功能齐全的 Stackless。--SeanHoldsworth
但这真的有助于递归生成器吗?请参阅 LuaCoroutinesVersusPythonGenerators
我将添加一条关于 Python 指针态度的注释,以及我如何还没有找到;好吧,Lua 有“引用”,它们……很奇怪,在 Python 中,一个人仍然可以很容易地复制变量。

从那时起,我当然继续使用 Python。我发现 Python——因为它拥有庞大的库集——更适合通用脚本和 RAD 工作。我对 Python 的语法也很熟悉,即使有其怪癖,所以我的手指自然会按照 Python 的方式做事。(我在 Lua 中使用'.'而不是':'作为方法访问器而被烫伤的次数会让大多数人捧腹大笑。)然而,我笑的是即使是使用 Python 进行任何嵌入式操作的任何一丝可能性。Lua 是我那里的首选工具。-- MichaelRichter

另请参阅


RecentChanges · preferences
编辑 · 历史
最后编辑于 2018 年 9 月 19 日 上午 9:54 GMT (差异)