輸入輸出
字符串格式化
Python3中使用input從鍵盤上獲取輸入,print來輸出;format進行格式化。
輸入輸出
鍵盤輸入
Python提供了input()
內置函數從標準輸入讀入一行文本;可以接收一個Python表達式作爲輸入,並將運算結果返回。
input(prompt=None,/)
-
prompt:提示信息
-
返回
str
:根據需要轉換爲所需類型;通過eval
可處理輸入表達式
輸入示例:
# 輸入必須滿足python表達式格式要求:必須使用逗號分割的兩個值
m,n=eval(input("input two number: ")) # 'abc', 123
print(m,n) # abc 123
# 只能輸入整數值
count = int(input("count: "))
print(count)
輸出
Python中使用print輸出值,也可以通過文件對象(引用sys.stdout)的write方法輸出。print(*objects,sep='',end='\n',file=sys.stdout,flish=flase)
參數說明:
-
objects:可以一次輸出多個對象(多個對象時,用逗號分隔);
-
sep:多個對象時他們之間的分隔符,默認值是一個空格;
-
end:以什麼結尾,默認值是換行符
\n
;
字符串格式化
字符串的格式化方法分爲兩種爲:佔位符(%)和format方式。
format格式化
使用{}來標識格式化字符串,後面使用format列出對應變量。{[name][:][[fill]align][sign][#][0][width][,][.precision][type]}
參數映射
name標識後面參數,可以:
-
空
{}
:自動順序填充;此方式不能與索引方式混用; -
索引
{0}
:按索引填充,第一個參數爲0; -
使用名稱
{name}
:通過名稱匹配,參數必須是name=value
樣式; -
參數是複雜類型時,可直接操作子元素:如
{0[0]}
,{a[first]}
;
print("{act} {lan}{0}".format(3,lan="python",act="study")) # study python3
print("{}:{}".format('192.168.1.100',80)) # 192.168.1.100:80
print("{a[0]} {a[1]}{a[2]}".format(a=["study","python",3])) # study python3
print("{dict[act]} {dict[lan]}{dict[ver]}".format(dict={"act":"study","ver":"3","lan":"python"})) # study python3
對齊方式與精度
填充與對齊方式:
-
algin
^、<、>
:分別是居中、左對齊、右對齊 -
fill:填充內容,默認爲空格
-
type:指定類型,參考%格式化(如:x十六進制,d證書,f浮點數等)
print('{:*^10}'.format('分割線')) # ***分割線****
print('{0:.2f}'.format(12.567)) # 12.57
print('{0:b}'.format(10)) # 1010
print('{0:x}'.format(29)) # 1d
print('{:e}'.format(12369132698)) # 1.236913e+10
`%`格式化
Python傳統使用%格式字符串:
print('%s %s%d' % ('stduy', 'Python', 3)) # stduy Python3
print('%s' % 'abc') # abc
格式符說明:
格式 | 說明 |
---|---|
%% | 百分號標記 |
%c | 字符及其ASCII碼 |
%s | 字符串 |
%d | 有符號整數(十進制) |
%u | 無符號整數(十進制) |
%o | 無符號整數(八進制) |
%x | 無符號整數(十六進制) |
%X | 無符號整數(十六進制大寫字符) |
%e | 浮點數字(科學計數法) |
%E | 浮點數字(科學計數法,用E代替e) |
%f | 浮點數字(用小數點符號) |
%g | 浮點數字(根據值的大小採用%e或%f) |
%G | 浮點數字(類似於%g) |
%p | 指針(用十六進制打印值的內存地址) |
%n | 存儲輸出字符的數量放進參數列表的下一個變量中 |