Python 模組化 import 語句介紹 一

2022-07-09 15:42:11 字數 1322 閱讀 1727

import 模組1[,模組2,模組3...]

os 頂級模組

os.path 非頂級模組

as 相當於重新命名

直譯器負責模組單獨載入,單獨初始化,生成乙個模組物件,當前作用域生成乙個同名識別符號,對映到模組物件上,然後就可以通過這個識別符號來訪問模組物件的資源。並不是直接引用模組,或把模組的原始碼載入到當前空間。

在html語言中include的意思是直接將其它檔案的原始碼包含進來,生成乙個新的原始碼檔案。

import functools

print(dir())

print(functools)

print(functools.wraps)

執行結果:

['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__','functools']

//這個模組物件是乙個module模組型別

[finished in 0.4s]

匯入之後能用 "." 來呼叫模組的類、方法、屬性,是因為模組被初始化成了乙個物件。

import os.path

print(dir())

#path. #錯誤用法,這種匯入方式不能使用使用非頂級模組名稱直接呼叫,但當使用as語句時可以使用

os.path.exists()

執行結果:

[..., 'os']

import os.path as p

print(dir())

print(p.__name__)

執行結果:

[...,'p']

ntpath

[finished in 0.3s]

1. 當直接匯入頂級模組時(如 import os),直譯器負責單獨載入模組,初始化模組,生成乙個模組物件,並繫結在當前命名空間的乙個同名的識別符號。

使用時,需要使用 「模組名.方法()」 的格式。

2. 當匯入的是非頂級模組時(如 import os.path),只會在當前命名空間生成頂級模組的物件識別符號,並不會生成path識別符號。

使用時,也只能通過 「os.path.exists()」 的完整層級關係使用。

3. 當匯入的非頂級模組使用了as 語句(如 import os.path as p)時,當前命名空間繫結的是 "p" 這個物件識別符號。

使用時,就可以通過 「p.exists()」 的方式來使用模組資源。

模組化 import和export

關於js模組化的使用,大家肯定不陌生,現有的主要兩種 cmd和amd,還有一種相容cmd和amd寫法的umd。一般前端框架都支援amd,而node.js採用的是cmd的模組語法。但大部分瀏覽器不支援,相信以後瀏覽器肯定會逐步支援的。export 基本用法兩種 1直接匯出 export functio...

談談模組化的 require 和 import

一 區別 require是commonjs的規範,在node中實現的api,import是es的語法,由編譯器處理。所以import可以做模組依賴的靜態分析,配合webpack rollup等可以做treeshaking。commonjs匯出的值會複製乙份,require引入的是複製之後的值 引用型...

python的模組化

一 模組化 二 匯入語句 1 import語句 import functools 匯入頂級模組 import os.path 匯入非頂級模組 print dir print functools 匯入頂級模組,其名稱會加入到本地命名空間中,並繫結到其模組物件 匯入非頂級模組,將其頂級模組加入到本地命名...