Python 基礎語法之字串
阿新 • • 發佈:2018-11-22
Python 基礎語法之字串
字元編碼
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 歲
更多詳細內容請看:字串與編碼