1. 程式人生 > >2. Python中的基本輸入、輸出、格式化

2. Python中的基本輸入、輸出、格式化

個數 ota 函數 關註 類型 目前 位置 format tla

本文利用的是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‘)

第一個參數是我們要在控制臺輸出的數據,可以是多個,用,逗號隔開,pyprint很強大,可以輸出很多種數據類型,只要你覺的可以輸出的,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

如果覺得不錯,可以分享~可以關註公眾號~

技術分享圖片

2. Python中的基本輸入、輸出、格式化