最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

[oeasy]python0143_主控程序_main

2023-04-29 18:00 作者:oeasy  | 我要投稿

主控程序

回憶上次內(nèi)容

  • 上次把 apple.py 拆分成了

    • 輸入

    • 主函數(shù)

  • 引用模塊中變量的時(shí)候

    • get_fruits.a

    • get_fruits.b

    • 要帶上包(module)名

  • 最終

    • 拆分代碼 成功!

  • 可以將程序

    • 輸入

    • 輸出

    • 再拆分成

    • 然后 再由主函數(shù)調(diào)用嗎???

建立主控

  • 新建一個(gè) main.py 文件

  • 導(dǎo)入 input、output 兩個(gè)包

  • 然后運(yùn)行

    • vi -o main.py get_fruits.py output.py

  • 增大窗口寬度

    • ctrl+w,+

  • 減小窗口寬度

    • ctrl+w,-

運(yùn)行

  • 運(yùn)行成功

程序結(jié)構(gòu)

  • 既然我在 main.py 里面已經(jīng)導(dǎo)入了 input 這個(gè)包

  • 我還有必要在 output 中導(dǎo)入這個(gè)包么?

  • 實(shí)踐出真知

  • 試著刪除output中的第一句

嘗試

  • 失??!

  • 還是需要在 output 中導(dǎo)入 get_fruits 這個(gè)包的

    • 雖然 main 認(rèn)識(shí)了 get_fruits

    • 但是 output 不認(rèn)識(shí)也不行

    • 不認(rèn)識(shí) 就無(wú)從得到輸入的數(shù)值

  • 我們跳出具體文件

    • 去觀察文件架結(jié)構(gòu)

文件結(jié)構(gòu)

  • 可以看到出現(xiàn)了

    • 兩個(gè)被引用包的 pyc 文件

  • 能對(duì)比一下嗎?

對(duì)比

  • 編譯后的pyc文件

    • 字符串

    • 變量名

    • 函數(shù)名

    • 依稀能夠看到

  • 模塊隱隱約約

    • 是可以看懂的

順序過(guò)程

  • 其實(shí)代碼可以分成三塊

    • 輸入

    • 處理

    • 輸出

  • 這是一個(gè)典型的 面向過(guò)程的 程序

    • 把復(fù)雜的過(guò)程

    • 每個(gè)模塊 做自己簡(jiǎn)單明確的事情

    • 專業(yè)分工

    • 提高效率

    • 分解成 相對(duì)簡(jiǎn)單明確的模塊

    • 面向過(guò)程就是 Procedure Oriented

    • 按部就班

  • 這是工業(yè)時(shí)代

    • 提高效率的思維模式

分工明確

  • 鐵路警察

    • 各管一段

  • 不要想著怎么發(fā)明輪子

    • 輪子有現(xiàn)成的

    • 拿來(lái)用就完事了

  • 接下來(lái)把模塊分成三塊

功能作用模塊名輸入接收到什么信號(hào)get_fruits處理怎么處理信號(hào)process輸出最終輸出什么信號(hào)output

  • 那建立 process.py

三步走

  • main

    • 需要 3 個(gè)包都導(dǎo)入

  • process

    • 只需要導(dǎo)入 get_fruits

  • get_fruits

    • 只被執(zhí)行一次

    • 雖然被導(dǎo)入了兩次

    • 但是輸入數(shù)值的部分

  • output

    • 只需要 process 模塊求和的結(jié)果

    • 而不需要導(dǎo)入 get_fruits 模塊

    • 需要明確 total 來(lái)自于 process 包

  • 測(cè)試結(jié)果

    • 會(huì)如何呢?

    • 能成功

    • 數(shù)字(123)當(dāng)做測(cè)試用例的話

    • 但是用字母(abc)當(dāng)測(cè)試用例的話

不成功 ?????♀?

  • 問(wèn)題出在process.py中

    • int(a) + int(b)那一步

  • 所以需要在那里

    • try

    • except

處理異常

  • 修改代碼

運(yùn)行結(jié)果

  • 字母的測(cè)試用例

    • 可以順利地報(bào)錯(cuò)

  • 但是現(xiàn)在還面臨一個(gè)問(wèn)題

    • 是 a 出了問(wèn)題

    • 還是 b 出了問(wèn)題

    • 就是不明確

    • 不知道

    • 報(bào)錯(cuò)細(xì)節(jié)不明確

修改代碼

  • 在process模塊中

    • 分別try...except...

  • 這樣運(yùn)行是沒(méi)有問(wèn)題的

優(yōu)化代碼

  • 不過(guò)應(yīng)該還有更好的方式

  • 轉(zhuǎn)化工作

    • 其實(shí)應(yīng)該在輸入部分完成

  • 輸入變量的容錯(cuò)處理

    • 應(yīng)該在輸入的時(shí)候 就第一時(shí)間做

    • 不要留到數(shù)據(jù)處理時(shí) 才做

總結(jié)

  • 我們細(xì)化了主控程序(main.py)

    • 導(dǎo)入(get_fruits.py)

    • 處理(process.py)

    • 輸出(output.py)

  • 使用了 try 結(jié)構(gòu)

    • try

    • except

    • 發(fā)現(xiàn)異常就報(bào)錯(cuò)

  • 輸入部分的錯(cuò)誤

    • 應(yīng)該在 輸入部分來(lái)報(bào)

  • 具體怎么報(bào)呢???

  • 下次再說(shuō)!??

  • 藍(lán)橋->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython



[oeasy]python0143_主控程序_main的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
依安县| 宜丰县| 桐城市| 永顺县| 桑植县| 赞皇县| 瑞金市| 三江| 哈尔滨市| 晴隆县| 三江| 资阳市| 霍林郭勒市| 中江县| 蚌埠市| 白河县| 额济纳旗| 丹江口市| 安宁市| 新平| 庄河市| 涟水县| 樟树市| 长顺县| 仲巴县| 岳普湖县| 唐海县| 正蓝旗| 迁安市| 辽中县| 巴林左旗| 灌云县| 河津市| 阿瓦提县| 磐安县| 应用必备| 德昌县| 安阳市| 牙克石市| 西和县| 汕尾市|