成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

零基礎入門Python I/O:從Print函數開始

開發 后端
計算機程序用于執行任務,是滿足人類需求的工具。有信息的輸入,程序才能接收指令、理解需求;有信息的輸出,運行結果才能被反饋給用戶。在編程中,信息輸入操作稱為Input,輸出操作稱為Output,統稱為Input/Output,簡寫為I/O。

 計算機程序用于執行任務,是滿足人類需求的工具。有信息的輸入,程序才能接收指令、理解需求;有信息的輸出,運行結果才能被反饋給用戶。在編程中,信息輸入操作稱為Input,輸出操作稱為Output,統稱為Input/Output,簡寫為I/O。

[[324154]]

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

01 input與print

1. input

input函數在用于交互式的信息鍵入時,相當于一個容器,用戶從鍵盤輸入的信息先存放在容器中,再被變量引用。

input函數可以接納多種數據類型,包括number、str等基礎類型,及list、tuple、dict、set等復合類型。使用input函數時,可以在括號內添加str以提示輸入。需要注意的是,Python 3.x中的input函數將所有接收的數據都默認為str,如下所示。

  • 輸入不同數據類型

 

  1. # 輸入一個數字,由Python默認類型 
  2. number1 = input('請輸入一個數字:'

輸出結果:

 

  1. 請輸入一個數字:1 

 

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

輸出結果:

 

  1. 請輸入一個字符串:1 

 

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

輸出結果:

 

  1. 請輸入一個數字:123 

 

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

輸出結果:

 

  1. number1、str1和number2的類型分別為: 
  2. <class 'str'> <class 'str'> <class 'int'>     

從輸出結果可知,在str1變量中,盡管輸入的不是str,也被默認為str。要得到需要的數據類型,必須做類型轉換。

2. print

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

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

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

  • print函數應用

 

  1. # print函數接收多個str 
  2. print('我''愛''中華')  

輸出結果:

 

  1. 我 愛 中華 

 

  1. # print函數在打印前計算結果 
  2. print('100+200 =', 100 + 200) 

輸出結果:

 

  1. 100+200 = 300 

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

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

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

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

%g:指數(e)或浮點數(根據顯示長度)

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

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

 

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

輸出結果:

 

  1. 我的名字叫作Zara,已經20歲了! 

 

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

輸出結果:

 

  1. 16 的八進制是 20 

 

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

輸出結果:

 

  1. 23轉化為保留3位小數的浮點數23.000 

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

format函數也支持格式符,如下所示。

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

使用format函數進行格式化輸出的基本操作,如下所示。

  • format函數格式化輸出

 

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

輸出結果:

 

  1. 我的名字叫作Zara,已經20歲了! 

 

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

輸出結果:

 

  1. 我的名字叫作Zara,已經20歲了! 

 

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

輸出結果:

 

  1. 我的名字叫作Zara,已經20歲了! 

 

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

輸出結果:

 

  1. 我的名字叫作Zara,已經10010歲了! 

02 文件I/O

1. open

內置函數open的作用是打開一個文件,創建一個file對象以進行調用。在打開文件的基礎上,后續的文件讀寫操作才可以實現。open函數的基本語法格式如下:

open(filename, mode)

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

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

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

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

2. read

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

 

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

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

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

size表示要從文件中讀取的字節數,該方法從文件的開頭開始讀入,每調用一次就讀取size個字節的內容。如果沒有傳入size,程序會嘗試盡可能多地讀取內容,一直到文件的末尾。

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

  • read函數讀取test.txt文件

 

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

輸出結果:

 

  1. 該文本中的內容是:Hello World! 

3. write

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

 

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

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

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

write函數可將任何str寫入打開的文件。需要注意,Python中的str可以是二進制數據,而不限于文字。要寫入str以外的內容,要先將需寫入的內容轉換成str。

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

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

輸出結果:

 

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

4. close

close函數可以刷新緩存里任何還沒寫入的信息并關閉文件,關閉之后的文件便不能再進行寫入。使用完文件后應該關閉,關閉文件的本質是使文件指針與文件脫離,關閉后不再能通過該指針對原來與其聯系的文件進行操作。

如果文件使用完后不關閉,文件對象會一直占用操作系統的資源,并且,操作系統同一時間能打開的文件數量是有限的。寫入文件時,數據會占用操作系統的內存,待計算機空閑時再慢慢寫入,不調用close函數的后果是數據可能只寫一部分到磁盤中,其他的信息則丟失了。

close函數的基本語法格式如下:

 

  1. fileObject.close() 

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

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

 

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

責任編輯:華軒 來源: 今日頭條
相關推薦

2011-07-06 14:41:34

Objective-C

2017-12-05 10:17:02

Python爬蟲零基礎

2021-03-11 11:50:07

kafka服務器Java

2017-09-18 10:48:06

深度學習零基礎入門

2023-11-01 08:35:56

Python函數

2024-01-16 08:09:28

PythonMongoDB數據存儲

2024-04-29 08:15:07

I/OCPU密集型

2018-04-18 10:50:37

Python入門知識點匯總

2021-01-13 14:55:54

JavaPython開發

2022-02-10 16:11:26

EventMysql數據庫

2024-05-16 09:26:11

PythonpyWinAuto工具

2021-04-30 11:33:09

Python變量數據

2020-09-30 08:32:40

Python

2020-05-29 14:56:56

C++GitHub編程

2013-09-17 13:43:51

IO

2011-12-19 14:05:01

JavaIO

2013-09-16 16:07:38

Java基礎IO

2017-01-19 19:14:20

Linux重定向命令

2017-09-21 15:31:49

2016-11-25 13:05:18

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩亚洲成人 | 国产精品海角社区在线观看 | 国产亚洲精品久久19p | 国产成人精品综合 | 九九热精 | 久久精品久久精品久久精品 | 亚洲+变态+欧美+另类+精品 | 亚欧精品 | 一区二区三区高清 | 亚洲精品久久久久久久久久久久久 | 久草在线中文888 | 中文字幕 亚洲一区 | 奇米四色影视 | 国产一区二区免费电影 | 七七婷婷婷婷精品国产 | 国产精品视频网站 | xxx视频| 在线免费观看黄色 | 久久影音先锋 | 一区二区视频在线 | 精品国产欧美一区二区三区成人 | 亚洲va国产日韩欧美精品色婷婷 | 国产精品视频观看 | 男女视频在线观看网站 | 午夜精品在线观看 | 超碰97干| 久久精品综合网 | 成年人视频在线免费观看 | 日韩资源| 久热m3u8| 在线观看涩涩视频 | 午夜影晥 | 在线视频日韩精品 | 国产成人精品免费 | 日韩男人天堂 | 欧美亚洲日本 | 亚洲精品白浆高清久久久久久 | 日韩av免费在线电影 | 亚洲一区二区三区视频 | 欧美日韩精品久久久免费观看 | 久久久久久一区 |