day 15 模組和包

2022-08-31 04:39:10 字數 1997 閱讀 6952

1 模組

用來從邏輯上組織python**(變數,函式,類,邏輯,實現乙個功能)

是.py結尾的python檔案 ,匯入後,可以直接呼叫其內部函式

模組名就是檔名

2 包是用來從邏輯上組織模組

實際是乙個目錄 ,目錄下包含.py檔案,必須有乙個__init__.py檔案 ,實質是執行該包下的__init__.py檔案

匯入系統包,import 包名+模組名 

3普通 python 模組的搜尋路徑

1. 在當前模組所在路徑中搜尋匯入模組

2. 在環境變數 pythonpath 指定的路徑列表中搜尋匯入模組

3. 在 sys.path 指定的路徑列表中搜尋匯入模組

import module_name #匯入乙個模組,呼叫時,模組名.方法名

import module1_name,modele2_name #匯入多個模組

from module import * #匯入module下的所有方法

from module import fun1,fun2,fun3 #匯入三個方法 ,呼叫時直接使用,不需要再加模組名

from module import  functionname as module_fun #呼叫module下的function_name方法,呼叫時可使用別名 module_fun ,等同於module.functionname.

不同目錄時,需要把模組的目錄新增到絕對路徑下

比如,匯入自定義包,在test1下新建py檔案test1.py,test2.py想要呼叫test1包下的test1.py模組中的test方法,如何操作

test1.py**,定義了test方法

import sys,os,os.path

test2_path = os.path.abspath(__file__) #__file__獲取當前檔名稱

print(test2_path)

輸出:# test2.py所在的檔案目錄

d:\test\test2\test2.py

os.path.dirname(test2_path)

test_path= os.path.dirname(os.path.dirname(test2_path))

輸出:d:\test

#將d:/test新增到sys.path

os.sys.path.insert(0,test_path)

from test1.test1 import *

print(test())

# 匯入自定義包,test2.py,想要呼叫test1包下的test1.py模組中的test方法

import sys,os.path

test2_path = os.path.abspath(__file__) #獲取當前檔案目錄

print(test2_path)

#檢視test1模組所在的上一級目錄

test_path =os.path.dirname(os.path.dirname(test2_path))

print(test_path)

#新增test到絕對路徑下

os.sys.path.insert(0,test_path)

print(sys.path)

#test1 是資料夾名稱(test1.py模組的上一級目錄),匯入只能匯入包+模組

from test1.test1 import *

print(test())

import,本質是被執行了模組的**,賦值給模組變數module,相當於module==all code 

from module import fun1, 本質是把module模組的某一部分(fun1),執行了一遍

Day15 模組的練習

匯入標準庫模組 time 時間 標準庫模組 time 時間 練習 exercise02 03 import time 1.當前時間戳 1970年1月1日到現在經過的秒數 print time.time 1574153197.3360288 2.時間元組 年,月,日,時,分,秒,星期,年的天,夏令時偏...

檔案操作(day15)

呼叫函式可以使用被呼叫函式動態分配的 儲存區calloc函式也可以動態分配一組連續的 儲存區這個函式可以把所有動態分配的儲存區 內容設定成0 為了使用這個函式也需要包含stdlib.h標頭檔案 這個函式需要兩個引數,第乙個引數表示要 分配的儲存區個數,第二個引數表示單個 儲存區的大小 這個函式的返回...

python學習歷程day15

學習內建函式 包括map,sort,repr,lambda,filter,遞迴,二分法查詢 1.map lst 1,4,7,2,5,8 def func el return el 2 func lst 或者m map lambda el el 2,lst 把後面的可迭代物件中的每乙個元素傳遞給fun...