目錄
python3 基礎語法之字串
字元編碼
python字串
字串格式化
從unicode編碼到utf-8編碼
在最新的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系統會忽略這個注釋;宣告了utf-8編碼並不意味著你的第二行注釋是為了告訴python直譯器,按照utf-8編碼讀取源**,否則,你在源**中寫的中文輸出可能會有亂碼。
.py
檔案就是utf-8編碼的,必須並且要確保文字編輯器正在使用utf-8編碼。
所以請牢記編寫python**時僅使用utf-8編碼。
其作用是為了輸出格式化的字串。
常見的字串格式化操作符有:
佔位符替換內容
%d表示用整數替換
%f表示用浮點數替換
%s表示用字串替換
%x表示用十六進製制整數替換
>>> print("%s同學,你好;" % "周曦")
周曦同學,你好;
>>> "%s同學,你好;" % "周曦"
'周曦同學,你好;'
>>> print('我叫 %s 今年 %d 歲' % ('小明',18)) #當有多個替換文字時,一定要用括號括起來
我叫 小明 今年 18 歲
格式化操作符輔助指令:
符號功能
.定義小數點精度
-用做左對齊
+在正數前面顯示加號( + )
在正數前面顯示空格
#在八進位制數前面顯示零('0'),在十六進製制前面顯示'0x'或者'0x'(取決於用的是'x'還是'x')
0顯示的數字前面填充'0'而不是預設的空格
%'%%'輸出乙個單一的'%'
(var)
對映變數(字典引數)
m.n.
m 是顯示的最小總寬度,n 是小數點後的位數(如果可用的話)
python2.6 開始,新增了一種格式化字串的函式 str.format(),它增強了字串格式化的功能。
更多詳細內容請看:字串與編碼
python3基礎篇 字串
打好基礎知識才能更加地去學習 1.字串是python中最常用的資料型別。可以使用引號 或 來建立字串。建立字串,只要為變數分配乙個值即可。例如 var1 hello world var2 songsong 2.python訪問字串中的值 python 不支援單字元型別,單字元在 python 中也是...
Python3之基礎語法
1 編碼 預設情況下,python3原始碼檔案以utf 8編碼,所有字串是unicode字串 2 識別符號 3 保留字 python保留字即關鍵字,不能用於任何識別符號名稱。python標準庫提供了keyword模組,輸出當前版本的所有關鍵字 import keyword keyword.kwlis...
python3 字串基礎
字串可以使用一對單引號或一對雙引號指定起止位置,兩種方式指定的字串完全等價。如 hello 和 world 可以用三引號 或 指定多行字串,其中可自由使用單 雙引號而不需轉義。如 what s your name?i asked.字串過長不方便寫在一行時,可以使用反斜槓跨行而不增加換行符。如 abc...