python 基礎 之 字符串


Str 字符串

python 字符串str是在Python編寫程序過程中,最常見的一種基本數據類型


A、創建字符串

a=str('字符串')

a='這樣也是字符串'

astr='我是字符串'  #使用單引號或是雙引號來創建
bint=123   #這是一個int類型
bstr=str(bint)  #str()可以用來把List,dict,int,float這些類轉為字符串

#輸入出結果及類型
print(astr,type(astr)) print(bint,type(bint)) print(bstr,type(bstr))

#輸出

 我是字符串 <class 'str'>
 123 <class 'int'>
 123 <class 'str'>

 

 


B、三引號"""  """

1、定義字符串

2、解釋說明

3、文檔字符串,主要用在類(calss)里面,使用 __doc__

atstr=""" 我這里可以這樣寫 我的排列,輸出來就這樣 我怎么排,輸出就怎么樣 """

輸出結果:

        我這里可以這樣寫
        我的排列,輸出來就這樣
 我怎么排,輸出就怎么樣

 


C、python用反斜杠(\)轉義字符

轉義字符	    描述
\(在行尾時)  續行符
\\	   反斜杠符號
\'	   單引號
\"	   雙引號
\a	   響鈴
\b	   退格(Backspace)
\e	   轉義
\000	   空
\n	   換行
\v	   縱向制表符
\t	   橫向制表符
\r	   回車
\f	   換頁
\oyy	   八進制數,yy代表的字符,例如:\o12代表換行
\xyy	   十六進制數,yy代表的字符,例如:\x0a代表換行
\other	   其它的字符以普通格式輸出

 


1、原始字符串  

使用r 表示原始字符串 如:(r'C:\Python\Python36\Scripts') 

 


D、字符串格式化。

1、 % 格式化符

print('我叫 %s 今年 %d 歲!' % ('小明', 10)) #輸出結果:
我叫 小明 今年 10 歲!

 

符   號	描述
%c	 格式化字符及其ASCII碼
%s	 格式化字符串
%d	 格式化整數
%u	 格式化無符號整型
%o	 格式化無符號八進制數
%x	 格式化無符號十六進制數
%X	 格式化無符號十六進制數(大寫)
%f	 格式化浮點數字,可指定小數點后的精度
%e	 用科學計數法格式化浮點數
%E	 作用同%e,用科學計數法格式化浮點數
%g	 %f和%e的簡寫
%G	 %f 和 %E 的簡寫
%p	 用十六進制數格式化變量的地址

  

 2、.format() 格式化 使用到 {}(大括號)

print('我叫 {} 今年 {} 歲!'.format('小明',10)) #輸出結果:
我叫 小明 今年 10 歲!

 


E、字符串運算符 astr='Holle'  、bstr='Python'

1、+ 字符串連接 astr+bstr

cstr=astr+bstr print(cstr) #輸出結果:
HollePython

2、* 重復輸出字符串 astr*3

print(astr*3) #輸出結果:
HolleHolleHolle

3、[] 通過索引獲取字符串中字符 astr[0]

print(astr[0]) #輸出結果:
H

4、[ : ] 截取字符串中的一部分 astr[1:4],從索收 1到4,不包含4

print(astr[1:4]) #輸出結果:
oll

正向

 

反向

 

5、[::-1]反轉字符串 (-1反向)

print(astr[::-1]) #輸出結果:
elloH

 


6、判斷

6.1、in 成員運算符 - 如果字符串中包含給定的字符返回 True

print('H'in astr) #輸出結果:
True

6.2、not in 成員運算符 - 如果字符串中不包含給定的字符返回 True

print('H'not in astr) #輸出結果:
False #-------------------------------- print('A'not in astr) #輸出結果:
True

 


F、字符串內置函數

1、strip()用於移除字符串頭尾指定的字符(默認為空格)另外還有 strip('需要移除的符號')

a=' $#$#holle python ' c=a.strip() d=c.strip('$#') print(c) print(d) #輸出結果:
$#$#holle python
 holle python

1.1 .lstrip() 移除左邊空格

a=' lstrip '
print(a.lstrip()) #輸出結果:
lstrip   

1.2.rstrip()移除右邊空格

a=' lstrip '
print(a.rstrip()) #輸出結果:
   lstrip

2、replace(x,y,z)替換字符,傳入參數3個,前兩個是必傳,

第一個是要替換的原有子字符串,第二個是需要替換的新子字符串,第三個是最大的替換次數,不填寫默認全部替換

dstr='我是小明,小明的小明'

print(dstr.replace('小明','小白')) print(dstr.replace('小明','小白',2))#傳入第三個參數,最大替換2次

#輸出結果:
我是小白,小白的小白 我是小白,小白的小明

3、index()、find() 查找字符串中是否包含子字符串並返回字符串索引位置

3.1、index()查找,找到則顯示字符串所在的索引位置

aindex='我的名字叫小明'

print(aindex.index('')) #輸出結果:
2

3.2、index()如查找的不存在則報錯

aindex='我的名字叫小明'

print(aindex.index('')) #輸出結果:
ValueError: substring not found

3.3、find()查找,找到則顯示字符串所在的索引位置(默認從左邊開始查找)

aindex='我的名字叫小x'

print(aindex.find('x')) #輸出結果:
6

3.4、rfind()從右邊開始查找,找到則顯示字符串所在的索引位置

aindex='我的名字叫小x'

print(aindex.rfind('x')) #輸出結果:
6

3.4、 find()與rfind()如查找不到則返回-1

aindex='我的名字叫小x'

print(aindex.find('s')) #輸出結果:
-1

 


E、字符串比較

使用到operator需要導入 :from operator import lt ,le,gt,ge,eq

lt 相當於: < 、le 相當於:<= 、gt 相當於:> 、ge 相當於:>= 、eq 相當於:==

*這里例子用到字母比較,從26個字母a開始,最開始的a 是最小的,越往后越大。

ator='abc' btor='hij'

print(lt(ator,btor)) #輸出結果:
True
print(le(ator,btor)) #輸出結果:
True
print(gt(ator,btor)) #輸出結果:
False
print(ge(ator,btor)) #輸出結果:
False
print(eq(ator,btor)) #輸出結果:
False

 


F、字符串字母轉換

1、字母小寫轉大寫 upper()

abi='abcde'

print(abi.upper())#字母小寫轉大寫

#輸出結果:
ABCDE

2、字母大寫轉小寫 lower()

 

axi='ABCDE'
print(abi.lower())#字母大寫變小寫

#輸出結果:
abcde

3、標題化--首字母大寫 title()

axi='ABCDE'

print(axi.title())#標題化,首字母大寫

#輸出結果:
Abcde

4、大小寫反轉 --- 小寫轉大寫,大寫轉小寫 swapcase()

abx='aBcdEfGHijKL'

print(abx.swapcase()) #輸出結果:
AbCDeFghIJkl

5、分割字符串並放入一個 list()內   ----- .split()

asp='a b c d e'
print(asp.split()) #輸出結果:
['a', 'b', 'c', 'd', 'e']

5.1、.split(',') 分割,字符串並放入一個 list()內

aspb='a,b,c,d,e'
print(aspb.split()) #輸出結果:
['a,b,c,d,e']

 6、join()拼接字符串

ajo='abcd' bjo='$'.join(ajo)#使用$連接字符串

print(bjo) #輸出結果:
a$b$c$d

7、字符串對齊 ljust() 、rjust() 、center()

ajust='python'
print(ajust.ljust(50,'-'))#向右以-補對齊50

#輸出結果:
python--------------------------------------------
print(ajust.rjust(50,'-'))#向左以-對齊50

#輸出結果:
--------------------------------------------python
print(ajust.center(50,'-'))#以- 50兩向中間對齊

#輸出結果:
----------------------python----------------------

8、判斷字符開頭與結尾字符 startswith()、endtswith()

asta='holle python'

print(asta.startswith('ho'))  #判斷以ho開頭

#輸出結果:
True
asta='holle python'

print(asta.endswith('on'))  #判斷以on結尾

#輸出結果:
True

9、計算字符串中的子字符串出現幾次 count()

acou='xi in xi cc bbi dd'

print(acou.count('xi'))#計算 xi 在acou中出現幾次

#輸出結果:
2

10、zfill() 返回指定長度的字符串,原字符串向右對齊,前面以0充。

ajust='python'

print(ajust.zfill(10)) #返回長度為10的字符串,向右對齊以0填充

#輸出結果:
000000000python

 

 

#其它Python 的字符串常用內建函數點擊查看》》》》》》》》》》

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM