python之字符串系列

python字符串
1.序列的操作
可通過len()函數驗證長度,並通過索引操作得到各個元素
例如: S=’abcd’ 字符串賦值給變量S 偏移量a對應0,以此類推
Len(S) 驗證長度
4
S[0] 索引(有正向和反向)
‘a’
S[1:3] 切片(偏移量從一開始包含一到三結束不包含三)
‘bc’
S+’xyz’ 支持加號合併
‘abcxyz’
S*3 重複創建新字符串
‘abcabcabc’
2.不可變性
例子中沒有任何操作對原始字符串進行改變.每個字符串都被定義爲新的字符串作爲其結果
即不能通過對字符串某一位置進行賦值來改變字符串,但可以通過建立新的字符串並以同一個變量名對其進行賦值,python在運行過程中會清理就的對象.
例如 S=’abc’
S[0]=’z’ 希望將S字符串的第0偏移位變成z(這樣操作回報錯)
...error..
S=’z’+S[1:] 可以重新賦值得到新的字符串
‘zbc’

注意:在覈心類型中,數字,字符串,元組是不可變的(不可變性用來保證在程序中保持一個對象固定不變)
,列表和字典是可變的(可完全自由改變,體現靈活性)
3.類型特定的方法
字符串有一些獨特的操作作爲方法存在
例如:字符串的find方法是一個基本的子字符串查找操作(將返回一個傳入子字符串的偏移量,或沒有找到返回 -1 )
S.find(‘bc’)
1 (指偏移量是一)
例如:字符串replace方法是對全局進行搜索和替換
S.replace(‘bc’,’XYZ’)
‘aXYZ’
S (字符串是不可變的)
‘abc’

還有一些方法實現通過分隔符將字符串拆分爲子字符串(變得簡單),大小寫轉換,測試字符串的內容(數字字母或其他),去掉字符串後的空格字符等
例如 line=’aaa,bbb,cccc,dd’

>> line.split(‘,’) 拆分
[‘aaa’,’bbb’,’cccc’,’dd’]
>> S=’abc’ 小寫換大寫
>> S.upper()
>> ‘ABC’
>> S.isalpha() 測驗字符串
‘True’
>>Line=’aaa,bbb,cccc,dd\n’
>>Line=Line.rstrip() 去掉空格
>>Line
‘aaa,bbb,cccc,dd’

格式化的高級代替操作

>> ‘%s,kjil,and %s’ % (‘spam’,’SPAM!’) (%s特指字符串)
‘spam,kjil,and SPAM!’
>> ‘{0},lmm,and {1}’.format(‘nna’,’kkpo’)
‘nna,lmm,and kkpo’

4.尋求幫助
dir() 內置函數,將會返回一個列表,包含對象的所有屬性(方法也是函數屬性,所以也會出現表中)
help() 具體查詢他們是做什麼的
例如 對於字符串S

>> dir(S)
['add', 'class', 'contains', 'delattr', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'getnewargs', 'getslice', 'gt', 'hash', 'init', 'le', 'len', 'lt', 'mod', 'mul', 'ne', 'new', 'reduce', '__reduce_ex', 'repr', 'rmod', 'rmul', 'setattr', 'sizeof', 'str', 'subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

>> help(S.replace)
Help on built-in function replace:

replace(...)
S.replace(old, new[, count]) -> string

Return a copy of string S with all occurrences of substring
old replaced by new.  If the optional argument count is
given, only the first count occurrences are replaced.

(END)
5..編寫字符串的其他方法
例如:反斜線轉義序列
S=’A\nB\tC’ (\n是換行,\t是tab鍵)
len(S)
5
ord(‘\n’) \n的ASCII值
10

Python允許字符串在單引號或雙引號中(代表相同的東西),也允許三個引號(單或雙)中包括多行字符串常量,這種形式所有的行都合併在一起,並在每行末尾增加還行符

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章