Python學習第四天 字串

2021-09-08 14:14:13 字數 3942 閱讀 7547

學習內容:

1、字串的輸入/輸出

2、字串的索引/遍歷

3、字串的切片

4、字串常見操作(不全)

字串的格式:單、雙、三 引號,%s

輸出print()

輸入input()

字串實際是字元陣列,支援下表索引——可利用下標取出(引用)字串中的內容

切片——從操作物件中擷取其中一部分。字串、列表、元組都支援切片操作。

note:字串不可修改,只能重新賦值。

demo1

name = input("請輸入您的姓名:")  # xyx

age = int(input("請輸入您的年齡:")) # 18

print("您的姓名是:%s,您的年齡是:%d" % (name, age))

3.6新增f_string 用 代替格式化操作符

print(f'您的姓名是: ,您的年齡是:')   # 您的姓名是:xyx,您的年齡是:18

a = 3

b = 4

print(f'a+b的值為:') # a+b的值為:7

print(f'3+4=') # a+b=7

print("3+4=%d" % (3+4)) # 3+4=7

note:可以理解f" "能代替所有的格式化操作符嗎?—yes

demo2

s = "hello python"

# 根據索引得到元素 格式:字串名[索引]

element1 = s[0]

element2 = s[1]

element3 = s[3]

print(element1)

print(element2)

print(element3)

字串實際是字元陣列,支援下表索引——可利用下標取出(引用)字串中的內容

demo3

for e in s:

print(e, end=" ")

結果:h e l l o p y t h o n

i = 0

while i < len(s):

print(s[i], end=" ")

i += 1

結果: h e l l o p y t h o n

切片——從操作物件中擷取其中一部分。字串、列表、元組都支援切片操作。

語法: 操作物件[起始: 結束: 步長] 不包含結束本身,同range()

demo4

note:因為格式問題,省略了「#」後面的空格。在**的實際書寫中,別忘了敲空格。

s=string = 'hello word hello word'
#從索引2的元素擷取到索引為8的元素

print(s[2:9:])
#從索引為-6擷取到索引為-2的元素

rint(s[-6:-1:])
#從索引為3的元素擷取到最後乙個元素(包含最後乙個元素)

print(s[6:len(s):])
# 字串切片的步長

s1=string = 'hello word hello word'
#從索引為-2的元素擷取到索引為-10的元素,步長為-2

print(s[-2:-11:-2])
print(string[::])

print(string[:11:2]) # a為第乙個,每隔乙個取乙個

print(string[::-1]) # 倒著取,k為第乙個

print(string[:4:-1]) # 前0-4沒取,後5-10倒著取

print(string[-4::-1]) # 倒數第四從後往前取

notes:

1、步長的正負代表的擷取的方向。步長為正時,方向為從左到右,步長為負時,方向為從右到左。

2、步長預設為正

3、特殊[:-5:]

1、查詢方法

** find / rfind / index / rindex**

s2=string = 'hello word hello word'
「」"

find——查詢某個目標字串是否在源字串中,如果存在返回開始索引,不存在返回-1。

需要列印出來才能看到結果

格式:源字串.find(「目標字串」, 查詢範圍) 查詢範圍也是符合前閉後開的規則。

「」"

print(string.find("hello", 0, len(string)))
#index ——格式同 find 查詢失敗會報乙個異常

print(string.index("word", 0, len(string)))
rfind / findex 與find / index 格式相同:查詢方向相反

2、統計/分割

#count 格式同 find 返回在查詢範圍中 目標字串出現的次數

print(string.count("hello", 0, len(string)))
#4、replace 格式: 源字串.replace(str1, str2, 源字串.count(str1))

print(string.replace("hello", "hello", string.count("hello")))  # 替換掉字串中的所有hello.

print(string.replace("hello", "python", 1)) # 指定只替換乙個

3、判斷方法

s3=string = 'hello word hello word &'
#isalpha 判斷字串中是否只包含字母,並列印結果。

print(s2.isalpha())
#isdigit 判斷字串中是否只包含數字,並列印結果。

print(s2.isdigit())
#isspace 判斷字串中是否只包含空格,並列印結果。

print(s2.isspace())
#isupper 判斷字串中是否都為大寫字母…

print(s2.isupper())
4、大小寫的轉換

#upper/lower

s3 = "hello python 123

print(s3.upper()) # 把字串s3中的小寫字母轉換為大寫字母(大寫字母和其他字元不變)

print(s3.lowerr()) # 把字串s3中的大寫字母轉換為小寫字母(小寫字母和其他字元不變)

5、替換

#replace 將「l」替換為「wwww」

print("l", "wwww")

學習python 第四天

python 迴圈結構 迴圈結構可以輕鬆的控制某件事重複 再重複的發生。在python中構造迴圈結構有兩種做法,一種是for in迴圈,一種是while迴圈。for in迴圈 如果明確的知道迴圈執行的次數或者是要對乙個容器進行迭代 後面會講到 那麼我們推薦使用for in迴圈 用for迴圈實現1 1...

Python學習 第四天

map函式可以對序列中個每個值進行某種批量轉化操作,然後將結果作為迭代器iterator返回,迭代器可以利用for迴圈或者next 函式來訪問每個值。map函式接收兩個引數,乙個是函式f,乙個是iterator,map在iterable的每個元素上依次執行函式f,並把結果作為新的iterator迭代...

學習python,第四天

echo 內容 a 將內容放到檔案裡 ls lh a 會覆蓋原有內容 echo a 追加到末尾 不會覆蓋原有內容 管道 ls lha more shutdown關機 shutdown now立刻關機 shutdown r重啟 shutdown c取消 shutdown 10 00十點關機 shutd...