2. Python中的基本輸入、輸出、格式化輸出
本文利用的是Python 3.x版本,建議學習3.x版本
Python中的基本輸入、輸出、格式化輸出
1. 輸入
使用 input([prompt])
讀取一行,將其轉換為 string
型別並返回, input
的引數可有可無,如果有引數的話,會在控制檯(可以這樣理解)輸出引數的內容,不換行。通常情況下我們在控制檯輸入一些資料,然後敲擊回車,就完成了本次輸入。以下是例子。
name = input("Enter your name: ") print(name)
這裡要注意的是, input
返回的是 string
型別,如果想輸入數字,還需要進行型別轉換,例如
num = int(input("Enter a number: ")) print(num*2)
其實以上這種轉換並不安全,因為如果user輸入字串的話,沒法轉為 int
型別,這樣程式就會出錯,異常終止。所以一種比較簡單的方法是,先對輸出進行判斷,然後再轉換,因為還沒有說到判斷語句,所以這個判斷之後再說。
2. 輸出
一般在控制檯中我們用 print
進行輸出,因為比較簡單,所以之前也一直在使用。 print
的原型如下
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
看起來很複雜,但是這個引數都是有預設引數的,我們可以先簡單使用前三個引數,後面的預設即可,這樣的話,目前而言,我們的 print
就變成了
print(*objects, sep=' ', end='\n')
第一個引數是我們要在控制檯輸出的資料,可以是多個,用 ,
逗號隔開, py
的 print
很強大,可以輸出很多種資料型別,只要你覺的可以輸出的, print
都可以輸出,你覺得不能輸出的,試一試也可能輸出。
例如
print("xx") print(1) print(True) print(None)
sep
用來將多個數據隔開,預設是空格, end
加在輸出的末尾,預設是換行符
print(1,2,3,sep='@@',end='<>\n') #用@@分隔資料,結尾加上<>並換行
3. 格式化輸出,佔位符
如何格式化輸出字串呢,例如 你好XX,你的額度是xx
,其中 xx
的變數,我們無法預知,這個時候就需要格式化輸出,和 C語言
一樣,我們可以使用佔位符 %?
,其中 ?
代表不同的字元,例如 %s
代表字串, %d
代表十進位制整數, %f
代表浮點數,例如
name = "Potato" b = 100 print("你好%s,你的額度是%d" % (name,b) ) #name將替換%s的位置,b將替換%d的位置,字串後的%用來說明是哪些變數要替換前面的佔位符,當只有一個變數的時候,可以省略括號
佔位符還可以控制輸出的格式,例如保留幾位小數,填充前導0等,以下是例子
print("小數: %.2f" % 3.14159)# %.2f代表保留兩位小數 print("小數: %.2f" % 4.5)# %.2f保留兩位小數,不夠的位用0補充 print("佔位: %3d" % 5)# %3d代表這個數的寬度為3,不夠的話用空格在前面補,如果數的寬度大於3,則正常輸出 print("前導0: %05d" % 2)# %05d代表這個數的寬度為5,不夠的話用0在前面補,如果數的寬度大於5,則正常輸出
如果不知道資料型別的話,用 %s
即轉為字串進行輸出會比較穩妥,還有許多種佔位符的格式,具體使用時可以搜尋,一般常用的就是以上那些。
4. 格式化輸出,format
可以利用 string
物件的 format
方法,進行格式化,以下是例子
print("你好{0},你的餘額是{1:.2f}".format("Potato",3.1)) #{0}代表佔位符和format裡的引數對應,{1:.2f},冒號後是格式控制,代表保留兩位小數
這種方式使用起來可能不是很方便。或者還可以使用 py
內建的 format
函式,例如
print(format(3.1415,".2f")) #結果是3.14
如果覺得不錯,可以分享~可以關注公眾號~