![Python培訓(xùn)課件Python基本語法與編程_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/1f92b26e-fa39-4471-ab0c-4ba7263f48e0/1f92b26e-fa39-4471-ab0c-4ba7263f48e01.gif)
![Python培訓(xùn)課件Python基本語法與編程_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/1f92b26e-fa39-4471-ab0c-4ba7263f48e0/1f92b26e-fa39-4471-ab0c-4ba7263f48e02.gif)
![Python培訓(xùn)課件Python基本語法與編程_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/1f92b26e-fa39-4471-ab0c-4ba7263f48e0/1f92b26e-fa39-4471-ab0c-4ba7263f48e03.gif)
![Python培訓(xùn)課件Python基本語法與編程_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/1f92b26e-fa39-4471-ab0c-4ba7263f48e0/1f92b26e-fa39-4471-ab0c-4ba7263f48e04.gif)
![Python培訓(xùn)課件Python基本語法與編程_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/1f92b26e-fa39-4471-ab0c-4ba7263f48e0/1f92b26e-fa39-4471-ab0c-4ba7263f48e05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Python 培訓(xùn)課件 Python 基本語法與編程Python培訓(xùn)Python基本語法和編程目標(biāo)使用 Python基本章 節(jié)生命周期簡介Python 簡介 Python 開源、 分析型面向?qū)ο缶幊陶Z言。Python 使用優(yōu)雅的語法可讀性, Python 支持面向?qū)ο蟮木幊碳夹g(shù),如類和多層繼承。Python 可以在各種計算機平臺和操作系統(tǒng)上運行,如UnixWindowsMacOS 等。 python 是使用 Python 安裝的。請參考:http:pile () eval(字符串、全局、區(qū)域)函數(shù)將字符串字符串作為有效的 Python 表達(dá)式進(jìn)行計算,并返回計算結(jié)果。同樣,exec語句使用字符
2、串str作為有效的Python代碼,在 與exec語句相同的命名空間中執(zhí)行提供給exec的代碼。最后,execfile(filename, globals, locales)函數(shù)可用于執(zhí)行文件。請參見以下示 例:eval(#)exec # a = lsquoaexecfile(r # c:testpy 懶好, world! Eval(), exec, execfile()命名空間默認(rèn)eval(), exec, execfile()運行當(dāng)前命名空 間中的代碼。Eval()、exec和execfile()函數(shù)也可以接受一個或兩個可選的 字典參數(shù)作為全局命名空間和本地命名空間演示:globals =
3、 # x #: , #y #: , # birds #: # parrot #,燕子#,信天翁 # locales = # 使用上述字典作為全 局和本地命名 空 間 a = eval (* x * y , globals, locales)execfforbinbirds:printbinglobals , locales 注 意 語 法 execfile(foopy, globals, Locals)exec是個語句(如 print 或 while), 雖 然eval()和execfile()是內(nèi)置函數(shù),但編譯器(str、filename、kind)函數(shù)文件名是compile。將字符串編譯成
4、字節(jié)碼,str是要編譯的字符串定義字符串變量的文件類型參數(shù)。它指定編譯的代碼類型。 #single#指的是單個語句,#exec#f的是多個語句,#eva的旨的是返回代碼對 象的表達(dá)式,該代碼對象也可以傳遞給eval()函數(shù)和exec語句來執(zhí)行 預(yù)編譯 。 遞歸 Python 限制 了 對遞歸 函數(shù) 的調(diào)用 次數(shù) 。 函數(shù) sysgetrecursionlimit() 返 回 當(dāng) 前 允 許 的 最 大 遞 歸 數(shù) , 而 函 數(shù) syssetrecursionlimit()可以將函數(shù)返回的默認(rèn)最大遞歸數(shù)更改為當(dāng)函數(shù)的遞歸數(shù)超過最大遞歸數(shù)時。Python模塊會導(dǎo)致RuntimeError異常:一
5、個復(fù)雜的程序可以根據(jù)功能分別存儲在不同的文件中, 使程序更容易維護(hù)和管理。python中的模塊是以Py結(jié)尾的Python代碼文件。通過導(dǎo)入命令輸入,如:importsys(類似于c中的include語句 )。 import 語句執(zhí)行三個步驟:創(chuàng)建一個新的命名空間,在該命名空間中, 來自輸入模塊中定義的所有對象執(zhí)行模塊的代碼為該命名空間創(chuàng)建一個變量名。使 用 python 模 塊 導(dǎo) 入 : 導(dǎo) 入ftplibasftpfrompftplibimportftppython 腳本和模塊Python 腳本和模塊都是以 py 結(jié)尾的文件。程序如何判斷一個拷貝文件是腳本還是模塊?該鍵是一個名為 name
6、 的變量,如果它的值是main 或作為模塊,它將直接作為腳本運行。如果名稱 =main:main()Python 包, 我們可以將幾個具有類似功能的模塊放入一個Python 包中,并將其存儲在一個目錄結(jié)構(gòu)中,通過輸入包的路徑來調(diào)用對象。例如:WebDesigninitpydesignpydrawpy,其中 initpy 是包初始 化文件,可以為空,但必須為空。設(shè)計模塊可以通過以下方式引 用 :importWebDesigndesignPython 類簡單示例 #! Usrbinpython # *編 碼:classtest:碇義了一個測試類desc=®是一個測試類。#在類中定義屬性描
7、述定義(self, name): #對象構(gòu)造函數(shù)初始化類 selfname = namedefshow (self name):碇義個方法 show()print hellowordprint # name:#, selfname print # name: # , Name 調(diào)用 obj=test(lsquo,它是傳遞給Name的值)#以生成測試類的實例對象printobjdesc#。調(diào)用類#中的desc屬性。切5卜。亞(#是值#)調(diào)用面向?qū)ο?編 程 ( 基 于 對 象 ) 類 foo: define (self , a , B):self = aselfb = bdefshowa(sel
8、f):printselfadefshowb(self):printself binit 函數(shù) :每次生成類 時執(zhí)行, self 指向類對象本身。記住, 一個類函數(shù)(或方法)的第一個參數(shù)不能忘記寫foobj =foo(I # ma , I # MB)foobjshowa()foobjb = hello world ! Fooobjshowb() 命名約定類有大寫首字母。函數(shù)和變量如 T 或 C 不應(yīng)該盡可能以小寫開頭, 這沒有什么特別的原因。 字間下劃線python 命名約定 (約定 ):在類中以單個下劃線開頭的成員變量稱為受保護(hù)變量, 這意味著只有類對象和子類對象自己可以訪問這些變量, 而雙下
9、劃線以私有成員開始, 這意味著只有類對象可以訪問這些數(shù)據(jù), 甚至子類對象也不能訪問這些數(shù)據(jù)。使用私有成員的一個例子是class food:define(self):self =none # none 是 nothing defseta (self , a):self = adefgeta(self):printselfafoolobj = food()print uprobja # hum, 等待并報告錯誤。只有 foo 可以看到 afoobjecta(我#馬)PrintFoolobjGeta(八圭卜 Java): 保護(hù)對象的成員,程序員似乎已經(jīng)形成了一種習(xí)慣。隱藏 python 真正隱藏實現(xiàn)
10、的方法是通過直接操作成員變量(用等號替換函數(shù))來重新定義等號運算符。真正漂亮的、自由伸縮的程序敢于揭示它們的實現(xiàn)細(xì)節(jié)。 輕量級方法通常很聰明, 但并不復(fù)雜。繼承classbar (food): define (self, a, B , c, d): food init (self ,a ,B)# 調(diào) 用 父 類 初 始 化 selfc = cselfd =ddefshowc(self):printselfcdefshowd(self):PrintSelfDfooObjShowa()foobj showb()foobjshowd() 多重繼承 classMBar(Foo, Foo, Foo, )
11、 ,繼承是 讓新的類、子類獲取父類(即Foo)的成員和函數(shù)。然而, 最好不要忘記子類也需要一個init 函數(shù)來創(chuàng)建成員 a、b、c、d,或者直接調(diào)用父類的init函數(shù)來完成這個任務(wù),我們通常 這樣做。簡單網(wǎng)絡(luò)通信和即時消息網(wǎng)絡(luò)編程。它也可能是一個即時通訊工具,但這一次的程序非常簡單,只能說是一個網(wǎng)絡(luò)對講機。fromssimplexmlrpcserverimportsimplexmlrpcserverdeffoo():returnhellow world!服務(wù)器使用IE訪問http:localherserver:看看我們得到的是一個錯誤頁面。是的, 這意味著我們的服務(wù)器工作正常,但訪問方法是錯
12、誤的。 來自 FromxmlrpclibimportServerProxyServer 服務(wù)器=服務(wù)器代理(http: localhost:) PrintServerFoo()服務(wù)器的客戶端程序返回了 Helloworld ! 。Localhost 指本地計算機,是一個端口。我們通常指定一個 大于。 本地主機通常由域名 (機器名)或 IP 代替,端口號是任意的。接下來,是時候傳播一些東西了。 例如,向服務(wù)器發(fā)送一個句子并顯示它。 服務(wù)器程序FromSimplexmlrpcserveramportsimplexmlrpcservedmsg:printsreturntrue server=Simp
13、lexmlrpcserver(localhost , )ServerRegisterFunction(MSG)ServerF orver()相應(yīng)的客戶端程序:FromXMlRPcliBimportServerProxy server = ServerProxy(HTTP:localhost:)WhereTrue:MSG=Rainput()ServerMSG(MSG)一個笑話,一個即時消息工具已經(jīng)編寫完 成。 兩臺機器知道彼此的 IP 或機器名稱,并協(xié)商端口號。 然后打開一個服務(wù)器、并將客戶端指向另一個服務(wù)器。 那么如何將客戶機和服務(wù)器合并在一起呢?因為程序在調(diào)用serveforever()后就
14、停止了,它不能再接收用戶的輸入。ImportThreadFromSampleExmrpcServerSimpleXmlRpcServerFromXM LRPcLimportServerProxydFMsg(S):PrintsReturTrueDefRuseServer():my server = SimpleXmlPerpcServer(localhost , )my server register function(msg)myserverserverserverserverforever()defrunclient():yourserver = ServerProxy(http:local
15、host:) 而 etrue:msg = raw input()yourservermsg(msg)Threadstart new thread(run server , ()runclient() 第 二 個 類 似 只 交 換 地 址:ImportThreadFromSampleExmrPCServerSimpleXmlReportServerProxy從FromXmlRPClimportServerProxyDefmsg 代理服務(wù)器():my server =SimpleXmlRepcServer(localhost, )my server register function(msg)m
16、y server server server serverforever()defrunclient():yourserver = ServerProxy(http:localhost:)Wheretre:msg=rawinput()yourservermsg(msg)Threadstart new thread(run server , ()runclient() 因此, 首先畫出表格。 fromtkingImport * wnd = tk()wnd lab = label(wnd , text=)wnden = entry(wnd)wnd BTN = button(wnd , text =
17、 send)wnd labpack()wnd pack(side = left)wnd tbn pack(side = left)并添力口岡1J才的網(wǎng) 絡(luò)部分。ImportThreadFromSampleXMLRPCSERVERSimpleXMLRPCSERVER FromXMLRPCLimportServerProxy #第一內(nèi)部通信我的服務(wù)器= SimpleXmlrpcserver (localhost , )您的服務(wù)器=服務(wù)器代理 (http: localhost:) #第二內(nèi)部通信(需要交換地址)# My Server= simpleXMLRPCSSERVER(localhost , )#您的服務(wù)器=服務(wù)器代理(http:localhost:)defmsg(s):wndlabconfig(text=s)returnTrueDefRunServer():My Server register function(msg)My Server rserverse這里兩個終端的地址在程序中被寫死了。此外,當(dāng)前程序只能顯示最近收到的一條消息。使用 TKIT 中的輸入框要求用戶輸入目標(biāo)機器的地址和端口。使用 Tkinter 中的編輯框組件顯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合作伙伴入住合同范本
- 2025年勞動合同和社保協(xié)議中工傷保險的細(xì)節(jié)
- 2025年辦公文具用品供貨合同范文
- 2025年基礎(chǔ)設(shè)施建設(shè)監(jiān)理框架協(xié)議
- 2025年養(yǎng)殖戶種牛交易申請協(xié)議范本
- 2025年采購合同簽訂與風(fēng)險控制
- 2025年企業(yè)結(jié)構(gòu)重組協(xié)議書模板
- 2025年住宿生校園安全責(zé)任協(xié)議
- 2025年企業(yè)兼職外貿(mào)業(yè)務(wù)員招聘協(xié)議
- 2025年專利申請輔導(dǎo)合作協(xié)議
- 法律職業(yè)倫理(第二版)完整版教學(xué)課件全書電子講義(最新)
- ESD測試作業(yè)指導(dǎo)書-防靜電手環(huán)
- 船模制作教程(課堂PPT)課件(PPT 85頁)
- 高一(4)班分科后第一次班會課件ppt課件(PPT 29頁)
- 春季開學(xué)安全第一課PPT、中小學(xué)開學(xué)第一課教育培訓(xùn)主題班會PPT模板
- JJG30-2012通用卡尺檢定規(guī)程
- 部編版人教版二年級上冊語文教材分析
- APR版制作流程
- 《C++程序設(shè)計》完整教案
- 美國LM2500艦用燃?xì)廨啓C
- 《公共政策分析》課件.ppt
評論
0/150
提交評論