python裏的%操作符

用途一:%操作符作爲轉換說明符(字符串格式化,string formatting),說明如下:

%[(name)][flags][width].[precision]typecode
  • (name)爲命名
  • flags可以有+,-,’ ‘或0。+表示右對齊。-表示左對齊。’ '爲一個空格,表示在正數的左側填充一個空格,從而與負數對齊。0表示使用0填充
  • width表示顯示寬度
  • precision表示小數點後精度

以下是類型碼:

  • %s 字符串 (採用str()的顯示)
  • %r 字符串 (採用repr()的顯示)
  • %c 單個字符%b 二進制整數
  • %d 十進制整數
  • %i 十進制整數
  • %o 八進制整數
  • %x 十六進制整數
  • %e 指數 (基底寫爲e)
  • %E 指數 (基底寫爲E)
  • %f 浮點數
  • %F 浮點數,與上相同
  • %g 指數(e)或浮點數 (根據顯示長度)
  • %G 指數(E)或浮點數 (根據顯示長度)
  • %% 字符"%"

舉例:

>>> print("%6.3f" % 2.3)
 2.300  
# 第一個"%"後面的內容爲顯示的格式說明,6爲顯示寬度,3爲小數點位數,f爲浮點數類型 
# 第二個"%"後面爲顯示的內容來源,輸出結果右對齊,2.300長度爲5,故前面有一空格
>>> print("%+10x" % 10)
        +a
# x爲表示16進制,顯示寬度爲10,前面有8個空格
>>>print("%-5x" % -10)
-a   
#  "%-5x" 負號爲左對齊,顯示寬度爲5,故-a後面有3個空格

上面的width, precision爲兩個整數。我們可以利用*,來動態代入這兩個量。比如:

>>> print("%10.*f" % (4, 1.2))
    1.2000

具體的:
字符串中的%,是一個幾乎所有語言中都通用的一類字符串操作,簡單的說,這是一種將其他變量置入字符串特定位置以生成新字符串的操作,比如說:

n = "Jack"
"My name is %s" % n

說明:
這段代碼首先定義了一個名爲n的變量,內容爲Jack。然後下方的字符串中有一個%s,他的含義是“這裏將被替換成一個新的字符串”,用作替換的內容放在字符串後面的%後面,就是那個n。所以最終這個字符串會變成My name is Jack。字符串中的%後面會附帶一個字母,代表着用來替換的變量的類型,比如說%d代表着你將替換到此處的變量是一個整數,而%s代表着一個字符串。

另外,這種操作可以同時將多個變量放進字符串,只需要用括號把變量們括起來。
下面是一些例子。

>>> "www.%s.com"%"zhihu"   #字符串
'www.zhihu.com'

>>> "%dkm"%1990   #整數型
'1990km'

>>> "%s %d %f"%("abc",123,3.21)  #多個值
'abc 123 3.210000'

>>> print("%.0f"%1236.8)  # %.0f表示小數點後數爲0個
1237 

用途二:數學運算:取餘數(remainder):

>>> 7%2
1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章