1.Python標準庫
函數+模塊=標準庫
導入機制:只有一個import,但是可以有兩種用法。
from 標準庫模塊名字 import 子模塊名字
這種方法會把一個指定的函數導入到程序的命名空間,這允許我們在必要時調用這個函數,而不必將函數鏈接回所導入的模塊。
#顯示當前時間數值裏面有沒有奇數
這個示例就使用了這種導入技術,然後用datetime()調用datetime函數,而不是datetime.datetime()。
import 標準庫模塊名字
第二種方法是隻導入模塊,採用這種導入方式時,必須使用點記法語法來訪問模塊的功能,如time.sleep()。
當兩個模塊中的同名函數都需要使用,用第二種方法比較好。
import A,B
A.F()
B.F()
(1)Python標準庫是一組豐富的軟件模塊,提供了大量預建的(而且高質量的)可重用代碼。
相關函數的一個集合構成了一個模塊,在標準庫中有大量模塊:函數->模塊->標準庫
(2)datetime模塊
在代碼中,我們特意從標準庫的datetime模塊請求了一個子模塊。這個子模塊也叫做datetime,雖然這點容易讓人混淆,但是卻是這樣的。datetime子模塊提供了一種處理時間的機制。
date.today函數會提供今天的日期
>>> import datetime
>>> datetime.date.today()
datetime.date(2018, 6, 5)
>>> datetime.date.today().day #後面追加一個要訪問的屬性來單獨顯示日月年
5
>>> datetime.date.today().month
6
>>> datetime.date.today().year
2018
用date.isoformat函數並傳入今天的日期,用一種更友好的方式顯示日期,會轉換成一個字符串:
>>> datetime.date.isoformat(datetime.date.today())
'2018-06-05'
除了日期還有時間
from datetime import datetime #顯示當前時間數值裏面有沒有奇數
odds=[ 1,3,5,7,9,11,13,15,17,19,
21,23,25,27,29,31,33,35,37,39,
41,43,45,47,49,51,53,55,57,59]
right_this_minute=datetime.today().minute
if right_this_minute in odds:
print('This minute seems a little odd.')
else:
print("Not an odd minute.")
(3)time模塊
導入time模塊後,調用strftime函數並指定你希望以什麼方式顯示時間就可以了。
在這裏,我們對24小時制的當前小時(%H)和分鐘(%M)感興趣:
>>> import time
>>> time.strftime("%H:%M")
'11:20'
查看是星期幾:%A;查看是上午還是下午:%p
(4)os模塊
這個模塊提供了一種平臺獨立的方式來與底層操作系統交互,不論具體是什麼系統。
下面重點看它提供的一個函數getcwd,調用這個函數時,會返回你當前工作目錄。
在python程序中通常如下導入和調用函數:
from os import getcwd #從os模塊導入這個函數
where_am_I=getcwd() #然後根據需要調用
>>> import os
>>> os.getcwd()
'C:\\Users\\湯珊珊\\AppData\\Local\\Programs\\Python\\Python36-32'
可以訪問系統的全部環境變量(使用environ屬性),也可以單獨訪問某一個環境變量(使用getenv函數):
>>> os.environ
environ({'ALLUSERSPROFILE': ......, 'WINDIR': 'C:\\WINDOWS'}) #其中......是大量數據
>>> os.getenv('WINDIR')
'C:\\WINDOWS'
#可使用getenv(從environ包含的數據中)訪問指定的屬性
(5)sys模塊
幫助你更多的瞭解運行解釋器的系統,可以通過如下操作了解你的底層操作系統
>>>import sys
>>>sys.platform
#回車後輸出當前platform屬性
一些可重用模塊主要支持訪問預置屬性(如platform),sys模塊就是這種模塊一個很好的例子。
print(sys.version)
#確定在運行python的哪個版本
(6)html模塊
>>> import html
>>> html.escape("This HTML fragment contains a <script>script</script> tag.")
'This HTML fragment contains a <script>script</script> tag.'
>>> html.unescape("I ♥ <喬小川>.")
'I ♥ <喬小川>.'
>>>