在 Python 中拼接(連接)字符串很簡單,可以直接將兩個字符串緊挨著寫在一起,具體格式為:
strname = "str1" "str2"
strname 表示拼接以後的字符串變量名,str1 和 str2 是要拼接的字符串內容。使用這種寫法,Python 會自動將兩個字符串拼接在一起。
str1 = "Python教程" "http://c.biancheng.net/python/"
print(str1)
str2 = "Java" "Python" "C++" "PHP"
print(str2)
Python教程http://c.biancheng.net/python/
JavaPythonC++PHP
需要注意的是,這種寫法只能拼接字符串常量。
如果需要使用變量,就得借助+運算符來拼接,具體格式為:
strname = str1 + str2
當然,+運算符也能拼接字符串常量。
name = "C++教程"
url = "http://c.biancheng.net/cplus/"
info = name + "的網址是:" + url
print(info)
C++教程的網址是:http://c.biancheng.net/cplus/
在很多應用場景中,我們需要將字符串和數字拼接在一起,而 Python 不允許直接拼接數字和字符串,所以我們必須先將數字轉換成字符串。可以借助 str() 和 repr() 函數將數字轉換為字符串,它們的使用格式為:
str(obj)
repr(obj)
obj 表示要轉換的對象,它可以是數字、列表、元組、字典等多種類型的數據。
name = "C語言中文網"
age = 8
course = 30
info = name + "已經" + str(age) + "歲了,共發布了" + repr(course) + "套教程。"
print(info)
C語言中文網已經8歲了,共發布了30套教程。
str() 和 repr() 函數雖然都可以將數字轉換成字符串,但它們之間是有區別的:
s = "http://c.biancheng.net/shell/"
s_str = str(s)
s_repr = repr(s)
print( type(s_str) )
print (s_str)
print( type(s_repr) )
print (s_repr)
<class ‘str’>
http://c.biancheng.net/shell/
<class ‘str’>
‘http://c.biancheng.net/shell/’
本例中,s 本身就是一個字符串,但是我們依然使用 str() 和 repr() 對它進行了轉換。從運行結果可以看出,str() 保留了字符串最原始的樣子,而 repr() 使用引號將字符串包圍起來,這就是 Python 字符串的表達式形式。
另外,在 Python 交互式編程環境中輸入一個表達式(變量、加減乘除、邏輯運算等)時,Python 會自動使用 repr() 函數處理該表達式。