Python字串 編碼

2021-08-29 01:39:15 字數 4061 閱讀 3524

字串str

​ 作用:

​ 用來記錄文字資訊

字面值表示方法:

​ 用引號括起來的部分都是字串

​ 『 單引號

​ 「 雙引號

​ 』』』 三單引號

​ 」」」 三雙引號

空字串』』, 」」, 』』』』』』, 」」」」」」

字串的字面值表示方式:

『 hello』

「 hello」

』』』 hello』』』

」」」 hello」」」

單引號和雙引號的區別:

單引號內的雙引號不算結束符

雙引號內的單引號不算結束符

三引號的作用:

三引號內可以包含單引號和雙引號

三引號字串中的換行會自動轉換為』\n』

隱式字串拼接

s =」i』m a teacher」 『hello you』

用轉義序列代表特殊字元

​ 字串字面值中用字元反斜槓\

後跟一些字元代表特殊的乙個字元

​ 例如:

​ \』 代表乙個單引號

​ \」 代表乙個雙引號

​ \n 代表乙個換行符

字串中的反斜槓轉義字元表

​ \』 單引號

​ \」 雙引號

​ \ 反斜槓

​ \n 換行

​ \r 返回游標至行首 print(『dsdfasf\ra』) # asdfasf

​ \f 換頁

​ \t 水平製表符 對齊用tap print(『asdas\tdasdt\tsfsdf』) #asdas dasdt sfsdf

​ \v 垂直製表符

​ \b 退格

​ \0 字串,字元值為0

\*** xx為兩位十六進製制表示的字元

\u***x unicoid16的十六進製制表示的字元

\u******xx unicoid32的十六進製制表示的字元(4x8)

常見ascii編碼

​ 字元 十進位制 十六進製制

​ 『0』 48 0x30

​ 『a』 65 0x41

​ 『a』 97 0x61

​ 『\0』 0 0x00

​ 『\n』 10 0x0a

unicode編碼

全世界字元統一編碼

​ 分類:

​ unicode16(兩個位元組)

​ unicode32(四個位元組)

示例:>>> print(『\u9042』)

遂》 print(『\u00009042』)

遂格式:

r』字串內容』

r」字串內容」

r』』』字串內容』』』

r」」」字串內容」」」

作用:讓轉義符號\無效

示例:# 轉義之後

a=』c:newfile\test.py』 >>> print(』\』)

print(a) \

#未轉義raw字串

a=r』c:newfile\test.py』 >>> print(r』\』)

print(a) \

字串的運算

+ 加號運算子用於拼接字串

+=運算子用於原字串與右側字串拼接生成新的字串

示例:s=』abcd』+』efg』

s+=』123』

print(s)

s2=s+s

print(s2)

*生成重複的字串

*=生成重複的字串並讓原變數繫結生成後的字串

示例:s=」abd」*3

print(s)

s2=5*』0』

print(s2)

s=」abd」

s2*=3

字串的比較運算

格式:x>y

比較規則:

1.字串x的第乙個字母,與字串y的第乙個字母比較,如果不相同,則直接得出比較結果;如果相同則再取第二個字母進行比較,以此類推

2.比較的依據是unicode的編碼值

示例:『ad』>』abc』 true

『abc』!=』cba』 true

『abc』==』cba』 false

『ab』<=』abc』 true

in /not in運算子

作用:用於序列,字典,集合等容器中,用於判斷某個值是否存在於容器中,存在返回true,不存在則返回false

not in 與 in 運算子的返回結果相反

格式:物件in序列

>>> 『a』 in 『asdf』

​ true

>>>』to』 in 『welcome to classroom』

​ true

>>>』asdf』 in』sdrgs』

​ faslse

字串的索引與切片

index

python的字串是不可以改變的字串行

語法:字串[整數表示式]

說明:python序列都可以用索引(index)來訪問序列中的物件

python序列的正向索引是從0開始的,第二個索引為1…以此類推,最後乙個索引是len(s)-1

python序列的反向索引是從-1開始的,-1代表最後乙個,-2代表倒數第二個,以此類推,第乙個是-len(s)

[0] [1] [2] [3] [4] [5]

[-6][-5] [-4][-3] [-2][-1]

示例:>>>a=』hello』

>>> a[0]

『h』切片 slice

從字串中取出相應的元素,重新組成乙個字串

語法:字串[(開始索引b):(結束索引e)(:步長s)]

ps:小括號括起來的部分代表可以省略

語法說明:

1.開始索引是切片切下的位置,0代表第乙個元素,1代表第二個元素,-1代表最後乙個元素

2.結束索引是切片的終止索引(但不包含終止點)->數學上的左閉右開

3.步長是切片每次獲取完當前元素後向右移動索引的偏移量

1)沒有步長,相當於取值完畢後右移動乙個索引的位置(預設為1)

2)當步長為正整數數,正向切片

3)當步長為負整數時,取反向切片

總結:最後乙個數字為正則說明切片時正向的,如果為負則是反向的。

反向切片時,預設的起始位置為最後乙個元素,

終止位置是第乙個元素的前乙個元素

示例:>>> s=『abcde』

\ >>> s[1:4]

『bcd』

>>> s[::-1]

『edcba』

>>> s[-2:-5:-1]

『dcb』

>>> s[2:-2]

『c』>>> s[:-2:2]

『ac』

>>> s[-1:0:-1]

『edcb』

>>> s[-1:-100:-2] or s[::-2]

『eca』

練習:輸入任意乙個字串,判斷這個字串是否是回文

回文示例:

上海自來水來自海上

回文是指中心對稱的文字

0=-1

1=-2

2=-3

python3中常用的序列函式

len(seq) length

max(x) 返回序列的最大值

min(x) 返回序列的最小值

字串編碼轉換函式

chr(i) 返回i這個值所對應的字元

示例:>>> ord(『嬋』)

>>> chr(23423)

『孿』>>> chr(13145)

整數轉換為字串的函式

hex(i) 將整數轉換成十六進製制字串

oct(i) 將整數轉化為八進位制

bin(i) 將整數轉換為二進位制數

示例:>>> bin(10000)

『0b10011100010000』

>>> hex(10000)

『0x2710』

>>> oct(10000)

『0o23420』

字串建構函式

str(obj=』』) 將物件轉換成字串

示例:\ >>> str(100)

'100

\ >>> str(none)

『none』

Python字串編碼

在python中有些特殊的地方是存在兩種字串,分別為str和unicode字串,他們都繼承自basestring。如 s hello world s為str us u hello world us為unicode。使用help str 和help unicode 可以檢視各自說明,他們都有decod...

python字串編碼

常見字元編碼型別 ascii 美國資訊交換標準碼,是目前計算機中最廣泛使用的字符集編碼。每個 ascii 碼以 1 個位元組 儲存,例如數字字元 0 的 ascii 碼是 0110000,十進位制表示為 48。unicode 為解決世界上上百種語言帶來混合 衝突,各國有各國的標準,顯示很容易出現亂碼...

python字串編碼

python3支援unicode ord 可以把字元轉換成對應的unicode碼。chr 可以把十進位制轉換成對應的字元。is not is,判斷兩個物件是否相同,比較的id 成員操作符 in not in判斷某個字元 子字串 是否存在於字串中。可變字串 字串屬於不可變物件,不支援原地修改,如果需要...