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

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

[oeasy]python0140_導(dǎo)入_import_from_as_namespace_

2023-04-25 16:03 作者:oeasy  | 我要投稿

導(dǎo)入import

回憶上次內(nèi)容

  • 上次學(xué)習(xí)了

    • try

    • except

  • 注意要點(diǎn)

    • 半角冒號(hào)

    • 縮進(jìn)

    • 輸出錯(cuò)誤信息

  • 有錯(cuò)就報(bào)告

    • 系統(tǒng)報(bào)錯(cuò)信息原樣輸出

    • 不要隱瞞

    • 否則找不到出錯(cuò)位置

    • 還可以用traceback把

  • 但是代碼量好多啊

    • 10多 行了 ??

    • 可以把他輸入部分和輸出部分么???

  • 我們先試試

    • 怎么引用 其他的py文件

構(gòu)建環(huán)境

  1. 先新建一個(gè)namespace文件夾

  2. 然后進(jìn)入這個(gè)文件夾

  3. 新建兩個(gè)文件

    • oeasy.py

    • my_module.py

    1. 被引用模塊

    2. 主體程序

  • 然后進(jìn)去

    • vi -o my_module.py oeasy.py

    • -o 是分窗口編輯文件

    • 編輯這兩個(gè)文件

效果

  • 結(jié)果如下圖所示

  • oeasy.py中輸入

    • import my_module

  • my_module.py中輸入

    • print("in another")

保存并運(yùn)行

  • ctrl+k切換到上方windows

  • ctrl+j切換到下方windows

  • :wqa

    • w 的意思是先保存

    • q 退出vim

    • a 代表 all buffers 所有緩存

    • 全部保存并退出

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

  • 運(yùn)行的是oeasy.py

    • 輸出了"i am my_module.py"

  • 這說(shuō)明

    • 導(dǎo)入成功了

  • 運(yùn)行的是

    • oeasy.py

  • oeasy.py中導(dǎo)入了

    • my_module.py

  • my_module.py中

    • 輸出了 "i am my_module.py"

  • 通過(guò)導(dǎo)入my_module.py

    • 執(zhí)行了其中的代碼

  • 導(dǎo)入對(duì)應(yīng)的關(guān)鍵詞import

    • 應(yīng)該如何理解呢?

import

  • 進(jìn)口(import)

    • 這里指的是導(dǎo)入模塊

    • 這也是python強(qiáng)大之處

    • 可以導(dǎo)入各種使用的包來(lái)使用

  • 可以導(dǎo)入多個(gè)文件嗎???

導(dǎo)入多個(gè)文件

  • 上圖建議的是

    • 不同模塊分行導(dǎo)入

  • 導(dǎo)入除了可以調(diào)用對(duì)方代碼

    • 還能做什么呢?

嘗試引用包內(nèi)變量

  • 可以在my_module.py中定義變量

    • 在oeasy.py中引用嗎?

嘗試運(yùn)行

  • pi沒(méi)有找到??

  • 不慌

    • 好飯不怕晚

  • 不是把這些字節(jié)碼都運(yùn)行了么?

    • 但是這里面有個(gè)作用域(namespace)的問(wèn)題

    • i 屬于 my_module.py

    • 而不屬于oeasy.py

    • 所以直接運(yùn)行找不到i

  • 那怎么辦?

修改

  • 只要說(shuō)清楚這個(gè)i來(lái)自于my_module就可以了

  • 用一個(gè)點(diǎn)(.)

    • 就是 在my_module i

    • 就可以說(shuō)明從屬關(guān)系

    • 點(diǎn)(.)的意思是

    • 在 my_module . pi

  • :wa

    • write all

    • 兩個(gè)文件都保存

  • :!python3 %

    • 用外部命令python3運(yùn)行當(dāng)前文件

  • pi找到了??

  • 在my_module.py中

    • pi就是一個(gè)標(biāo)準(zhǔn)的變量聲明賦值

  • 如果我就想在 oeasy.py 中直接使用 pi

  • 可能么?

修改

  • 聲明了一個(gè)變量pi

    • 并把mymodule.i的值賦給他

  • 還有其他寫法嗎?

from...import...

  • 這句話好像好使

  • local()函數(shù)

    • 可以查看本地局部變量

  • 本地變量會(huì)撞車嗎?

撞車(local name crash)

  • 因此要特別注意盡量

    • 不要使用from xxx import *

    • 這種容易撞車的語(yǔ)句

  • 撞車是什么樣子的???

    • 可以欣賞一下車禍現(xiàn)場(chǎng)嗎?

車禍現(xiàn)場(chǎng)

  • my_module.pi 被 math.pi 撞飛了

  • 這其實(shí)也是名字空間(namespace)的意義

namespace

  • 名字空間是個(gè)好主意!

  • 那可以給導(dǎo)入進(jìn)來(lái)的變量改名么?

from ... import ... as ...

  • 可以的

    • 這樣可以把變量名更明確一點(diǎn)

    • 其實(shí)就是又起了個(gè)名字

    • 然后進(jìn)行賦值

  • 任務(wù)達(dá)成?。?!

    • 總結(jié)一下 !??ヽ(°▽°)ノ?

總結(jié)

  • 我們這次導(dǎo)入了外部的py文件

    • 不能 直接使用 my_module.py文件中的變量

    • 只要加my_module.作為前綴就可以

    • 導(dǎo)入一個(gè)自己定義的模塊

    • import my_module

    • 可以使用my_module中的變量

  • 直接導(dǎo)入導(dǎo)入變量、函數(shù)

    • 導(dǎo)入變量并重命名

    • 可以導(dǎo)入my_module.pi 并作為pi變量使用

    • from my_module import pi

    • from my_module import pi as my_module_pi

  • 上次那個(gè)蘋果香蕉統(tǒng)計(jì)程序

    • 能封裝成文件模塊

    • 再導(dǎ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]python0140_導(dǎo)入_import_from_as_namespace_的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
西藏| 皋兰县| 太保市| 吉安市| 应城市| 思茅市| 金坛市| 夏邑县| 安化县| 青神县| 洱源县| 秦皇岛市| 临汾市| 昭平县| 天津市| 富顺县| 博湖县| 琼中| 都兰县| 吐鲁番市| 噶尔县| 原阳县| 景德镇市| 瓦房店市| 谷城县| 林口县| 英吉沙县| 和田市| 望城县| 龙江县| 赤城县| 宁安市| 家居| 通化县| 金湖县| 紫金县| 南乐县| 伊春市| 翼城县| 岗巴县| 景泰县|