1. 程式人生 > 實用技巧 >Python 格式化輸出相關知識

Python 格式化輸出相關知識

Python格式化輸出

需求:字串中想讓某些位置變成動態可傳入的,首先要考慮到格式化輸出。

  1. % 佔位符

    • %佔位符使用示例,格式化一個字串變數,然後輸出。
      name = input('請輸入姓名:')
      age = input('請輸入年齡:')
      job = input('請輸入工作:')
      hobbie = input('請輸入愛好:')
      # 多行文字佔位符跟最後,用%號隔開並加小括號標記,變數對應位置
      msg = '''------------info of %s-----------------
      Name :%s
      Age :%s
      Job :%s
      Hobbie :%s
      ------------------ end --------------------''' % (name, name, age, job, hobbie)
      print(msg)
      
    • 在格式化輸出中,如果只想表示一個%號,而不是作為佔位符使用的話使用兩個%%符號即可
      print('%s專案完成進度為%d%%' % ('sheet1工作表整理',50))
      
  2. 字串的format()方法, 格式化輸出

    • 第一種用法:相當於佔位符
      print('我叫{},今年{}歲,性別:{}。'.format('amwkvi',27,'男'))
      
    • 第二種用法:重複呼叫格式化輸出列表中變數或值
      print('我叫{0},今年{1}歲,性別:{2}。我的姓名是{0}'.format('amwkvi',27,'男'))
      # 重複呼叫格式化輸出列表中變數或值
      
    • 第三種用法:鍵值對,無序
      print('我叫{name},今年{age}歲,性別:{sex}。'.format(age=27,sex='男',name='amwkvi'))
      
  3. Python3.6版本之後的新特性(儘量使用該方法)

    優點:1.結構更清晰和簡化;2.可以結合表示式和函式使用;3.效率提升很多。

    • 在字串前面加上字母'f'或'F',字串中用大括號進行對應變數格式化:
      name = 'walking'
      age = 20
      sex = '男'
      print(f'我叫{name},今年{age}歲,性別:{sex}。')
      
    • 可以加表示式,結合列表、字典進行格式化字串:
      # 利用字典資訊格式化字串
      dict1 = {'name': 'walking', 'age': 20, 'sex': '男'}
      print(f"我叫{dict1['name']},今年{dict1['age']}歲,性別:{dict1['sex']}")
      # 利用其他表示式格式化字串
      num1 = 9
      print(f'數字{num1}的平方是:{num1 ** 2}')
      name = 'walking'
      print(f'我的名字是:{name.upper()}')
      >>>我叫walking,今年20歲,性別:男
      數字9的平方是:81
      我的名字是:walking
      
    • 結合函式格式化字串:
      def mysum(a,b):
          return a*b
      print(f'最終結果是:{mysum(3,7)}')
      >>>最終結果是:21