1.字串是一種直接量或者說是一種標量,字串是不可變型別,簡單來說改變乙個字串的元素就等需要新建乙個新的字串。當然,通過拼湊各個部分得到乙個新的字串也還是可以的
注意:python的字串並不是以\0作為結束符的
>>> astring="hello world"
>>> astring=astring[:6]+'python'
>>> astring
'hello python'
2.pyhton實際上有三類字串,通常意義下的為字串str和unicode字串實際上是抽象類basestring的子類,這個basestring是不能是不能例項化的,如果妄圖例項化,那麼
>>> basestring('foo')
traceback (most recent call last):
file "", line 1, in
typeerror: the basestring type
cannot
beinstantiated
3.如果你想要刪除字串的乙個元素,由於字串是不可變的,所以你不能僅僅只是刪除字串中的某個元素,不過可以通過拼湊的方法來間接到達要求
>>> astring='hello world'
>>> astring=astring[:3]+astring[4:]
>>> astring
'helo world'
當然我麼也可以通過賦乙個空字串或者使用del語句來清空或者刪除乙個字串
4.字串做對比的時候是按照ascii碼的值的大小來比較的
5.成員操作符(in ,not in)用來判斷乙個字元或者乙個子串是否會出現在另乙個字串中
>>> astring="hello world"
>>>
"h"in astring
false
>>>
"h"in astring
true
6.for 迴圈的else語句是乙個可選項,它只在for迴圈完整的結束,沒有遇到break時執行
這是沒有遇到break,執行了後面的else語句
>>> for i in astring:
... print i,
...else:
... print "\nbingo"
...h e l o w o r l d
bingo
7.字串物件的方法
>>> s.upper()
'hello python'
>>> s.lower()
'hello python'
>>> s.capitalize() #首字母大寫
'hello python'
>>> s.title() #單詞首字母大寫
'hello python'
8.格式化操作符(%)
%d 轉換成有符號的十進位制
%u 轉換成無符號的十進位制
%o 轉換成無符號的八進位制
%e 轉換成科學計數法
%f 轉換成浮點型
%c 轉換成字元
**格式化操作符輔助指令
* 定義寬度或者小數點精度
m.n m顯示的最小的總寬度,n是小數點後的位數 %m.nf
>>> f=2.4545
>>>
print
"%4.2f"%f
2.45
小技巧
對齊的文字和指定的寬度:
>>> ''.format('left aligned') # 《向左對其,總寬度為30
'left aligned '
>>> ''.format('right aligned') # >向右對其,總寬度為30
' right aligned'
>>> ''.format('centered') # ^在總寬度為30的範圍內居中,
' centered '
>>> ''.format('centered')#^在總寬度為30的範圍內居中,空白區域用*填充
'***********centered***********'
使用逗號作為千位分隔符
>>> ''.format(1234567890)
'1,234,567,890'
9.原始字串的目的是為了對付哪些在字串中出現的特殊字元,除了原始字串符號(引號前面的字母r)以外,原始字串根普通的字串有著幾乎完全相同的語法
>>> a=r"/asd/asd\n"
>>>
print a
/asd/asd\n
>>> b="/asd/asd\n"
>>>
print b
/asd/asd
>>>
10.chr(ascii碼)與ord(string)函式
>>> ord('a')
65>>> chr(65)
'a'>>>
有chr(ascii碼)與ord(string)函式,當然也有unichr(ascii碼)與uniord(string)函式,用法都一樣
11.常用的字串型別的內建方法
string.endswith(obj,beg=0,end=len(string)) :字串是否以obj結尾
類似的還有string.startswith(obj,beg=0,end=len(string))
>>> s="hello world"
>>> s.endswith('world')
true
>>> s.isalpha() #全是字母返回true
false
>>> s="he11o world"
>>> s.isalpha()
false
>>> s="helloworld"
>>> s.isalpha()
true
>>>
>>> s="he11oworld"
>>> s.isalnum() #字串內至少有乙個數字或字母返回true
true
>>> s="1231231"
>>>> s.isdigit() #只包含數字返回true 與s.isnumeric()
true
>>> s="title"
>>> s.istitle() #是否標題化
true
>>> s=" title"
>>> s.lstrip() #截掉s的左邊空格 當然還有s.rstrip()右邊空格
'title'
>>> seq=['h','e','l']
>>>
''.join(seq) #將seq中所有元素合併為乙個新的字串
'hel'
>>>'-'.join(seq)
'h-e-l'
>>> s="hello world"
>>> s.count('l') #返回l出現的次數
3>>> s="hello python"
>>> s.swapcase() #大小寫反轉
'hello python'
>>>
>>> s="hello python !!!"
>>> s.split(' ') #以空格作為分隔符切片成陣列,很常用
['hello', 'python','!!!']
>>>
11.s雖然我們可以用單引號或者雙引號來定義字串,但是如果包含如換行符這樣的特殊字元是,這個時候就應該使用三引號,經常用於html語句中
12.unicode通過使用乙個或者多個位元組來表示乙個字元的方法突破了ascii的限制再這樣的機制下,unicode可以表示超過90000個字元
unicode()函式可以把任何python的資料型別轉換成相應的unicode字串
s.encode(『utf-8』)函式 引數接受編碼格式,返回編碼後的字元
s.decode(『utf-8』)函式,引數接受解碼格式,然後輸出
遵循以下規則,處理unicode就比較簡單
①。程式中出現字串一定要加乙個字首u
②。不要用str()函式,用unicode()函式代替
③。不到必須的不要在你的程式中編譯碼unicode字元
Python序列之字串
a abcde b 123 這是整型,不是字串 序列中的每個元素被分配乙個序號 即元素的位置,也稱為索引。第乙個索引是 0,第二個則是 1,以此類推。序列中的最後乙個元素標記為 1,倒數第二個元素為 2,一次類推。輸出 a fruit 0 輸出 e fruit 1 python 中還支援使用切片操作...
Python序列之字串
一 序列的定義 1 資料結構 在python中,最基本的資料結構是序列 對映 2 索引 序列中的每個元素被分配乙個序號。注意索引預設從0開始 二 通用序列操作 所有序列都可以進行某些特定的操作 索引 分片 加 乘 檢查某個元素是否屬於序列的成員 成員資格 內建函式 長度 最小值 最大值 在這裡還有乙...
序列 字串
序列的基本操作 索引 分片 乘法 判斷成員資格 求長度 取最大最小值 對字串都同樣適用 字串是不可以改變的,沒有賦值 擴充套件這類操作 grade 87.6 str cc grade is 1f print str grade cc grade is 87.6 s plus s equals s 1...