1. 程式人生 > >Python 基礎語法之字串

Python 基礎語法之字串

Python 基礎語法之字串

字元編碼

Python字串

字串佔位符


字元編碼

從Unicode編碼到UTF-8編碼


Python字串

在最新的Python 3版本中,字串是以Unicode編碼的,也就是說,Python的字串支援多語言,例如:

>>> print('包含中文的str')
包含中文的str

對於單個字元,Python提供了ord()函式來該獲取字元對應的十進位制編碼,chr()函式用於把十進位制編碼轉換為對應的字元:

>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'

1箇中文字元經過UTF-8編碼後通常會佔用3個位元組,而1個英文字元只佔用1個位元組。

由於Python原始碼也是一個文字檔案,所以,當你的原始碼中包含中文的時候,在儲存原始碼時,就需要務必指定儲存為UTF-8編碼。當Python直譯器讀取原始碼時,為了讓它按UTF-8編碼讀取,我們通常在檔案開頭寫上這兩行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

第一行註釋是為了告訴Linux/OS X系統,這是一個Python可執行程式,Windows系統會忽略這個註釋;

第二行註釋是為了告訴Python直譯器,按照UTF-8編碼讀取原始碼,否則,你在原始碼中寫的中文輸出可能會有亂碼。

聲明瞭UTF-8編碼並不意味著你的.py檔案就是UTF-8編碼的,必須並且要確保文字編輯器正在使用UTF-8編碼。

所以請牢記編寫Python程式碼時僅使用UTF-8編碼。


字串佔位符

其作用是為了輸出格式化的字串。

常見的佔位符有:

佔位符 替換內容
%d 表示用整數替換
%f 表示用浮點數替換
%s 表示用字串替換
%x 表示用十六進位制整數替換
>>> print("%s同學,你好;" % "周曦")
周曦同學,你好;
>>> "%s同學,你好;" % "周曦"
'周曦同學,你好;'
>>> print('我叫 %s 今年 %d 歲' % ('小明',18)) #當有多個替換文字時,一定要用括號括起來
我叫 小明 今年 18 歲

更多詳細內容請看:字串與編碼