版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章基礎(chǔ)知識2021/6/2811.0Python是一種怎樣的語言解釋型語言,偽編譯膠水語言開源跨平臺(tái)免費(fèi)、自由軟件強(qiáng)類型、動(dòng)態(tài)類型自動(dòng)內(nèi)存管理面向?qū)ο笥写罅靠捎玫膸煸黾悠渌Z言編寫并編譯的模塊即可擴(kuò)展功能2021/6/2821.1Python版本之爭2.x:一邊鄙視一邊用3.x:必然的趨勢多版本共存與切換簡便方法:更改系統(tǒng)環(huán)境變量path查看已安裝版本的方法(在所啟動(dòng)的IDLE界面也可以直接看到):>>>importsys>>>sys.version'2.7.8(default,Jun302014,16:08:48)[MSCv.150064bit(AMD64)]'>>>sys.version_infosys.version_info(major=2,minor=7,micro=8,releaselevel='final',serial=0)2021/6/2831.2安裝Python//doc///python默認(rèn)編程環(huán)境:IDLE常用快捷鍵:Alt+P、Alt+N:瀏覽歷史命令Ctrl+F6:重啟Shell,之前定義的對象全部無效F1:打開Python幫助文檔Alt+/:自動(dòng)補(bǔ)全前面曾經(jīng)出現(xiàn)過的單詞,在多個(gè)單詞中循環(huán)選擇Ctrl+[、Ctrl+]:縮進(jìn)代碼Alt+3、Alt+4:注釋、取消注釋其他可選開發(fā)環(huán)境:wxPython、Jython、2021/6/2841.3使用pip管理第三方包Python2中需要單獨(dú)安裝下載地址:/pypi/pip安裝方法:cmd==>pythonget-pip.py用法示例pipinstallNumPypiplistpipinstall--upgradeSomePackagepipuninstallSomePackagePython3安裝包中已默認(rèn)包含pip2021/6/2851.4Python基礎(chǔ)知識2021/6/2861.4.1Python的對象模型對象是python語言中最基本的概念,在python中處理的每樣?xùn)|西都是對象。python中有許多內(nèi)置對象可供編程者使用,內(nèi)置對象可直接使用,如數(shù)字、字符串、列表、del等;非內(nèi)置對象需要導(dǎo)入模塊才能使用,如正弦函數(shù)sin(x),隨機(jī)數(shù)產(chǎn)生函數(shù)random()等。2021/6/2871.4.1Python的對象模型常用內(nèi)置對象2021/6/2881.4.2python的變量和引用1.變量的創(chuàng)建x=3創(chuàng)建了變量x,不需要提前聲明變量a,b=3,5a,b=b,a2.引用在python中從變量到對象的連接稱為引用。>>>x=3變量擁有自己的存儲(chǔ)空間,變量連接到對象是該變量存儲(chǔ)了對象單元的內(nèi)存地址,并沒有存儲(chǔ)對象的值。x3變量對象引用2021/6/2891.4.2python的變量和引用3.共享引用 共享引用是指多個(gè)變量引用同一個(gè)對象。下面的語句使兩個(gè)變量都引用同一個(gè)對象3>>>a=3>>>b=a使用id函數(shù)可以查看對象的內(nèi)存地址4.垃圾回收機(jī)制對于沒有任何變量指向的值,Python自動(dòng)將其刪除。Python跟蹤所有的值,并自動(dòng)刪除不再有變量指向的值。2021/6/28101.4.2python的變量和引用5.對象類型的動(dòng)態(tài)的,強(qiáng)類型>>>a=3>>>type(a)<type'int'>>>>a='4'>>>type(a)<type'str'>>>>a={3,5}>>>type(a)<type'set'>>>>a=[1,2,3]>>>type(a)<type'list'>2021/6/28111.4.2python的變量和引用6.變量命名以字母或下劃線(有特殊含義)開頭變量名中不能有空格以及標(biāo)點(diǎn)符號(括號、引號、逗號、斜線、反斜線、冒號、句號、問號等等)不要使用關(guān)鍵字(在keyword模塊中)作變量名不要使用系統(tǒng)內(nèi)置的模塊名或函數(shù)名(可以通過dir(__builtins__)查看)作變量名大小寫敏感2021/6/28121.4.3數(shù)字?jǐn)?shù)字是python中最常用的對象,屬于不可變對象??梢员硎救我獯笮〉臄?shù)字。>>>a=99999999999999999999999999999999>>>a*a9999999999999999999999999999999800000000000000000000000000000001L>>>a**3999999999999999999999999999999970000000000000000000000000000000299999999999999999999999999999999LPython的IDEL交互界面可以當(dāng)做簡便計(jì)算器來使用。2021/6/28131.4.3數(shù)字整數(shù)十進(jìn)制整數(shù)如,0、-1、9、123十六進(jìn)制整數(shù),需要16個(gè)數(shù)字0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f來表示整數(shù),必須以0x開頭,如0x10、0xfa、0xabcdef八進(jìn)制整數(shù),只需要8個(gè)數(shù)字0、1、2、3、4、5、6、7來表示整數(shù),必須以0o開頭,如0o35、0o11二進(jìn)制整數(shù)、只需要2個(gè)數(shù)字0、1來表示整數(shù),必須以0b開頭如,0b101、0b1002021/6/28141.4.3數(shù)字浮點(diǎn)數(shù)浮點(diǎn)數(shù)又稱小數(shù),15.0、0.37、-11.2、1.2e2、314.15e-22021/6/28151.4.3數(shù)字復(fù)數(shù)Python中的復(fù)數(shù)與數(shù)學(xué)上的復(fù)數(shù)一致,由實(shí)部和虛部構(gòu)成,并且使用j或J來表示虛部。>>>a=3+4j>>>b=5+6j>>>c=a+b>>>c8+10j>>>c.real#復(fù)數(shù)的實(shí)部8.0>>>c.imag #復(fù)數(shù)的虛部10.0>>>a.conjugate()(3-4j)2021/6/28161.4.4字符串用單引號、雙引號或三引號括起來的符號系列稱為字符串單引號、雙引號、三單引號、三雙引號可以互相嵌套,用來表示復(fù)雜字符串。'abc'、'123'、'中國'、"Python"字符串屬于不可變序列
空串表示為''或""
三引號'''或"""表示的字符串可以換行,支持排版較為復(fù)雜的字符串;三引號還可以在程序中表示較長的注釋。2021/6/28171.4.4字符串1.字符串合并>>>a='abc'+'123'#生成新對象2.字符串格式化把對象按格式要求轉(zhuǎn)換為字符串。>>>a=3.6674>>>'%7.3f'%a#或者直接使用str(a)'3.667'2021/6/28181.4.4字符串3.轉(zhuǎn)義字符\n:換行符\t:制表符\r:回車\’:單引號\”:雙引號\\:一個(gè)\\ddd:3位八進(jìn)制數(shù)對應(yīng)的字符\xhh:2位十六進(jìn)制數(shù)對應(yīng)的字符字符串界定符前面加字母r表示原始字符串,其中的特殊字符不進(jìn)行轉(zhuǎn)義,但字符串的最后一個(gè)字符不能是\。2021/6/28191.4.5操作符和表達(dá)式2021/6/28201.4.6常用內(nèi)置函數(shù)內(nèi)置函數(shù)不需要導(dǎo)入任何模塊即可使用執(zhí)行下面的命令可以列出所有內(nèi)置函數(shù)>>>dir(__builtins__)2021/6/28211.4.6常用內(nèi)置函數(shù)2021/6/28221.4.6常用內(nèi)置函數(shù)2021/6/28231.4.7對象的刪除Python中刪除對象用del語句。del用來刪除一個(gè)對象,并釋放對象所占資源。del的用法演示如下:>>>a=[1,2,3]>>>dela[1]>>>a[1,3]>>>x=5>>>x5>>>delx#此后x就不存在了2021/6/28241.4.8基本輸入輸出用Python進(jìn)行程序設(shè)計(jì),輸入是通過input()函數(shù)來實(shí)現(xiàn)的,imput()的一般格式為:x=input('提示:')該函數(shù)返回輸入的對象??奢斎霐?shù)字、字符串和其它任意類型對象。2021/6/28251.4.8基本輸入輸出輸出是通過print語句來完成的,print語句的一般格式為:print對象1,對象2,...,對象n在Python3中,print是函數(shù),而不是語句。2021/6/28261.4.8基本輸入輸出在Python2.7.8之前的版本中進(jìn)行重定向輸出的用法:>>>fp=open(r'c:\mytest.txt','a+')>>>print>>fp,"Hello,world">>>fp.close()在Python3.4.2版本中進(jìn)行重定向輸出的用法:>>>fp=open(r'd:\mytest.txt','a+')>>>print('Hello,world!',file=fp)>>>fp.close()2021/6/28271.4.9模塊的使用Python默認(rèn)安裝僅包含部分基本或核心模塊,但用戶可以安裝大量的擴(kuò)展模塊,pip是管理模塊的重要工具。在Python啟動(dòng)時(shí),僅加載了很少的一部分模塊,在需要時(shí)由程序員顯式地加載(可能需要先安裝)其他模塊。減小運(yùn)行的壓力,僅加載真正需要的模塊和功能,且具有很強(qiáng)的可擴(kuò)展性。2021/6/28281.4.9模塊的使用import模塊名>>>importmath>>>math.sin(0.5)#求0.5的正弦>>>importrandom>>>x=random.random()#獲得[0,1)內(nèi)的隨機(jī)小數(shù)>>>y=random.random()>>>n=random.randint(1,100)#獲得[1,100]上的隨機(jī)整數(shù)可以使用dir函數(shù)查看任意模塊中所有的對象列表,如果調(diào)用不帶參數(shù)的dir()函數(shù),則返回當(dāng)前腳本的所有名字列表??梢允褂胔elp函數(shù)查看任意模塊或函數(shù)的使用幫助。2021/6/28291.4.9模塊的使用frommathimportsin#可以減少查詢次數(shù),提高執(zhí)行速度frommathimport*#謹(jǐn)慎使用>>>frommathimportsin>>>sin(3)0.1411200080598672>>>frommathimportsinasf#別名>>>f(3)0.1411200080598672021/6/28301.4.9模塊的使用可以使用sys.modules.items()顯示所有預(yù)加載模塊的相關(guān)信息在2.x中可以使用reload函數(shù)重新導(dǎo)入一個(gè)模塊,在3.x中,需要使用imp模塊的reload函數(shù)Python首先在當(dāng)前目錄中查找需要導(dǎo)入的模塊文件,如果沒有找到則從sys模塊的path變量所指定的目錄中查找。可以使用sys模塊的path變量查看python導(dǎo)入模塊時(shí)搜索模塊的路徑,也可以向其中append自定義的目錄以擴(kuò)展搜索路徑。在導(dǎo)入模塊時(shí),會(huì)優(yōu)先導(dǎo)入相應(yīng)的pyc文件,如果相應(yīng)的pyc文件與py文件時(shí)間不相符,則導(dǎo)入py文件并重新編譯該模塊。2021/6/28311.4.9模塊的使用ossysmathLocale:提供了C語言本地化函數(shù)的接口,并提供相關(guān)函數(shù)實(shí)現(xiàn)基于當(dāng)前l(fā)ocale設(shè)置的數(shù)字與字符串轉(zhuǎn)換randomstructpickle:序列化datetimetimewmi:需安裝tkinter:GUI開發(fā)urllib/urllib2:網(wǎng)頁編程Pygame:游戲開發(fā)tkinter、wxPython:GUI編程SciPy:科學(xué)計(jì)算PIL:圖像處理fabric:遠(yuǎn)程操作與部署,/en/1.10/capstone:反匯編框架ropper:ROP相關(guān)框架IDAPython:IDA插件,/p/idapython/Yara:惡意軟件識別與分類引擎2021/6/28321.5Python代碼規(guī)范(1)縮進(jìn)類定義、函數(shù)定義、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),行尾的冒號表示縮進(jìn)的開始python程序是依靠代碼塊的縮進(jìn)來體現(xiàn)代碼之間的邏輯關(guān)系的,縮進(jìn)結(jié)束就表示一個(gè)代碼塊結(jié)束了。同一個(gè)級別的代碼塊的縮進(jìn)量必須相同。一般而言,以4個(gè)空格為基本縮進(jìn)單位,可以通過下面的方法進(jìn)行代碼塊的縮進(jìn)和反縮進(jìn):FortmatIndentRegion/DedentRegion2021/6/28331.5Python代碼規(guī)范(2)注釋一個(gè)好的、可讀性強(qiáng)的程序一般包含30%以上的注釋。常用的注釋方式主要有兩種:以#開始,表示本行#之后的內(nèi)容為注釋包含在一對三引號'''...'''或"""..."""之間且不屬于任何語句的內(nèi)容將被解釋器認(rèn)為是注釋在IDLE開發(fā)環(huán)境中,可以通過下面的操作快速注釋/解除注釋大段內(nèi)容:FormatCommentOutRegion/UncommentRegion2021/6/28341.5Python代碼規(guī)范(3)每個(gè)import只導(dǎo)入一個(gè)模塊(4)如果一行語句太長,可以在行尾加上\來換行分成多行,但是更建議使用括號來包含多行內(nèi)容。(5)必要的空格與空行運(yùn)算符兩側(cè)、函數(shù)參數(shù)之間、逗號兩側(cè)建議使用空格分開。不同功能的代碼塊之間、不同的函數(shù)定義之間建議增加一個(gè)空行以增加可讀性。(6)適當(dāng)使用異常處理結(jié)構(gòu)進(jìn)行容錯(cuò),后面將詳細(xì)講解。(7)軟件應(yīng)具有較強(qiáng)的可測試性,測試與開發(fā)齊頭并進(jìn),后面將詳細(xì)講解。2021/6/28351.6Python文件名.py:Python源文件.pyc:Python字節(jié)碼文件。對于Python模塊,第一次被導(dǎo)入時(shí)將被編譯成字節(jié)碼的形式,以提高腳本的啟動(dòng)速度。對于非模塊文件,直接執(zhí)行時(shí)并不生成pyc文件,可以使用py_compile模塊的compile函數(shù)進(jìn)行編譯。.pyo:優(yōu)化的Python字節(jié)碼文件??梢允褂谩眕ython–Ofile.py”或”python–OOfile.py”進(jìn)行優(yōu)化編譯。2021/6/28361.7Python程序的運(yùn)行方式每個(gè)Python腳本在運(yùn)行時(shí)都有一個(gè)__name__屬性。如果腳本作為模塊被導(dǎo)入,則其__name__屬性被設(shè)置為模塊名;如果腳本獨(dú)立運(yùn)行,則其__name__屬性被設(shè)置為__main__。2021/6/28371.8編寫自己的包與模塊包可以看做處于同一目錄中的模塊。在包的每個(gè)目錄中都必須包含一個(gè)__init__.py文件,該文件可以是一個(gè)空文件,僅用于表示該目錄是一個(gè)包。__init__.py文件的主要用途是設(shè)置__all__變量以及所包含的包初始化所需的代碼。其中__all__變量中定義的對象可以在使用from…import*時(shí)全部正確導(dǎo)入。2021/6/28381.9Python快速入門問題1:用戶輸入一個(gè)三位自然數(shù),計(jì)算并輸出其佰位、十位和個(gè)位上的數(shù)字。x=input('請輸入一個(gè)三位數(shù):')a=x//100b=x//10%10#或b=x%100//10c=x-100*a-10*b#或c=x%10printa,b,c2021/6/28391.9Python快速入門問題2:已知三角形的兩邊長及其夾角,求第三邊長。importmathx=input('輸入兩邊及夾角(度):')a,b,sita=xc=math.sqrt(a**2+b**2-2*a*b*math.cos(sita*math.pi/180))print'c=',c2021/6/28401.9Python快速入門上面的代碼也可以寫成這樣,雖然減少了需要輸入的代碼,但一般不建議這樣做:frommathimport*x=input('輸入兩邊及夾角(度):')a,b,sita=xc=sqrt(a**2+b**2-2*a*b*cos(sita*pi/180))print'c=',c2021/6/28411.9Python快速入門這樣就可以了:frommathimportsqrtx=input('輸入兩邊及夾角(度):')a,b,sita=xc=sqrt(a**2+b**2-2*a*b*cos(sita*pi/180))print'c=',c2021/6/28421.9Python快速入門問題3:任意輸入三個(gè)英文單詞,按字典順序輸出。s
=
input('x,y,z=')x,
y,z
=
s.split(',')ifx
>
y:
x,y
=
y,xifx
>
z:x,z
=
z,xify
>
z:y,z
=
z,yprint(x,y,z)2021/6/28431.10TheZenofPythonBeautiful
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)藥產(chǎn)品綠色認(rèn)證與生態(tài)標(biāo)識合同3篇
- 二零二五年度全新小賣部租賃與市場調(diào)研合同3篇
- 二零二五年度建筑拆除項(xiàng)目環(huán)保外包服務(wù)合同
- 二零二五年度智能倉儲(chǔ)物流系統(tǒng)運(yùn)維服務(wù)合同范本
- 二零二五年度南京商住兩用樓買賣合同終止及租金退還協(xié)議書
- 企業(yè)創(chuàng)新成本控制模式
- 2025年度棉花運(yùn)輸與智能物流設(shè)備租賃合同范本4篇
- 2025年度鋼材采購環(huán)保補(bǔ)貼申請合同2篇
- 二零二五年外貿(mào)公司員工勞動(dòng)合同范本含社會(huì)保險(xiǎn)繳納
- 二零二五年度新材料研發(fā)項(xiàng)目投資合作居間協(xié)議合同范本
- JB-T 8532-2023 脈沖噴吹類袋式除塵器
- 深圳小學(xué)英語單詞表(中英文)
- 護(hù)理質(zhì)量反饋內(nèi)容
- 山東省濟(jì)寧市2023年中考數(shù)學(xué)試題(附真題答案)
- 抖音搜索用戶分析報(bào)告
- 板帶生產(chǎn)工藝熱連軋帶鋼生產(chǎn)
- 鉆孔灌注樁技術(shù)規(guī)范
- 2023-2024學(xué)年北師大版必修二unit 5 humans and nature lesson 3 Race to the pole 教學(xué)設(shè)計(jì)
- 供貨進(jìn)度計(jì)劃
- 國際尿失禁咨詢委員會(huì)尿失禁問卷表
- 彌漫大B細(xì)胞淋巴瘤護(hù)理查房
評論
0/150
提交評論