2016年7月18日 星期一

Python 的字串與串列(二)

字串格式化:
  1. 善用 print() 函式 !!
    • 範例 1:
      #python38
      Python 3.8.3 (default, Aug 31 2020, 16:03:14) 
      [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
      Type "help", "copyright", "credits" or "license" for more information.
      >>>
      >>> name = 'Peter'
      >>> print('Hello, ', name)
      Hello,  Peter
      
    • 範例 2:
      >>> name = 'Peter'
      >>> print('Hello', end = '')
      Hello>>> print(name)
      Peter
      (end = '' 表示不換行!)
      
    • 範例 3:
      >>> name = 'Peter'
      >>> print('Hello', name, sep = ', ')
      Hello, Peter
      (sep = ', ' 表示使用逗點作為分隔符號!)
      
  2. 善用 format() 字串格式化函式:
    • 範例 1:
      >>> '{} / {} = {}'.format(10,3,10/3)
      '10 / 3 = 3.3333333333333335'
      (按 {} 順序,一個蘿蔔一個坑地填入數字!)
      
    • 範例 2:
      >>> '{2} / {1} = {0}'.format(10/3,3,10)
      '10 / 3 = 3.3333333333333335'
      (在{}中,使用數字指定填入的資料!)
      
    • 範例 3:
      >>> '{a} / {b} = {results}'.format(results=10/3,b=3,a=10)
      '10 / 3 = 3.3333333333333335'
      (在{}中,使用變數名稱指定填入的資料!)
      
    • 範例 4:
      >>> '{a:5d} / {b:5d} = {results:.2f}'.format(results=10/3,b=3,a=10)
      '   10 /     3 = 3.33'
      (在{}中,指定填入資料的格式,5d 表示整個欄位有5個字元,沒有字元的地方,填入空白字元!)
      
    • 範例 5:
      >>> '{a:<5d} / {b:<5d} = {results:.2f}'.format(results=10/3,b=3,a=10)
      >>> '10    / 3     = 3.33'
      (在{}中,指定填入資料的格式,<5d 表示整個欄位有5個字元,並且靠左對齊!)
      
    • 範例 6:
      >>> '{a:>5d} / {b:>5d} = {results:.2f}'.format(results=10/3,b=3,a=10)
      >>> '   10 /     3 = 3.33'
      (在{}中,指定填入資料的格式,<5d 表示整個欄位有5個字元,並且靠右對齊!)
      
  3. 善用 f-string 進行字串運算:
    • 範例 1:
      >>> name = "Peter"
      >>> f'Hello, {name}'
      'Hello, Peter'
      
    • 範例 2:
      >>> name = "Peter"
      >>> f'Hello, {"Mac" if name == "Peter" else name}'
      'Hello, Mac'