一、Python 語言的簡(jiǎn)述 Python語言是一種解釋型、面向?qū)ο蟮木幊陶Z言,是一種開源語言。 Python屬于動(dòng)態(tài)類定義語言,也是一種強(qiáng)調(diào)類型語言。 二、Python 語言的特點(diǎn) 1、簡(jiǎn)單、高級(jí) 2、面向?qū)ο?/p> 3、可擴(kuò)展性、免費(fèi)和開源的 4、可移植型、可嵌入型、豐富的庫 三、Python語言的應(yīng)用范圍 1、操作系統(tǒng)管理 2、科學(xué)計(jì)算 3、Web應(yīng)用 4、圖形用戶界面(GUI)開發(fā) 5、其他,例如游戲開發(fā)等 第二章Python語言基礎(chǔ) 一、語句 1、Python語句 例如:aString=”張三” #變量賦值 Print(aString) #調(diào)用函數(shù),輸出:張三 Python語句包括簡(jiǎn)單語句和復(fù)合語句 2、Python語句的書寫規(guī)則 1)使用換行符分隔,一般情況下,一行一條語句 2)從第一列開始,前面不能有任何的空格,否則會(huì)產(chǎn)生語法錯(cuò)誤。 注: ① 注釋語句可以從任意位置開始 ② 復(fù)合語句構(gòu)造體必須縮進(jìn) 3)反斜杠(\)用于一個(gè)代碼跨越多行的情況 4)分號(hào)(;)用于在一行書寫多條語句 例如:a=0;b=1;c=6 S=”abc”;print(s) 3、復(fù)合語句及其縮進(jìn)書寫規(guī)則 1)頭部語句由相應(yīng)的關(guān)鍵字開始,構(gòu)造體語句則為下一行開始的一行或多行縮進(jìn)代碼。 例如:sum=0 for i in range(1,11) sum=sum+1 print(i,end=’ ’) 2)通??s進(jìn)是相對(duì)頭部語句縮進(jìn)4個(gè)空格,也可以是任意空格,但同一構(gòu)造體代碼塊的多條語句縮進(jìn)的空格數(shù)必須一致。 3)如果條件語句、循環(huán)語句、函數(shù)定義和類函數(shù)定義比較短,可以放在同一行。 4、注釋語句 1)# 注釋掉一行 2)'’’ '’’ 注釋多行語句 5、空語句pass 要表示一個(gè)空的代碼塊, 例如:def do_nothing(): pass 二、表達(dá)式 1、表達(dá)式的組成 由操作數(shù)和運(yùn)算符組成 1)表達(dá)式的書寫規(guī)則。 2)乘號(hào)不可以省略 2、 3)表達(dá)式從左到右在同一個(gè)基準(zhǔn)上書寫 4)括號(hào)必須成對(duì)出現(xiàn),只能使用圓括號(hào),可以嵌套使用。 三、運(yùn)算符 1、運(yùn)算符概述 運(yùn)算符用于在表達(dá)式中對(duì)一個(gè)或多個(gè)操作數(shù)進(jìn)行計(jì)算并返回結(jié)果值。 2、運(yùn)算符及其優(yōu)先級(jí) ① or 或運(yùn)算 ② and 與運(yùn)算 ③ not x 非運(yùn)算 ④ in,not in 成員測(cè)試 ⑤ is,is not 同一性測(cè)試 ⑥ ** 指數(shù)/冪 四、標(biāo)識(shí)符及其命名規(guī)則 1、標(biāo)識(shí)符 ① 標(biāo)識(shí)符是變量、函數(shù)、類、模塊和其他對(duì)象的名稱。 ② 標(biāo)識(shí)符第一個(gè)字符必須是字母或下劃線,其后可以是數(shù)字、字母、下劃線 ③ 關(guān)鍵字不可以做標(biāo)識(shí)符 ④ 標(biāo)識(shí)符區(qū)分大小寫 ⑤ 以雙劃線開始和結(jié)束的名稱通常具有特殊的含義,例如:_init_為類的構(gòu)造函數(shù)。 ⑥ 避免使用Python預(yù)定義標(biāo)識(shí)符作為自定義標(biāo)識(shí)符名。 2、保留關(guān)鍵字(預(yù)定義標(biāo)識(shí)符) 例如:使用Python幫助系統(tǒng)查看關(guān)鍵字。 ① 運(yùn)行Python內(nèi)置集成開發(fā)環(huán)境IDLE ② 進(jìn)入幫助系統(tǒng) >>>help() ③ 查看關(guān)鍵字列表 help> keywords ④ 查看關(guān)鍵字if的幫助信息 help> if ⑤ 退出幫助系統(tǒng) help> quit 3、命名規(guī)則 1)模塊/包名:全小寫字母,可使用下劃線 2)函數(shù)名:全小寫字母,可使用下劃線 3)變量名:全小寫字母,可使用下劃線 4)類名:采用pascalCase命名規(guī)則,多個(gè)單詞組成,每個(gè)單詞的第一個(gè)字母大寫,其他小寫。 5)常量名:全大寫字母,可以使用下劃線 五、對(duì)象與引用 1、對(duì)象的含義:對(duì)象是某個(gè)類的實(shí)例,對(duì)象由唯一的id標(biāo)識(shí),對(duì)象可以通過標(biāo)識(shí)符來引用,對(duì)象引用即指向?qū)ο髮?shí)例的標(biāo)識(shí)符。 2、對(duì)象的類型和標(biāo)識(shí) 1)通過type()函數(shù),可以判斷一個(gè)對(duì)象的類型 2)通過ID()函數(shù),可以獲取一個(gè)對(duì)象的有唯一的id標(biāo)識(shí)。 3、對(duì)象比較()和類型判別(is) 1)通過運(yùn)算符判斷兩個(gè)變量指向的對(duì)象的值是否相等; 2)通過is運(yùn)算符可以判斷兩個(gè)變量是否指向同一個(gè)對(duì)象; 4、不可變對(duì)象(immutable)和可變對(duì)象(mutable) 不可變對(duì)象一旦創(chuàng)建,就不能被修改,可變對(duì)象的內(nèi)容可以被修改 六、變量和賦值 1、變量和數(shù)據(jù)類型 1)計(jì)算機(jī)程序處理的數(shù)據(jù)必須放入到內(nèi)存,python所有的數(shù)據(jù)都是對(duì)象,每個(gè)對(duì)象都是某個(gè)類的實(shí)例,即數(shù)據(jù)對(duì)象具有數(shù)據(jù)類型。 2)指向?qū)ο蟮囊眉醋兞?/p> 3)變量可以不限定數(shù)據(jù)類型 例如: a=1 #1為int類型,變量a指向int類型的對(duì)象1 b=”11” #”11”為str類型,變量b指向str類型的對(duì)象”11” Int和str類型不能直接相加,不會(huì)自動(dòng)轉(zhuǎn)換 2、變量的聲明和賦值 變量名和賦值的格式:“變量名=要賦的值” Python變量被訪問之前必須被初始化,即賦值,否則會(huì)報(bào)錯(cuò)。 3、鏈?zhǔn)劫x值語句 格式:“變量1=變量2=表達(dá)式” 等價(jià)于 變量2=表達(dá)式;變量1=變量2 鏈?zhǔn)劫x值用于為多個(gè)變量賦同一個(gè)值 4、復(fù)合賦值語句 1)+=:sum+=item 2)-=:sum-=item 3)等等 5、刪除變量 可以使用del語句刪除不再使用的變量 6、系列解包賦值 1)Python支持?jǐn)?shù)據(jù)組合類型。 2)Python支持把數(shù)據(jù)組合類型解包為對(duì)應(yīng)相同個(gè)數(shù)的變量。 注:變量的個(gè)數(shù)必須與元組或列表元素個(gè)數(shù)一致,否則會(huì)產(chǎn)生錯(cuò)誤 使用“啊a,b=b,a”的方式,可以優(yōu)雅的實(shí)現(xiàn)兩個(gè)變量值的交換。 七、數(shù)據(jù)類型 Python語言中每個(gè)對(duì)象都屬于某個(gè)數(shù)據(jù)類型。 1、Python包含三種特殊的數(shù)據(jù)類型:NoneType,NotImplementedType,Ellipsis 1)NonoType NoneType數(shù)據(jù)類型包含唯一值None,主要表示空值。 2)NotImplementedType NotImplementedType數(shù)據(jù)類型包含唯一值NotImplemented,數(shù)值運(yùn)算和比較運(yùn)算時(shí),如果對(duì)象不支持,則可能返回該值。 3)EllipsisType EllipsisType數(shù)據(jù)類型包含唯一值Ellipsis,表示省略字符串符號(hào)。 2、數(shù)值數(shù)據(jù)類型 Python包括四種內(nèi)置的數(shù)值類型 1)整數(shù)類型(int),用于表示整數(shù)。 2)布爾類型(bool),用于表示布爾邏輯值。例如:TRUE和False 3)浮點(diǎn)類型(float),用于表示實(shí)數(shù)。 4)復(fù)數(shù)類型(complex),用于表示復(fù)數(shù)。 3、序列數(shù)據(jù)類型 4、集合數(shù)據(jù)類型(集合不可變集) 集合數(shù)據(jù)類型表示若干個(gè)數(shù)據(jù)的集合,數(shù)據(jù)項(xiàng)目沒有順序,且不重復(fù)。 5、字典數(shù)據(jù)類型 用于表示鍵值對(duì)的字典。Python的內(nèi)置字典數(shù)據(jù)為dict 6、其他數(shù)據(jù)類型 1)可調(diào)用數(shù)據(jù)類型 2)模塊 模塊類型是一個(gè)容器,是可以使用import語句加載的對(duì)象。 3)類 4)對(duì)象實(shí)例 5)解釋器內(nèi)置類型 八、類的聲明和對(duì)象的創(chuàng)建于調(diào)用 1、類的聲明 Class 類名: 類體 2、對(duì)象的創(chuàng)建和調(diào)用 格式: anObject=類名(參數(shù)列表) anObject.對(duì)象方法或者 anObject.對(duì)象屬性 注: 1)類使用關(guān)鍵字class聲明,類名為有效的標(biāo)識(shí)符 2)類體中可以定義屬于類的屬性、方法等 3)創(chuàng)建對(duì)象后,可訪問其屬性、調(diào)用其方法 例如: 九、函數(shù) 1、函數(shù)的聲明和調(diào)用 函數(shù)的聲明格式: def 函數(shù)名([形參列表]) 函數(shù)體 函數(shù)的調(diào)用格式: 函數(shù)名([實(shí)參列表]) 注:1)函數(shù)使用關(guān)鍵字def聲明,函數(shù)名為有效的標(biāo)識(shí)符,形參列表為函數(shù)的參數(shù)。 2)聲明函數(shù)的參數(shù)叫形參,調(diào)用函數(shù)時(shí)叫實(shí)參 3)函數(shù)可以使用return返回值。無返回值的函數(shù)相當(dāng)于其他編程語言中的過程。 實(shí)例1:聲明和調(diào)用函數(shù)sayHello()。 def sayHello(): #定義函數(shù)sayHello print('Hello World!’) #函數(shù)體 print('這是一個(gè)例題?!? #函數(shù)體 sayHello() #調(diào)用函數(shù)sayHello 運(yùn)行結(jié)果: Hello World! 這是一個(gè)例題。 實(shí)例2: 2、內(nèi)置函數(shù) 3、模塊函數(shù)和import語句 通過import語句,可以導(dǎo)入module,然后使用module.function()的形式調(diào)用模塊中的函數(shù)。例如: import math math.sin(2) 相當(dāng)于 form math import sin Sin(2) 4、輸入和輸出函數(shù) input()函數(shù)提示用戶輸入 print()函數(shù)用于輸出 例題:使用內(nèi)置的輸入輸出函數(shù)實(shí)現(xiàn)用戶交互 import datetime sName=input('請(qǐng)輸入你的姓名:’) birthyear=int(input('請(qǐng)輸入你的出生年份:’)) age=datetime.date.today().year- birthyear print('你好!%s。你%d歲?!?(sName,age)) 5、運(yùn)行時(shí)提示輸入密碼 需要提示用戶輸入密碼,可以使用模塊getpass,以保證用戶輸入的密碼在控制臺(tái)不回顯,getpass包括兩個(gè)函數(shù): getpass.getpass(prompt=’Password:’,stream=None) #提示用戶輸入密碼并返回 getpass.getuser() #獲取當(dāng)前登錄用戶名 十、模塊和包 導(dǎo)入和使用模塊功能的基本形式: Import 模塊名 #導(dǎo)入模塊 模塊名.函數(shù)名 #使用包含模塊的全限定名稱調(diào)用模塊中的函數(shù) 模塊名.變量名 #使用包含模塊的全限定名稱訪問模塊中的變量 例題:求解一元二次方程 import math a=1 b=5 c=6 x1=(-b+math.sqrt(bb-4ac))/(2a) x2=(-b-math.sqrt(bb-4ac))/(2a) print('方程xx+5x+6=0的解為:’,x1,x2) input和print 例題: 計(jì)算890分鐘換成小時(shí)分鐘 a=890 a=int(input('請(qǐng)輸入一個(gè)整數(shù):’)) hour=890//60 minute=890%60 print(a,'分鐘可以表示為’,hour,'小時(shí)’,minute,'分鐘’) print(’%d分鐘可以表示為%d小時(shí)%d分鐘’%(a,hour,minute)) print(str(a)+'分鐘可以表示為’+str(hour)+'小時(shí)’+str(minute)+'分鐘’) 最后優(yōu)化: print(str(a)+'分鐘可以表示為’+str(a//60)+'小時(shí)’+str(a%60)+'分鐘’) Input默認(rèn)輸入的是字符串,要使用強(qiáng)制轉(zhuǎn)換 小技巧: 在文件最后加上 Input(' ’) 在雙擊文件就可以運(yùn)行了(不會(huì)閃一下就過去) |
|