1. 程式人生 > >小白學Python(四)----字串

小白學Python(四)----字串

一、 字串
<1>python中字串的格式
 如下定義的變數a,儲存的是數字型別的值
a = 100
 如下定義的變數b,儲存的是字串型別的值
b = “hello xiaobai.cn
或者
b = ‘hello xiaobai.cn
小總結:
<2>雙引號或者單引號中的資料,就是字串
字串輸出
Demo:

name = ‘xiaobai’
position = ‘講師’
address = ‘北京市’
print(’--------------------------------------------------’)
print(“姓名:%s” % name)
print(“職位:%s” % position)
print(“公司地址:%s” % address)
print(’--------------------------------------------------’)
結果:

姓名: xiaobai
職位: 講師
公司地址: 北京市

<3>字串輸入
input獲取的資料,都以字串的方式進行儲存,即使輸入的是數字,那麼也是以字串方式儲存
demo:
userName = input(‘請輸入使用者名稱:’)
print(“使用者名稱為:%s” % userName)
password = input(‘請輸入密碼:’)
print(“密碼為:%s” % password)

結果:(根據輸入的不同結果也不同)
請輸入使用者名稱:xiaobai
使用者名稱為: xiaobai
請輸入密碼:xiaobai
密碼為:xiaobai
<4>下標和切片

  1. 下標索引
    如果有字串: name = ‘abcdef’ ,在記憶體中的實際儲存如下:
    字串的儲存方式
    如果想取出部分字元,那麼可以通過下標的方法,(注意python中下標從 0 開始):
    Demo:

name = ‘abcdef’
print(name[0])
print(name[1])
print(name[2])
執行結果:
a
b
c
2. 切片
切片是指對操作的物件擷取其中一部分的操作。字串、列表、元組都支援切片操作。
切片的語法:[起始:結束:步長]
注意:選取的區間從"起始"位開始,到"結束"位的前一位結束(不包含結束位本身),步長表示選取間隔。
如果取出一部分,則可以在中括號[]中,使用:
name = ‘abcdef’
print(name[0:3]) # 取 下標0~2 的字元

二、 字串常見操作(不需要記憶,只要知道就行,用到的時候查一下)
如有字串 mystr = ‘hello world xiaobai and xiaobaicpp’ ,以下是常見的操作
<1>find
檢測 str 是否包含在 mystr中,如果是返回開始的索引值,否則返回-1
mystr.find(str, start=0, end=len(mystr))
<2>index
跟find()方法一樣,只不過如果str不在 mystr中會報一個異常.
mystr.index(str, start=0, end=len(mystr))
<3>count
返回 str在start和end之間 在 mystr裡面出現的次數
mystr.count(str, start=0, end=len(mystr))
<4>replace
把 mystr 中的 str1 替換成 str2,如果 count 指定,則替換不超過 count 次.
mystr.replace(str1, str2, mystr.count(str1))
<5>split
以 str 為分隔符切片 mystr,如果 maxsplit有指定值,則僅分隔 maxsplit 個子字串
mystr.split(str=" ", 2)
<6>capitalize
把字串的第一個字元大寫
mystr.capitalize()
<7>title
把字串的每個單詞首字母大寫

a = “hello xiaobai”
a.title()
‘Hello Xiaobai’
<8>startswith
檢查字串是否是以 hello 開頭, 是則返回 True,否則返回 False
mystr.startswith(hello)
<9>endswith
檢查字串是否以obj結束,如果是返回True,否則返回 False.
mystr.endswith(obj)
<10>lower
轉換 mystr 中所有大寫字元為小寫
mystr.lower()
<11>upper
轉換 mystr 中的小寫字母為大寫
mystr.upper()
<12>ljust
返回一個原字串左對齊,並使用空格填充至長度 width 的新字串
mystr.ljust(width)
<13>rjust
返回一個原字串右對齊,並使用空格填充至長度 width 的新字串
mystr.rjust(width)
<14>center
返回一個原字串居中,並使用空格填充至長度 width 的新字串
mystr.center(width)
<15>lstrip
刪除 mystr 左邊的空白字元
mystr.lstrip()
<16>rstrip
刪除 mystr 字串末尾的空白字元
mystr.rstrip()
<17>strip
刪除mystr字串兩端的空白字元

a = “\n\t itcast \t\n”
a.strip()
‘itcast’
<18>rfind
類似於 find()函式,不過是從右邊開始查詢.
mystr.rfind(str, start=0,end=len(mystr) )
<19>rindex
類似於 index(),不過是從右邊開始.
mystr.rindex( str, start=0,end=len(mystr))
<20>partition
把mystr以str分割成三部分,str前,str和str後
mystr.partition(str)
<21>rpartition
類似於 partition()函式,不過是從右邊開始.
mystr.rpartition(str)
<22>splitlines
按照行分隔,返回一個包含各行作為元素的列表
mystr.splitlines()
<23>isalpha
如果 mystr 所有字元都是字母 則返回 True,否則返回 False
mystr.isalpha()
<24>isdigit
如果 mystr 只包含數字則返回 True 否則返回 False.
mystr.isdigit()
<25>isalnum
如果 mystr 所有字元都是字母或數字則返回 True,否則返回 False
mystr.isalnum()
<26>isspace
如果 mystr 中只包含空格,則返回 True,否則返回 False.
mystr.isspace()
<27>join
mystr 中每個元素後面插入str,構造出一個新的字串
mystr.join(str)