日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
零基礎(chǔ)入門Python I/O:從Print函數(shù)開始

 計(jì)算機(jī)程序用于執(zhí)行任務(wù),是滿足人類需求的工具。有信息的輸入,程序才能接收指令、理解需求;有信息的輸出,運(yùn)行結(jié)果才能被反饋給用戶。在編程中,信息輸入操作稱為Input,輸出操作稱為Output,統(tǒng)稱為Input/Output,簡寫為I/O。

10年積累的成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有東明免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

相比其他語言,Python中的I/O操作更加簡單方便,通過簡單的指令就可以實(shí)現(xiàn)基本的輸入輸出。此外,I/O并不僅僅指信息鍵入和打印信息,還包括文件的輸入輸出。

01 input與print

1. input

input函數(shù)在用于交互式的信息鍵入時(shí),相當(dāng)于一個(gè)容器,用戶從鍵盤輸入的信息先存放在容器中,再被變量引用。

input函數(shù)可以接納多種數(shù)據(jù)類型,包括number、str等基礎(chǔ)類型,及l(fā)ist、tuple、dict、set等復(fù)合類型。使用input函數(shù)時(shí),可以在括號內(nèi)添加str以提示輸入。需要注意的是,Python 3.x中的input函數(shù)將所有接收的數(shù)據(jù)都默認(rèn)為str,如下所示。

  • 輸入不同數(shù)據(jù)類型

 
 
 
  1. # 輸入一個(gè)數(shù)字,由Python默認(rèn)類型 
  2. number1 = input('請輸入一個(gè)數(shù)字:') 

輸出結(jié)果:

 
 
 
  1. 請輸入一個(gè)數(shù)字:1 

 
 
 
  1. # 輸入一個(gè)str,由Python默認(rèn)類型 
  2. str1 = input('請輸入一個(gè)字符串:') 

輸出結(jié)果:

 
 
 
  1. 請輸入一個(gè)字符串:1 

 
 
 
  1. # 輸入一個(gè)數(shù)字,并將其轉(zhuǎn)換為int類型 
  2. number2 = int(input('請輸入一個(gè)數(shù)字:')) 

輸出結(jié)果:

 
 
 
  1. 請輸入一個(gè)數(shù)字:123 

 
 
 
  1. # 查看以上輸入的輸出結(jié)果類型 
  2. print('number1、str1和number2的類型分別為:\n', 
  3.     type(number1), type(str1), type(number2))     

輸出結(jié)果:

 
 
 
  1. number1、str1和number2的類型分別為: 
  2.        

從輸出結(jié)果可知,在str1變量中,盡管輸入的不是str,也被默認(rèn)為str。要得到需要的數(shù)據(jù)類型,必須做類型轉(zhuǎn)換。

2. print

給一個(gè)變量賦值后,如需查詢變量的內(nèi)容,只需要鍵入變量名并按回車鍵即可,稱為表達(dá)式語句的輸出。使用print函數(shù)是更受歡迎的輸出方式,可以實(shí)現(xiàn)多樣化的輸出操作。

使用print函數(shù)進(jìn)行輸出操作時(shí),可以在函數(shù)的括號中插入str以向屏幕上輸出指定的文字,比如打印“hello,world!”的程序;要輸出被賦值的變量,則在print函數(shù)的括號中插入變量名即可。

print函數(shù)也可以接收多個(gè)str,需要用逗號隔開,print函數(shù)會依次打印每個(gè)str,遇到逗號則輸出一個(gè)空格,因此輸出的str是拼起來的。print函數(shù)也可以自動計(jì)算結(jié)果,運(yùn)行“print(number1+number2)”語句,解釋器會自動計(jì)算出相加的結(jié)果后輸出。print函數(shù)的應(yīng)用代碼如下所示。

  • print函數(shù)應(yīng)用

 
 
 
  1. # print函數(shù)接收多個(gè)str 
  2. print('我', '愛', '中華')  

輸出結(jié)果:

 
 
 
  1. 我 愛 中華 

 
 
 
  1. # print函數(shù)在打印前計(jì)算結(jié)果 
  2. print('100+200 =', 100 + 200) 

輸出結(jié)果:

 
 
 
  1. 100+200 = 300 

格式化輸出是計(jì)算機(jī)輸出中的一個(gè)重要概念,主要針對str。其運(yùn)行機(jī)制為:使用占位符在str中進(jìn)行占位,再用數(shù)值或字符替換占位符,重組str后輸出。

這種輸出方法主要是為了方便修改語句,減少編寫代碼的工作量,并且包含自動取位、轉(zhuǎn)換進(jìn)制等功能。Python中的格式化輸出方法有兩種,即“%+格式符”的方法和format函數(shù)方法。

“%+格式符”的方法是一種較早的格式化輸出方法,使用方式是在百分號(%)后加上相應(yīng)的格式符以占位,再進(jìn)行替換和輸出。Python中的格式符如下所示。

  • Python格式符
  • str
  • %s:字符串(采用str函數(shù)的顯示)
  • %r:字符串(采用repr函數(shù)的顯示)
  • %c:單個(gè)字符
  • 整數(shù)
  • %b:二進(jìn)制整數(shù)
  • %d:十進(jìn)制整數(shù)
  • %i:十進(jìn)制整數(shù)
  • %o:八進(jìn)制整數(shù)
  • %x:十六進(jìn)制整數(shù)
  • float
  • %e:指數(shù)(基底寫為e)
  • %E:指數(shù)(基底寫為E)
  • %f:浮點(diǎn)數(shù)
  • %F:浮點(diǎn)數(shù)

%g:指數(shù)(e)或浮點(diǎn)數(shù)(根據(jù)顯示長度)

由此可知,Python中的格式符可分別用于str、整數(shù)和float輸出。使用“%+格式符”的方法進(jìn)行格式化輸出,如下所示。

  • “%+格式符”格式化輸出

 
 
 
  1. # 用%s、%d分別格式化字符串'Zara'和整數(shù)20 
  2. print("我的名字叫作%s,已經(jīng)%d歲了!"%('Zara',20)) 

輸出結(jié)果:

 
 
 
  1. 我的名字叫作Zara,已經(jīng)20歲了! 

 
 
 
  1. # 用%d格式化16,用%o將十進(jìn)制整數(shù)16用八進(jìn)制數(shù)表示 
  2. print("%d 的八進(jìn)制是 %o"%(16,16)) 

輸出結(jié)果:

 
 
 
  1. 16 的八進(jìn)制是 20 

 
 
 
  1. # 用%.3f將整數(shù)轉(zhuǎn)化為保留小數(shù)點(diǎn)后3位的float 
  2. print("23 轉(zhuǎn)化為保留3位小數(shù)的浮點(diǎn)數(shù)%.3f"%(23)) 

輸出結(jié)果:

 
 
 
  1. 23轉(zhuǎn)化為保留3位小數(shù)的浮點(diǎn)數(shù)23.000 

format函數(shù)是更為強(qiáng)大的格式化輸出工具,format函數(shù)收集位置參數(shù)和關(guān)鍵字參數(shù)的任意集合,使用它們的值替換str中的占位符。該方法使用大括號({})作為特殊字符代替%,{}中可以不帶參數(shù)、帶數(shù)字編號或帶關(guān)鍵字編號進(jìn)行占位和替換,前兩種屬于位置替換方法,后一種屬于關(guān)鍵字替換方法。

format函數(shù)也支持格式符,如下所示。

  • format函數(shù)格式符
  • 'c':字符。打印前將整數(shù)轉(zhuǎn)換成對應(yīng)的Unicode字符串
  • 'b':二進(jìn)制。將數(shù)字以2為基數(shù)進(jìn)行輸出
  • 'o':八進(jìn)制。將數(shù)字以8為基數(shù)進(jìn)行輸出
  • 'd':十進(jìn)制。將數(shù)字以10為基數(shù)進(jìn)行輸出
  • 'x':十六進(jìn)制。將數(shù)字以16為基數(shù)進(jìn)行輸出,9以上的位數(shù)用小寫字母表示
  • 'e':冪符號。用科學(xué)計(jì)數(shù)法打印數(shù)字。用'e'表示冪
  • 'g':一般格式。將數(shù)值以fixed-point格式輸出,數(shù)值特別大時(shí)用冪形式打印
  • 'n':數(shù)字。值為整數(shù)則等效于'd',為float則等效于'g'。
  • '%':百分?jǐn)?shù)。數(shù)值乘以100后以fixed-point('f')格式打印,值后有一個(gè)百分號

使用format函數(shù)進(jìn)行格式化輸出的基本操作,如下所示。

  • format函數(shù)格式化輸出

 
 
 
  1. # format函數(shù)不帶參數(shù)情況下的輸出 
  2. print("我的名字叫作{},已經(jīng){}歲了!".format('Zara', 18)) 

輸出結(jié)果:

 
 
 
  1. 我的名字叫作Zara,已經(jīng)20歲了! 

 
 
 
  1. # format函數(shù)帶數(shù)字編號并打亂順序 
  2. print("我的名字叫作{1},已經(jīng){0}歲了!".format(18, 'Zara')) 

輸出結(jié)果:

 
 
 
  1. 我的名字叫作Zara,已經(jīng)20歲了! 

 
 
 
  1. # foemat函數(shù)帶關(guān)鍵字參數(shù) 
  2. print("我的名字叫作{name},已經(jīng){age}歲了!".format(age=18,name='Zara')) 

輸出結(jié)果:

 
 
 
  1. 我的名字叫作Zara,已經(jīng)20歲了! 

 
 
 
  1. # format函數(shù)格式化數(shù)字為二進(jìn)制數(shù) 
  2. print("我的名字叫作{},已經(jīng){:b}歲了!".format('Zara', 18)) 

輸出結(jié)果:

 
 
 
  1. 我的名字叫作Zara,已經(jīng)10010歲了! 

02 文件I/O

1. open

內(nèi)置函數(shù)open的作用是打開一個(gè)文件,創(chuàng)建一個(gè)file對象以進(jìn)行調(diào)用。在打開文件的基礎(chǔ)上,后續(xù)的文件讀寫操作才可以實(shí)現(xiàn)。open函數(shù)的基本語法格式如下:

open(filename, mode)

open函數(shù)常用的參數(shù)及其說明如下所示。

  • open函數(shù)常用的參數(shù)及其說明
  • filename:接收文件名,表示文件名稱。無默認(rèn)值
  • mode:接收模式名,表示文件打開模式。默認(rèn)為只讀

filename表示包含要訪問的文件名稱。mode決定打開文件的模式,這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)的文件訪問模式為只讀(r),其可取值如下所示。

  • 文件訪問模式及其說明
  • r:以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認(rèn)模式
  • rb:以二進(jìn)制格式打開一個(gè)文件用于只讀。文件指針將會放在文件的開頭。這是默認(rèn)模式
  • r+:打開一個(gè)文件用于讀寫。文件指針將會放在文件的開頭
  • rb+:以二進(jìn)制格式打開一個(gè)文件用于讀寫。文件指針將會放在文件的開頭
  • w:打開一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋;如果該文件不存在,則創(chuàng)建新文件
  • wb:以二進(jìn)制格式打開一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋;如果該文件不存在,則創(chuàng)建新文件
  • w+:打開一個(gè)文件用于讀寫。如果該文件已存在則將其覆蓋;如果該文件不存在,則創(chuàng)建新文件
  • wb+:以二進(jìn)制格式打開一個(gè)文件用于讀寫。如果該文件已存在則將其覆蓋;如果該文件不存在,則創(chuàng)建新文件
  • a:打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾,也就是說,新的內(nèi)容將會被寫到已有內(nèi)容之后;如果該文件不存在,則創(chuàng)建新文件進(jìn)行寫入
  • ab:以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾,也就是說,新的內(nèi)容將會被寫到已有內(nèi)容之后;如果該文件不存在,則創(chuàng)建新文件進(jìn)行寫入
  • a+:打開一個(gè)文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結(jié)尾,文件打開時(shí)會是追加模式;如果該文件不存在,則創(chuàng)建新文件用于讀寫
  • ab+:以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾;如果該文件不存在,則創(chuàng)建新文件用于讀寫

2. read

在Python中,讀取文件的內(nèi)容需要以只讀的模式先打開一個(gè)文件,可以用open函數(shù)傳入文件名和模式標(biāo)識符,再用read函數(shù)讀取文件中的內(nèi)容。read函數(shù)可以從打開的文件中一次性讀取全部內(nèi)容,內(nèi)容被讀取到內(nèi)存并用一個(gè)str對象表示。read函數(shù)的基本語法格式如下:

 
 
 
  1. f = open(filename, mode) 
  2. f.read(size) 

read函數(shù)常用的參數(shù)及其說明如下所示。

  • read函數(shù)常用的參數(shù)及其說明
  • size:接收number,表示讀取的字符數(shù)。默認(rèn)為文件中所有字符

size表示要從文件中讀取的字節(jié)數(shù),該方法從文件的開頭開始讀入,每調(diào)用一次就讀取size個(gè)字節(jié)的內(nèi)容。如果沒有傳入size,程序會嘗試盡可能多地讀取內(nèi)容,一直到文件的末尾。

使用read函數(shù)讀取test.txt文件,并打印,如下所示。

  • read函數(shù)讀取test.txt文件

 
 
 
  1. # 以只讀模式打開test.txt文件 
  2. data = open('../data/test.txt', 'r') 
  3. # 讀取文件中的內(nèi)容,存到content變量中 
  4. content = data.read() 
  5. # 打印出content變量中包含的文本內(nèi)容 
  6. print('該文本中的內(nèi)容是:', content) 

輸出結(jié)果:

 
 
 
  1. 該文本中的內(nèi)容是:Hello World! 

3. write

在Python中,寫入文件和讀出文件的操作方式是相似的:先調(diào)用open函數(shù)并傳入標(biāo)識符‘w’或‘wb’,再使用write函數(shù)進(jìn)行寫入。write函數(shù)的基本語法格式如下:

 
 
 
  1. f = open(filename, mode) 
  2. f.write(str) 

write函數(shù)常用的參數(shù)及其說明如下所示。

  • write函數(shù)常用的參數(shù)及其說明
  • str:接收任意str,表示寫入的文本內(nèi)容。默認(rèn)為空

write函數(shù)可將任何str寫入打開的文件。需要注意,Python中的str可以是二進(jìn)制數(shù)據(jù),而不限于文字。要寫入str以外的內(nèi)容,要先將需寫入的內(nèi)容轉(zhuǎn)換成str。

使用write函數(shù)寫入文件的操作如下所示。

  • write函數(shù)寫入文件
 
 
 
  1. # 打開一個(gè)文件 
  2. web = open('../tmp/web.txt', 'w') 
  3. # 轉(zhuǎn)換內(nèi)容,寫入文件 
  4. value = ('http://www.tipdm.org', 14) 
  5. str_value = str(value) 
  6. web.write(str_value) 
  7. web.close() 
  8. # 打開文本,讀取出寫入的內(nèi)容 
  9. web = open('../tmp/web.txt', 'r') 
  10. content = web.read() 
  11. print('該文本中的內(nèi)容是:', content) 

輸出結(jié)果:

 
 
 
  1. 該文本中的內(nèi)容是: ('http://www.tipdm.org', 14) 

4. close

close函數(shù)可以刷新緩存里任何還沒寫入的信息并關(guān)閉文件,關(guān)閉之后的文件便不能再進(jìn)行寫入。使用完文件后應(yīng)該關(guān)閉,關(guān)閉文件的本質(zhì)是使文件指針與文件脫離,關(guān)閉后不再能通過該指針對原來與其聯(lián)系的文件進(jìn)行操作。

如果文件使用完后不關(guān)閉,文件對象會一直占用操作系統(tǒng)的資源,并且,操作系統(tǒng)同一時(shí)間能打開的文件數(shù)量是有限的。寫入文件時(shí),數(shù)據(jù)會占用操作系統(tǒng)的內(nèi)存,待計(jì)算機(jī)空閑時(shí)再慢慢寫入,不調(diào)用close函數(shù)的后果是數(shù)據(jù)可能只寫一部分到磁盤中,其他的信息則丟失了。

close函數(shù)的基本語法格式如下:

 
 
 
  1. fileObject.close() 

close函數(shù)常用的參數(shù)及其說明如下所示。

  • close函數(shù)常用的參數(shù)及其說明
  • fileObject:接收文件名,表示正在使用的文件對象。無默認(rèn)值

本文代碼中,都需要在末尾使用close函數(shù)關(guān)閉文件,以保證信息的完整。


網(wǎng)站欄目:零基礎(chǔ)入門Python I/O:從Print函數(shù)開始
文章地址:http://m.5511xx.com/article/cocdeoj.html