[Python基礎]字串操作

蘿蔔ovo發表於2020-12-30

字串

字串的輸出

下面是字串的格式化輸出

name = “小明”

print(“大家好,我的名字叫%s” %name)

利用%s輸出元組裡面的內容

subjects = ["python","linux","mysql"]

sum = 0

for i in subjects:
		print("請輸入%s的成績:"%i)
		sore = int(input())
		sum += sore
avg = sum / len(subjects)

print("平均成績是",avg)
		

字串的輸出

name = "xiaoming"

position = "講師"

address = "北京市昌平區建材城西路金豔龍辦公落1層"
print("----------------------------------------------")
print("姓名:%s"%name)
print("職位:%s"%position)
print("公司地址:%s"%address)
print("----------------------------------------------")

字串的輸入

user_name = input("請輸入使用者名稱:")

print("使用者名稱為:%s"%user_name)

user_password = input("請輸入密碼:")

print("密碼為:%s"%user_password)

字串的儲存方式

字串中的每個字元都對應一個下標,下標編號是從0開始的.

切片

切片的語法格式如下所示:

[起始:結束:步長]

假設有字串 name = "abcdef"

name[0:3]   ------>  abc
name[3:5]   ------>  de 
name[1:-1]  ------>  bcde
name[2:]    ------>  cdef
name[::-2]  ------>  fdb
name[3::-2] ------>  db 

字串的內建函式

find函式:檢測字串是否包含子字串

str.find(str,beg=0,end=len(string))

# str -- 指定檢索的字串
# beg -- 開始索引,預設為0
# end -- 結束索引,預設為字串的長度
string_example = 'hello world itheima and itheima and itheimaApp'
index = string_example.find("itheima")
print(index)

# 字串裡面有itheima 輸出字串位置12

string_example = 'hello world itheima and itheima and itheimaApp'
index = string_example.find("itcast")
print(index)

# 字串裡沒有itacast 輸出-1 

index函式:檢測字串是否包含子字串

str.index(str,beg=0,end=len(string))

# str -- 指定檢索的字串
# beg -- 開始索引,預設為0
# end -- 結束索引,預設為字串的長度
# 如果找不到會給出一個異常
string_example = 'hello world itheima and itheima and itheimaApp'
index = string_example.index("itheima",0,10)
print(index)

# 異常:ValueError substring not found 

count函式:統計字串中某個字元的個數

str.count(sub,start=0,end=len(string))

# start -- 字串開始搜尋的位置
# end -- 字串中結束搜尋的位置

replace函式:將舊字串替換為新字串

str.replace(ole,new[,max])

# old -- 將被替換的字串
# new -- 新字串,用於替換old字串
# max -- 可選字串,替換不超過max次
old_string = 'hello world itheima and itheima and itheimaApp'
new_string = old_string.replace("itheima","ITHEIMA",1)
print(new_string)

# 輸出結果:hello world ITHEIMA and itheimaApp

splite函式:通過指定分隔符對字串進行切片

str.split(str=“”,num=string.count(str))

# str -- 分隔符.預設為所有空字元.
# num -- 分割次
string_example = "this is string example....wow!!!"
print(string_example.split())
print(string_example.split('i',1))
print(string_example.split('w'))
print(string_example.split('i',5))

#輸出結果
['this', 'is', 'string', 'example....wow!!!']
['th', 's is string example....wow!!!']
['this is string example....', 'o', '!!!']
['th', 's ', 's str', 'ng example....wow!!!']

capitalize函式:第一個字元大寫,其他字元小寫

str.capitalize()

title函式:所有單詞首字母大寫,其餘字母小寫

str.title
old_string = 'hello world itheima and itheimaApp'
new_string = old_string.title()
print(new_string)

#輸出結果
Hello World Itheima And Itheimaapp

startswith函式:用於檢測字串是否是以指定子字串,如果是,返回True,否則返回Flase.

str.startswith(prefix[,start[,end]])

# prefix -- 檢測的字串.
# strbeg -- 可選引數用於設定字串檢測的起始位置.
# strend -- 可選引數用於設定字串檢測的結束位置.
old_string = 'hello world itheima and itheimaApp'
new_string = old_string.startswith('hello')
print(new_string)

old_string = 'hello world itheima and itheimaApp'
new_string = old_string.startswith('jiade')
print(new_string)

#輸出結果
True
Flase

endswith函式:檢查字串是否以制定子串結尾

str.endswith(suffix[,start[,end]])

# suffix -- 該引數可以是一個字串或者是一個元素.
# start -- 可選引數用於設定字串檢測的起始位置.
# end -- 可選引數用於設定字串檢測的結束位置.
old_string = 'hello world itheima and itheimaApp'
new_string = old_string.endswith('itheimaApp')
print(new_string)

old_string = 'hello world itheima and itheimaApp'
new_string = old_string.endswith('hello')
print(new_string)

#輸出結果
True
Flase

upper函式:將小寫字母轉化為大寫字母

str.upper()
mystr = ‘hello world itheima and itheimaApp’
newStr = mystr.upper()
print(newStr)

#輸出結果
HELLO WORLD ITHEIMA AND ITHEIMAAPP

ljust函式:左對齊,使用空格填充至指定長度的新字串

str.ljust(width[,fillchar])

# width -- 指定字串長度
# fillchar -- 填充字元,預設為空格.
string_exmaple = 'Runoob example...wow!!!'
print(string_exmaple.ljust(50,'*'))

#輸出結果
Runoob example...wow!!!***************************

rjust函式:右對齊,使用空格填充至指定長度的新字串

str.rjust(width[,fillchar])

# width -- 指定字串長度
# fillchar -- 填充字元,預設為空格.
string_exmaple = 'Runoob example...wow!!!'
print(string_exmaple.rjust(50,'*'))

#輸出結果
***************************Runoob example...wow!!!

center函式:返回一個指定的寬度width居中的字串

str.center(width[,fillchar])

# width -- 字串的總寬度
# fillchar -- 填充字元
old_string = 'hello world itheima and itheimaApp'
new_string = old_string.center(50)
print(new_string)

#輸出結果
        hello world itheima and itheimaApp        

lstrip函式:截掉字串左邊的空格或指定字元

str.lstrip([chars])

# chars -- 指定刪除的字元
old_string = '    hello world itheima and itheimaApp   '
new_string = old_string.strip()
print(new_string)

#輸出結果
hello world itheima and itheimaApp

rstrip函式:截掉字串右邊的空格或指定字元

str.rstrip([chars])

# chars -- 指定刪除的字元
old_string = '    hello world itheima and itheimaApp   '
new_string = old_string.strip()
print(new_string)

#輸出結果
hello world itheima and itheimaApp

strip函式:截掉字串首尾的空格或指定字元

str.strip([chars])

# chars -- 指定刪除首尾的字元
old_string = '    hello world itheima and itheimaApp   '
new_string = old_string.strip()
print(new_string)

#輸出結果
hello world itheima and itheimaApp

字串運算子

運算子         描述

 +            字串連線
 *            重複輸出字串
 in           成員運算子.如果字串中包含給定的字元,返回為True
 not in       成員運算子.如果字串中不包含給定的字元,返回為True
 r/R          原始字串:原樣輸出

相關文章