1.模組:
定義:用來從邏輯上組織python**(變數,函式,類,邏輯:實現乙個功能),本質就是以.py結尾的python檔案(檔名:test.py,對應的模組名:test)。
包:用來從邏輯上組織模組的,本質就是資料夾(目錄),必須帶有乙個__init__.py檔案。
匯入包的本質就是解釋這個包下面的__init__.py檔案。
在某個模組下需要匯入某乙個包下面的內容,需要在包下面的__init__.py檔案中修改匯入方式,語法為:from . import module_name #.表示當前路徑下
模組匯入方法:
import module_name(模組名)===>>實質匯出的是模組名稱 name.test()
import module_name,m1,m2
from module(模組) import * (函式)===>實質是把**複製到當前位置(不建議 )
from module import module_name,m1,m2
from module import module_name as modele_name_from_wfb (as取別名)
import本質(路徑搜尋和搜尋路徑):
(1)import module_name &nwww.cppcns.combsp;===》把匯入的模組的全部**統一解釋一遍,然後賦值給module_name這個變數,例如:module_name=」modele_name.py all code"。【module_name.name】
import module_name---->執行module_name.py---->module_name.py的路徑---sys.path
(2)from module import module_name ==》把module 模組中的module_name部分放到當前檔案執行一遍。【name()】
總結:匯入mdssckubis模組的本質就是把python檔案解釋一遍。
2.匯入不在同一目錄下的檔案或者包:
由於匯入模組或包的實質是在系統的環境變數(路徑)下尋找所匯入的檔案或者是否存在,存在即可正確執行,否則則需要將檔案或者包的絕對路徑動態加入到系統的環境變數中。使用sys,os模組
import sys,os
lujin=os.path.dirname(os.path.abspath(__file__))
sys.path.append(lujin)
目的是:在當前檔案中獲得指定檔案或包的路徑(父級目錄)。
解釋:os.path.abspath(__file__) 獲取當前檔案的絕對路徑
os.path.dirname:獲取當前檔案的父級目錄。
sys.path.append(lujin):將所獲取的路徑加入到系統環境變數中。
3.匯入優化
(1) import module_name
module_name.name()。。
實質:先找模組,在找該模組下的方法.【查詢多了效率不高。】
(2) mdssckubis from module_name import name
name() 。。
實質:把模組中的方法拿到指定位置執行一遍。相比import少了多次查詢的過程.
4.模組分類
a.標準庫(內建)
1. time 和datetime.
gmtime():獲取標準時間(0時區)
localtime():獲取本地時間(東八區)
time.strftime("%y-%m-%d %h:%m:%s",time.gmtime()) # %y對應tm_year %m對應tm.mon
5.json和pickle模組
json模組提供了四個功能:dumps、dump、loads、load
pickle模組提供了四個功能:dumps、dump、loads、load
.json和pickle模組只建議dummdssckubisps和loads一次,否則需要根據之前的順序依次取出來很麻煩,dumps序列化為字串。
6. shelve模組
shelve模組是乙個簡單的k,v將記憶體資料通過檔案持久化的模組,可以持久化任何pickle可支援的python資料格式,【可理解為可以實現多次的dumps和、loads】
使用=》
import shelve
d = shelve.open('shelve_test') #開啟乙個檔案
存:d[「key」]=value
取:d,get(「key」)
加密模組
hashlib模組
對中/英文的加密:
import hashlib
m=hashlib.md5()
m.update(b"hello")
m.update("it's me 你好".encode(encoding='utf-8'))
對資訊的加密:
import hmac
m=hmac.new(b'天王蓋地虎', '寶塔鎮河妖'.encode(encoding='utf-8')
b'天王蓋地虎':必須是bytes型別
'寶塔鎮河妖'.encode(encoding='utf-8':對含有中文的需要進行編碼(encode)成二進位制。主要是有無b的區別。
os模組相關知識點
import os print os.name 返回作業系統的名字,windows 返回 nt linux 返回 posix 注意該命令不帶括號。以下命令基本都帶括號 print os.getcwd 獲取當前工作的目錄 print os.listdir c users asus desktop 課題...
python模組知識點
一 模組的概念 乙個包含python 的檔案就是乙個模組。1 現在程式開發檔案比較大,都放在乙個檔案中維護不方便,拆分成多個檔案方便維護與管理。2 模組可以增加 的重用率。使用模組的步驟 3 匯入模組,第一次匯入模組的時候,模組會執行一遍,如果匯入多次,就不再執行模組中的內容了。4 使用模組,模組名...
python相關知識點
關於編碼 在liunx上和蘋果上想實現訊息提醒,作者的 如下 if sys type linux linux try import pynotify except importerror pynotify none elif sys type mac mac import gntp.notifier...