欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂Python培訓(xùn)詳解Python內(nèi)置模塊

2019-05-27 11:12:46 989瀏覽

對(duì)Python開(kāi)發(fā)感興趣的小伙伴應(yīng)該對(duì)模塊有所了解吧,模塊是一個(gè)保存了Python代碼的文件。模塊能定義函數(shù),類和變量。模塊里也能包含可執(zhí)行的代碼。本篇文章扣丁學(xué)堂Python培訓(xùn)小編給讀者們分享一下Python內(nèi)置模塊,感興趣的小伙伴來(lái)了解一下吧。

扣丁學(xué)堂Python培訓(xùn)詳解Python內(nèi)置模塊

一、random模塊  隨機(jī)

      

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


二、Counter計(jì)數(shù)


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


三、字典


1、默認(rèn)值字典


 from collections import defaultdict
 
 dd = defaultdict(lambda: '胡辣湯') # callable 可調(diào)用的, 字典是空的
 
 print(dd['張無(wú)忌']) # 從字典向外拿數(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'])


四、棧和隊(duì)列


1、棧


特點(diǎn):先進(jìn)后出


 class StackFullException(Exception):
   pass
 
 class StackEmptyException(Exception):
   pass
 class Stack:
 
   def __init__(self,size):
     self.size = size 給定存放數(shù)據(jù)的長(zhǎng)度
     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 # 棧頂指針向上移動(dòng)一下 
 
   # 出棧
 
   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、單項(xiàng)隊(duì)列


特點(diǎn):先進(jìn)先出


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


3、雙向隊(duì)列


特點(diǎn):和單項(xiàng)一樣


 from collections import deque
 
 d =deque() # 創(chuàng)建雙向隊(duì)列
 d.append('寶寶') # 在右側(cè)添加
 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模塊

#時(shí)間戳:從1970-01-0100:00:00開(kāi)始計(jì)算.未來(lái)存儲(chǔ)的時(shí)候用時(shí)間戳
print(time.time())


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


#結(jié)構(gòu)化時(shí)間(python的時(shí)間)
t=time.localtime()
print(t.tm_year)
print(t.tm_mon)
print(t.tm_mday)


#數(shù)據(jù)庫(kù)里存儲(chǔ)一個(gè)數(shù)字.把它還原成我們的格式化時(shí)間
a=847772281.0
#先把這個(gè)時(shí)間戳轉(zhuǎn)換成python中的結(jié)構(gòu)化時(shí)間
t=time.localtime(a)#結(jié)構(gòu)化時(shí)間括號(hào)里填的是秒time.localtime(秒)#本地化的東八區(qū)的時(shí)間
#t=time.gmtime(a)#格林尼治時(shí)間
s=time.strftime('%Y-%m-%d%H:%M:%S',t)#time.strftime(格式化格式,傳入結(jié)構(gòu)化轉(zhuǎn)化完的時(shí)間t)
print(s)


#讓用戶輸入一個(gè)時(shí)間.然后把時(shí)間轉(zhuǎn)化成時(shí)間戳
strt=input('請(qǐng)輸入一個(gè)時(shí)間:')
#把字符串轉(zhuǎn)化成結(jié)構(gòu)化時(shí)間
t=time.strptime(strt,'%Y-%m-%d%H:%M:%S')
#轉(zhuǎn)化成時(shí)間戳
print(time.mktime(t))#847772281.0#本地化的東八區(qū)的時(shí)間



六、functools


1、wraps


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


def wrapper(fn):
  @wraps(fn) # 把inner的名字改變成原來(lái)的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
 
 # 會(huì)把我們每一個(gè)數(shù)據(jù)交給func去執(zhí)行, 把默認(rèn)值作為第一個(gè)參數(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)建多級(jí)目錄

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

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

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

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

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

os.chdir('baby') 

 # os.path 和路徑相關(guān)的內(nèi)容
 print(os.path.abspath('baby')) # 把相對(duì)路徑改成絕對(duì)路徑
 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   

一個(gè)表達(dá)式 -> 一條語(yǔ)句  -> 語(yǔ)句塊  -> 函數(shù) -> 類  -> 模塊  -> 包  -> 項(xiàng)目       

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

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

不論使用絕對(duì)導(dǎo)入. 還是相對(duì)導(dǎo)入. 啟動(dòng)文件一定在最外面


1、模塊


寫的一個(gè)py文件就可以稱作一個(gè)模塊


2、包


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



想要了解更多關(guān)于Python開(kāi)發(fā)方面內(nèi)容的小伙伴,請(qǐng)關(guān)注扣丁學(xué)堂Python培訓(xùn)官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育有專業(yè)的Python講師為您指導(dǎo),此外扣丁學(xué)堂老師精心推出的Python視頻教程定能讓你快速掌握Python從入門到精通開(kāi)發(fā)實(shí)戰(zhàn)技能。扣丁學(xué)堂Python技術(shù)交流群:279521237。

扣丁學(xué)堂微信公眾號(hào)                          Python全棧開(kāi)發(fā)爬蟲人工智能機(jī)器學(xué)習(xí)數(shù)據(jù)分析免費(fèi)公開(kāi)課直播間


      【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】         【掃碼進(jìn)入Python全棧開(kāi)發(fā)免費(fèi)公開(kāi)課】



查看更多關(guān)于"Python開(kāi)發(fā)資訊"的相關(guān)文章>



標(biāo)簽: Python培訓(xùn) Python視頻教程 Python在線視頻 Python學(xué)習(xí)視頻 Python培訓(xùn)班

熱門專區(qū)

暫無(wú)熱門資訊

課程推薦

微信
微博
15311698296

全國(guó)免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號(hào)中關(guān)村智誠(chéng)科創(chuàng)大廈4層
京ICP備2021002079號(hào)-2   Copyright ? 2017 - 2022
返回頂部 返回頂部