字串及其常用魔法方法

2022-06-09 09:15:09 字數 4324 閱讀 7847

1.capitalize()  將首字母變大寫

2.casefold() 所有變小寫

lower()所有變寫

注(casefold()能將各種語言變成小寫,lower只能變英文)

3.(1)center(width,fillchar=none) 注(width表示此處必須帶上這種東西,fillchar=none表示可帶可不帶(系統有預設值),帶上效果可能不一樣)

設定寬度並將內容居中(width=乙個數值:此處數值代表總長度,fillchar=乙個字元:此處字元代表剩餘位置所填充的東西,沒有的話則預設填充空格)

(2)ljust(width,fillchar=none)    設定寬度並將內容居左顯示

(3)rjust(width,fillchar=none)   設定寬度並將內容居右顯示

4.count(sub,start=none,end=none) 在字串中尋找子串行出現的次數

sub=某個字元:即在字串中尋找此字元出現的次數;start=數值a:從第a個字元開始找,預設為0;end=b:到第b個字元結束,預設為最後乙個

5.encode

6.decode

7.endswith(suffix,start=none,end=none)  表示以哪個字元結尾,返回true或者false。start跟end作用類似4.

test='

alex

'v=test.endswith('ex'

)print(v)

執行結果為 true

8.startswith(suffix,start=none,end=none) 表示以哪個字元結尾,

9.find(sub,start=none,end=none)  sub=字元a,尋找字元a在字串中的位置,直至找到第乙個後停止;start跟end表示尋找的起始位置,其中左邊時閉區間,右邊是開區間;找

10.format(*args,**kwargs)  格式化,將乙個字串中的佔位符替換為指定的值

test='

i am ,age=

'print(test)

v=test.format(name='

alex

',a=19

)print(v)

執行結果

i am ,age=

i am alex,age=19

11.fortmap_map()  功能與10.中的相同,但傳入的值不一樣(注意**第三行)

test='

i am ,age=

'print(test)

v=test.format_map()

print(v)

12.index(sub,start=none,end=none) 與9.(;find)功能相同,不同之處在於,使用index找不到後會報錯

13.isallnum() 判斷字串中是否只包含字母和數字,如果是,返回true

14.expandtabs(tabsize)  斷句

test='

username\tjiaoguohua

'v=test.expandtabs(15

)print(v)

print(test)

執行結果:

username       jiaoguohua

username jiaoguohua

15.isalpha()  判斷字串中是否只包含字母和漢字,如果是,返回true

16.isdecimal()、isdigit()  判斷字串中是否只包含數字。其中 isdigit更厲害一些

17.swapcase() 將字串進行大小寫轉換

18.isidentifier ()  判斷字串是否為有效識別符號

19.isprintable() 判斷字串是否存在不可顯示的字元,如\t、\n等(\t:製表符;\n:換行

)20.isspace()  判斷字串是否全部都是空格

21.istitle() 判斷字串是否時標題(英文中標題每個單詞首字母都大寫)

22.title()    將字串變為標題格式

23.join() 將字串(可迭代物件即可)中的每乙個元素按照指定分隔符進行拼接

test='

你是風兒我是沙

'v='_'

.join(test)

print(v)

執行結果:你_是_風_兒_我_是_沙

24.(1)islower()  判斷字串是否都是小寫

(2)lower()  將字串內容都變成小寫 

(3)isupper()  判斷字串是否全為大寫

(4)upper()  將字串內容都變為大寫

25.(1)strip()  去除左右兩邊的空格,或者是換行或者\t(預設),當指定去除內容時,則去除相應的內容,優先最多匹配(有三個能配對則三個一起刪)

(2)lstrip()  只去除左邊

(3)rstrip()  只去除右邊

test='xaexlex'

v=test.rstrip('9lexex')

print(v)

執行結果

:xa執行邏輯:從右往左找,首先

'9lexex'存在『lex』,則在test中刪除『lex』;其次,'9lexex'中存在『ex』,則繼續刪除test中的『ex』;再次,'9lexex'中沒有『a』,則停止。

最終剩下xa。如果在'9lexex'中任意位置加乙個a,則test中的所有字母都將被去除

26.(1)maketrans(*args,**kwargs)

(2)translate()

v=('

aeiousjignthaeiosdu')

m=str.maketrans('

aeiou

','12345')

new_v=v.translate(m)

print(new_v)

執行結果:12345sj3gnth1234sd5

作用如**所示,maketrans()設定對應關係,translate()進行應用

27.replace(

old, new, count=none

)   替換字串,預設全部替換,count可是之替換次數

test='

alexalexalex

'v=test.replace('

le','

lu',2

)print(v)

執行結果:aluxaluxalex

28.(1)partition()  從左往右 將字串在指定位置進行分割,只分割一次

test='

alesjghsthsik

'v=test.partition('s'

)print(v)

執行結果:('ale', 's', 'jghsthsik')

(2)rpartition()將字串從右往左進行分割,只分割一次。

test='

alesjghsthsik

'v=test.rpartition('s'

)print(v)

執行結果:('alesjghsth', 's', 'ik')

(3)split(sep=nnoe,maxsplit=-1)從左往右將字串在指定元素位置進行分割指定的次數,預設分割無數次(有幾個分割幾次),並且去除指定的元素,返回乙個列表

test='

alesjghsthsik

'v=test.split('s'

)print(v)

執行結果:['ale', 'jgh', 'th', 'ik']

test='alesjghsthsik'

v=test.split('s',2)

print(v)

執行結果:['ale', 'jgh', 'thsik']

(4)rsplit()從右往左。。。

(5)splitlines(keepends=none)  在換行處進行分割,true和false來設定是否保留換行符(\n)

test='

sdfjksdhfa\nshfjdfsdgfh\nshudhfu\n

'v=test.splitlines()

print(v)

執行結果:[

'sdfjksdhfa

', '

shfjdfsdgfh

', '

shudhfu

']

03 Python學習筆記 字串及其魔法方法2

join將字串中的每乙個元素按照指定的分隔符進行拼接 test hello world print test v join test print v split lsplit rsplit以指定字元進行分割,但不獲取該字元,可指定分割次數 test hello world v1 test.split...

python 魔法方法 python常用魔法方法

in 1 其實 str 相當於是str 方法 而 repr 相當於repr 方法。str是針對於讓人更好理解的字串格式化,而repr是讓機器更好理解的字串格式化。class test def init self,word self.word word def str self return my n...

OOP中的常用魔法方法

前言 魔法方法之所以叫做是魔法方法就是應為它們不需要人為的呼叫,而是在特定時刻會自動觸發,魔法方法的方法名都有乙個特點 前後都被雙下劃線包裹,因此又有人稱之為雙下方法 操作類屬性操作相關 點攔截方法 攔截方法 點攔截方法與攔截方法示例class person def init self,name s...