Python3 基礎語法之字串

2021-08-28 16:28:49 字數 1697 閱讀 9402

目錄

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系統會忽略這個注釋;

第二行注釋是為了告訴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 歲

格式化操作符輔助指令:

符號功能

.定義小數點精度

-用做左對齊

+在正數前面顯示加號( + )

在正數前面顯示空格

#在八進位制數前面顯示零('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...