1. 程式人生 > >一、基礎部分-3. 字符串格式化

一、基礎部分-3. 字符串格式化

字符串格式化

一、如何打印字符串中的變量呢?
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#循環打印
for i in ["張三","李四","王五"]:
    print("尊敬的%s,您好.." %i)   #字符串中有1個%s,說明有1個變量。

#如果字符串中有2個%s,後面的變量要用括號括起來,並且順序不能錯。
print(‘Age: %s. Gender: %s‘ % (25, True))  
  • %運算符,就是用來替換字符串的。
  • 在字符串內部,%s表示用字符串替換,%d表示用整數替換,並且順序要對應好。

二、數字占位符

  • %數字d,其中的數字就是占位符個數。
    >>> print(‘%10d-%02d‘ % (1, 1))
         1-01  #看到前面有10個空格占位。

三、格式化小數位

  • #%百分號 後面的.2,代表保留2位小數
    >>> print(‘%.2f‘ % 3.1415926)
    3.14

四、如果字符串中,%號 僅僅是個普通字符,怎麽表示呢?

  • 使用2個%%,進行轉義。
    >>> print(‘CPU利用率: %d %%‘ % 90)
    CPU利用率: 90 %

    五、字典替換方式,來格式化字符串。

  • 這樣的好處是:
    1. 可以不按照順序
    2. 如果一個字符串中包含多個同樣的值,可以復用。
print("%(name)s 正在操作數據庫的 %(tablename)s 表,並且%(name)s 操作成功了"  % {"tablename": "usertable", "name": "qing", })

qing 正在操作數據庫的 usertable 表,並且qing 操作成功了

六、format()方法格式字符串

  • 它會用傳入的參數依次替換字符串內的占位符{0}、{1}……,不過這種方式寫起來比%要麻煩得多:
>>> ‘Hello, {0}, 成績提升了 {1:.1f}%‘.format(‘小明‘, 17.125)
‘Hello, 小明, 成績提升了 17.1%‘

七、符號對照表

占位符 替換內容
%d 整數
%f 浮點數
%s 字符串
%x 十六進制整數

一、基礎部分-3. 字符串格式化