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
如果覺得不錯,可以分享~可以關註公眾號~
2. Python中的基本輸入、輸出、格式化