本文利用的是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
如果覺得不錯,可以分享~