Python – print 函式

Loading

測試環境為 CentOS 8 x86_64 (虛擬機)

print 函式 它是 Python 的內建函式– https://docs.python.org/zh-tw/3.11/library/functions.html#print 使用方式如下.

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

參考文章 – https://openhome.cc/zh-tw/python/basics/io-format-encoding/#print-函式

[root@localhost ~]# python3
Python 3.6.8 (default, Mar 25 2022, 11:15:52) 
[GCC 8.5.0 20210514 (Red Hat 8.5.0-10)] on linux
Type "help", "copyright", "credits" or "license" for more information.

來看幾個範例說明.

  • sep=’ ‘ & end=’\n’

    >>> print('Test' , 1, 2, 3, sep=':' , end='\n')
    Test:1:2:3
    

    說明:

    • sep – 分隔字元(預設為空白字元)
    • end – 輸出後的最後一個字元(預設值為 ‘\n’)
  • file=sys.stdout

    >>> print('Test' , 1, 2, 3, file = open('data.txt', 'w'))
    

    執行結果

    [root@localhost ~]# cat data.txt
    Test 1 2 3
    

    說明:
    這邊使用到 open 函數,成功會回傳 file object.

    open(file, mode='r', buffering=- 1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
    

    有以下模式

    • r – Read 唯讀模式.
    • w – Write 寫入模式,當檔案不存在時新增檔案,檔案存在時覆寫原檔案.
    • x – open for exclusive creation, failing if the file already exists
    • a – append 附加模式,新增內容到檔案的後面.
    • b – binary mode
    • t – text mode (default)
    • + – open for updating (reading and writing)
  • str.format(*args, **kwargs)

    使用 string 字串物件的 format method 方法.

    >>> print('{0:5d} 除以 {1:5d} 是 {2:10.2f}'.format(10, 3, 10 / 3))
       10 除以     3 是       3.33
    

    說明:
    format 裡的資料就對應到字串的 {} ,格式是參數詳細說明請參考 – https://docs.python.org/3/library/string.html#formatstrings

    • {0:5d} 對應到 format(10, 3, 10 / 3) 裡的第 0 個資料 10(數字),並指定格式為 5d (5格空間的十進制數字)
    • {1:5d} 對應到 format(10, 3, 10 / 3) 裡的第 1 個資料 3(數字),並指定格式為 5d (5格空間的十進制數字)
    • {2:10.2f}’ 對應到 format(10, 3, 10 / 3) 裡的第 2 個資料 10/3(數字),並指定格式為 10.2f (小數點前為 10 格空間,小數點後為 2 格空間)
  • f-string (Python 3.6 以上版本)

    字串時以 f 或 F 作為開頭就可以將字串進行格式化,稱為 f-strings.

    >>> name = 'Justin'
    >>> print(f'Hello, {name}')
    Hello, Justin
    

    { } 內可以為字串實例 (Instance) 也可以為運算式.

    >>> print(f'{n:5d} 除以 {m:5d} 是 {10/3:10.2f}')
       10 除以     3 是       3.33
    
    >>> n=10
    >>> m=3
    >>> print(f'{n:5d} 除以 {m:5d} 是 {n / m:10.2f}')
       10 除以     3 是       3.33
    

    { } 內可以為運算式,所以像是 if else 運算式等函式都可以呼叫.

    >>> print(f'Hello, {"Guest" if name == None else name}')
    Hello, Justin
    
沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料