⑴ 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的。