⑴ python和lua哪个用处范围广或者更实用,再或者更容易学= =
肯定是python广泛,python是跨平台通用型语言,什么都可以做,用最多的是linux下写脚本以及网站后台。lua基本被用作嵌入式脚本,比如游戏人物流程。
从头学肯定是python方便,如果有c的基础,可能看lua更顺眼。
⑵ lua和python谁更适用于嵌入MMORPG
预计新项目会选择lua或python之一作为游戏的脚本语言。以前草草地接触过这两门语言,对于语法,以及嵌入进C/C++程序都有点感性上的认识。可能是受《UNIX编程艺术》中KISS原则的影响,现在总喜欢简洁的东西。所以我个人比较偏向于使用lua。
这两天翻了下网络上的资料,在lua的wiki上看到一篇比较lua和python的文章,草草地翻译出要点:
Python:
1. 扩展库很多,资料很多
2. 数值计算比较强大,支持多维数组,而lua没有数组类型
3. 本身带的c类型(?)支持处理动态链接库,不需要进行C封装(C扩展)
4. 远程调试器,似乎lua扩展工具支持
5. 自然语言似的语法
6. 对于string和list的支持,lua可以通过扩展库实现
7. 对unicode的支持
8. 空格敏感(代码不忽略空格),这其实可以使python的代码风格看起来更好一点
9. 内建位操作,lua可以通过扩展库支持
10.语言本身对错误的处理要好些,可以有效减少程序错误
11.初级文档比lua多
12.对面向对象支持更好
Lua:
1. 比python小巧很多(包括编译出来的运行时库)
2. 占用更小的内存
3. 解释器速度更快
4. 比python更容易集成到C语言中
5. 对于对象不使用引用计数(引用计数会导致更多的问题?)
6. lua早期定位于一种配置语言(作为配置文件),因此比起python来更容易配置数据
7. 语言更漂亮(nice)、简单(simple)、强大(powerful)。
8. lua支持多线程,每个线程可以配置独立的解释器,因此lua更适合于集成进多线程程序
9. 对空格不敏感,不用担心编辑器会将tab替换成空格
Useful Comments:
1. Everything is an object allocated on the heap in Python, including numbers. (So 123+456 creates a new heap object).
2. lua对于coroutine的支持更适用于嵌入进游戏,虽然python也有,但是并没有包含进核心模块
3.Python was a language better suited to Game AI
本来想去找点对于python的正面资料(嵌入进游戏这方面),但是居然没找到。客观地说如果单独用python做应用,python还是很有优势。现在心意已决,应该向leader推荐lua。
ps,希望能补充以上两种语言的特点。
⑶ Python和Lua是什么
PythonPython(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。LuaLua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。Python和Lua是什么?
⑷ Lua 的速度为什么比 Python 快
两者的定位是不同的。Python在它自己的独立开发中,这意味着Python可以解决所有的问题。Lua与其他代码一起定位,特别是c++代码,单Lua本身没有任何意义。
这些问题主要有两个方面:
1。c++本身,特别是一个好的c++,是程序员的高要求。
2。在解决复杂问题时,c++程序结构的复杂性和逻辑实现的复杂性给程序员带来了很多麻烦,使得程序的改进和维护变得困难。c++和Lua的结合使c++能够负责提供Lua的各种基本功能库,Lua调用来实现各种逻辑功能。
总结:c++ lua开发模型与python源库开发+ python脚本开发模型是一样的。但是对于程序员来说,c++和lua更容易一些,因为除了基本的lua解释代码之外,c++还可以为lua的动态提供各种函数库。然而,Python程序员必须遵守Python提供的各种库。因此,在解决一些常见的和重复的问题时,python具有优势,因为有很多代码不需要重写,而且必须重构c++ + lua。为了解决一些非常常见的问题,python程序员必须返回到c++,如果他们没有一个库来解决这些问题的话
⑸ python应用于哪些领域
Python的应用领域主要有Web应用开发、自动化运维、人工智能领域、网路爬虫、科学计算、游戏开发等等。可以说Python的应用领域在各行各业有着极大重要的作用,其价值不可估量。
在Web开发领域,Python绝对是一颗冉冉升起的新星。尽管PHP、JS目前依然是Web开发的主流语言,但Python上升势头非常猛劲。尤其随着Python的Web开发框架逐渐成熟(比如Django、Flask、Tornado、Web2py等等),程序员可以更轻松地开发、管理复杂的Web程序。
python的特点
1、python非常简单作为初学python的小白,,非常适合人类阅读。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格,Python的这种伪代码本质是它最大的优点之一,它使使用者能够专注于解决问题而不是去搞明白语言本身。
2、易学python虽然是用c语言写的,但是它摈弃了c中非常复杂的指针,简化了python的语法。Python是FLOSS(自由/开放源码软件)之一。简单地说可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。Python希望看到一个更加优秀的人创造并经常改进。
3、可移植性由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果小心地避免使用依赖于系统的特性,那么所有Python程序无需修改就可以在下述任何平台上面运行。
⑹ python 如何实现类似lua中的 a = a or 0,即第一次声明a的时候就已经可以使用此语法了。在python中会报错
这是lua的语法or and的特殊之处
a and b 若a为真 则返回b 若a为假 则返回a本身
a or b 若a为真 则返回a 若a为假 则返回b
所以 c = a or b 对应的python语句是
if a:
c = a
else:
c = b
python很久没用了 不知道有没记错
⑺ python怎么调用lua文件内的函数
Lupa将LuaJIT集成到了Python模块中,你可以使用它调用lua脚本
⑻ Python相比Lua做游戏脚本有哪些优势和劣势
这是国外的一个程序员写的比较:
在游戏中使用选择lua,有可能是因为lua稍比python更高效一些,还有就是lua调用c是很方便的
⑼ lua和python哪个适合小白
python更适合小白,python方便好用的slice操作,lua就没有。
lua的初衷本就是是作为一个嵌入式语言,为了这个目的,它的一切都是减无可减,拿来写大点儿的东西,就会感觉老是要自己发明轮子。比如,python方便好用的slice操作,lua就没有。python3的好处就是轮子基本上都发明好了,而且语言本身也有一堆语法糖让你用起来方便快捷。但是如果项目需要一个嵌入式脚本引擎的话,我还是会选择lua的。