本隨筆中記載了博主在學習Python的字元串與編碼時,不太熟悉的內容。 ...
Python基礎學習二
1.編碼
utf-8編碼:自動將英文保存為1個字元,中文3個字元。ASCll編碼被囊括在內。
unicode:將所有字元保存為2給字元,容納了世界上所有的編碼。
2.字元串內置函數
replace()函數:替換字元串內字元
str1='a1234'
str2=str1.replace('a','A') #將字元a替換為A
需要註意的是,在函數replace()的作用下,雖然修改了str1的內容,但是變數str1不變,其修改存儲在str2中。
ord()函數:獲取字元的utf-8編碼的整數形式。
ord('A') #輸出65
ord('中') #輸出20013
chr()函數:將utf-8的整數形式轉換為對應字元。
chr('67') #輸出'C'
chr('25991') #輸出'文'
encode()函數:獲取字元對應編碼方式的16進位形式。
'我'.encode('utf-8') #輸出b'\xe6\x88\x91'
其中b表示以位元組的方式存儲,在utf-8編碼中,中文有3個位元組,轉化為三個16進位數。
decode()函數:解碼函數,將上述得到的數字按照對應的編碼形式翻譯為對應字元
b'\xe6\x88\x91'.decode('utf-8',errors='ignore') #輸出'我'
其中errors='ignore'表示忽視錯誤位元組,如輸入四個位元組時,預設讀取前三個。
len()函數:用於計算字元串的長度或位元組數
3.指定utf-8編碼
為了確保解釋器以utf-8編碼讀取文件,需要在文件開頭寫上兩行註釋
# !/usr/bin/env python3
# -*- coding: utf-8 -*-
第一行用於告訴Linux操作系統,這是Python文件,第二行說明文字編碼方式。
4.變數輸出
與C語言相同,用“%”獲取,格式如下
'Today is %s , i have $' % ('good','10000')
格式 | 內容 |
---|---|
%d | 整數 |
%f | 浮點數 |
%s | 字元串 |
%x | 16進位數 |
%% | % |
format()函數:用於傳入參數
'Hello, {0}! You have ${1}'.format('li',100000)