資源描述:
《python簡介入門全》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Python簡介WhyPython?▲簡單易學(xué),與matlab類似▲跨平臺▲開源,完全免費▲可利用的擴(kuò)展庫豐富▲f2py:將fortran代碼轉(zhuǎn)化為擴(kuò)展庫如何使用▲交互式:與matlab一樣,▲寫好代碼(命名為name.py)然后在python的終端中importname▲寫好代碼命令行形式運行:pythontest.py(推薦使用Enthought公司發(fā)行的版本,集成了大量的科學(xué)計算擴(kuò)展庫,包括numpy,scipy,matplotlib)https://www.enthought.com/變量類型▲常用:整數(shù),浮點,邏輯,字符串a(chǎn),b,c=1,2,3ad,bc=bc,ad▲特有:
2、列表(list)、字典(dictionary)、元表列表列表是用[]表示的,列表具有可嵌套性列表舉例:name=["Cleese","John"]x=[[1,2,3],[y,z],[[1,2],[3,4]]]訪問列表方式meal=['egg','apple','milk','tofu','bacon']▲指針(indexing):printmeal[1]#該語句將顯示'apple'meal[0]='egger'#將第一個元素替換成‘egger’Note:在python中,第一個元素的指針為0,第二個為1,以此類推,這與C語言是一樣的;同時,指針也可以用負(fù)數(shù)。meal[-1]就代表倒數(shù)
3、第一個元素'bacon',以此類推訪問列表方式meal=['egg','apple','milk','tofu','bacon']▲切片(slicing):(用指針截取某一段列表)printmeal[1:3]#該句將顯示applemilkNote:為什么不顯示tofu?因為在python切片截取列表的方法中,表示結(jié)尾的指針是不被包括在截取的切片當(dāng)中的?。?!meal=['egg','apple','milk','tofu','bacon']meal[:3](即為[egg','apple','milk'])截取從開始到第三個元素meal[3:](即為['tofu','bacon'])截取
4、從第四個元素到結(jié)尾meal[:]截取全部元素meal[0:4:2](即為['egg','milk'])從開始到第四個元素,隔2取一次字典▲字典用{}表示,它與列表非常類似▲字典結(jié)構(gòu):person={'firstname':"Robin",'lastname':"Hood",'occupation':"Scoundrel"}'firstname'稱為‘鍵’(key)鍵的冒號后邊的為鍵值,這里"Robin"即為鍵值▲字典訪問:printperson['firstname']#顯示Robin控制語句if語句:x=10ifx<5or105、x+100else:print"Thevalueisbad"print"thisisanotherpart"Note:▲語句前不能隨便打空格或者tab,因為在python中縮進(jìn)也是語法的一部分?!粋€程序塊縮進(jìn)的距離是一樣的?!s進(jìn)的結(jié)束就代表程序塊的結(jié)束for循環(huán)foriin[1,2,3,4,5]:print"Thisisiterationnumber",i循環(huán)變量i的范圍是由一個列表來控制的內(nèi)置函數(shù)range能生成規(guī)則的等差函數(shù),range(7)會生成列表[0,1,2,3,4,5,6]while循環(huán)x=10whilex>=0:print"xisstillnotnegative.
6、"x=x-1自定義函數(shù)python允許自定義函數(shù)defsquare(x):#def后面為函數(shù)名,括號內(nèi)為參數(shù)returnx*x#若函數(shù)有返回值,則要使用returnprintsquare(2)#調(diào)用函數(shù)方式為函數(shù)名(參數(shù))numpynumpy:數(shù)組針對數(shù)組的函數(shù)矩陣運算功能與matlab一樣強(qiáng)大數(shù)組基本▲創(chuàng)建數(shù)組importnumpyasnpa=np.array([1,2,3,4,5,6])b=np.zeros((2,3))c=np.ones((3,3))d=np.arange(0,30,3)a=np.array([1,2,3],[4,5,8])b=np.array([3,2,1],
7、[5,4,8])a+b,a/b,a*b表示對應(yīng)元素的數(shù)組運算,而不是矩陣運算矩陣運算a=np.array([1,2,3],[4,5,8])a.T#表示a的轉(zhuǎn)置a[a>3]=np.nan#替換值np.inner(a,a.T)#計算a與a的轉(zhuǎn)置的內(nèi)積np.flipud(a),np.fliplr(a)(numpy與matlab對比可以訪問http://mathesaurus.sourceforge.net/matlab-numpy.html)謝謝!