Python學習筆記(五) Python字串

2021-08-06 07:37:23 字數 2824 閱讀 6812

一、python字串

1、字串是 python 中最常用的資料型別。我們可以使用引號('或")來建立字串。建立字串很簡單,只要為變數分配乙個值即可。例如:

var1 = 'hello world!'

var2 = "python runoob"

2、python不支援單字元型別,單字元也在python也是作為乙個字串使用。python訪問子字串,可以使用方括號來擷取字串,如下例項:

var1 = 'hello world!'

var2 = "python runoob"

print "var1[0]: ", var1[0]

print "var2[1:5]: ", var2[1:5]

輸出結果為:

var1[0]:  h

var2[1:5]: ytho

由上述例項我們可知,使用方括號來擷取字串時,既可以擷取單個字元,也可以擷取多個字元。從第乙個字元開始記為0,按順序擷取,擷取多個字元時,用第乙個字元的順序:最後乙個字元加1的順序擷取。

3、可以對已存在的字串進行修改,並賦值給另乙個變數,如下例項:

var1 = 'hello world!'

print "更新字串 :- ", var1[:6] + 'runoob!'

輸出結果為:

更新字串 :-  hello runoob!
二、python轉義字元

在需要在字元中使用特殊字元時,python用反斜槓(\)轉義字元。如下表:

三、python字串運算子

下表例項變數 a 值為字串 "hello",b 變數值為 "python":

例項如下:

a = "hello"

b = "python"

print "a + b 輸出結果:", a + b

print "a * 2 輸出結果:", a * 2

print "a[1] 輸出結果:", a[1]

print "a[1:4] 輸出結果:", a[1:4]

if( "h" in a) :

print "h 在變數 a 中"

else :

print "h 不在變數 a 中"

if( "m" not in a) :

print "m 不在變數 a 中"

else :

print "m 在變數 a 中"

print r'\n'

print r'\n'

輸出結果為:

a + b 輸出結果: hellopython

a * 2 輸出結果: hellohello

a[1] 輸出結果: e

a[1:4] 輸出結果: ell

h 在變數 a 中

m 不在變數 a 中

\n\n

四、python字串格式化

python 支援格式化字串的輸出 。儘管這樣可能會用到非常複雜的表示式,但最基本的用法是將乙個值插入到乙個有字串格式符 %s 的字串中。在 python 中,字串格式化使用與 c 中 sprintf 函式一樣的語法。

python字串格式化符號:

格式化操作符輔助符號:

如下例項:

print "my name is %s and weight is %d kg!" % ('zara', 21)
輸出結果為:

my name is zara and weight is 21 kg!
五、unicode 字串

1、計算機只能處理數字,如果要處理文字,就必須先把文字轉換為數字才能處理。unicode把所有語言都統一到一套編碼裡,這樣就不會再有亂碼問題了。unicode標準也在不斷發展,但最常用的是用兩個位元組表示乙個字元(如果要用到非常偏僻的字元,就需要4個位元組)。現代作業系統和大多數程式語言都直接支援unicode。

python 中定義乙個 unicode 字串和定義乙個普通字串一樣簡單:

>>> u'hello world !'

u'hello world !'

2、ascii編碼和unicode編碼的區別:

ascii編碼是1個位元組,而unicode編碼通常是2個位元組,舉例如下。

字母 a 用ascii編碼是十進位制的65,二進位制的01000001;

字元 0 用ascii編碼是十進位制的48,二進位制的00110000,注意字元 '0' 和整數   

0 是不同的;

漢字 中 已經超出了ascii編碼的範圍,用unicode編碼是十進位制的20013,二進位制的01001110 00101101。

如果把ascii編碼的 a 用unicode編碼,只需要在前面補0就可以,因此, a 的unicode編碼是00000000 01000001。

python學習筆記(五)

python裡的流程控制語句 if expression statements s else statements s identationerror 縮排錯誤,縮排4個空格 true 非空的值 string,tuple,list,set,dict false 0,null,其他空值 需要多次判斷使...

python 學習筆記 (五)

遞迴函式,如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。該包下的iterable方法是用來判斷物件是否可以迭代 from collections import iterable 遞迴算階乘 def fact n if n 1 return 1 return n fact n 1 print ...

Python學習筆記(五)

set set 持有一系列元素,這一點和 list 很像,但是set的元素沒有重複,而且是無序的,這點和 dict 的 key很像。建立 呼叫 set 並傳入乙個 list,list的元素將作為set的元素 s set a b c set會自動去掉重複的元素。訪問 由於set儲存的是無序集合,所以我...