《區(qū)塊鏈技術(shù)及應(yīng)用》區(qū)塊鏈開發(fā)基礎(chǔ)_第1頁(yè)
《區(qū)塊鏈技術(shù)及應(yīng)用》區(qū)塊鏈開發(fā)基礎(chǔ)_第2頁(yè)
《區(qū)塊鏈技術(shù)及應(yīng)用》區(qū)塊鏈開發(fā)基礎(chǔ)_第3頁(yè)
《區(qū)塊鏈技術(shù)及應(yīng)用》區(qū)塊鏈開發(fā)基礎(chǔ)_第4頁(yè)
《區(qū)塊鏈技術(shù)及應(yīng)用》區(qū)塊鏈開發(fā)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

區(qū)塊鏈開發(fā)基礎(chǔ)目錄/CONTENTS2.1Python的特點(diǎn)和應(yīng)用領(lǐng)域2.2模塊2.3基于Tkinter的圖形開發(fā)界面2.4Web開發(fā)本章小結(jié)2.1Python的特點(diǎn)和應(yīng)用領(lǐng)域Python是一種簡(jiǎn)單的、面向?qū)ο蟮摹⒔换ナ降?、解釋型的、可移植的高?jí)語(yǔ)言。Python具有語(yǔ)法清晰、簡(jiǎn)單易用、功能強(qiáng)大、可移植性強(qiáng)、通用性好的特點(diǎn),適用于Linux、MS-DOS、MacOS、Windows等多種操作系統(tǒng)。Python是一種設(shè)計(jì)良好的編程語(yǔ)言,可以應(yīng)用于各個(gè)領(lǐng)域。事實(shí)上,作為一種通用語(yǔ)言,Python的作用幾乎是無(wú)限的。從網(wǎng)站和游戲開發(fā)到機(jī)器人和航天飛機(jī)控制,你可以在任何場(chǎng)合使用Python。Python……數(shù)學(xué)處理文本處理Web編程多媒體應(yīng)用Pymo引擎黑客編程圖形處理2.2.1模塊的使用和安裝自包含的、有組織的代碼段就是模塊。Python允許“調(diào)用”模塊,允許使用其他模塊的屬性結(jié)合以前的工作成果實(shí)現(xiàn)代碼重用。安裝模塊:①官網(wǎng)下載安裝;②命令行安裝(推薦)命令行口令(假設(shè)安裝hashlib模塊):pipinstallhashlib

使用pip安裝口令的前提是安裝了pip。安裝模塊后就是導(dǎo)入模塊,我們使用import語(yǔ)句進(jìn)行導(dǎo)入。

命令行口令(假設(shè)導(dǎo)入hashlib模塊):import

hashlib

注意:該過(guò)程遵循作用域原則:如果在一個(gè)模塊的頂層導(dǎo)入,那么它的作用域是全局的;如果在函數(shù)中導(dǎo)入,那么它的作用域是局部的。2.2.2基本模塊hashlib:Python的hashlib模塊提供了常見的摘要算法,如MD5、SHA-1、SHA-256等。尤其SHA-256算法,它是區(qū)塊鏈安全的基石。簡(jiǎn)單來(lái)說(shuō),SHA-256算法就是把一串明文通過(guò)hashlib模塊提供的某個(gè)算法轉(zhuǎn)換為一個(gè)固定長(zhǎng)度的字符串。datetime:在區(qū)塊鏈中,為了進(jìn)一步提高安全性,避免彩虹表攻擊,在對(duì)明文進(jìn)行哈希處理的時(shí)候我們往往還會(huì)加上時(shí)間戳,即獲得系統(tǒng)時(shí)間,拼接原文再生成一個(gè)哈希值。datetime是Python處理日期和時(shí)間的標(biāo)準(zhǔn)庫(kù)。

可以使用如下代碼獲取當(dāng)前日期與時(shí)間。

>>>importdatetimeastime>>>now=time.datetime.now()>>>print(now)2019-06-2111:00:20.5009192.2.2基本模塊struct:由于Python沒有專門處理字節(jié)的數(shù)據(jù)類型,因此需要Struct模塊在Python值和表示為Pythonbytes對(duì)象的緩沖區(qū)結(jié)構(gòu)體之間進(jìn)行轉(zhuǎn)換。Struct模塊可用于處理存儲(chǔ)在文件中或者來(lái)自網(wǎng)絡(luò)的鏈接,以及其他來(lái)源的二進(jìn)制數(shù)據(jù)。序號(hào)異常和函數(shù)含義1異常struct.error在各種場(chǎng)合拋出異常,參數(shù)是描述錯(cuò)誤的字符串。2struct.pack(fmt,v1,v2,…)根據(jù)格式化字符串fmt封裝,返回一個(gè)包括v1、v2等值的字節(jié)對(duì)象,參數(shù)必須與格式化所需的值完全匹配。3struct.pack_into(fmt,buffer,offset,v1,v2,…)根據(jù)格式化字符串fmt,封裝v1、v2等值,并從位置offset開始,將封裝后的字節(jié)寫入可寫緩沖區(qū)buffer中。注意,offset是必需的參數(shù)。4struct.unpack(fmt,buffer)根據(jù)格式化字符串fmt,從緩沖區(qū)buffer中解包。即使結(jié)果只包含一項(xiàng),也是一個(gè)元組。緩沖區(qū)的大小必須與格式所需的大小匹配,如calcsize()所得的結(jié)果。5struct.unpack_from(fmt,buffer,offset=0)根據(jù)格式化字符串fmt,從位置offset開始解包。即使結(jié)果只包含一項(xiàng),也是一個(gè)元組。緩沖區(qū)的大小減去offset,至少是格式化所需的大小,如calcsize()所得的結(jié)果。6er_unpack(fmt,buffer)根據(jù)格式化字符串fmt,從緩沖區(qū)buffer中迭代解包,該函數(shù)返回一個(gè)iterator,它從緩沖區(qū)中讀取大小相等的塊,直到所有的內(nèi)容被耗盡。緩沖區(qū)的大小必須是格式化所需大小的倍數(shù),如calcsize()所得的結(jié)果。7struct.calcsize(fmt)返回對(duì)應(yīng)格式化字符串fmt的結(jié)構(gòu)體的大小。表2-1struct模塊定義的異常和函數(shù)2.2.2基本模塊urllib:urllib是Python內(nèi)置的HTTP請(qǐng)求庫(kù),無(wú)須安裝即可使用,它包含了4個(gè)模塊.

request:它是最基本的HTTP請(qǐng)求模塊,用來(lái)模擬發(fā)送請(qǐng)求;error:異常處理模塊,如果出現(xiàn)錯(cuò)誤可以捕獲這些異常;

parse:一個(gè)工具模塊,提供了許多URL處理方法,如拆分、解析、合并等;rebotparser:主要用來(lái)識(shí)別網(wǎng)站的robots.txt文件.urlliburllib.requesturllib.parseurllib.rebotparserurllib.error2.3基于Tkinter的圖形開發(fā)界面

Tkinter是Python的默認(rèn)GUI庫(kù),它基于Tk工具集。Tk最初是為工具命令語(yǔ)言設(shè)計(jì)的。Tkinter流行后被移植到許多其他腳本語(yǔ)言中,包括Perl、Ruby和Python。利用Tkinter開發(fā)GUI具有靈活性和可移植性,配合簡(jiǎn)潔的腳本語(yǔ)言和強(qiáng)勁的系統(tǒng)語(yǔ)言,可以快速開發(fā)GUI程序。序號(hào)組件名稱組件中文名含義1Button按鈕類似于標(biāo)簽,但提供額外功能,例如鼠標(biāo)指針掠過(guò)、按下鼠標(biāo)、松開鼠標(biāo)以及鍵盤操作2Canvas畫布提供繪圖功能,包括繪制直線、橢圓、多邊形、矩形等,可以包含圖形或位圖3Cheakbutton選擇按鈕一組方框,可以選擇其中任意多個(gè)4Entry文本框單行文字域,用來(lái)收集鍵盤輸入5Frame框架包含其他組件的純?nèi)萜?Lable標(biāo)簽用來(lái)顯示文字或者圖片7Listbox列表框一個(gè)選項(xiàng)列表,用戶可以從中選擇8Menu菜單按下菜單按鈕后彈出一個(gè)選項(xiàng)列表,用戶可以從中選擇9Menubutton菜單按鈕用來(lái)包含菜單的組件10Message消息框類似于標(biāo)簽,但可以顯示多行文本11Radiobutton單選按鈕一組按鈕,其中只有一個(gè)可被按下12Scale進(jìn)度條線性“滑塊”組件,可設(shè)定起始值和結(jié)束值,會(huì)顯示當(dāng)前位置的精確值13Scrollbar滾動(dòng)條對(duì)其支持的組件提供滾動(dòng)功能14Text文本域多行文字區(qū)域,可用來(lái)收集或顯示用戶輸入的文字15Toplevel頂級(jí)類似于框架,但提供一個(gè)獨(dú)立的窗口容器表2-2Tkinter的組件2.3基于Tkinter的圖形開發(fā)界面創(chuàng)建和執(zhí)行GUI程序,需要如下5個(gè)基本步驟。

(1)導(dǎo)入Tkinter模塊(importTkinter)。

(2)創(chuàng)建一個(gè)頂層窗口對(duì)象,來(lái)容納整個(gè)GUI程序。

(3)在頂層窗口對(duì)象上創(chuàng)建所有的GUI模塊。

(4)把這些GUI模塊與底層代碼相連接。

(5)執(zhí)行事件循環(huán)。創(chuàng)建一個(gè)簡(jiǎn)單的GUI程序:importtkintertop=tkinter.TK()top.mainloop()

執(zhí)行結(jié)果為一個(gè)簡(jiǎn)單的空白窗口。2.4.1HTTPS簡(jiǎn)介HTTPS(HyperTextTransferProtocoloverSecureSocketLayer,超文本傳輸協(xié)議安全套接字層)簡(jiǎn)單來(lái)說(shuō)就是加密數(shù)據(jù)傳輸,通俗地說(shuō)就是安全連接。它使用安全套接字層(SecureSocketsLayer,SSL)進(jìn)行信息交換,是HTTP的安全版,基于HTTP開發(fā),是一個(gè)抽象標(biāo)識(shí)符體系(URIScheme),句法同http:體系,用于在服務(wù)器和客戶機(jī)之間安全交換信息和數(shù)據(jù)。它是一個(gè)安全通信通道,具有數(shù)據(jù)完整性好、數(shù)據(jù)隱私性好和可實(shí)現(xiàn)身份認(rèn)證三點(diǎn)優(yōu)勢(shì)。HTTPTCPIPHTTPSSSL/TLSTCPIP2.4.2Web框架在實(shí)際開發(fā)中,底層代碼由專門的服務(wù)器軟件來(lái)實(shí)現(xiàn),我們用Python專注于生成HTML文本。因?yàn)槲覀儾幌M佑|到TCP連接、HTTP原始請(qǐng)求和響應(yīng)格式,所以需要一個(gè)統(tǒng)一的接口(WSGI),讓我們專心用Python編寫Web業(yè)務(wù)。WSGI雖然比HTTP接口高級(jí),但和WebAPP的邏輯相比,還是比較低級(jí)的,我們需要在WSGI上繼續(xù)抽象,至于URL到函數(shù)的映射,就交給Web框架來(lái)完成。序號(hào)Web框架含義1Django全能型Web框架2Web.py一個(gè)小巧的Web框架3Bottle和Flask類似的Web框架4TomadoFacebook的開源異步Web框架5Flask一個(gè)使用Python編寫的輕量級(jí)Web

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論