




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Ch14數(shù)值日期和時(shí)間處理本章要點(diǎn):14.1相關(guān)模塊概述14.2cmath模塊和復(fù)數(shù)數(shù)學(xué)函數(shù)14.3數(shù)值運(yùn)算模塊NumPy14.4日期和時(shí)間處理14.5綜合應(yīng)用舉例資源下載提示2課件等資源:掃描封底的“課件下載”二維碼,在公眾號(hào)“書(shū)圈”中下載。素材(源碼):掃描本書(shū)目錄上方的二維碼下載。講解視頻:掃描封底刮刮卡中的二維碼,再掃描書(shū)中相應(yīng)章節(jié)中(位于每章最前)的二維碼,作為開(kāi)源的補(bǔ)充閱讀和學(xué)習(xí)資源。
案例研究:掃描封底刮刮卡中的二維碼,再掃描書(shū)中相應(yīng)章節(jié)中(位于每章最后)的二維碼,可以在線學(xué)習(xí)。每章練習(xí)題:掃描封底刮刮卡中的二維碼,再掃描每章習(xí)題部分的二維碼,下載本章練習(xí)題電子版。
題庫(kù)平臺(tái):教師登錄網(wǎng)站(),聯(lián)系客服開(kāi)通教師權(quán)限數(shù)值處理的相關(guān)模塊1.Python標(biāo)準(zhǔn)庫(kù)中包括下列數(shù)值處理相關(guān)模塊。numbers模塊:數(shù)值抽象類。包含類Complex、Real、Rational、Integral。math模塊:數(shù)學(xué)函數(shù)。cmath模塊:復(fù)數(shù)運(yùn)算數(shù)學(xué)函數(shù)。decimal模塊:高精度數(shù)值運(yùn)算。fractions模塊:分?jǐn)?shù)運(yùn)算模塊。random模塊:隨機(jī)數(shù)模塊。2.?dāng)?shù)值運(yùn)算模塊NumPy。Python擴(kuò)展模塊NumPy提供了更高效的數(shù)值處理功能。NumPy模塊主要提供數(shù)組和矩陣處理功能,還包括高級(jí)功能,如傅立葉變換等。NumPy的官網(wǎng)地址為“http://”。3.科學(xué)計(jì)算模塊SciPy。Python擴(kuò)展模塊SciPy提供了用于科學(xué)計(jì)算的功能。SciPy模塊包括統(tǒng)計(jì)、優(yōu)化、整合、線性代數(shù)、傅里葉變換、信號(hào)和圖像處理、常微分方程求解器等功能。SciPy的官網(wǎng)地址為“”日期和時(shí)間處理的相關(guān)模塊Python標(biāo)準(zhǔn)庫(kù)的datetime模塊包含各種用于日期和時(shí)間處理的類calendar模塊包含用于處理日歷的函數(shù)和類time模塊包含用于處理時(shí)間的函數(shù)cmath模塊和復(fù)數(shù)數(shù)學(xué)函數(shù)Python標(biāo)準(zhǔn)模塊cmath中提供了許多用于復(fù)數(shù)運(yùn)算的函數(shù)cmath模塊包含的常量和函數(shù),其API如表14-1(1)~(6)所示……cmath模塊中函數(shù)的參數(shù)可以為整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù),或其它可以自動(dòng)轉(zhuǎn)換為復(fù)數(shù)或浮點(diǎn)數(shù)的對(duì)象,即具有__complex__()或__float__()方法的對(duì)象cmath模塊包含的常量和函數(shù)(1)表14-1(1)
cmath的常量和函數(shù)(一):常量名稱說(shuō)明示例結(jié)果e數(shù)學(xué)常量ee2.718281828459045pi數(shù)學(xué)常量pipi3.141592653589793表14-1(2)
cmath的常量和函數(shù)(二):轉(zhuǎn)換函數(shù)(笛卡兒坐標(biāo)和極坐標(biāo))名稱說(shuō)明示例結(jié)果phase(x)返回math.atan2(x.imag,x.real)phase(complex(-1.0,0.0))3.141592653589793polar(x)返回(abs(x),phase(x)),即(r,phi)polar(3+4j)(5.0,0.9272952180016122)rect(r,phi)返回(r,phi)對(duì)應(yīng)的復(fù)數(shù),即r*(cos(phi)+sin(phi)*1j)rect(1,pi/4)(0.7071067811865476+0.7071067811865476j)cmath模塊包含的常量和函數(shù)(2)表14-1(3)
cmath的常量和函數(shù)(三):冪和對(duì)數(shù)運(yùn)算名稱說(shuō)明示例結(jié)果exp(x)返回e**xexp(3+4j)(-13.128783081462158-15.200784463067954j)log10(x)返回log10xlog10(3+4j)(0.6989700043360187+0.4027191962733731j)sqrt(x)返回x的平方根sqrt(3+4j)(2+1j)表14-1(4)
cmath的常量和函數(shù)(四):三角函數(shù)名稱說(shuō)明示例結(jié)果acos(x)返回x的反余弦acos(3+4j)(0.9368124611557198-2.305509031243477j)asin(x)返回x的反正弦asin(3+4j)(0.6339838656391766+2.305509031243477j)atan(x)返回x的反正切atan(3+4j)(1.4483069952314644+0.15899719167999918j)cos(x)返回x的余弦cos(2*pi)(1+0j)sin(x)返回x的正弦sin(pi/2)(1+0j)tan(x)返回x的正切tan(pi/4)(0.9999999999999999+0j)cmath模塊包含的常量和函數(shù)(3)表14-1(5)
cmath的常量和函數(shù)(五):雙曲線函數(shù)表14-1(6)cmath的常量和函數(shù)(六):判別函數(shù)名稱說(shuō)明示例結(jié)果acosh(x)返回x的雙曲線反余弦acosh(1)0jasinh(x)返回x的雙曲線反正弦asinh(1)(0.8813735870195429+0j)atanh(x)返回x的雙曲線反正切atanh(0.1)(0.10033534773107558+0j)cosh(x)返回x的雙曲線余弦cosh(1)(1.5430806348152437+0j)sinh(x)返回x的雙曲線正弦sinh(0.1)(0.10016675001984403+0j)tanh(x)返回x的雙曲線正切tanh(0.1)(0.09966799462495582+0j)名稱說(shuō)明示例結(jié)果isfinite(x)判斷x.real和x.imag是否都為有限值isfinite(3+4j)Trueisinf(x)判斷x.real和x.imag是否其一為無(wú)窮大isinf(3+4j)Falseisnan(x)判斷x.real和x.imag是否其一為非數(shù)值isnan(3+4j)False數(shù)值運(yùn)算模塊NumPyPython擴(kuò)展模塊NumPy提供數(shù)組和矩陣處理功能(類似于MATLAB),提供了更高效的數(shù)值處理功能使用NumPy模塊一般遵循如下幾個(gè)步驟(1)安裝NumPy模塊。具體步驟請(qǐng)參見(jiàn)本教程第1章相關(guān)內(nèi)容。(2)使用importnumpy語(yǔ)句導(dǎo)入NumPy模塊。(3)創(chuàng)建數(shù)組。(4)處理數(shù)組。創(chuàng)建數(shù)組(1)【例14.1】通過(guò)array函數(shù)創(chuàng)建數(shù)組示例>>>importnumpyasnp>>>a=np.array([1,2,3])
#一維數(shù)組>>>b=np.array([[1,2,3],[4,5,6],[7,8,9]])#二維數(shù)組>>>a
array([1,2,3])>>>barray([[1,2,3],[4,5,6],[7,8,9]])創(chuàng)建數(shù)組(2)【例14.2】通過(guò)arange、linspace和logspace函數(shù)創(chuàng)建數(shù)組示例>>>a=np.arange(0,10,2)>>>a
array([0,2,4,6,8])>>>b=np.linspace(0,2*np.pi,10)>>>barray([0.,0.6981317,1.3962634,2.0943951,2.7925268,3.4906585,4.1887902,4.88692191,5.58505361,6.28318531])>>>c=np.logspace(0,2,10)>>>carray([1.,1.66810054,2.7825594,4.64158883,7.74263683,12.91549665,21.5443469,35.93813664,59.94842503,100.])處理數(shù)組數(shù)組元素的存取方法和Python列表的存取方法相同數(shù)組也支持常用的運(yùn)算符操作,例如:+、-、*、/等【例14.3】數(shù)組處理示例>>>importnumpyasnp>>>x=np.linspace(0,2*np.pi,10)>>>y=np.sin(x)>>>yarray([0.00000000e+00,6.42787610e-01,9.84807753e-01,8.66025404e-01,3.42020143e-01,-3.42020143e-01,-8.66025404e-01,-9.84807753e-01,-6.42787610e-01,-2.44929360e-16])>>>y+1array([1.,1.64278761,1.98480775,1.8660254,1.34202014,0.65797986,0.1339746,0.01519225,0.35721239,1.])數(shù)組應(yīng)用舉例【例14.4】數(shù)組應(yīng)用示例(funcfig.py):利用NumPy模塊中的函數(shù)和Matplotlib中的繪圖函數(shù)繪制y=x2和y=2x的圖形importnumpyasnp #導(dǎo)入模塊importmatplotlib.pyplotasplt #導(dǎo)入模塊importmath #導(dǎo)入模塊x=np.linspace(0,10,100) #x軸坐標(biāo)值y1=np.power(x,2) #y1=x**2y2=np.exp2(x) #y2=2**xplt.plot(x,y1,x,y2) #繪制圖形plt.show() #顯示圖形日期和時(shí)間處理概述datetime模塊:日期和時(shí)間類calendar模塊:日歷函數(shù)和類time模塊:時(shí)間函數(shù)相關(guān)術(shù)語(yǔ)epoch(新紀(jì)元):系統(tǒng)規(guī)定的時(shí)間起始點(diǎn)UTC(CoordinatedUniversalTime):協(xié)調(diào)世界時(shí)DST(DaylightSavingTime):夏令時(shí)time模塊【例14.5】測(cè)量程序運(yùn)行時(shí)間importtimedeftest():sum=0foriinrange(0,9999999):sum+=ireturnsumif__name__=='__main__':t1=time.monotonic()#單向時(shí)鐘print(test())t2=time.monotonic()#單向時(shí)鐘print('運(yùn)行時(shí)間:',t2-t1)datetime模塊(1)兩個(gè)常量:datetime.MINYEAR(1)和datetime.MAXYEAR(9999)【例14.6】日期對(duì)象示例獲取當(dāng)前日期時(shí)間通過(guò)datetime模塊的date.today()函數(shù)可以返回表示當(dāng)前日期的date對(duì)象,通過(guò)其實(shí)例對(duì)象方法,可以獲取其年、月、日等信息通過(guò)datetime模塊的datetime.now()函數(shù)可以返回表示當(dāng)前日期時(shí)間的datetime對(duì)象,通過(guò)其實(shí)例對(duì)象方法,可以獲取其年、月、日、時(shí)、分、秒等信息>>>importdatetime>>>datetime.date.today()#當(dāng)前日期datetime.date(2018,7,9)>>>datetime.datetime.now()#當(dāng)前日期時(shí)間datetime.datetime(2018,7,9,21,17,3,983307)【例14.7】獲取當(dāng)前日期時(shí)間示例(datetimes.py)importdatetimed=datetime.date.today()dt=datetime.datetime.now()print("當(dāng)前的日期是%s"%d)print("當(dāng)前的日期和時(shí)間是%s"%dt)print("ISO格式的日期和時(shí)間是%s"%dt.isoformat())print("當(dāng)前的年份是%s"%dt.year)print("當(dāng)前的月份是%s"%dt.month)print("當(dāng)前的日期是%s"%dt.day)print("dd/mm/yyyy格式是%s/%s/%s"%(dt.day,dt.month,dt.year))print("當(dāng)前小時(shí)是%s"%dt.hour)print("當(dāng)前分鐘是%s"%dt.minute)print("當(dāng)前秒是%s"%dt.second)日期時(shí)間格式化為字符串time模塊中的strftime()函數(shù)將struct_time對(duì)象格式化為字符串【例14.8】日期時(shí)間格式化為字符串示例1【例14.9】日期時(shí)間格式化為字符串示例2>>>fromtimeimport*>>>strftime("%c",localtime())#輸出:'SunJan2318:48:072022'>>>strftime("%Y年%m月%d日(%A)%H時(shí)%M分%S秒",localtime())'2022年01月23日(Sunday)18時(shí)48分07秒'>>>importdatetime>>>datetime.datetime.now().strftime('%Y-%m-%d%H:%M:%S')'2022-01-2318:49:18'日期時(shí)間字符串解析為日期時(shí)間對(duì)象time模塊中的strptime()函數(shù)將時(shí)間字符串解析為struct_time對(duì)象【例14.10】日期時(shí)間字符串解析示例1【例14.11】日期時(shí)間字符串解析示例2>>>fromtimeimport*>>>strptime("30Nov00","%d%b%y")time.struct_time(tm_year=2022,tm_mon=11,tm_mday=30,tm_hour=0,tm_min=0,tm_sec=0,tm_wday=3,tm_yday=335,tm_isdst=-1)>>>datetime.datetime.strptime(‘2022-08-18','%Y-%m-%d')datetime.datetime(2022,8,18,0,0)綜合舉例:程序運(yùn)行時(shí)間測(cè)量當(dāng)程序的復(fù)雜度增加(例如,循環(huán)次數(shù)增大)時(shí),程序運(yùn)行的時(shí)間顯著增加。通過(guò)time模塊中的time()函數(shù)可以測(cè)量程序運(yùn)行的時(shí)間【例14.12】程序運(yùn)行時(shí)間測(cè)量(timing.py)importtimedeftiming(f,data):"""測(cè)量函數(shù)調(diào)用f(data)的運(yùn)行時(shí)間分析"""start=time.time()#記錄開(kāi)始時(shí)間f(data)#運(yùn)行f(data)end=time.time()#記錄結(jié)束時(shí)間returnend-start#返回執(zhí)行時(shí)間#測(cè)試代碼if__name__=="__main__":importpi#參見(jiàn)14.7.2節(jié)foriinrange(3):n=10000*(100**i)t=timing(pi.pi,n)p
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字化供應(yīng)鏈優(yōu)化升級(jí)合作協(xié)議
- 幼兒園親子故事征文猜猜我有多愛(ài)你
- 品牌發(fā)展及合作策略表
- 農(nóng)業(yè)智能裝備技術(shù)應(yīng)用知識(shí)試題
- 物業(yè)轉(zhuǎn)讓協(xié)議書(shū)錦集
- 農(nóng)業(yè)種植基地生產(chǎn)安全管理協(xié)議
- 數(shù)學(xué)故事書(shū)奇妙的世界之旅解讀
- 企業(yè)內(nèi)部管理軟件推廣協(xié)議
- 杜甫詩(shī)風(fēng)探究:高中語(yǔ)文深度解析教案
- 三農(nóng)田機(jī)械作業(yè)技術(shù)標(biāo)準(zhǔn)及規(guī)范
- 教科版-六年級(jí)科學(xué)下冊(cè)制作校園生物分布圖課件
- 五年級(jí)下冊(cè)數(shù)學(xué)計(jì)算題100道及答案
- 生涯發(fā)展報(bào)告介紹職業(yè)發(fā)展規(guī)劃實(shí)現(xiàn)職業(yè)目標(biāo)的具體行動(dòng)和成果
- 關(guān)于防范遏制礦山領(lǐng)域重特大生產(chǎn)安全事故的硬措施(上)
- 《高一數(shù)學(xué)三角函數(shù)誘導(dǎo)公式》課件
- 納米材料在環(huán)境污染治理中的應(yīng)用
- 2024版全文:中國(guó)二型糖尿病防治全指南
- 警惕冒充客服詐騙如何識(shí)別和避免客服騙局
- 《中醫(yī)婦科養(yǎng)生》課件
- 學(xué)術(shù)寫(xiě)作(一)Choosing-a-topic-課件
- GB/T 24478-2023電梯曳引機(jī)
評(píng)論
0/150
提交評(píng)論