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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

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

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

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

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

一級(jí)包

二級(jí)包

甲.ul

乙.ul

甲和乙為木蘭源碼,內(nèi)容如下,甲.ul:

a = 3

乙.ul 中引用甲模塊:

using 甲

print(甲.a)

如果在“二級(jí)包”目錄下運(yùn)行:

$ 木蘭 乙.ul

輸出 3 無誤。

但如果在“二級(jí)包”的上一級(jí)目錄“一級(jí)包”下運(yùn)行則會(huì)報(bào)錯(cuò):

$ 木蘭 二級(jí)包/乙.ul

😰 沒找到模塊:‘甲’

調(diào)用層級(jí)如下

見第1行:using 甲

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

using 二級(jí)包.甲

print(二級(jí)包.甲.a)

此時(shí)如果有另一個(gè)二級(jí)包:

一級(jí)包

二級(jí)包

甲.ul

乙.ul

二級(jí)包2

丙.ul

也可以在乙中引用丙:

using 二級(jí)包2.丙

print(二級(jí)包2.丙.b)

丙.ul內(nèi)容:

b = 4

在“一級(jí)包”下運(yùn)行 $ 木蘭 二級(jí)包/乙.ul 輸出 4

類似的,如果在“二級(jí)包”下運(yùn)行則會(huì)報(bào)錯(cuò):

$ 木蘭 乙.ul

😰 沒找到模塊:‘二級(jí)包2’

調(diào)用層級(jí)如下

見第1行:using 二級(jí)包2.丙

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

當(dāng)前運(yùn)行目錄 + 包路徑(將.替換為/)= 模塊路徑

比如上面在“一級(jí)包”下運(yùn)行時(shí),運(yùn)行目錄為:一級(jí)包

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

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

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

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

throw 語法,對(duì)應(yīng) Python 的 raise

isa 內(nèi)置函數(shù),對(duì)應(yīng) Python 的 isinstance

改進(jìn)部分報(bào)錯(cuò)信息

文檔方面,為便于有意者參與木蘭項(xiàng)目的開發(fā)維護(hù),編寫了開發(fā)流程與項(xiàng)目結(jié)構(gòu)簡(jiǎn)介,今后逐步完善。另開始小結(jié)與 Python 的語法對(duì)比。

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

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

木蘭代碼量 3260 -> 3307

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

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

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

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

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

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

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

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

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

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

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

測(cè)試/運(yùn)行所有.py,檢驗(yàn)所有木蘭測(cè)試代碼片段:62 -> 71

未變

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

中.py,主程序:74

功用/調(diào)試輔助.py,:57

setup.py, 34

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

測(cè)試/unittest/正則.py:62

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

測(cè)試/unittest/所有用例.py:24

分析器/錯(cuò)誤.py:26

總結(jié)

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

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