如果字串內容本身包含了單引號或雙引號,此時就需要進行特殊處理 。
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開...