一、模塊化編程
(1)導入模塊
#導入整個sys模塊
import sys
#獲取程序全路徑名稱
print(sys.argv[0])
#給sys模塊起別名
import sys as s
print(s.argv[0])
#導入兩個模塊
import sys as s,os as o
print(s.argv[0])
#輸出平臺上的路徑分隔符
print(o.sep)
#從sys模塊中導入argv成員變量
from sys import argv as v,winver as w
#導入sys模塊所有成員
from sys import *
(2)定義模塊module1.py 文件
"""
這是第一個模塊說明,該模塊包含以下內容:
my_book 變量
say_hi(user)函數
user 用戶類
"""
print('這是module1')
my_book = '瘋狂python講義'
def say_hi(user):
print('%s 您好,歡迎學習python' % user)
class user:
def __init__(self, name):
self.name = name
def walk(self):
print('%s 正在走路' % self.name)
def __repr__(self):
return self.name
#只有在運行當前py文件時__name__ 纔會變爲__main__,增加if判斷防止其他的py文件
#在import當前模塊的時候執行測試代碼
if __name__ == '__main__':
test_my_book()
test_say_hi()
test_user()
module1.py 的模塊名就是 moudule1,使用模塊可以實現很好的代碼複用,導入導出模塊
二、加載模塊
三、使用包
四、查看模塊內容
五、常見模塊
(1)sys模塊
#常見的模塊
import sys
l = [e for e in dir(sys) if not e.startswith('_')]
print(l)
動態修改模塊加載路徑
(2)os模塊
(3)random模塊
(4)time模塊
(5)json支持模塊
(6)正則表達式re模塊
(7)容器相關類
set集合有如下兩個特徵
set不記錄元素的添加順序,元素不允許重複
set集合是可變容器,程序可以改變容器中的元素。與set對應的還有f'rozenset集合,是set的不可變版本,它的元素是不可變的
deque雙端隊列
(8)python的堆操作: heapq模塊
(9)collections下的容器支持
# 定義三個map
a, b, c = {'ko': 90}, {'go': 93}, {'sw': 89}
m = ChainMap(a,b,c)
print(m)
print(m['ko'])
(10)函數相關模塊
itertools模塊
functools 模塊