国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python 內置模塊詳解

2020-01-04 13:38:58
字體:
來源:轉載
供稿:網友

一.random模塊  隨機      

random()    隨機小數            
uninform(a,b) 隨機小數
randint(a,b)  隨機整數
choice() 隨機選擇一個
sample() 隨機選擇多個
shuffle() 打亂

 import random from random import randint  print(randint(10, 20)) # print(random.randint(10, 20))/ print(random.random()) print(random.uniform(10, 20)) # 10-20的隨機小數  lst = ['寶寶', '寶浪', '寶強', '包拯'] random.shuffle(lst) # 隨機打亂順序 print(lst)   # 從列表中隨機選擇一個 print(random.choice(["林志玲", "劉一菲", "王昭君", "艾米", "寶寶"])) print(random.sample(["林志玲", "劉一菲", "王昭君", "艾米", "寶寶"],3)) # 可以給隨機選取幾個

二.Counter 計數

 from collections import Counter  print(Counter('寶寶今年特別喜歡王寶強')) # 計數  lst = ['jay', 'jay', 'jay', '寶寶', '寶寶', '胡辣湯', '上官婉兒'] c = Counter(lst) print(c.get('寶寶'))

三.字典

1.默認值字典

 from collections import defaultdict  dd = defaultdict(lambda: '胡辣湯') # callable 可調用的, 字典是空的  print(dd['張無忌']) # 從字典向外拿數據. 字典是空的. key:callable() print(dd['寶寶']) # 這里的[] 和get() 不是一回事兒 print(dd)

2.有序字典

 from collections import OrderedDict  dic = OrderedDict() # 有序字典 dic['a'] = '哈哈' dic['b'] = '呵呵' print(dic) print(dic.get('a')) print(dic.values()) print(dic['a'])

四.棧和隊列

1.棧

特點:先進后出

 class StackFullException(Exception):   pass  class StackEmptyException(Exception):   pass class Stack:    def __init__(self,size):     self.size = size 給定存放數據的長度     self.lst = [] # 存放數據的列表     self.top = 0 # 棧頂指針    # 入棧   def push(self, el):     if self.top >= self.size:       raise StackFullException('your stack is full!!')     self.lst.insert(self.top, el) # 放元素     self.top += 1 # 棧頂指針向上移動一下     # 出棧    def pop(self):     if self.top == 0:       raise StackEmptyException('your stack is empty!!!')     self.top -= 1     el = self.lst[self.top]     return el  s = Stack(6) s.push('寶寶') s.push('我還') s.push('記得')  print(s.pop()) print(s.pop()) print(s.pop())

2.單項隊列

特點:先進先出

 import queue q = queue.Queue() q.put('李嘉誠1') q.put('李嘉誠2') q.put('李嘉誠3') q.put('李嘉誠4') q.put('李嘉誠5')  print(q.get()) print(q.get()) print(q.get()) print(q.get()) print(q.get())

3.雙向隊列

特點:和單項一樣

 from collections import deque  d =deque() # 創建雙向隊列 d.append('寶寶') # 在右側添加 d.append('no') d.append('way') d.append('哈哈') d.appendleft('娃哈哈') # 在左邊添加 d.appendleft('爽歪歪') d.appendleft('優酸乳')  print(d.pop()) # 從右邊拿數據 print(d.pop()) # 從右邊拿數據 print(d.pop()) # 從右邊拿數據 print(d.pop()) # 從右邊拿數據 print(d.popleft()) # 從左邊拿數據 print(d.popleft()) # 從左邊拿數據 print(d.popleft()) # 從左邊拿數據

五.time模塊

 # 時間戳: 從1970-01-01 00:00:00 開始計算. 未來存儲的時候用時間戳
 print(time.time()) 

 # 格式化時間
 print(time.strftime('%Y-%m-%d %H:%M:%S'))  # 用來顯示的

 # 結構化時間(python的時間)
 t = time.localtime()
 print(t.tm_year)
 print(t.tm_mon)
 print(t.tm_mday)

 # 數據庫里存儲一個數字. 把它還原成我們的格式化時間
 a = 847772281.0
 # 先把這個時間戳轉換成python中的結構化時間
 t = time.localtime(a)  # 結構化時間括號里填的是秒 time.localtime(秒) # 本地化的東八區的時間
 # t = time.gmtime(a)  # 格林尼治時間
 
 s = time.strftime('%Y-%m-%d %H:%M:%S', t)  # time.strftime(格式化格式, 傳入結構化轉化完的時間 t)
 print(s)

# 讓用戶輸入一個時間. 然后把時間轉化成時間戳
strt = input('請輸入一個時間:')
# 把字符串轉化成結構化時間
t = time.strptime(strt, '%Y-%m-%d %H:%M:%S')
# 轉化成時間戳
print(time.mktime(t))  # 847772281.0  # 本地化的東八區的時間

六.functools

1.wraps

from functools import wraps # 可以改變一個函數的名字, 注釋....def wrapper(fn):  @wraps(fn) # 把inner的名字改變成原來的func  def inner(*args, **kwargs):    print('前')    ret = fn(*args,**kwargs)    print('后')    return ret  return inner@wrapper # func = wrapper(func)def func():  print('哈哈哈')print(func.__name__) # func

2.reduce

 def func(a, b):   return a + b # 0 + 1  # 會把我們每一個數據交給func去執行, 把默認值作為第一個參數傳遞給函數  ret = reduce(func, [1, 4, 7, 8, 6, 9],0) print(ret) print(reduce(lambda x, y: x+y, [i for i in range(101)]))

3.partial

 from functools import partial  def chi(zhushi, fushi):   print(zhushi, fushi)  chi2 = partial(chi, fushi = "辣雞爪") chi2('大米飯') chi2('小米飯') chi2('黑米飯')

七.命名元組 namedtuple

 p = namedtuple('Point', ["x", "y"])  p1 = p(10, 20) print(p1) print(p1.x) print(p1.y)

八.OS模塊 系統操作

1.os

# 必須要記住. 很常用os.makedirs('baby/安哥拉/特斯拉') # 可以一次性創建多級目錄os.mkdir('baby/安哥拉/特斯拉/bb') # 上層文件夾必須存在os.removedirs('baby/安哥拉/特斯拉/bb') # 目錄不是空, 不能刪除 #可以幫我們刪除當前這個目錄級中的所有空文件夾# 可以記住 一般不刪數據os.rmdir('baby/安哥拉/特斯拉') # 指定文件夾刪除os.system('dir')print(os.popen('dir').read()) # 執行shell腳本或者cmd命令print(os.getcwd()) # 當前程序運行的文件夾 D:/python_workspace_s18/day 23 內置模塊02os.chdir('baby')  # os.path 和路徑相關的內容 print(os.path.abspath('baby')) # 把相對路徑改成絕對路徑 print(os.path.split(r'D:/python_workspace/內置模塊/baby/1.txt')) # 切割文件和文件路徑  print(os.path.dirname(r'D:/python_workspace/內置模塊/baby/1.txt'))  # 文件路徑 print(os.path.basename(r'D:/python_workspace/內置模塊/baby/1.txt'))  # 文件  print(os.path.existsr'D:/python_workspace/內置模塊/baby/1.txt'))  # 判斷文件是否存在 print(os.path.abspath('1.txt'))

2.sys模塊

 import sys  print(sys.path) # 找到模塊的. 必須要記住. 模塊的搜索路徑 sys.path.append(r'D:/python_workspace/內置常用模塊') print(sys.path)

九.自定義模塊和包

import   

from xxx import xxxx   

一個表達式 -> 一條語句  -> 語句塊  -> 函數 -> 類  -> 模塊  -> 包  -> 項目       

包就是我們的文件夾, 包內可以寫很多個模塊.

查找路徑是:sys.path, 隨動. 跟著你的啟動文件所在的位置變化       

不論使用絕對導入. 還是相對導入. 啟動文件一定在最外面

 1.模塊

寫的一個py文件就可以稱作一個模塊

2.包

文件夾里裝很多模塊的就是包


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮北市| 宁海县| 堆龙德庆县| 长寿区| 正镶白旗| 桓仁| 临汾市| 米易县| 兴海县| 定远县| 安多县| 本溪| 灵台县| 松阳县| 即墨市| 长顺县| 昌邑市| 溧水县| 桦甸市| 柏乡县| 沾益县| 安庆市| 达州市| 鄂州市| 疏勒县| 平乐县| 临漳县| 衡水市| 汨罗市| 疏勒县| 泸定县| 汝阳县| 方城县| 惠州市| 涟水县| 宽甸| 青铜峡市| 兰溪市| 阳西县| 万源市| 来宾市|