在 Python 中拼接(連接)字符串很簡單,可以直接將兩個字符串緊挨着寫在一起,具體格式為:
strname = "str1" "str2"
strname 表示拼接以后的字符串變量名,str1 和 str2 是要拼接的字符串內容。使用這種寫法,Python 會自動將兩個字符串拼接在一起。https://www.furuihua.cn/shenzhen/
【示例】以連續書寫的形式拼接字符串:
- 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字符串和數字的拼接
在很多應用場景中,我們需要將字符串和數字拼接在一起,而 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() 的區別
str() 和 repr() 函數雖然都可以將數字轉換成字符串,但它們之間是有區別的:
- str() 用於將數據轉換成適合人類閱讀的字符串形式。
- repr() 用於將數據轉換成適合解釋器閱讀的字符串形式(Python 表達式的形式),適合在開發和調試階段使用;如果沒有等價的語法,則會發生 SyntaxError 異常。
請看下面的例子:
- 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() 函數處理該表達式。