模块的使用,包,及程序开发规范
1.模塊的基礎認識
為啥使用模塊:
從文件級別組織程序,更加方便管理,且實現了功能的重復利用
提高開發效率
查看當前已加載模塊:
打印sys.module,里面包含模塊名與對象的映射
為模塊起別名:
import temp as tp print(tp.name)這個的用處一:可以根據用戶的輸入來選擇使用不同模塊中的同一功能
inp = input('json or pickle>>>') if inp == 'json':import json as m elif inp == 'pickle':import pickle as mm.dumps({'k':'v'}) m.loads()這個用處二:為已經導入的模塊起別名,對編寫可擴展的代碼很有用。假設有兩個模塊xmlreader.py和csvreader.py,它們都定義了函數read_data(filename):用來從文件中讀取一些數據,但采用不同的輸入格式。可以編寫代碼來選擇性地挑選讀取模塊
if file_format == 'xml':import xmlreader as reader elif file_format == 'csv':import csvreader as reader data=reader.read_date(filename)一行導入多個模塊(不建議使用):
import sys,os,re導入方式:
import--- from---import--- from --- import --- as --- from --- import 1,2,3from --- import *
他表示的是把模塊中所有的不是以下劃線開頭的名字都導入當前位置,不推薦這么使用,因為這樣可能會覆蓋之前已經定義過的名字,而且可讀性很差
記:如果在模塊中的名字前加入了_,這樣用*則不會被導入
模塊導入規范:
首先必須遵循PEP8編程規范
每一行import 應該導入一個模塊
如果不是必要的需求,所有的模塊都應該在文件的頂端導入
關于導入模塊的順序 先導入內置的 再導入擴展 最后導入自定義
2.把模塊當做腳本執行(很常見)
用法鏈接:http://blog.konghy.cn/2017/04/24/python-entry-program/
# 一個寫好的Python文件一般分為兩種用途 腳本:文件就是整個程序,用來被執行 模塊:文家中存放著好多功能,用來被導入使用 # 在python中內置了全局變量__name__ 當文件被當作腳本執行時,__name__ = __main__ 當文件被當做模塊導入時,__name__ = 模塊名# 對于if __name__ == '__main__': 它是用來控制.py文件在不同的應用場景下執行不同的邏輯3.關于pyc文件
模塊在被第一次導入的時候被編譯存在pyc文件里(它會把模塊中的內容以字節的形式儲存),之后導入的可以直接運行pyc文件,以此提高運行速度
4.關于包:
?1.凡是在導入語句的時候遇到帶點的,這都是關于包才有的導入語法
2.包是一種目錄級別的(文件夾級),文件夾是py文件組成的。包的本質是一個包含__init__.py文件的目錄
3.在py3下,即使包內沒有__init__.py文件,import仍不會報錯,首次導入時候它會自動創建,而在py2下必須要存在該文件,否則會報錯
4.創建包的目的是為了被導入使用,而不是為了運行,它只是模塊的一種形式而已
## 可以用import導入內置或第三方模塊(已經在sys.path中),但是要避免使用import導入自定義包的子模塊(未在sys.path中),應該是用from---import的絕對或者相對導入
5.軟件開發規范:
文件(項目名稱)? ? ? ? # 在這下面分別創建
文件1:bin ? ? ? ? ? ?# 整個程序的入口
? **.py?
文件2:conf # 配置文件,里面是一些文件路徑,數據庫信息等
**.ini
**.py
文件3:core? ? ?? ? # 核心文件,里面放置核心代碼
**.py
文件4:db ? ?# 存放數據的文件
**.txt
文件5:lib # 自己寫的庫,不用安裝,導入使用即可
**.py
文件6:log ? # 日志文件
?
轉載于:https://www.cnblogs.com/LearningOnline/p/8941775.html
總結
以上是生活随笔為你收集整理的模块的使用,包,及程序开发规范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】supervisord使用
- 下一篇: Python实现打印螺旋矩阵功能的方法