物聯(lián)網(wǎng)Python編程實戰(zhàn) 課件 單元2 開啟Python之旅_第1頁
物聯(lián)網(wǎng)Python編程實戰(zhàn) 課件 單元2 開啟Python之旅_第2頁
物聯(lián)網(wǎng)Python編程實戰(zhàn) 課件 單元2 開啟Python之旅_第3頁
物聯(lián)網(wǎng)Python編程實戰(zhàn) 課件 單元2 開啟Python之旅_第4頁
物聯(lián)網(wǎng)Python編程實戰(zhàn) 課件 單元2 開啟Python之旅_第5頁
已閱讀5頁,還剩127頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python環(huán)境搭建Python物聯(lián)網(wǎng)什么是PythonPython可應用于多平臺windows

MacOSXLinuxPython安裝Window平臺安裝Python:

以下為在

Window平臺上安裝Python的簡單步驟:打開WEB瀏覽器訪問/downloads/windows/Python安裝下載后,雙擊下載包,進入Python安裝向?qū)?,安裝非常簡單,你只需要使用默認的設置一直點擊"下一步"直到安裝完成即可。1.雙擊下載好的安裝包2.選擇自定義安裝3.可選功能默認全選4.修改安裝路徑(一定要記得這個路徑)環(huán)境變量配置1.右鍵點擊“計算機”/“此電腦”--"屬性"2然后點擊"高級系統(tǒng)設置"3選擇“環(huán)境變量”—“系統(tǒng)變量”環(huán)境變量配置win7win104選擇“系統(tǒng)變量”窗口下面的“Path”,添加安裝路徑ps:記住,路徑直接用分號";"隔開!環(huán)境變量配置5驗證Win+R快捷鍵打開運行窗口,輸入cmd,點擊“確定”窗口打開后直接輸入“python”指令,可查看到版本說明配置成功常用Python編譯器SublimeTextIDLEVIMPyCharm常用編譯器比較SublimeText,比較適合Python新手使用,支持跨平臺,各種語法高亮和代碼補全(適合新手)IDLE

Pyhton自帶的一款編輯器VIM脫離鼠標,鍵盤操作,不足之處,需要一定的學習成本PyCharm

與IntelijIDEA(java常用的開發(fā)環(huán)境)出自同一家公司,很多大公在用PyCharm。專業(yè)版需要花錢購買。(企業(yè)使用較多)Python編譯器運行Python集成開發(fā)環(huán)境(IDE:IntegratedDevelopmentEnvironment):PyCharmPyCharm是由JetBrains打造的一款PythonIDE,支持macOS、Windows、Linux系統(tǒng)。PyCharm功能:調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制等等PyCharm下載地址:

/pycharm/download/PyCharm安裝地址:/w3cnote/pycharm-windows-install.html運行Python控制臺輸出代碼編輯工程目錄Python應用平臺Python的安裝Python的下載環(huán)境變量配置及Python運行Python變量類型江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)變量來源于數(shù)學,是計算機語言中能儲存計算結(jié)果或能表示值的抽象概念。而變量中存放的不同的值具有不同的數(shù)據(jù)類型,決定數(shù)據(jù)的意義以及可以在數(shù)據(jù)上執(zhí)行的操作。簡介標準數(shù)據(jù)類型ACDEFNumbers(數(shù)字)此處添加詳細文本描述,建議與標題相關(guān)并符合整體語言風格。List(列表)此處添加詳細文本描述,建議與標題相關(guān)并符合整體語言風格。Dictionary(字典)此處添加詳細文本描述,建議與標題相關(guān)并符合整體語言風格。String(字符串)此處添加詳細文本描述,建議與標題相關(guān)并符合整體語言風格。Tuple(元組)此處添加詳細文本描述,建議與標題相關(guān)并符合整體語言風格。Cset(集合)Python數(shù)字01030402int(長整型)此處添加詳細文本描述,建議與標題相關(guān)并符合整體語言風格。float(浮點型)整體語言風格。Bool(True或False)complex(復數(shù))此處添加詳細文本描述,建議與標題相關(guān)并符合整體語言風格。a=20

print(type(a))

print(isinstance(a,int))<class'int'>Trueprint(True==1)

print(False==0)

print(True+1)

print(False+1)TrueTrue21變量命名標識符變量的命名規(guī)則Python標識符字符串規(guī)則和C語言相似:第一個字符必須是字母或下劃線(_)剩下的字符可以是字母和數(shù)字或下劃線大小寫敏感見名知意駝峰命名法在程序員中還有一種命名法比較流行,就是用下劃線“_”來連接,如:send_buf小駝峰式命名法(lowercamelcase):第一個單詞以小寫字母開始;第二個單詞的首字母大寫,例如:myName、aDog大駝峰式命名法(uppercamelcase):每一個單字的首字母都采用大寫字母,例如:FirstName、LastName變量賦值Python中的變量賦值不需要類型聲明。#!/usr/bin/python

#-*-coding:UTF-8-*-

counter

=100

#賦值整型變量

miles

=1000.0

#浮點型

name

="John"

#字符串

print

counter

print

miles

print

name變量名=存儲在變量中的值每個變量在內(nèi)存中創(chuàng)建,都包括變量的標識,名稱和數(shù)據(jù)這些信息。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。多個變量賦值Python允許你同時為多個變量賦值:a=b=c=1以上實例,創(chuàng)建一個整型對象,值為1,三個變量被分配到相同的內(nèi)存空間上。也可以為多個對象指定多個變量:a,b,c=1,2,"john"以上實例,兩個整型對象1和2分別分配給變量a和b,字符串對象"john"分配給變量c。Python標準數(shù)據(jù)類型Python變量命名Python變量分類Python變量賦值Python運算符江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)運算符是用于執(zhí)行程序的代碼運算,可以通過給出的一或多個值來產(chǎn)生另一個值,運算是程序設計的基礎(chǔ)概念Python運算符算術(shù)運算符比較(關(guān)系)運算符賦值運算符邏輯運算符位運算符成員運算符身份運算符Python語言支持以下類型的運算符:算數(shù)運算符以下假設變量

a=10,變量

b=21:運算符描述實例+加-兩個對象相加a+b輸出結(jié)果31-減-得到負數(shù)或是一個數(shù)減去另一個數(shù)a-b輸出結(jié)果-11*乘-兩個數(shù)相乘或是返回一個被重復若干次的字符串a(chǎn)*b輸出結(jié)果210/除-x除以yb/a輸出結(jié)果2.1%取模-返回除法的余數(shù)b%a輸出結(jié)果1**冪-返回x的y次冪a**b為10的21次方//取整除-向下取接近商的整數(shù)>>>

9//2

4>>>

-9//2

-5比較運算符以下假設變量

a為10,變量

b為20。運算符描述實例==等于-比較對象是否相等(a==b)返回False!=不等于-比較兩個對象是否不相等(a!=b)返回True>大于-返回x是否大于y(a>b)返回False<小于-返回x是否小于y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。注意,這些變量名的大寫。(a<b)返回True>=大于等于-返回x是否大于等于y。(a>=b)返回False<=小于等于-返回x是否小于等于y。(a<=b)返回True賦值運算符以下假設變量

a為10,變量

b為20。運算符描述實例=簡單的賦值運算符c=a+b將a+b的運算結(jié)果賦值為c+=加法賦值運算符c+=a等效于c=c+a-=減法賦值運算符c-=a等效于c=c-a*=乘法賦值運算符c*=a等效于c=c*a/=除法賦值運算符c/=a等效于c=c/a%=取模賦值運算符c%=a等效于c=c%a**=冪賦值運算符c**=a等效于c=c**a//=取整除賦值運算符c//=a等效于c=c//a:=海象運算符,可在表達式內(nèi)部為變量賦值。Python3.8版本新增運算符。在這個示例中,賦值表達式可以避免調(diào)用len()兩次:if

(n

:=len(a))

>

10:

print(f"Lististoolong({n}elements,expected<=10)")位運算符運算符描述&按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結(jié)果為1,否則為0|按位或運算符:只要對應的二個二進位有一個為1時,結(jié)果位就為1。^按位異或運算符:當兩對應的二進位相異時,結(jié)果為1~按位取反運算符:對數(shù)據(jù)的每個二進制位取反,即把1變?yōu)?,把0變?yōu)?。<<左移動運算符:運算數(shù)的各二進位全部左移若干位,由"<<"右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。>>右移動運算符:把">>"左邊的運算數(shù)的各二進位全部右移若干位,">>"右邊的數(shù)指定移動的位數(shù)位運算符下表中變量a為60,b為13a,b二進制格式如:a=

0011

1100b=

0000

1101則a與b參與位運算a&b=

0000

1100

a|b=

0011

1101a^b=

0011

0001

~a=

1100

0011

a&b

0011

1100(&)

0000

1101

0000

1100位運算符下表中變量a為60,a二進制格式如:a=

0011

1100a>>2

0011

1100

00

0011

11

00補0移走右移2位之后:0000

1111

邏輯運算符運算符邏輯表達式描述實例andxandy布爾"與"-如果x為False,xandy返回x的值,否則返回y的計算值。(aandb)返回20orxory布爾"或"-如果x是True,它返回x的值,否則它返回y的計算值(aorb)返回10notnotx布爾"非"-如果x為True,返回False。如果x為False,它返回Truenot(aandb)返回False以下假設變量

a為10,變量

b為20。成員運算符運算符描述實例in如果在指定的序列中找到值返回True,否則返回False。x在y序列中,如果x在y序列中返回True。notin如果在指定的序列中沒有找到值返回True,否則返回False。x不在y序列中,如果x不在y序列中返回True。a=10

list

=[1,2,3,4,5

]

if

(

a

in

list

):

print

("變量a在給定的列表中l(wèi)ist中")

else:

print

("變量a不在給定的列表中l(wèi)ist中")i語句表達式成立。輸出結(jié)果為:變量a不在給定的列表中l(wèi)ist中

身份運算符運算符描述實例isis是判斷兩個標識符是不是引用自一個對象xisy,類似

id(x)==id(y)

,如果引用的是同一個對象則返回True,否則返回Falseisnotisnot是判斷兩個標識符是不是引用自不同對象xisnoty

,類似

id(a)!=id(b)。如果引用的不是同一個對象則返回結(jié)果True,否則返回False。身份運算符#!/usr/bin/python3

a

=20

b

=20

if

(

a

is

b

):

print

("1-a和b有相同的標識")

else:

print

("1-a和b沒有相同的標識")

if

(id(a)==id(b)):

print

("2-a和b有相同的標識")

else:

print

("2-a和b沒有相同的標識")

#修改變量b的值

b

=30

if

(

a

is

b

):

print

("3-a和b有相同的標識")

else:

print

("3-a和b沒有相同的標識")

if

(

a

is

not

b

):

print

("4-a和b沒有相同的標識")

else:

print

("4-a和b有相同的標識")程序運行結(jié)果:1

-a和b有相同的標識

2

-a和b有相同的標識

3

-a和b沒有相同的標識

4

-a和b沒有相同的標識

說明:id()

函數(shù)用于獲取對象內(nèi)存地址。身份運算符is與==區(qū)別:is用于判斷兩個變量引用對象是否為同一個,==用于判斷引用變量的值是否相等。>>>a=[1,2,3]

>>>b=a[:]>>>b

is

a

False

>>>b==a

True>>>a=[1,2,3]

>>>b=a>>>b

is

a

True

>>>b==a

True

b=a表示賦值,將a的引用對象賦值給b。(引用對象為同一個)b=a[:]復制,將a列表從首元素到最后一個元素復制給b。(值相同)運算符優(yōu)先級運算符描述**指數(shù)(最高優(yōu)先級)~+-按位翻轉(zhuǎn),一元加號和減號(最后兩個的方法名為+@和-@)*/%//乘,除,求余數(shù)和取整除+-加法減法>><<右移,左移運算符&位'AND'^|位運算符<=<>>=比較運算符==!=等于運算符=%=/=//=-=+=*=**=賦值運算符isisnot身份運算符innotin成員運算符notandor邏輯運算符Python字符串定義Python字符串連接與切片Python字符串索引Python常用方法Python條件控制江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊概念Python條件控制開始條件條件代碼塊if

語句ifcondition_1:

statement_block_1elifcondition_2:

statement_block_2else:

statement_block_3Python中用

elif

代替了

elseif,所以if語句的關(guān)鍵字為:if–elif–else,其中elif可以有若干個。注意:1.每個條件后面要使用冒號:,表示接下來是滿足條件后要執(zhí)行的語句塊。2.使用縮進來劃分語句塊,相同縮進數(shù)的語句在一起組成一個語句塊。3.在Python中沒有switch–case語句。if

語句if

語句嵌套if

表達式1:

語句

if表達式2:

語句

elif表達式3:

語句

else:

語句

elif

表達式4:

語句

else:

語句

#!/usr/bin/python3

num=int(input("輸入一個數(shù)字:"))

if

num%2==0:

if

num%3==0:

print

("你輸入的數(shù)字可以整除2和3")

else:

print

("你輸入的數(shù)字可以整除2,但不能整除3")

else:

if

num%3==0:

print

("你輸入的數(shù)字可以整除3,但不能整除2")

else:

print

("你輸入的數(shù)字不能整除2和3")運行以上程序后輸入一個數(shù)字:6

你輸入的數(shù)字可以整除

2

3

ifnum%3==0:print("你輸入的數(shù)字可以整除2和3")

練習編程實現(xiàn):輸入一個溫度(F表示華氏溫度,C表示攝氏溫度)輸出轉(zhuǎn)換后的溫度。計算公式為:C=(F-32)/9*5

=9×℃/5+32

Python條控制語句if語句示例if語句If語句嵌套Python循環(huán)語句江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)循環(huán)循環(huán):事物周而復始地運動和變化概念Python循環(huán)Python的循環(huán)語句有for和while。開始條件條件代碼TrueFalsewhile循環(huán)while循環(huán)一般形式while

判斷條件(condition):

執(zhí)行語句(statements)

……

While循環(huán)同樣需要注意冒號和縮進。另外,在Python中沒有do..while循環(huán)while循環(huán)while循環(huán)實現(xiàn)1到100的總和#!/usr/bin/envpython3

sum

=0

counter=1

whilecounter<=100:sum=sum+countercounter+=1print("1到%d之和為:%d"%(n,sum))While循環(huán)#!/usr/bin/python3var=1whilevar==1:#表達式永遠為true

num=int(input("輸入一個數(shù)字:"))

print("你輸入的數(shù)字是:",num)print("Goodbye!")無限循環(huán)while循環(huán)使用else語句while<expr>:

<statement(s)>else:

<additional_statement(s)>簡單語句組flag=1while(flag):print('歡迎!')for循環(huán)for臨時變量in

序列:循環(huán)滿足條件時執(zhí)行的代碼for循環(huán)一般格式for循環(huán)使用else語句for

臨時變量in序列:循環(huán)滿足條件時執(zhí)行的代碼else:循環(huán)不滿足條件時執(zhí)行的代碼For循環(huán)作用:遍歷序列(字符串、列表、元組、字典…)for循環(huán)

range()函數(shù)>>>foriinrange(5,9):print(i)...5678>>>foriinrange(0,10,3):print(i)...

0369>>>foriinrange(5):...print(i)...01234生成數(shù)列指定區(qū)間的值(左閉右開)指定區(qū)間的,帶步長for循環(huán)for循環(huán)實現(xiàn)1到100的總和#!/usr/bin/envpython3

sum

=0

forninrange(1,101):

sum=sum+nprint("1到100之和為:%d"%sum)Python循環(huán)for循環(huán)while循環(huán)循環(huán)應用Python循環(huán)嵌套江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)Python語言允許一個循環(huán)體里面嵌套另一個循環(huán)體。概念循環(huán)嵌套4種形式for循環(huán)嵌套for循環(huán)foriterating_varinsequence:foriterating_varinsequence:statements(s)statements(s)while循環(huán)嵌套while循環(huán)whileexpression:whileexpression:statement(s)statement(s)for循環(huán)嵌套while循環(huán)foriterating_varinsequence:whileexpression:statements(s)statements(s)while循環(huán)嵌套for循環(huán)whileexpression:foriterating_varinsequence:statements(s)statements(s)循環(huán)嵌套應用打印99乘法表(for和while相互嵌套)外層循環(huán):乘法表行數(shù),1~9行。內(nèi)層循環(huán):乘法表列數(shù),1

~i列。循環(huán)嵌套應用內(nèi)循環(huán):乘法表列數(shù)(j),1

~i列。foriin

range(1,10):forjin

range(1,i+1):外循環(huán):乘法表行數(shù)(i),1~9行。第二個乘數(shù)是所在的行(i)print(j,'*',i,'=',i*j,end='\t')fori

inrange(1,10):

forj

inrange(1,i+1):

print(j,'*',i,'=',i*j,end='\t')

print()第一個乘數(shù)是所在的列(j)循環(huán)嵌套應用循環(huán)嵌套應用循環(huán)嵌套應用print('************************以下是while循環(huán)嵌套************************')i=1whilei<10:

j=1#初始化內(nèi)循環(huán)變量,因j每次都要從1開始,故j只能寫在外循環(huán)內(nèi)部與內(nèi)循環(huán)平級

whilej<i+1:

print(j,'*',i,'=',i*j,end='\t')

j+=1

print()

i+=1#while循環(huán)嵌套循環(huán)嵌套應用#while嵌套forprint('*'*30+'while嵌套for'+'*'*30)i=1whilei<10:

forjinrange(1,i+1):print(j,'*',i,'=',i*j,end='\t')print()

i+=1#for嵌套whileprint(('*'*30+for嵌套while'+'*'*30)foriinrange(1,10):j=1

whilej<i+1:print(j,'*',i,'=',i*j,end='\t')

j+=1print()循環(huán)嵌套循環(huán)嵌套四種方式輸出9*9乘法表Pythonbreak、continue、pass江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)break、continue、pass概念breakbreak

語句可以跳出for和while的循環(huán)體。循環(huán)語句可以有else子句,當循環(huán)條件變?yōu)閒alse時,循環(huán)終止后會執(zhí)行else后的語句,但循環(huán)被break終止時不執(zhí)行else后的語句。continuecontinue

語句被用來告訴Python跳過當前循環(huán)塊中的剩余語句,然后繼續(xù)進行下一輪循環(huán)。Continue與breakcontinue

結(jié)束一次循環(huán);break結(jié)束整個循環(huán)。Continue與breakn=5whilen>0:n=n-

1ifn==2:

breakprint(n)print('循環(huán)結(jié)束。')43循環(huán)結(jié)束。n=5whilen>0:n=n-

1ifn==2:

continueprint(n)print('循環(huán)結(jié)束。')4310循環(huán)結(jié)束。注意:結(jié)束循環(huán)

結(jié)束一次循環(huán),意義完全不同passpass是空語句,不做任何事情,一般用做占位語句,是為了保持程序結(jié)構(gòu)的完整性。>>>whileTrue:...pass#等待鍵盤中斷(Ctrl+C)breakcontinuepassPython異常江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)異常處理異常捕捉可以使用

try/except

語句概念try/except

語句try/except

語句importsys

try:

f=open('myfile.txt')

s=f.readline()

i=int(s.strip())

exceptOSErroraserr:

print("OSerror:{0}".format(err))

exceptValueError:

print("Couldnotconvertdatatoaninteger.")

except:

print("Unexpectederror:",sys.exc_info()[0])

raiseOSerror:[Errno2]Nosuchfileordirectory:'myfile.txt'1.當程序路徑下沒有myfile.txt文件時:ValueErrorCouldnotconvertdatatoaninteger.2.文件夾存在但是內(nèi)容不能轉(zhuǎn)成整數(shù),如文件中的內(nèi)容如下:try/except...elsetry/except...elseimportsys

try:

f=open('myfile.txt','r')

exceptOSErroraserr:

print("OSerror:{0}".format(err))

except:

print("Unexpectederror:",sys.exc_info()[0])

raise

else:

print("runningOk!")try-finally語句try-finally語句try:

str="你好"

print(int(str))

exceptExceptionaserror:

print("捕獲異常:"+error)

else:

print("沒有捕獲到異常")

finally:

print('這句話,無論異常是否發(fā)生都會執(zhí)行。')拋出異常raiseraise

[Exception

[,args[,traceback]]]

x

=

10

if

x

>

5:

raise

Exception('x不能大于5。x的值為:{}'.format(x))Traceback

(mostrecentcalllast):

File

"test.py",line3,

in

<module>

raise

Exception('x不能大于5。x的值為:{}'.format(x))

Exception:x不能大于

5。x的值為:

10

try-excepttry/except...else--finallytry/except...elseraisePython模塊江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)模塊是一個包含所有定義的函數(shù)和變量的文件,其后綴名是.py。模塊可以被別的程序引入,以使用該模塊中的函數(shù)等功能。這也是使用python標準庫的方法。概念import語句當解釋器遇到import語句,如果模塊在當前的搜索路徑就會被導入。importmodule1[,module2[,...moduleN]

#!/usr/bin/python3

#Filename:demo.py

defprint_func(par):

print("Hello:",par)

return#!/usr/bin/python3

#Filename:test.py

#導入模塊

importdemo

#現(xiàn)在可以調(diào)用模塊里包含的函數(shù)了

demo.print_func("libo")Hello:libofrom…import語句Python的from語句可以實現(xiàn)從模塊中導入一個指定的部分到當前命名空間中,語法如下#!/usr/bin/python3

#Filename:demo.py

defprint_func(par):

print("Hello:",par)

return

defprint_part(bar):

print("hi:",bar)

return#!/usr/bin/python3

#Filename:test.py

#導入模塊

fromdemoimportprint_part

#現(xiàn)在可以調(diào)用模塊里包含的函數(shù)了

print_part("libo")

frommodnameimportname1[,name2[,

...nameN]]

from…import*語句把一個模塊的所有內(nèi)容全都導入到當前的命名空間也是可行的,只需使用如下聲明#!/usr/bin/python3

#Filename:demo.py

defprint_func(par):

print("Hello:",par)

return

defprint_part(bar):

print("hi:",bar)

returnfrommodnameimport

*

#!/usr/bin/python3

#Filename:test.py

#導入模塊

fromdemoimport*

#現(xiàn)在可以調(diào)用模塊里包含的函數(shù)了

print_part("libo")

print_func("wantin")模塊反思模塊作用1:為了編寫可維護的代碼,我們把很多函數(shù)分組,分別放到不同的文件里,這樣每個.py文件包含的代碼就相對較少;模塊作用2:大大提高了代碼的可維護性;模塊作用3:避免函數(shù)名和變量名沖突。相同名字的函數(shù)和變量完全可以分別存在不同的模塊中。分功而治,模塊間互相引用,突破“零代碼”工程,加快項目構(gòu)建;一帶一路不斷拓展合作區(qū)域與領(lǐng)域,共商、共享、共建。截至2021年10月26日,中國與140個國家和32國際組織,簽署了206份共建“一帶一路”合作文件Python數(shù)字、Python字符串Python元組Python列表Python字典Python文件江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)文件的打開和創(chuàng)建文件讀取文件寫入內(nèi)容查找和替換概念文件打開與關(guān)閉open()方法用于打開一個文件,并返回文件對象,完整的語法格式為:open("test.txt",mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)file:

必需,文件路徑(相對或者絕對路徑)。mode:

可選,文件打開模式buffering:設置緩沖encoding:一般使用utf8errors:

報錯級別newline:

區(qū)分換行符closefd:

傳入的file參數(shù)類型opener:

設置自定義開啟器,開啟器的返回值必須是一個打開的文件描述符。注意:使用open()方法一定要保證關(guān)閉文件對象,即調(diào)用close()方法open()函數(shù)常用形式是接收兩個參數(shù):文件名(file)和模式(mode)文件打開與關(guān)閉file=open("./test.txt")

print(file.read())

file.close()文件打開(讀)與關(guān)閉fileObject.read([size]);

參數(shù)size

--從文件中讀取的字符數(shù)(文本模式)或字節(jié)數(shù)(二進制模式),默認為

-1,表示讀取整個文件文件打開與關(guān)閉常用打開模式::模式描述t文本模式(默認)。x寫模式。b二進制模式。+打開一個文件進行更新(可讀可寫)。U通用換行模式(Python3不支持)。r以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。rb以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。這是默認模式。一般用于非文本文件如圖片等。r+打開一個文件用于讀寫。文件指針將會放在文件的開頭。rb+以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭。一般用于非文本文件如圖片等。w打開一個文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。wb以二進制格式打開一個文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。w+打開一個文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。wb+以二進制格式打開一個文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。a打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進行寫入。ab以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進行寫入。a+打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結(jié)尾。文件打開時會是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。ab+以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。r只能讀

r+可讀可寫,不會創(chuàng)建不存在的文件,從頂部開始寫,會覆蓋之前此位置的內(nèi)容w只能寫,覆蓋整個文件,不存在則創(chuàng)建

w+可讀可寫,如果文件存在,則覆蓋整個文件,不存在則創(chuàng)建

a只能寫,從文件底部添加內(nèi)容不存在則創(chuàng)建

a+可讀可寫從文件頂部讀取內(nèi)容從文件底部添加內(nèi)容不存在則創(chuàng)建文件寫入file=open("./test.txt",'w')

file.write("good")file.close()file=open("./test.txt",'a')

file.write("good")file.close()注意:‘a(chǎn)’和‘w’的區(qū)別,

‘w’模式會將文件中的內(nèi)容清空

‘a(chǎn)’模式會在原文件內(nèi)容的末尾追加寫入文件內(nèi)容查找查找文件中“hello”的個數(shù)importre

fp=open(“test.txt”,“r”)

count=0

forsinfp.readlines():

print(count)

fp.close()li=re.findall("hello",s)

if(len(li)>0):

count=count+len(li)文件內(nèi)容替換文件替換:把文件test.txt中的hello替換為csvt,并保存在test1.txt中fp1=open("test.txt","r")

fp2=open("test1.txt","w")

fp1.close()

fp2.close()forsinfp1.readlines():

fp2.write(s.replace("hello","csvt"))文件內(nèi)容替換1.代碼極簡2.長度極簡生活應刪繁就簡,極簡不是沒有追求,而是用最快捷的方法做最有效的事情,我們把有限的精力,最大限度的做一些有意義的事,從而獲得更大的快樂和幸福。文件操作反思文件替換:把文件test.txt中的hello替換為csvt,并保存在當前文件中fp1=open("test.txt","r+")

fp1.close()s=fp1.read()fp1.seek(0,0)fp1.write(s.replace("hello","csvt"))文件打開與創(chuàng)建文件內(nèi)容查找文件讀寫文件內(nèi)容替換Python函數(shù)江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)函數(shù)是組織好的,可重復使用的,用來實現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。函數(shù)能提高應用的模塊性,和代碼的重復利用率。概念匿名函數(shù)python使用lambda來創(chuàng)建匿名函數(shù)。所謂匿名,意即不再使用def語句這樣標準的形式定義一個函數(shù)。lambda只是一個表達式,函數(shù)體比def簡單很多。lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。lambda函數(shù)擁有自己的命名空間,且不能訪問自己參數(shù)列表之外或全局命名空間里的參數(shù)。匿名函數(shù)lambda函數(shù)的語法只包含一個語句,如下:lambda

[arg1[,arg2,.....argn]]:expression

#可寫函數(shù)說明

sum=lambdaarg1,arg2:arg1+arg2

#調(diào)用sum函數(shù)

print("相加后的值為:",sum(10,20))

print("相加后的值為:",sum("hello","world"))相加后的值為:30相加后的值為:helloworldreturn語句return[表達式]

語句用于退出函數(shù),選擇性地向調(diào)用方返回一個表達式。不帶參數(shù)值的return語句返回Nonedefmax(a,b):

ifa>b:

returna

else:

returnb

a=4

b=5

print(max(a,b))謝謝觀看Python函數(shù)參數(shù)江蘇電子職業(yè)學院Python物聯(lián)網(wǎng)函數(shù)是組織好的,可重復使用的,用來實現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。函數(shù)能提高應用的模塊性,和代碼的重復利用率。概念參數(shù)以下是調(diào)用函數(shù)時可使用的正式參數(shù)類型:必需參數(shù)關(guān)鍵字參數(shù)默認參數(shù)不定長參數(shù)必須參數(shù)#!/usr/bin/python3

#可寫函數(shù)說明

defprintme(str):

"打印任何傳入的字符串"

print(str)

return

#調(diào)用printme函數(shù),不加參數(shù)會報錯

printme()Traceback(mostrecentcalllast):File"E:\codetest\pythondemo\demo1.py",line10,in<module>printme()TypeError:printme()missing1requiredpositionalargument:'str'printme("helloworld")默認參數(shù)#可寫函數(shù)說明

defprintinfo(name,age=31):

"打印任何傳入的字符串"

print("名字:",name)

print("年齡:",age)

return

#調(diào)用printinfo函數(shù)

printinfo(age=30,name="Libo")

print("------------------------")

printinfo(name="wantin")名字:Libo年齡:30------------------------名字:wantin年齡:31不定長參數(shù)如果需要一個函數(shù)能處理比當初聲明時更多的參數(shù)。這些參數(shù)叫做不定長參數(shù)。基本語法如下:deffunctionname([formal_args,]*var_args_tuple):

"函數(shù)_文檔字符串"

function_suite

return[expression]#可寫函數(shù)說明

defprintinfo(arg1,*vartuple):

"打印任何傳入的參數(shù)"

print("輸出:")

print(arg1)

print(vartuple)

#調(diào)用printinfo函數(shù)

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論