




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一、萌新語法輸入和輸出print()# 打印括號的內(nèi)容# 第一種:不帶引號,讓計算機讀懂括號里的內(nèi)容,打印最終的結(jié)果print(1+1)2# 第二種:帶單引號,計算機無須理解,原樣復述引號中的內(nèi)容print(秋水共長天一色,)秋水共長天一色# 第三種:帶雙引號,作用和單引號一樣;當打印內(nèi)容中有單引號時,可以使用雙引號print(Letsgo)Letsgoprint(Letsgo)Letsgo# 也可以使用轉(zhuǎn)義字符+單引號()來實現(xiàn)單引號# 第四種:帶三引號,實現(xiàn)換行print(python小課最好的python課程)pyton小課最好的python課程# 采用轉(zhuǎn)義字符n也可以換行input()
2、# 收集信息name=input(請輸入你的forchangelD:)# 使用變量賦值來獲取輸入的信息變量的命名1.只能是一個詞;2.只能包含字母、數(shù)字和下劃線;3.不能以數(shù)字開頭;4 .盡量描述包含的數(shù)據(jù)內(nèi)容;5.不要使用python函數(shù)名和關(guān)鍵字。number=34name=forchange基礎語法課程,爬蟲分析初階,爬蟲分析進階,自動化辦公,#以上number,name,list_class都是是變量名python3.7.4中的關(guān)鍵字(不用記,熟悉即可)FalseNoneTrue1andasassertasyncawaitbreakclasscontinuedefdelelifelse
3、exceptfinallyforfromglobalifimportinislambdanonlocalnotorpassraisereturntrywhilewithyield條件判斷條件判斷的解釋:讓計算機知道,在什么條件下,該去做什么。單向判斷if?#如果條件成立,就執(zhí)行語句number=6ifnumber3:.pirnt(number)6list_class=#注意格式!if后面要加冒號,同時執(zhí)行語句要縮進四個空格。(空格和tab,我選空格?AA)雙向判斷if?else?#條件成立執(zhí)行if語句,否則執(zhí)行else語句number=7ifnumber3:pirnt(number)else:
4、number=number-3print(number)#結(jié)果輸生為4#if和else是同一層級,不需要縮進。if和else下的執(zhí)行語句都需要縮進四個空格。if?else?if和?if?的區(qū)別#if?else?一個條件滿足后就不會進行其他判斷(if代表的條件和else代表的條件是互斥的)#if?if?會遍歷所有條件,一個條件無論滿足還是不滿足,都會進行下一個條件的判斷多向判斷if?elif?else#三個及其以上條件的判斷grade=65if80=grade=100:print(成績優(yōu)秀)elif60=grade80:print(成績中等)else:print(成績差)#結(jié)果輸生為成績中等IF
5、嵌套if嵌套#使用if進行條件判斷,還希望在條件成立的執(zhí)行語句中再增加條件判斷,即if中還有if,這兩個if非平級grade=15if80=grade=100:print(成績優(yōu)秀)elif60=grade80:print(成績中等)else:print(成績差,)if20=gradeprint(風變+編程)風變編程name=醬醬begin=我叫-0.15、3.1415、1.0)print(begin+name)我叫醬醬進階用法:使用進行字符串的拼接name=鳳求凰print(司馬相如以%d曲$打動了卓文君,%(number,name)司馬相如以1曲鳳求凰打動了卓文君四則運算運算符表示例子+加
6、1+1輸生結(jié)果為2-減1-1輸生結(jié)果為0*乘3*2輸生結(jié)果為6/除2/1輸生結(jié)果為2%取模-返回除法的余數(shù)5%2輸由結(jié)果為1*曷-返回x的y次曷2*3輸由結(jié)果為8/取整除-返回商的整數(shù)部分11/2輸生結(jié)果為5運算優(yōu)先級:與平時運算優(yōu)先級一樣:從左到右順著來,括號里的優(yōu)先算,乘除排在加減前數(shù)據(jù)轉(zhuǎn)換type()# 查看變量的數(shù)據(jù)類型who=xiaojiangjiangprint(type(who)# 結(jié)果顯示這是一個字符串類型的數(shù)據(jù)str()# 將其他數(shù)據(jù)類型強制轉(zhuǎn)換為字符串begin=我吃了number=1fruit=個水果print(begin+str(number)+fruit)我吃了1個水
7、果# 進行字符串拼接時,不同數(shù)據(jù)類型不能直接使用串類型int()# 將整數(shù)形式的字符串轉(zhuǎn)化為整數(shù)(文本類字符串和浮點形式的字符串不能轉(zhuǎn)化為整數(shù))# 對浮點數(shù)直接抹零取整print(int(3.8)3float()+連接,需要現(xiàn)將整數(shù)轉(zhuǎn)化為字符# 將整數(shù)和字符串轉(zhuǎn)換為浮點數(shù)(文字類字符串無法轉(zhuǎn)換)print(float(8)8.0list()# 將數(shù)據(jù)轉(zhuǎn)換為列表類型a=python小課print(list(a)p,y,t,h,o,n,小,課len()# 用于檢查某個數(shù)據(jù)的長度bros=劉備,關(guān)羽,張飛print(len(bros)3emotion=happyprint(len(emotion)5
8、數(shù)據(jù)的常用語法列表語法列表的操作可分為兩種類型,一種類型為對列表元素的處理,另一種類型為對列表的處理,每種類型都有四種操作:提取,修改,增加,刪除(取改增刪)。偏移量:對列表元素的位置編號。# 列表的偏移量從0開始計算# 如果要提取一段列表,需要使用切片的形式a:b:從a到b的元素,但不包括 b(ab(a=Xlist=松,竹,梅print(list0)print(list1:2)print(list:2)松,竹,松,竹# 松,竹,梅三者的偏移量分辨是0,1,2。列表元素的提取list=松,竹,梅print(list0)松松,松樹,竹,竹子,梅,梅花松樹# 嵌套列表的提取列表元素的修改list=
9、松,竹,梅list0=松樹print(list)松樹,竹,梅列表元素的增加append()# 是列表的方法,在括號內(nèi)添加一個元素,可以將該元素添加到列表末尾list=松,竹list.append(梅)print(list)松,竹,梅易錯一:用append時不能對列表賦值list=list=松,竹list=list.append(梅)print(list)None#第二行語法錯誤易錯二:append后面是小括號,而非中括號list=松,竹list.append梅print(list)TypeError:builtin_function_or_methodobjectisnotsubscripta
10、ble# 第二行語法錯誤易錯三:append不能一次添加多個元素list=松,竹list.append(梅,歲寒三友)print(list)TypeError:append()takesexactlyoneargument(2given)# 第二行語法錯誤列表元素的刪除del# 刪除命令易錯一:每次只能刪除一個元素,易錯二:刪除多個元素時,要重新計算偏移量list=松,竹,梅dellist0dellistOprint(list)竹?梅,梅口列表的切片(即列表層面的提取,一次提取若干個元素)list=松?竹?梅print(list1:2)print(list:2)竹松?竹口#注意:列表的切片提取
11、由來的是列表列表的修改#同樣是使用賦值語句,注意是對列表的賦值list=松?竹?梅list:=歲寒三友#list:表示將列表的所有元素取由來print(list)歲寒三友#注意以下的錯誤做法:list=松,竹,梅list:=歲寒三友print(list)歲,寒,三,友列表的增加列表的增加叫作列表的合并會更合理#使用符號+#符號+只能用在列表之間,不能用在列表和元素之間list1=松list2=竹list3=梅list=list1+list2+list3print(list)松,竹,梅列表的刪除del#刪除命令list=松,竹,梅dellist:2梅字典語法字典數(shù)據(jù)的提取# 列表使用偏移量來提取
12、,字典使用鍵來提取group=師父:唐三藏,大師兄:孫行者,二師兄:豬八戒,沙師弟:沙和尚)print(group師父)唐三藏字典數(shù)據(jù)的修改group=師父:唐三藏,大師兄:孫行者,二師兄:豬八戒,沙師弟:沙和尚,)group師父=唐玄奘print(group)師父:唐玄奘,大師兄:孫行者,二師兄:豬八戒,沙師弟:沙和尚,)字典數(shù)據(jù)的增加group=師父:唐三藏,大師兄:孫行者,二師兄:豬八戒,沙師弟:沙和尚)group白龍馬=敖烈print(group)師父:唐三藏,大師兄:孫行者,二師兄:豬八戒,沙師弟:沙和尚,白龍馬:敖烈字典數(shù)據(jù)的刪除group=師父:唐三藏,大師兄:孫行者,二師兄:豬
13、八戒,沙師弟:沙和尚delgroup師父print(group)大師兄:孫行者,二師兄:豬八戒,沙師弟:沙和尚,dict.keys()# 提取字典中所有的鍵group=師父:唐三藏,大師兄:孫行者,二師兄:豬八戒,沙師弟:沙和尚print(group.keys()dict_keys(師父,大師兄,二師兄,沙師弟)# 打印生了所有字典的鍵,但是都是元組的形式group=師父:唐三藏,大師兄:孫行者,二師兄:豬八戒,沙師弟:沙和尚print(list(group.keys()師父,大師兄,二師兄,沙師弟,#通過list()函數(shù)將元組轉(zhuǎn)化為列表的形式dict.values()# 提取字典中所有的值g
14、roup=師父:唐三藏,大師兄:孫行者,二師兄:豬八戒,沙師弟:沙和尚)print(group.values()dict_values(唐三藏,孫行者,豬八戒,沙和尚,)dict.items()# 提取字典中所有的鍵值對group=師父:唐三藏,大師兄:孫行者,二師兄:豬八戒,沙師弟:沙和尚)print(group.items()dict_items(師父,唐三藏),(大師兄,孫行者),(二師兄,豬八戒),(沙師弟,沙和尚)產(chǎn)生布爾值的表達式bool()# 檢查數(shù)值的真假print(bool(1)True值本身作為條件假的其他都是真的FalseTrue05(任意整數(shù))1.0(任意浮點數(shù))”(空
15、字符串)風變編程(字符串)(空列表)1,2,3(空字典)1:a,2:bNone比較運算符產(chǎn)生布爾值運算符釋義作用=等于如果兩側(cè)的值相等,條件為真!=不等于如果兩側(cè)的值不相等,條件為真大于如果左側(cè)的值大于右側(cè),條件為真=大于等于如果左側(cè)的值大于或等于右側(cè),條件為真foriincoding:.print(i)coding#遍歷列表foriinfor,change.print(i)forchangefor?indict:#遍歷字典的鍵foriinlist:.print(i)123for?indict.values():#遍歷字典的值list=1:a,2:b,3:cforiinlist.values(
16、):.print(i)abcfor?indict.items():#遍歷字典的鍵值對list=1:a,2:b,3:cfork,vinlist.items():.print(k)a2b3crange()函數(shù)#range()有最基本的三種用法:range(b),range(a,b),range(a,b,c)。#函數(shù)中各個數(shù)值的意義:a:計數(shù)從a開始。不填時,從0開始;b:計數(shù)到b結(jié)束,但不包括b;c:計數(shù)的間隔,不填時默認為1。range(5)#計數(shù)依次為0,1,2,3,4range(1,5)#計數(shù)依次為1,2,3,4range(2,8,2)#計數(shù)依次為2,4,6for?inrange()#處理指
17、定次數(shù)的循環(huán)foriinrange(3):.print(,第遍風變編程,%i)第0遍風變編程第1遍風變編程第2遍風變編程while 循環(huán)while循環(huán)#當條件為真時,執(zhí)行循環(huán)語句,只要條件為真,便會一直循環(huán)count=3whilecount1:.print(happycoding).count=count-1happycodinghappycodingwhile循環(huán)和for循環(huán)的區(qū)別:#for擅長處理固定次,自動遍歷各序列循環(huán)進階break#如果滿足條件,則結(jié)束循環(huán)whileTrue:.print(happycoding).breakhappycoding#break會結(jié)束循環(huán),如果只有前兩行
18、代碼,會無限循環(huán)打印happycodingcount=3whilecount1:print(happycoding)count=count-1ifcount=2:#當count等于2的時候,停止循環(huán)breakhappycoding#對比while循環(huán)的例子,我們發(fā)現(xiàn)這里只打印了一次happycodingcontinue#如果滿足條件,則跳過當前循環(huán)的剩余語句,直接開始下一輪循環(huán)#while處理不定次數(shù)的循環(huán),條件為False便停止count=3whilecount1:print(happy)count=count-1ifcount=2:#當count等于2的時候,跳過下列語句,重新開始新的一輪
19、循環(huán)continueprint(coding)#由于continue語句,coding只會打次# 打印的結(jié)果為:happyhappycodingelse# 無論是否進入循環(huán),最后都會執(zhí)行esle語句,除非執(zhí)行break語句跳由循環(huán)count=3whilecount2:print(在風變,)count=count-1else:#無論是否進入循環(huán)都會執(zhí)行else語句# 打印結(jié)果為:在風變happycoding循環(huán)嵌套# 即循環(huán)中有循環(huán)foriin風變,編程:#首先遍歷列表元素.fortini:#然后遍歷元素(字符串).print(t)風變編程四、函數(shù)函數(shù)基本知識函數(shù)函數(shù)是組織好的、可以重復使用的、
20、用來實現(xiàn)單一功能的代碼函數(shù)類型可分為自定義函數(shù)和內(nèi)置函數(shù),自定義函數(shù)是需要自己定義,而內(nèi)置函數(shù)是python內(nèi)部已經(jīng)定義好的函數(shù),比如print()、input()等函數(shù)定義的語法def# 定義函數(shù)return# 函數(shù)的返回值# 函數(shù)定義的格式def函數(shù)名(參數(shù)):函數(shù)體return語句# 一個簡單的例子defmath_func(x):y=x+5print(y)returnymath_func(2)變量作用域變量作用域可認為是變量作用的范圍全局變量:在全局內(nèi)生效的變量局部變量:只能函數(shù)內(nèi)或者一定代碼塊內(nèi)生效global#將局部變量轉(zhuǎn)化為局部變量python 內(nèi)置函數(shù)五、類與對象概念類:具有相同
21、屬性和方法的對象的抽象實例:類的個例對象:Python中的對象是類和實例的集合,類可以看作是對象,實例也可以看作是對象基本語法class#定義類,注意類名需要大寫classMyClass:#定義類MyClassi=12345#定義類的屬性(變量)deff(self):#定義類的方法return(helloworld)#執(zhí)行這個方法會返回helloword這個字符串x=MyClass()#創(chuàng)建類的實例xprint(x.i)#打印實例x的屬性print(x.f()#打印實例 x x 的 f f 方法#輸生的結(jié)果為12345helloworldclassA(B)# 定義B類的子類A類,A類具有B類的
22、屬性和方法,也將B類稱為A類的父類classSecondClass(MyClass):pass# 定義SecondClass是MyClass的子類,SecondClass可以調(diào)用MyClass的屬性和方法x=SecondClass()print(x.i)print(x.f()# 輸生的結(jié)果為12345helloworldclassA(B,C)# 多重繼承,A類同時是B類和C類的子類,A類在調(diào)用屬性和方法的時候,會優(yōu)先調(diào)用位于左側(cè)的類classB:i=123#B類的屬性是i=123classC:classA(B,C):#A類是B類和C類的子類passx=A()#創(chuàng)建A類的實例xprint(x.i
23、)#調(diào)用屬性,會優(yōu)先調(diào)用B類的屬性# 結(jié)果輸由為123def_init_(self):# 創(chuàng)建類的初始化方法,只要調(diào)用類,便自動調(diào)用初始化方法的語句,常用于創(chuàng)建實例屬性classA:.def_init_(self):#只要創(chuàng)建實例,便會自動執(zhí)行初始化方法下的語句.print(helloworld)x=A()helloworld#只要創(chuàng)建實例就會調(diào)用方法,打印helloworld# 對比以下沒有初始化的方法:i=12345#C類的屬性是i=12345classA:deff(self):print(helloworld)x=A()#不使用初始化方法,創(chuàng)建實例無任何輸由super()#在子類的方法里
24、調(diào)用父類的方法,使子類的方法可以在繼承父類方法的基礎上進行擴展1defsuper(cls,inst):2mro=inst._class_.mro()3returnmromro.index(cls)+1cls 代表類,inst 代表實例,可以看出上面的代碼做了兩件事:獲取 inst 的 MRO 列表。查找 cls 在 MRO 的 index,并返回它的下一個類,即 mroindex+1當你使用 super(cls,inst)時,python 會在 inst 的 MRO 列表上搜索下 cls 的下一個類。六、模塊與庫模塊類型內(nèi)置模塊自定義模塊# 自己寫代碼,然后將代碼塊保存為.py文件第三方模塊#
25、 從自定義模塊而來,代碼寫作者公開自己的代碼# 根據(jù)模塊的組織形式的不同,也可分為單個模塊文件、模塊包、模塊庫模塊和模塊對象導入方法importA# 導入模塊A# 現(xiàn)在可以調(diào)用模塊里函數(shù)和變量,但是必須通過【模塊名.函數(shù)名()】和【模塊名.變量名】的方式調(diào)用# 創(chuàng)建類實例的時候,需要使用【實例名=模塊名.類名()】進行創(chuàng)建,創(chuàng)建實例后調(diào)用類方法和屬性可以使用【實例名.函數(shù)名()】和【實例名.變量名】importAasa# 導入模塊A,并將模塊A重新命名為a#調(diào)用模塊中的類、函數(shù)和變量如上述操作一樣fromAimportB#導入模塊A中的對象B#調(diào)用對象B中的函數(shù)和變量可以不加模塊名fromAi
26、mportB,C,D#導入模塊A中的多個對象B,C,DfromAimport*#導入模塊A中的所有對象ifname=main#當.py文件被直接運行時,ifname=main:之下的代碼塊將被運行#當.py文件以模塊形式被導入時,ifname=main:之下的代碼塊不被運行七、文件讀寫文件讀寫三步驟第一步,打開文件第二步,讀(寫)文件第三步,關(guān)閉文件打開文件語法open(file,mode,encoding)# 打開文件f=open(/letter.txt,r,encoding=UTF-8)withopen()as?# 使用這種方式打開文件,可以不使用close()關(guān)閉文件withopen(/
27、letter.txt,r,encoding=UTF-8)asf:讀寫模式mode模式mode操作若不存在是含覆蓋r只能讀不能寫報錯rb卜Lr+二進制只讀可讀可寫報錯報錯是rb+二進制讀寫報錯是w只能寫不能讀創(chuàng)建文件是wb二進制只寫創(chuàng)建文件是w+wb+可讀一寫二進制讀寫創(chuàng)建文件創(chuàng)建文件是是a追加不能讀創(chuàng)建文件否,追加寫ab二進制追加不能讀創(chuàng)建文件否,追加寫a+可讀可,寫創(chuàng)建文件否,追加寫ab+二進制追加可讀可寫創(chuàng)建文件否,追加寫讀寫文件語法read()# 讀取文件內(nèi)容withopen(/letter.txt,r,encoding=UTF-8)asf:content=f.read()# 以字符串的
28、形式讀取文件內(nèi)容,將文件內(nèi)容賦值給變量readlines()# 以列表的方式讀取文件內(nèi)容withopen(/letter.txt,r,encoding=UTF-8)asf:content=f.readlines()write()# 清空文件內(nèi)容,并寫入字符串入內(nèi)容withopen(/letter.txt,r,encoding=UTF-8)asf:f.write(python)writelines()# 清空文件內(nèi)容,以列表的方式寫入#以列表的形式讀取文件內(nèi)容,將文件內(nèi)容賦值給變量contentcontentwithopen(/letter.txt,r,encoding=UTF-8)asf:f.writelines(python)關(guān)閉文件語法close()# 關(guān)閉文件csv文件讀寫的相關(guān)函數(shù)reader()#讀取csv文件的函數(shù)importcsv#導入csv模塊withopen(letter.csv)asf:reader=csv.reader(f)#讀取csv文件,將文件內(nèi)容賦值到readerwri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海造價咨詢合同樣本
- 農(nóng)村宅基地投資合同標準文本
- 前期策劃服務合同標準文本
- 公司提供宿舍合同樣本
- 農(nóng)村公園管護合同樣本
- 農(nóng)村房屋無償使用合同樣本
- 共享童車采購合同樣本
- 包子設備轉(zhuǎn)讓合同樣本
- 交學費合同范本
- 與人合伙開廠合同樣本
- 中建室內(nèi)電梯安裝專項方案
- 水利水電建筑工程基礎知識單選題100道及答案解析
- 手工考勤記錄表
- 浙江省溫州新力量聯(lián)盟2025屆高考英語二模試卷含解析
- TCUWA40055-2023排水管道工程自密實回填材料應用技術(shù)規(guī)程
- 2023年飛行員教員理論考試題庫(核心600題)
- 湖南省岳陽市2023-2024學年高三上學期教學質(zhì)量監(jiān)測(一)(一模) 英語 含解析
- 《創(chuàng)新教育教程》第三章-組合創(chuàng)造法-教案-
- 未成年人監(jiān)護狀況基本情況表、監(jiān)護人監(jiān)護能力等級評估表、評估報告
- 人教版三年級下冊數(shù)學期末考試卷帶答案
- 航空航天知識講座學習課件
評論
0/150
提交評論