Python中字串的用法

2021-09-26 22:17:47 字數 4632 閱讀 1331

如果字串內容本身包含了單引號或雙引號,此時就需要進行特殊處理 。

str3 =

"i』m a coder"

str4 =

'」spring is here , let us jam!」, said woodchuck.'

str5 =

'」we are scared, let \' s hide in the shade」, says the bird '

python 不允許直接拼接數值和字串,必須先將數值轉換成字串

將數值轉換成字串,可以使用str()或repr()函式

s1=

"這本書的**是:"

p=99.8

#字串直接拼接數值,程式報錯

print

(s1 +p)

#使用str()將數值轉換成字串

print

(sl+

str(p)

)#使用repr()將數值轉換成字串

print

(s1+

repr

(p))

input()函式用於向使用者生成一條提示,然後獲取使用者輸入的內容。由於input()函式總會將使用者輸入的內容放入字串中,因此使用者可以輸入任何內容,input()函式總是返回乙個字串。

msg=

input("請輸入你的值:」)

print(type(msg))

print(msg)

第一次執行該程式,我們輸入乙個整數,執行過程如下:

請輸入你的值:2

2

第二次執行該程式,我們輸入乙個浮點數,執行過程如下:

請輸入你的值:1.2

1.2

第三次執行該程式,我們輸入乙個字串,執行過程如下:

請輸入你的值:hello

hello

python2.x提供了 乙個raw_input()函式,該raw_input()函式就相當於python 3.x中的input()函式。

前面介紹python多行注釋時提到使用三個引號(單引號、雙引號都行)來包含多行注釋內容,其實這是長字串寫法,只是由於在長字串中可以放置任何內容,包括放置單引號、雙引號都可以,如果所定義的長字串沒有賦值給任何變數,那麼這個字串就相當於被直譯器忽略了,也就相當於注釋掉了。

實際上,使用三個引號括起來的長字串完全可以賦值給變數,例如如下程式。

s =

'''"let's go fishing", said mary.

"ok, let's go", said her brother.

they walked to a lake'''

print

(s)

由於字串中的反斜線都有特殊的作用,因此當字串中包含反斜線時,就需要對其進行轉義。

比如寫一條windows的路徑:g:\publish\codes\02\2.4,如果在python程式中直接這樣寫肯定是不行的,需要寫成:g:\\publish\\codes\\02\\2.4,這很煩人,此時可借助於原始字串來解決這個問題。

原始字串以「r」開頭,原始字串不會把反斜線當成特殊字元。因此,上面的windows路徑可直接寫成r'g:\publish\codes\02\2.4'

由於原始字串中的反斜線會對引號進行轉義,因此原始字串的結尾處不能是反斜線—否則字串結尾處的引號就被轉義了,這樣就導致字串不能正確結束。如果確實要在原始字串的結尾處包含反斜線怎麼辦呢?一種方式是不要使用原始字串,而是改為使用長字串寫法(三引號字串);另一種方式就是將反斜線單獨寫。例如如下**。

s3=r'good morning'

'\\'

print(s3)

上面**開始寫了乙個原始字串rgood morning』,緊接著程式使用w寫了乙個包含反斜線的字串,python會自動將這兩個字串拼接在一起。執行上面**會生成如下輸出結果。

python 提供 了「%」對各種 型別 的資料進行格式化輸出,例如如下**

price =

108print

("the book's price is %s"

% price)

或者user =

"charl"

age =

8#格式化字串中有兩個佔位符,第三部分也應該提供兩個變數

print

('%s is a %s years old boy'

%(user,age)

)

實際上, python 提供了如下表所示的轉換說明符:

當使用上面的轉換說明符時可指定轉換後的最小寬度 。 例如如下**:

注意%後的數字與執行結果形式

num=-28

#注意%後的數字與執行結果形式

print

("num is:%1i"

%num)

print

("num is:%2d"

%num)

print

("num is:%3o"

% num)

print

("num is:%4x"

%num)

print

("num is:%5x"

%num)

print

("num is:%6s"

%num)

執行結果為:

num is:-28

num is:-28

num is:-34

num is: -1c

num is: -1c

num is: -28

在預設情況下 ,轉換出來的字串總是右對齊 的 ,不夠寬度時左邊補充空格 。python 也允許在最小寬度之前新增乙個標誌來改變這種行為 ,python 支援如下標誌(這三個標誌可以同時存在)。

-:指定左對齊。

+:表示數值總要帶著符號(正數帶「+」,負數帶「-」)。

0:表示不補充空格,而是補充0。

num2=

30#最小寬度為6,左邊補0

print

("num2 is:%06d"

% num2)

#最小寬度為6,左邊補0,總帶上符號

print

("num2 is:%+06d"

% num2)

#最小寬度為6,左對齊

print

("num2 is:%-6d"

% num2)

執行結果:

num2 is:000030

num2 is:+00030

num2 is:30

對於轉換浮點數,python還允許指定小數點後的數字位數;如果轉換的是字串,python允許指定轉換後的字串的最大字元數。這個標誌被稱為精度值,該精度值被放在最小寬度之後,中間用點(.)隔開。例如如下**。

my_value=

3.001415926535

#最小寬度為8,小數點後保留3位

print

("my value is:%8.3f"

% my_value)

#最小寬度為8,小數點後保留3位,左邊補0

print

("my value is:%08.3f"

%my_value)

#最小寬度為8,小數點後保留3位,左邊補0,始終帶符號print("my_value is:%+08.3f"%my_value)

the_name=

"charlie"

#只保留3個字元

print

("the name is:%.3s"

%the_name)

#輸出cha

#只保留2個字元,最小寬度為10

print

("the name is:%10.2s"

%the_name)

執行結果為:

my value is:   3.001

my value is:0003.001

the name is:cha

the name is: ch

python字串用法 python字串使用總結

python 字串使用總結 字串是程式中最常見的資料型別。在 python 中,可以使用三種方式定義字串。單 引號 雙引號和三引號。例如 string string string 或者是 string 在使用上,單引號和雙引號沒有什麼區別。三引號的主要功能是在字串中可以 包含換行 也就是說,在三引號...

python用法字串 python的字串用法

name my name is and i am old name.capitalize 首字母大寫,其他小寫 print name.capitalize name.count a 統計相同字元的個數 print name.count a 全部小寫 print name.casefold 50個字元...

python中的字串String的用法要點提煉

1 python中單引號和雙引號使用完全相同 2 使用三引號 或者 可以指定乙個多行字串 3 使用r可以讓反斜槓 不發生轉移。如 r this is a line with n 中 n會顯示而不是換行 4 字串可以用 運算子連線在一起,用 運算子重複 5 兩種索引方式 從左往右0開始,從右往左 1開...