python【系列教程】之模塊和包

一、模塊化編程

(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 模塊

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章