Python 程序設計快速入門教學_第1頁
Python 程序設計快速入門教學_第2頁
Python 程序設計快速入門教學_第3頁
Python 程序設計快速入門教學_第4頁
Python 程序設計快速入門教學_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Python 程序設計快速入門教學Python 的中文意思是巨蟒,大蟒蛇。· 快速 Python 語言入門教學,課程,課件,教材,自學,概念o 計算機編程主要概念§ 基本編程§ 定義函數(shù)§ 循環(huán) (loop)o Python 數(shù)據(jù)概念§ 列表 (list)§ 元組 (tuple)§ 字典 (dict)§ 集合 (set)§ 模塊 (module)§ 類 (class)§ 字符串的對象性質o Python 程序員編程習慣o 參考資料計算機編程主要概念#計算機語言編程的主要內容就這些:數(shù)字

2、,文字,循環(huán),公式,變量· 數(shù)字: 1, 2, 3, 5.6, 120, 32.4, 3.1415926, -3, -0.123· 文字: 你好,我好,你太牛了,很黃很暴力,這類的文字。一般用雙引號(“)或者單引號()括起來。術語叫字符串 ,就是一堆字符,串起來。· 循環(huán): 循環(huán)(loop)就是重復的做一件事。計算機是一個很笨的機器,基本上只會做加,減,乘,除,大于,小于,等于和循環(huán)這種簡單的工作。編程就是把復雜的問題,拆成簡單的單元讓它重復。幸虧有下面講到的公式,所以很多較復雜的問題已經(jīng)有了解決方法,我們只是重復的套用別人的解決公式就可以了,不用拆得太

3、細。Python 語言最大的優(yōu)勢,就是這個語言中包含了大量解決常見問題的公式,你想干的事,基本上都有人幫你干了,你只是需要把他們組織,捆綁起來就可以了。比如下載文件的公式,分析網(wǎng)頁內容的公式,壓縮文件的公式,處理電子郵件的公式等等。· 公式: 就像數(shù)學公式 (a+b)2= a2 + 2ab + b2 這種。算的時候帶入具體數(shù)值,比如:(3+4)2 = 32 + 2*3*4 + 42 = 9+24+16 = 49 。前面的 (a+b)2 就是我們的公式名(當然編程時,我們會用一些比較容易明白的詞組做為公式名,比如“和的平方”這

4、種,英語或者拼音都可以),他需要兩個參數(shù)a,b;后面的 a2 + 2ab + b2 是具體怎么算出來的步驟,這就是我們的公式內容。在計算機里,公式的術語叫“函數(shù)”或者“方法”。我們定義一個函數(shù),就是定義一條公式,用的時候,拿來參數(shù)a,b什么的,套一下公式就行了。為了程序的結構清晰,我們往往會定義很多函數(shù)。把復雜的問題分成很多小問題,每個小問題放到一個函數(shù)里,然后在解決復雜問題的函數(shù)里,使用這些小問題函數(shù)解決大問題。更重要的是我們可以大量的使用別人寫好的函數(shù)來解決自己的問題。函數(shù)的作用是讓程序結構清晰,而且可以在不同的地方重復套用。· 變量: 就是上面的a,b這種可

5、以代表任何值,可以放進不定值的單詞,變量,變量,它代表的量可能會改變。我們用變量來存儲我們程序中用到的各種數(shù)字,文字,公式。所謂參數(shù),就是定義公式時候用到的變量,就叫參數(shù),換個馬甲而已。換成術語,我們有:數(shù)字 (number)=>數(shù)字字符串 (string)=>文字循環(huán) (loop)=>循環(huán)函數(shù)方法 (function/method)=>公式變量 (variable)=>變量到這里,基本上編程就沒什么可學得了。剩下的就是掌握各種編程語言特定的函數(shù)和循環(huán)的書寫格式,再掌握了別人已經(jīng)寫好的函數(shù)的用法,組合起來就得了。基本編程#最基本的Python程序:print (&

6、quot;世界,你好!")存到文件 hello.py 里,然后命令行下輸入 python hello.py 就可以看到結果了。這里就用到了函數(shù)和字符串,在屏幕上輸出一行:世界,你好!Python 里函數(shù)的用法是:函數(shù)名(參數(shù)1, 參數(shù)2)這里 print 是函數(shù);在屏幕上打印內容,”世界,你好!”是參數(shù),套 print 這個公式用的。學會怎么用函數(shù)了,再學會定義函數(shù)的格式,就差不多了。Python 里注釋符號是”#”。就是說,在 # 符號后的那一行文字,都當做解釋,不做為程序的命令。print ("打醬油!") # print (&q

7、uot;關我屁事")只打印出 “打醬油”,剩下的,因為是在 # 后面,所以程序把他們當做注釋語言自動忽略了。定義函數(shù)#def a_b_pingfang(a, b): c = a*2 + 2*a*b + b*2 return c我們定義一個(a+b)2的函數(shù),def 是英語 define 的縮寫,意思是定義函數(shù),定義公式。第 1 行就是說我們要定義一個函數(shù)名叫 a_b_pingfang 的函數(shù),用它的時候,需要兩個參 數(shù) a 和 b。尾巴上有個冒號,冒號的意思是說:“下面的一段話就是公式定義了,要注意了”。計算機編程里,* 代表乘法,/代表除法,* 代表乘方,

8、60;b*2 就是 b 的二次方。注意: Python 是用 縮進空格 來表示段落的,冒號(:)來表示段落開始。第 2 行先縮進4個空格,說明下面縮進4格的,都是同一段落,用來具體計算上面定義的公式的。把 a2+2*a*b+b2 的計算結果,放到c里。c類似于a,b,都是表示一個變量,它可以用來存放數(shù)字,文字,甚至函數(shù)。這里它存放的是用a,b計算后得到的結果。因為不是在函數(shù)名里,所以術語叫做“變量”,用在函數(shù)名里,就叫參數(shù)了?!白兞俊本褪怯靡粋€單詞來代表一個可以變化的量的。單詞里可以有字母,數(shù)字和下加線(_),數(shù)字不能打頭。第 3 行,把存在c里的結果,

9、傳回給函數(shù)的使用者。return 命令的意思,就是立即結束函數(shù)的執(zhí)行,把return后面的值傳給調用者,可以傳回多個值?,F(xiàn)在可以使用這個公式了,我們把套公式叫調用函數(shù) :ping2 = a_b_pingfang(2, 3)ping2 里存放了 a_b_pingfang(2, 3)得到的結果,也就是上面 return c 這句,把 c 的內容,傳給了外面的ping2。把結果打印出來:print(ping2)全部程序就是:def a_b_pingfang(a, b): c = a*2 + 2*a*b + b*2 return cping2 = a_b_pingfang

10、(2, 3)print(ping2)存到 test2.py ,跑 Python test2.py 就可以看到輸出 25。循環(huán) (loop)#當然還有循環(huán),怎么讓程序重復的做事?我們有 while(當), for(對于) 命令來進行循環(huán)控制。a = 0while a < 100: a = a + 1 print a這個循環(huán)說,當 a < 100 的時候,把 a 增加 1,再把它打印出來,然后重復。當 a 等于100了,條件不符合了,就結束了。我們有 <, >, =, <=, >=, != 來判斷大于,小于,等于,小于等于,大于等于,不等于。還有 an

11、d(并且), or(或者), not(不是) 來進行邏輯運算,所謂邏輯運算,就是測試多個不同判斷之間的關系的:(a = 1) and (b != 2) 來測試這兩個判斷是否同時成立:a 等于 1 并且 b 不等于 2。 (a = 1) or (b != 2) 來測試這兩個判斷里是否有至少一個成立:a 等于 1 或者 b 不等于 2。 not a = 1 來測試這個判斷是否是錯的。錯的就是對的,對的就是錯的,顛倒黑白:不是 a 等于 1,那就是 a 不等于 1 了,好像有點脫褲子放屁。其實在別的更復雜的判斷組合里更有用些。我們

12、還有 break(中斷) 來打斷循環(huán),和 continue(繼續(xù)) 來立刻回到循環(huán)開始,也可以用 if(如果) 命令來進行判斷:a = 0while True: a = a + 1 if a >= 100: break print a這里 True(正確) 表示永遠正確,相對的是 False(錯誤) 表示永遠錯誤。這一段是說一直執(zhí)行,因為 while 的條件總是正確,就是說“當符合總是正確的條件的時候,不斷重復”,當然是永遠正確,永遠重復了。下面在 if 處判斷如果a大于等于100,如果是,那么執(zhí)行 if 下的段落,這里我們打斷了循環(huán)。如果條件不符,就跳過 if 下面的小段落,該干嘛干嘛

13、,具體到這里就是打印 a 然后繼續(xù)執(zhí)行循環(huán)。for 循環(huán)是利用下面介紹的的列表數(shù)據(jù)結構對列表進行循環(huán)。Python 數(shù)據(jù)概念#下面具體說到Python特異功能,它有幾個特殊的存儲數(shù)據(jù)的格式。· 列表: list· 元組: tuple· 字典: dict (dictionary)· 集合: set列表 (list)#列表:把很多變量存進一個列表里,叫列的意思,就因為他像列車一樣,一節(jié)一節(jié)車廂,每廂放一個變量。格式為 b, c, 1, 3, 5, 葡萄, 葡萄皮兒,可以看到,方括號里,可以放具體的數(shù)字,文字,也可以放變量,用逗號分隔。這些內容是在固定位置上,

14、可以通過他們的位置,來提?。篴list = 1, 3, 5, '很傻', '葡萄', '葡萄皮兒', a, var1print (alist0) # 打印 1print (alist3) # 打印 "很傻"在 Python里,次序是從0開始數(shù)的,開始是0,然后是1,2,3,4,5,所以上面的列表 alist的第一個內容,可以用alist0來提取,第二個用alist1來提取。就像年齡一樣,一生下來是零歲,一年以后才是一歲,不是中國傳統(tǒng)那樣,生下來就一歲,那是虛歲。蟒蛇語言它只認準確的東西,不玩兒虛的。print (alist4)

15、 # 打印 '葡萄'這里,我們可以介紹用 for 循環(huán)來訪問這個列表里的所有內容:for me in alist: print (me)上面這一段,打印所有alist里的內容。這個循環(huán)是,對于列表 alist ,從 0 位置開始,訪問它的每一個位置,把這個位置上的值, 放到 me 里,然后針對不同的 me 值,重復執(zhí)行下面段落的內容。in 表示 me 在 alist 里,也可以用來判斷: if "葡萄" in alist: print "葡萄在alist里!"列表的內容是可以改變的,我們可以把第4個位置設為”很天真”:alist

16、3 = alist3 + ' 很天真'print (alist3) # 打印 '很傻 很天真'下面說道的元組的內容就不能改變了。元組 (tuple)#元組:元組就是列表,但是他的內容是不能改變的,用圓括號()來表示。 他的內容只能一開始就設定。但是,元組和列表之間是可以用函數(shù)互相轉變的,轉成列表就可以改變內容,轉回元組就不能改了。元組是用圓括號來表示,所以叫元組嘛。atuple = (2, 3, "老子")alist = list(atuple) # 變成 2, 3, "老子"alist0 = 0tuple2 = tupl

17、e(alist) # 變回 (0, 3, "老子")在 Python 里,字符串也是一種特殊的元組,也就是內容不可變的字符列表。txt = 'abcdefg'print(txt1) # 打印 b字典 (dict)#字典:字典就像一般的字典,一個字,一個解釋,再一個字,再一個解釋。用大括號表示:adict = 1: "我是解釋", 2: "我是解釋2", "我是3": 3, "我是4": 4 前面的字叫鑰匙(key)或者索引,后面的解釋,叫”值”。索引不能重復,必須是唯一的。我們可

18、以看到,前面的字,和后面的解釋可以是數(shù)字,文字,還可以是函數(shù)或者元組。但是前面的字,不能是列表,因為列表內容是可變的,可變的東西都不能做索引。我們用索引來提取,設定或者增加值,而不是用位置:adict1 # "我是解釋"adict"我是3" # 3adict1 = 2 # 設定新的值adict"新索引" = "沒頭腦和不高興" # 增加一個新索引和值集合 (set)#集合: 集合就是數(shù)學上用的集合,把一堆東西放到一起,類似列表,不同的地方是內容不重復,而且也沒有次序。aset = set(1, 2, 3, 2, 4

19、, 6) # 去掉重復內容,所以是 1,2,3,4,6可以看出,建立一個集合的方式,是使用set()函數(shù),函數(shù)的參數(shù)可以是列表,或者元祖,反正是一串兒的都可以。集合的用處是利用他內容不可重復的特性,來去掉重復的內容。至于其他的合集,交集也是這個特性的延伸。集合也是可以變成列表的,利用 list() 函數(shù)。alist = list(aset) # 內容 1,2,3,4,6模塊 (module)#Python 里包涵了很多別人寫好的函數(shù)、方法讓我們直接利用。譬如寫網(wǎng)絡程序的函數(shù),數(shù) 學計算的函數(shù),分析電郵文件的函數(shù),加密的函數(shù)。我們要做的就是套公式!這些函數(shù)分門別類的放到叫“模塊”的東西里。一個模

20、塊里,包括很多功能相類的函數(shù)。而具體實現(xiàn)上,一個模塊,就是一個Python的程序文件。如果模塊還需要細分更多層,那么每層就是一個文件目錄。里面有很多做為模塊的Python文件。要使用模塊,我們用“進口”這個命令: importimport timenow = time.clock()print (now)這里,我們先進口 time 模塊,然后使用 time 模塊里的函數(shù) clock() ,得到當前時間,打印出來。用個英文句點表示模塊 time里的clock函數(shù): 模塊名.函數(shù)名在 Python 里,我們會用到很多別人寫的模塊,能自己少寫點兒源碼,盡量少寫,懶不是?類 (class)#其實編程來

21、說,類并不是必須的,但是因為很多Python提供的模塊,里面的函數(shù)都是包在類里面的,所以我們需要介紹一下類。面向對象編程,是現(xiàn)在比較流行的編程方式,是個人都得用“面像對象”的思路來編程,來顯得自己跟得上形式。其實面對對象并不是必須的,光棍并不可恥。類就是種類的意思?;旧厦鎸ο缶褪前淹惖暮瘮?shù),變量打包放到一個包袱里,這個包袱就叫“類”。挺土氣是吧?其實面對對象也并不就一定時髦,也可以俗不可耐,就看你包袱打的怎么樣了。這個 “類”一般上是以具體的東西為模板,譬如物種:人類,貓類;物品:家俱類,電器類。他里面打包的函數(shù),基本上是針對這個類進行操作的,譬如人說話,人吃飯,人的鼻子人的嘴,貓逮耗子

22、,家居磨損。使用類的時候,我們先具體化他,把種類變成個體。人類變成某人,貓類變成某貓,家俱變成某件家俱。這個具體化的類,就是所謂的“對象(object)”。然后我們就可以使用這個具體人,貓,家居的函數(shù),針對具體的人,物進行操作了,所謂操作對象。定義類#class RenLei: def _init_(self, mingzi): # self 是一個固定參數(shù)名,代表這個對象自己。 self.mingzi = mingzi # 把名字存到對象自己的 mingzi 變量上。 def shui2(self): # 誰函數(shù) return self.mingzi上面的例子,一開始就要求給這個對象一個名字

23、。在類的定義里,每一個函數(shù),他的第一個參數(shù),都是規(guī)定死的,必須是self。self代表這個對象自己。在對象內部,這個對像本身的變量,函數(shù),都是通過這個self來存取的。在調用類里的函數(shù)時,不用提供 self 這個參數(shù),程序自動提供 self,讓我們使用它其他的函數(shù),變量。我們只要提供其他參數(shù)即可。_init_() 這個函數(shù)是一個特殊的函數(shù),他代表從類具體化到對象的時候,需要套用的公式。通過類建立對象的時候,程序會自動調用 _init_()函數(shù)。所以它叫做初始化函數(shù)。建立對象的時候,有什么一開始的要求,都可以通過它來指定,比如要求“腳不大好頭發(fā)沒有麻子”。當然如果沒有初始要求

24、,也可以不定義這個函數(shù),那么程序就不會自動調用它了。具體化類,建立對象# 建立對象,提供的函數(shù)對應_init_() 函數(shù),self 這個參數(shù)程序會自動提供,不用我們提供。xiaozhang1 = RenLei("小張")mingzi = xiaozhang1.shui2() # 使用“對象名.函數(shù)名()”的格式來調用類里的函數(shù)。print mingzi <- "小張"字符串的對象性質#Python 里的字符串,列表,元組,字典,它們本身都是面對對象的類,所以帶有很多函數(shù)可以對自己進行操作,譬如:a = "腳不大好 頭發(fā)沒有 麻子"

25、;.split()split 是字符串這個類的函數(shù),他可以把字符串在給定位置分割,當我們不給他參數(shù)的時候,會在所有空白位置分割,然后返回一個列表,里面是被割裂的字符串。結果,a 的內容是 "腳不大好", "頭發(fā)沒有", "麻子",這是一個有3個元素的列表。對于字符串,列表,字典之類的操作,請熟讀說明手冊對他們的說明,Python編程,主要就靠字符串,列表和字典了。Python 程序員編程習慣#重中之重: 大量的使用 list 這個列表方式來存儲、操作數(shù)據(jù)。一字長蛇陣是蟒蛇的絕招,多用沒錯。寫一個 Python 程序,我們一般

26、的步驟是:1. 進口所有會用到到模塊 import2. 定義我們自己的類和函數(shù)。對于每個函數(shù)里要用到的函數(shù),被調用的函數(shù)一般放在調用函數(shù)的前面定義。這樣我們讀程序的時候,如果從上到下,就知道調用的函數(shù),在前面是怎么定義的,有什么功能,需要什么參數(shù),返回什么值。3. 在文件的最下面,調用上面定義的函數(shù)和類,開始工作。4. 命令行的選項是通過 sys.argv 這個列表得到的。5. 盡量使用 Python提供的內建函數(shù)和模塊里的函數(shù),所以我們對Python的模塊說明手冊要很熟悉。Python 運行,是從文件的上面往下走的,看到一條命令執(zhí)行一條命令,一直到最后一行。當我們定義函數(shù)和類的時候,他們只是

27、定義,而沒有執(zhí)行,所以Python 看到他們,先存起來,直到看到定義外的具體命令,才真正的執(zhí)行。如果這個命令調用上面的函數(shù),那么就把存起來的函數(shù)執(zhí)行一下。完整例子: 把一個兩列的文件input.txt,分割成兩個文件col1.txt, col2.txt,一個文件一列。 input.txt 內容:a1 啊阿ai1 挨埃哀ao2 熬鰲翱獒程序內容:def split_file(filename): # 把文件分成兩列 col1 = # 存儲第一列 col2 = fd = open(filename) # open 函數(shù)用來打開文件,返回一個文件對象 text = fd.read() # fd.read 讀入文件fd 的內容。 lines = text.splitlines() # 把讀入的內容分行 for line in lines: # 循環(huán)每一行 part = line.split(None, 1) # 分割一行。 col1.append(part0) # 把分割的第一部分放到col1后面。 col2.append(part1) return col1, col2 # 返回 col1, col2def write_list(filename, alist): # 把文字列表內容寫入文件 fd = open(filename, 'w')

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論