Python字符串類型的詳細介紹
Python字符串類型在使用的時候會有許多知識需要大家學習,下面我們來看看如何進行細致的學習,這樣對今后更好的使用有很大幫助。希望大家有所收獲。#t#
中的序列是由非負整數索引的對象的有序集合(真拗口,其實意思就是下標從0開始),它包括字符串、Unicode字符串、列表、元組、xrange對象以及緩沖區對象。后兩種類型我們先不介紹,后邊用到時再說明。
Python字符串類型
Python擁有兩種字符串類型:標準字符串(str)是單字節字符序列,Unicode字符串(unicode)是雙字節字符序列。
在Python中定義一個標準字符串(str)可以使用單引號、雙引號甚至三引號,這使得Python輸入文本比C#更方便。比如當str的內容中包含雙引號時,就可以用單引號定義,反之亦然。當字符中有換行符等特殊字符時,可以直接使用三引號定義。這樣就方便了很多,不用去記那些亂七八糟的轉義字符。當然Python也支持轉義字符,且含義和C#基本一樣。不過既然有簡單的東西用,誰還去自找麻煩呢?
下邊是一個例子,來說明以上幾點:
- str1 = 'I am "Python"\n'
- str2 = "I am 'Python'\r"
- str3 = """
- I'm "Python",
- <a href="http://Csharp.com">you are C#</a>
- """ #你可以把html代碼之類的東西直接弄進來而不需要做特殊處理7 print str1,str2,str3
在Python中定義一個Unicode字符串,需要在引號前面加上一個字符u,例如
- # -*- coding: utf-8 -*-
- print u'我是派森'
這點沒有C#方便,因為C#字符串默認就是Unicode的,我想Python如果要改進,應該把兩種字符串合二為一,這樣可以為初學者減少很多麻煩(你看網上有多少帖子是在問Python怎么支持中文?根源都在這里)。同時注意,當使用utf-8編碼時,非unicode字符中一個漢字的長度是3,而使用gb2312時是2,見下邊代碼:
- # -*- coding: utf-8 -*-
- unicode = u'我'
- str = '我'
- print len(unicode),len(str)
- #輸出 1 3 6 7 # -*- coding: gb2312 -*-
- unicode = u'我'
- str = '我'
- print len(unicode),len(str)#輸出 1 2
另外,Python字符串類型沒有C#中的字符類型,再短的文本也是字符串,這點稍微注意一下就可以,因為現在使用C#的也很少用char了吧?
***,關于字符串的操作方法,基本上C#有的Python都有,可以看看Python字符串類型手冊之類的資料,我就不多說了。唯一提一點就是在Python中提取一個字符串的子串時,記得用“切片”語句(后邊講列表和元組時還會介紹),而不要再去找SubString了,見下邊的例子:
- # -*- coding: utf-8 -*-
- str1 = u'我是派森'
- print str1[2:4]
- #輸出 '派森'
以上就是對Python字符串類型的詳細介紹。