日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python写文字冒险游戏_木兰语言 0.0.15.1:继续改写 Python 冒险游戏;引用包路径规则小结...

發(fā)布時間:2024/1/1 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python写文字冒险游戏_木兰语言 0.0.15.1:继续改写 Python 冒险游戏;引用包路径规则小结... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這幾天在用木蘭語言繼續(xù)改寫 Python 文字冒險游戲例程時,又體驗到引用模塊時使用的包路徑與 Python 的差別,之前雖然寫過相關測試但未整理成文檔,在此小結一下。

以下面的文件目錄為例(注意:不需在包目錄中添加 __init__.py 之類的文件):

一級包

二級包

甲.ul

乙.ul

甲和乙為木蘭源碼,內容如下,甲.ul:

a = 3

乙.ul 中引用甲模塊:

using 甲

print(甲.a)

如果在“二級包”目錄下運行:

$ 木蘭 乙.ul

輸出 3 無誤。

但如果在“二級包”的上一級目錄“一級包”下運行則會報錯:

$ 木蘭 二級包/乙.ul

😰 沒找到模塊:‘甲’

調用層級如下

見第1行:using 甲

需要將 乙.ul 中的包路徑改為才能正確運行:

using 二級包.甲

print(二級包.甲.a)

此時如果有另一個二級包:

一級包

二級包

甲.ul

乙.ul

二級包2

丙.ul

也可以在乙中引用丙:

using 二級包2.丙

print(二級包2.丙.b)

丙.ul內容:

b = 4

在“一級包”下運行 $ 木蘭 二級包/乙.ul 輸出 4

類似的,如果在“二級包”下運行則會報錯:

$ 木蘭 乙.ul

😰 沒找到模塊:‘二級包2’

調用層級如下

見第1行:using 二級包2.丙

簡言之,現(xiàn)在看來的包路徑規(guī)則是:

當前運行目錄 + 包路徑(將.替換為/)= 模塊路徑

比如上面在“一級包”下運行時,運行目錄為:一級包

引用的模塊“甲”的路徑為:一級包/二級包/甲

那么包路徑就要:二級包/甲(代碼中是 using 二級包.甲)

這樣的包路徑設定規(guī)則比較直觀,但也意味著,對于存在引用的模塊,必須在一個特定目錄下運行,在任何其他目錄下運行都會出現(xiàn)無法找到模塊的錯誤。

下面是 0.0.15.1 版重現(xiàn)的幾個小功能:

throw 語法,對應 Python 的 raise

isa 內置函數(shù),對應 Python 的 isinstance

改進部分報錯信息

文檔方面,為便于有意者參與木蘭項目的開發(fā)維護,編寫了開發(fā)流程與項目結構簡介,今后逐步完善。另開始小結與 Python 的語法對比。

附:代碼量統(tǒng)計

主要部分的代碼行數(shù)統(tǒng)計,格式為:上次->現(xiàn)在。

木蘭代碼量 3260 -> 3307

運行環(huán)境,實現(xiàn)與測試大部為木蘭代碼:582

木蘭測試用例,包括部分實用小程序(如井字棋):2678 -> 2725 (報錯信息測試用例替代了源碼中的注釋)

Python 代碼量(木蘭實現(xiàn)與測試框架):2721 -> 2920

分析器/語法分析器.py:1015 -> 1021

分析器/詞法分析器.py:207 -> 213

分析器/語法樹.py:202 -> 209

環(huán)境.py,定義全局方法:172 -> 174

測試/期望值表.py(從“運行所有.py”中提取):131 -> 133

功用/規(guī)律.py,正則表達式 API 原型:100

分析器/語法成分.py,從語法分析器中提取出來的枚舉常量:82 -> 83

功用/反饋信息.py:71 -> 75

測試/運行所有.py,檢驗所有木蘭測試代碼片段:62 -> 71

未變

交互.py,交互環(huán)境(REPL):148

中.py,主程序:74

功用/調試輔助.py,:57

setup.py, 34

測試/unittest/語法樹.py,確保生成的語法樹與原始版本一致:88

測試/unittest/正則.py:62

測試/unittest/交互.py,交互環(huán)境相關測試:28

測試/unittest/所有用例.py:24

分析器/錯誤.py:26

總結

以上是生活随笔為你收集整理的python写文字冒险游戏_木兰语言 0.0.15.1:继续改写 Python 冒险游戏;引用包路径规则小结...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。