模組與包 專案結構

2022-04-25 07:54:44 字數 2605 閱讀 3759

#模組和包

#import

#在import的過程發生了那些事情

#import 乙個模組相當執行了這個模組

# 乙個模組不能被重複匯入

#模組和檔案之間的記憶體空間是隔離的

#模組的名字必須要符合變數命名規範

#1.尋找模組

#2.如果找到了,就開闢乙個空間,執行這個模組

#3.把這個模組中用到的名字都收錄到新開闢的空間中

#4.建立乙個變數來引用這個模組的空間

#被匯入的模組和本檔案之間命名空間的關係

#import 多個模組

#注意:

#import os

#import time

#遵循順序 內建 第三方 自定義

#pep8規範

#給匯入的模組起別名

#格式 import 模組 as 別名

#注意 有了別名之後,就不能直接用模組.屬性而需要用別名.屬性

#模組搜尋路徑

#正常的sys.path 中 不包括內建和第三方模組

# import sys

# print(sys.path) #只看列表中的第乙個就是當前檔案的路徑

#乙個模組是否被匯入就看這個模組所在的目錄在不在這個sys.modules 中

# import sys

# import my_module #自定義的乙個模組

# print(sys.modules) #字典中含有my_module 的路徑

#模組和指令碼

#倆種執行乙個py檔案的方法

#1直接執行 或者 在cmd 中執行 和在pycharm 中run執行,都是指令碼

#2被import匯入的 就是模組

#模組 from 模組 import 屬性

#例 from my_module import name

# print(name)

#2 不推薦使用 了解

#from my_module inport * #*號表示模組中的所有屬性。

# print(name) #可以直接使用模組中的屬性

# read()

#在from import的過程發生的事

#1 要找到 這個模組

#開空間,執行這個模組檔案

#將所以模組檔案的屬性都儲存在模組所屬空間中

#建立乙個引用屬性,

#補充內容:

#1.pyc檔案,pyi檔案

#pyc 只能提高程式的啟動效率並不能提高程式的執行效率

#2.模組的匯入和修改

#匯入之後,執行屬性,然後再改模組中的屬性,再執行屬性,屬性不會變

# import time

# import my_module #匯入模組

# print(my_module.name) #alex

# time.sleep(10) #暫停十秒,修改模組中屬性

# import my_module

# print(my_module.name) #alex #不變

#如果要修改的話 匯入乙個新的模組 from importlib import reload

# from importlib import reload

# import time

# import my_module #匯入模組

# print(my_module.name) #alex

# time.sleep(10) #暫停十秒,修改模組中屬性

# reload(my_module)

# print(my_module.name) #tiantian #屬性以變

#3.模組的迴圈引用

#不能迴圈

#4.dir(模組名)

#可以獲取這個模組的名字

#包#什麼是包 package

#含有乙個__init__.py的資料夾就是乙個包

#包含中通常含有一些py檔案

# #從包匯入模組 ****

# import glance2.api.policy as policy #as 別名

# policy.get()

#匯入包

#絕對匯入

#匯入包的過程中的發生了什麼事

#相當於執行了包中的__init__.py檔案

#sys.path 中的內容,永遠是當前你執行的檔案

#相對匯入 運用了相對匯入的檔案不能被直接執行

# '.'表示當前目錄

# '..'表示上一級目錄

專案結構

import

osimport

sysbase_path =os.path.dirname(os.path.dirname(os.path.abspath(__file__

from core import

core

if__name__ == '

__main__':

core.main()

建立模組專案包

1 為支撐模組中的基礎模組建立專案包 2 為支撐模組中的許可權模組建立專案包 3 為支撐模組中的系統模組建立專案包 4 為應用模組建立專案包 第一步 建立基礎模組專案包com.common.platform.base 第二步 建立許可權模組專案包com.common.platform.auth 第三...

python模組與包

路徑修改 命令列怎麼檢視路徑,修改路徑 列印當前搜尋路徑 import sys sys.path sys.path import os os.getcwd os.chdir c www 模組實現構建模組的初衷就是將一些同類的東西進行打包,以免汙染全域性空間,在python的模組裡,對需要隱藏的屬性和...

python 模組與包

模組與包 1.什麼是模組 在 python 中,乙個.py檔案就稱之為乙個模組 module 模組的優點 大大提高了 的可維護性 編寫 不必從零開始。當乙個模組編寫完畢,就可以被其他地方引用 2.匯入模組的幾種方式 4.模組的分類 1 內建模組 os,sys,dnspython,socket,tim...