欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 內(nèi)置模塊詳解

 更新時間:2019年01月01日 10:26:37   作者:沐小熊  
模塊是一個保存了Python代碼的文件。模塊能定義函數(shù),類和變量。模塊里也能包含可執(zhí)行的代碼,今天我們就來詳細探討下python內(nèi)置的一些常用模塊

一.random模塊  隨機      

random()    隨機小數(shù)           
uninform(a,b) 隨機小數(shù)
randint(a,b)  隨機整數(shù)
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的隨機小數(shù)
 
 lst = ['寶寶', '寶浪', '寶強', '包拯']
 random.shuffle(lst) # 隨機打亂順序
 print(lst) 
 
 # 從列表中隨機選擇一個
 print(random.choice(["林志玲", "劉一菲", "王昭君", "艾米", "寶寶"]))
 print(random.sample(["林志玲", "劉一菲", "王昭君", "艾米", "寶寶"],3)) # 可以給隨機選取幾個

二.Counter 計數(shù)

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

三.字典

1.默認值字典

 from collections import defaultdict
 
 dd = defaultdict(lambda: '胡辣湯') # callable 可調用的, 字典是空的
 
 print(dd['張無忌']) # 從字典向外拿數(shù)據(jù). 字典是空的. 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 給定存放數(shù)據(jù)的長度
     self.lst = [] # 存放數(shù)據(jù)的列表
     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() # 創(chuàng)建雙向隊列
 d.append('寶寶') # 在右側添加
 d.append('no')
 d.append('way')
 d.append('哈哈')
 d.appendleft('娃哈哈') # 在左邊添加
 d.appendleft('爽歪歪')
 d.appendleft('優(yōu)酸乳')
 
 print(d.pop()) # 從右邊拿數(shù)據(jù)
 print(d.pop()) # 從右邊拿數(shù)據(jù)
 print(d.pop()) # 從右邊拿數(shù)據(jù)
 print(d.pop()) # 從右邊拿數(shù)據(jù)
 print(d.popleft()) # 從左邊拿數(shù)據(jù)
 print(d.popleft()) # 從左邊拿數(shù)據(jù)
 print(d.popleft()) # 從左邊拿數(shù)據(jù)

五.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)

 # 數(shù)據(jù)庫里存儲一個數(shù)字. 把它還原成我們的格式化時間
 a = 847772281.0
 # 先把這個時間戳轉換成python中的結構化時間
 t = time.localtime(a)  # 結構化時間括號里填的是秒 time.localtime(秒) # 本地化的東八區(qū)的時間
 # 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  # 本地化的東八區(qū)的時間

六.functools

1.wraps

from functools import wraps # 可以改變一個函數(shù)的名字, 注釋....


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
 
 # 會把我們每一個數(shù)據(jù)交給func去執(zhí)行, 把默認值作為第一個參數(shù)傳遞給函數(shù)
 
 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模塊 系統(tǒng)操作

1.os

# 必須要記住. 很常用
os.makedirs('baby/安哥拉/特斯拉') # 可以一次性創(chuàng)建多級目錄

os.mkdir('baby/安哥拉/特斯拉/bb') # 上層文件夾必須存在

os.removedirs('baby/安哥拉/特斯拉/bb') # 目錄不是空, 不能刪除 #可以幫我們刪除當前這個目錄級中的所有空文件夾

# 可以記住 一般不刪數(shù)據(jù)
os.rmdir('baby/安哥拉/特斯拉') # 指定文件夾刪除

os.system('dir')
print(os.popen('dir').read()) # 執(zhí)行shell腳本或者cmd命令

print(os.getcwd()) # 當前程序運行的文件夾 D:\python_workspace_s18\day 23 內(nèi)置模塊02

os.chdir('baby') 

 # os.path 和路徑相關的內(nèi)容
 print(os.path.abspath('baby')) # 把相對路徑改成絕對路徑
 print(os.path.split(r'D:\python_workspace\內(nèi)置模塊\baby\1.txt')) # 切割文件和文件路徑
 
 print(os.path.dirname(r'D:\python_workspace\內(nèi)置模塊\baby\1.txt')) 
 # 文件路徑
 print(os.path.basename(r'D:\python_workspace\內(nèi)置模塊\baby\1.txt')) 
 # 文件
 
 print(os.path.existsr'D:\python_workspace\內(nèi)置模塊\baby\1.txt')) 
 # 判斷文件是否存在
 print(os.path.abspath('1.txt'))

2.sys模塊

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

九.自定義模塊和包

import   

from xxx import xxxx   

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

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

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

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

 1.模塊

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

2.包

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

相關文章

  • 淺談python的elementtree模塊處理中文注意事項

    淺談python的elementtree模塊處理中文注意事項

    這篇文章主要介紹了淺談python的elementtree模塊處理中文注意事項,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python爬蟲工具requests-html使用解析

    Python爬蟲工具requests-html使用解析

    這篇文章主要介紹了Python爬蟲工具requests-html使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • python生成日歷實例解析

    python生成日歷實例解析

    這篇文章主要介紹了python生成日歷的方法,實用了python自帶的 calendar模塊加以實現(xiàn),需要的朋友可以參考下
    2014-08-08
  • 在pycharm上mongodb配置及可視化設置方法

    在pycharm上mongodb配置及可視化設置方法

    今天小編就為大家分享一篇在pycharm上mongodb配置及可視化設置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python函數(shù)的定義和調用案例講解

    python函數(shù)的定義和調用案例講解

    函數(shù)通常來說就是帶名字的代碼塊,用于完成具體的工作,需要使用的時候調用即可,這不僅提高代碼的復用性,而且條理更清晰,函數(shù)定義使用def關鍵字創(chuàng)建函數(shù),下面通過本文給大家講解python函數(shù)的定義和調用,感興趣的朋友一起看看吧
    2024-06-06
  • Django Celery異步任務隊列的實現(xiàn)

    Django Celery異步任務隊列的實現(xiàn)

    這篇文章主要介紹了Django Celery異步任務隊列的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • django連接mysql數(shù)據(jù)庫及建表操作實例詳解

    django連接mysql數(shù)據(jù)庫及建表操作實例詳解

    這篇文章主要介紹了django連接mysql數(shù)據(jù)庫及建表操作,結合實例形式詳細分析了Django框架連接mysql數(shù)據(jù)庫、創(chuàng)建與查詢數(shù)據(jù)表相關操作實現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • python中找出numpy array數(shù)組的最值及其索引方法

    python中找出numpy array數(shù)組的最值及其索引方法

    下面小編就為大家分享一篇python中找出numpy array數(shù)組的最值及其索引方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Django自定義模板過濾器和標簽的實現(xiàn)方法

    Django自定義模板過濾器和標簽的實現(xiàn)方法

    這篇文章主要介紹了Django自定義模板過濾器和標簽的實現(xiàn)方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • python b站視頻下載的五種版本

    python b站視頻下載的五種版本

    該項目用于Bilibili(b站)視頻下載(支持分P多段視頻的下載),基于python開發(fā),有此需求的朋友可以參考下
    2021-05-05

最新評論