python-6
string
by SID
string
a="..."
string是甚麼?
中文:字串
顧名思義就是把很多字 串在一起的東東
有沒有發現它很像list!
一個是串了很多字元 另一個是將多種不同的東東串在一起
所以string很多用法都跟list頗為相似
等等會一一介紹
string基本用法
變數 = input("提示訊息") 用單引號也可
將使用者輸入的字串指派給變數
或是直接指派某字串給變數
附註:還記得我們之前輸入數字要特別多加一個int()才能進行運算嗎?
那是因為python原本預設input進來的格式是字串喔
將格式轉為字串:str()
栗子
str1 = 'ckefgisc'
str2 = "python"
str3 = str(213)
print(str1, str2, str3)
print(type(str1))
print(type(str2))
print(type(str3))
'''
ckefgisc python 213
<class 'str'>
<class 'str'>
<class 'str'>
'''
string運算
stringA+stringB
stringA *3
stringA, stringB
連接多個字串
a = "abc"
b = "def"
c = "ghi"
print(a + b + c)
#abcdefghi
用 + 不會有空格
a = "abc"
b = "def"
c = "ghi"
print(a , b , c)
#abc def ghi
用 , 有空格
字串*整數
a = "abc"
print(a*3)
#abcabcabc
STRING擷取部分內容
string[index]
string[::]
字串取值:string[n]
a = "abcdefghigk"
print(a[0])
print(a[2])
print(a[-1]) #由後開始數
# a
# c
# k
string一樣有所謂的第0項( index =0)
就是第一個字
index<0 代表由後數回來的第幾個字
但如果想找的 index 超出範圍會回傳 IndexError
有沒有發現都跟list一樣呢:)
字串切片取值:string[r:l:i]
a = "Merry Christmas!!!"
print(a[1:16:2]) #[er hitta!]
print(a[::2]) #[MryCrsms!]
print(a[:3:]) #[Mer]
字串名後加上[ r : l : i ]
可以在串列內從r到l-1每i項取一次(公差=i)
r空白代表 從最前面開始
l空白代表 取到最後面
i空白代表 公差=1
這也是跟list一模一樣呢!XD
string計數
len()
strA.count(strB)
回傳字串中共有幾個字元:
len(str)
a = "greenhouse"
print(len(a))
# 10
strA.count(strB)
回傳 strB 在 strA 中出現的次數
a = "times1 dian greenhouse dian"
print(a.count("dian"))
#2
a = "abcabcabcabcabc"
print(a.count("abca"))
#2
在 strA 中,對於每個字元,一旦該字元已經被 count 到了,那就不會再被數到一次了
#偷
string 搜尋
strA in strB
strA.find(strB)
strA in strB
判斷 strA 是否為 strB 的片段!
a = "merry christmas "
print("merry" in a)
# True
a = "christmas"
print("merry" in a)
# False
常常搭配if判斷式
strA.find(strB)
在 strA 中尋找特定字串的 index!
a = "times1 dian greenhouse dian"
print(a.find("dian"))
#有兩個dian,回傳第一個dian中d所在的index
# 7
a = "times1 greenhouse"
print(a.find("dian"))
# -1
如果 strA 中有 strB 則回傳第一個找到的 strB 首個字元在 strA 的 index!
如果 strA 中沒有 strB 則回傳 -1
!
#偷
掃描STRING
for a in string
掃描字串
a = "Jonathan"
for i in a:
print(i)
# J
# o
# n
# a
# t
# h
# a
# n
for 變數 in 字串名:
....要重複執行的程式
ASCII轉換
chr()
ord()
ASCII code 與 str 互換
print(ord("a"))
print(chr(97))
# 97
# a
b = ord("a")
b += 25
print(chr(b))
# z
print(type(chr(97)))
print(type(ord("a")))
# <class 'str'>
# <class 'int'>
chr(): ASCII => str
ord(): str => ASCII
題目練習
沒寫完的題目回家要練習喔!
加油!!!
好ㄟ結束了!
下星期一中午有python小社喔!
下周課程預告:tuple,set,dict(我猜
學妹來上python~回家要練習喔~