《Python語言介紹》_第1頁
《Python語言介紹》_第2頁
《Python語言介紹》_第3頁
《Python語言介紹》_第4頁
《Python語言介紹》_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、整理課件,1,Python語言介紹及編程入門,整理課件,2,概述,Python是一種面向?qū)ο蟮慕忉屝缘挠?jì)算機(jī)程序設(shè)計(jì)語言,也是一種功能強(qiáng)大而完善的通用型語言,已經(jīng)具有十多年的發(fā)展歷史,成熟且穩(wěn)定。Python 具有腳本語言中最豐富和強(qiáng)大的類庫,足以支持絕大多數(shù)日常應(yīng)用。這種語言具有非常簡(jiǎn)捷而清晰的語法特點(diǎn),適合完成各種高層任務(wù),幾乎可以在所有的操作系統(tǒng)中運(yùn)行。目前,基于這種語言的相關(guān)技術(shù)正在飛速的發(fā)展,用戶數(shù)量急劇擴(kuò)大,相關(guān)的資源非常多,整理課件,3,Python的特色(一,可擴(kuò)充性可說是Python作為一種編程語言的特色。新的內(nèi)置模塊(module)可以用C 或 C+寫成。而我們也可為現(xiàn)成的

2、模塊加上Python的接口。Python可以使用戶避免過分的語法的羈絆而將精力主要集中到所要實(shí)現(xiàn)的程序任務(wù)上,整理課件,4,Python的特色(二,Python也被稱為是一門清晰的語言。因?yàn)樗淖髡咴谠O(shè)計(jì)它的時(shí)候,總的指導(dǎo)思想是,對(duì)于一個(gè)特定的問題,只要有一種最好的方法來解決就好了。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。 Python語言是一種清晰的語言的另一個(gè)意思是,它的作者有意的設(shè)計(jì)限制性很強(qiáng)的語法,使得不好的編程習(xí)慣(例如if語句的下一行不向右縮進(jìn))都不能通過編譯。這樣有意的強(qiáng)制程序員養(yǎng)成良好的編程習(xí)慣。其中很重要的一項(xiàng)就是Python的縮進(jìn)規(guī)則。例如if語句:if age21

3、: print You cannot buy wine!n print But you can buy chewing gum.nprint this is outside ifn,整理課件,5,Python的特色(三,一個(gè)和其他大多數(shù)語言(如C)的區(qū)別就是,一個(gè)模塊的界限,完全是由每行的首字符在這一行的位置來決定的(而C語言是用一對(duì)花括號(hào)來明確的定出模塊的邊界的,與字符的位置毫無關(guān)系)。不過不可否認(rèn)的是,通過強(qiáng)制程序員們縮進(jìn)(包括if,for和函數(shù)定義等所有需要使用模塊的地方),Python確實(shí)使得程序更加清晰和美觀。另外Python在其他部分的設(shè)計(jì)上也堅(jiān)持了清晰劃一的風(fēng)格,這使得Pytho

4、n稱為一門易讀性、易維護(hù)性好,并且被大量用戶所歡迎的、用途廣泛的語言,整理課件,6,Python的特色(四,Python語法: Python增加了什么 - 新的語法成分冒號(hào)(:)。所有的復(fù)合語句(語句中嵌套了語句)都有相同的一般形式,就是首行以冒號(hào)結(jié)尾,首行下一行嵌套的代碼往往按縮進(jìn)的格式書寫。 Python刪除了什么 - 括號(hào)是可選的 - 終止行就是終止語句(分號(hào)) - 縮進(jìn)的結(jié)束就是代碼塊的結(jié)束(,整理課件,7,Python中的關(guān)鍵字和語法,if:當(dāng)條件成立時(shí)執(zhí)行語句塊。經(jīng)常與else,elif(相當(dāng)于else if)配合使用。 for:遍歷列表、字符串、字典、集合等迭代器,依次處理迭代器

5、中的每個(gè)元素。 while:當(dāng)條件為真時(shí),循環(huán)執(zhí)行語句塊。 try:與except,finally配合使用處理在程序運(yùn)行中出現(xiàn)的異常情況。 class:用于定義類型。 def:用于定義函數(shù)和類型的方法。 pass:表示此行為空,不執(zhí)行任何操作。 assert:用于程序調(diào)試階段時(shí)測(cè)試運(yùn)行條件是否滿足。 with:Python2.6以后定義的語法,在一個(gè)場(chǎng)景中運(yùn)行語句塊。比如,運(yùn)行語句塊前加鎖,然后在語句塊運(yùn)行結(jié)束后釋放它。 yield:在迭代器函數(shù)內(nèi)使用,用于返回一個(gè)元素。 global:定義全局變量。 lambda:定義匿名函數(shù),整理課件,8,常見的運(yùn)算符及其用法,整理課件,9,常見的運(yùn)算符及

6、其用法,整理課件,10,常見的運(yùn)算符及其用法,整理課件,11,Python語法的基本概念,1.數(shù):整數(shù)、長(zhǎng)整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)。 2.字符串: (1)在雙引號(hào)中的字符串與單引號(hào)中的字符串的使用完全相同 (2)利用三引號(hào)“”“或” ,你可以指示一個(gè)多行的字符串 (3)轉(zhuǎn)義符,但在一個(gè)字符串行末的單獨(dú)一個(gè)反斜杠用于續(xù)行 (4)自然字符串:通過給字符串加上前綴r或R來指定,這樣就保持原樣(不轉(zhuǎn)義) (5)Unicode字符串:在字符串前加上前綴u或U,例:u“這是unicode” 3.變量:使用變量時(shí)只需要給它們賦一個(gè)值。不需要聲明或定義數(shù)據(jù)類型。 4.標(biāo)識(shí)符:以字母表中的字母(大寫或小寫)、下劃線(

7、_)或數(shù)字(0-9)組成,并且第一個(gè)字符必須是字母(大寫或小寫)或下劃線(_)。 5.縮進(jìn):在Python語法,沒有使用大括號(hào)而是以縮進(jìn)的方式來標(biāo)示語句塊,即同一層次的語句必須有相同的縮進(jìn),整理課件,12,Python語法的基本概念,7.控制流 (1)if語句:形式如下(注意if語句在結(jié)尾處包含一個(gè)冒號(hào),告訴Python語法下面跟著一個(gè)語句塊;并且,沒有switch語句) if condition: statement elif condition: statement else statement (2)while語句:形式如下 while condition: statement else

8、,3)for語句:形式如下 for element in collection: statement else: (4)break語句:形式同其他語言,需要注意的是,如果從for或while循環(huán)中終止,任何對(duì)應(yīng)的循環(huán)else塊將不執(zhí)行 (5)continue語句:形式同其他語言 8.函數(shù):通過def定義。Def后跟一個(gè)函數(shù)的標(biāo)識(shí)符名稱,然后跟一對(duì)圓括號(hào)。括號(hào)中可以包括一些變量名,該行以冒號(hào)結(jié)尾,接下來是一塊語句,它們是函數(shù)體,例: def function_name(): statement,整理課件,13,文件讀寫,open()函數(shù) f = open(“foo”,“w”) # 寫方式打開文件

9、 g = open(“bar”,“r”) # 只讀方式打開文件 f.close()#關(guān)閉文件 文件的讀取/寫入 f.write(Hello World) buff = g.read() # 讀取文件所有數(shù)據(jù) line = g.readline() # 讀一行數(shù)據(jù) lines = g.readlines() # 以列表的方法返回文件所有數(shù)據(jù) 格式化的輸入 使用%來格式化字符串 for i in range(0,10): f.write(2 times %d = %dn % (i, 2*i,整理課件,14,Python、Perl、Ruby的比較,Python: 首先就以語法而論,python沒有p

10、erl的靈活緊湊。它可以編寫運(yùn)行在操作系統(tǒng)的應(yīng)用程序,可以編寫web代碼,它不是腳本語言但是有腳本語言的功能,他和java,C+,C地位差不多。它代碼的運(yùn)行效率高,有的代碼幾乎能和C+相比,它還能嵌入到C+中,很方便 。它適合用來做小網(wǎng)站。如果在Linux系統(tǒng)的話編寫命令是很好的,和perl一樣,而且運(yùn)行速度很快。perl易寫難讀,而Python強(qiáng)制編程員有個(gè)良好的編程習(xí)慣。好在他學(xué)起來非常容易,整理課件,15,Python、Perl、Ruby的比較,Perl: Perl強(qiáng)大的正則表示式比對(duì)以及字符串操作使這個(gè)工作變得簡(jiǎn)單而沒有其它語言能相比。Perl非常擅長(zhǎng)于切割,扭轉(zhuǎn),絞,弄平,總結(jié),以及

11、其它的操作文字文件。Perl能容錯(cuò),它并不介意某個(gè)值是空的或是有奇怪的字符,正規(guī)表示式能夠被寫成取出并且更正錯(cuò)誤的一般錯(cuò)誤,整理課件,16,Python、Perl、Ruby的比較,Ruby: Ruby是面向?qū)ο蟮木幊陶Z言,是腳本語言和PHP一樣。它追求的是“簡(jiǎn)便快捷的面向?qū)ο缶幊獭?。Ruby是解釋型語言,因此不需編譯即可快捷地編程。同時(shí)Ruby具有類似 Perl的強(qiáng)大的文本處理功能,可以用它來進(jìn)行實(shí)用的編程。此外,您還可以很方便地使用C語言來擴(kuò)展Ruby的功能,因此可以把它當(dāng)作各種庫的前端來使用。Ruby很適合做中小型web工程,它和jsp(J2EE)并不沖突,一個(gè)是低端的一個(gè)是高端的,整理課

12、件,17,Python、Perl、Ruby的比較,總結(jié): Perl精練、復(fù)雜、強(qiáng)大、靈活、自由、表現(xiàn)力強(qiáng),但規(guī)范性、可讀性、一致性、整潔性和可維護(hù)性較差。 Python優(yōu)雅規(guī)范、簡(jiǎn)潔明晰、易學(xué)易用、類庫豐富,但效率稍差,有些人不喜歡它對(duì)空白符敏感的特性。 Ruby語法精巧、高度靈活,兼具Perl的表現(xiàn)力和Python的可讀性,尤其注重程序員的感受,但其性能和線程模型尚有待改進(jìn),整理課件,18,Python編程實(shí)例,冒泡算法: num = 23,2,3,6,18,9,33,13,24,19 for j in range(len(num):-1: for i in range(j): if (i

13、numi+1): temp = numi del numi num.insert(i+1, temp) print num 輸出結(jié)果: 2,3,6,9,13,18,19,23,24,33,整理課件,19,Python編程實(shí)例,計(jì)算從1到n的自然數(shù)中有多少個(gè)數(shù)字1,例如10包含一個(gè)“1”,而110則包含兩個(gè)“1” : #計(jì)算從1到n的自然數(shù)中數(shù)字1的個(gè)數(shù) g_count = 0 for i in range(1,100000): g_count = g_count + str(i).count(1) if(i=9 or i=99 or i=999 or i=9999 or i=99999): p

14、rint(從1到%d共有%d個(gè)數(shù)字1 % (i,g_count) 輸出結(jié)果:從1到9共有1個(gè)數(shù)字1 從1到99共有20個(gè)數(shù)字1 從1到999共有300個(gè)數(shù)字1 從1到9999共有4000個(gè)數(shù)字1 從1到99999共有50000個(gè)數(shù)字1,整理課件,20,Python編程實(shí)例,mySQL的應(yīng)用: #-*- encoding: gb2312 -*- import os, sys, string import MySQLdb # 連接數(shù)據(jù)庫 try: conn = MySQLdb.connect(host=localhost,user=root,passwd=xxxx,db=test1) except

15、 Exception, e: print e sys.exit() # 獲取cursor對(duì)象來進(jìn)行操作 cursor = conn.cursor() # 創(chuàng)建表 sql = create table if not exists test1(name varchar(128) primary key, age int(4) cursor.execute(sql) #查詢出數(shù)據(jù) sql = select * from test1 cursor.execute(sql) alldata = cursor.fetchall(, 插入數(shù)據(jù) sql = insert into test1(name, ag

16、e) values (%s, %d) % (zhangwei, 23) try: cursor.execute(sql) except Exception, e: print e sql = insert into test1(name, age) values (%s, %d) % (張三, 21) try: cursor.execute(sql) except Exception, e: print e # 插入多條 sql = insert into test1(name, age) values (%s, %s) val = (李四, 24), (王五, 25), (洪六, 26) try: cursor.executemany(sql, val) except

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論