多變量輸出
爲了避免重複變量的輸出,我們可以用python中的str模板。例如,我們想得到一個這樣的模板,每當我們輸入一個名字例如(Jack)的時候,它就輸出”Hello,Jack!”。爲了得到以上模板,我們寫了如下的代碼。
# -*- coding: utf-8 -*-
name=raw_input("what's your name?") #輸入你的名字
greeting="Hello,%s!"%name #得到你的打招呼信息
print greeting #輸出打招呼信息
得到結果:
以上是一個變量的時候進行的輸出,其實我們還可以輸出大量不同種變量,以下是代碼示例。
# -*- coding: utf-8 -*-
name=raw_input("what's your name?") #輸入你的名字
age=input("How old are you?") #輸入你的年齡
weight=input("What is your weight?") #輸入你的重量,以kg爲單位
info="I'm %s,my age is %d,my weight is %.2f."%(name,age,weight)
print info
得到結果:
以上是對各種輸出類型的一個輸出。可以看到,我輸入的weight是180.3333,然而輸出的是180.33。這裏是因爲我在info的獲取最後一個%f的時候加了一個2,表示取到小數點後的第二位數字,這個叫做轉換說明符。轉換說明符的可以包括字段寬幅和精度。字段寬度是轉換後的值所保留的最小字符個數。精度則是結果中包含的小數位數,或者是轉換後的值所能包含的最大字符個數。
這兩個參數都是整數(首先是字段寬度,然後是精度),通過點號(.)分割。雖然兩個都是可選參數,但是如果只給精度,就必須包含點號:
>>> ‘%10f’ % pi #字段寬10
’ 3.141593’
>>> ‘%10.2f’ % pi #字段爲10,精度爲2
’ 3.14’
>>>’%.2f’ %pi #精度爲2
‘3.14’
字符串格式化轉換類型
轉換類型 | 含義 |
---|---|
d,i | 帶符號的十進制整數 |
o | 不帶符號的八進制 |
u | 不帶符號的十進制 |
x | 不帶符號的十六進制(小寫) |
X | 不帶符號的十六進制(大寫) |
e | 科學記數法表示的浮點數(小寫) |
E | 科學記數法表示的浮點數(大寫) |
f,F | 十進制浮點數 |
g | 如果指數大於-4或者小於精度值則和e相同,其他情況與f相同 |
g | 如果指數大於-4或者小於精度值則和E相同,其他情況與F相同 |
C | 單字符(接受整數或者單字符的字符串) |
r | 字符串(使用repr轉換任意python對象) |
s | 字符串(使用str轉換任意python對象) |