轉載自:https://www.cnblogs.com/shenbuer/p/7833953.html
1、字符串
定義:它是一個有序的字符的集合,用於存儲和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中間包含的內容稱之爲字符串 特性: 1.只能存放一個值 2.不可變 3.按照從左到右的順序定義字符集合,下標從0開始順序訪問,有序 補充: 1.字符串的單引號和雙引號都無法取消特殊字符的含義,如果想讓引號內所有字符均取消特殊意義,在引號前面加r,如name=r'l\thf' 2.unicode字符串與r連用必需在r前面,如name=ur'l\thf'
2、字符串常用操作
1 2 3 4 5 6 |
|
View Code
1 2 3 4 5 6 |
|
View Code
1 2 3 4 5 6 7 8 |
|
s='hello world' print(s.find('e')) # 搜索指定字符串,沒有返回-1 print(s.find('w',1,2)) # 顧頭不顧尾,找不到則返回-1不會報錯,找到了則顯示索引 print(s.index('w',1,2)) # 同上,但是找不到會報錯 print(s.count('o')) # 統計指定的字符串出現的次數 print(s.rfind('l')) # 從右邊開始查找
# 4字符串替換 .replace('old','new') # 替換old爲new .replace('old','new',次數) # 替換指定次數的old爲new s='hello world' print(s.replace('world','python')) print(s.replace('l','p',2)) print(s.replace('l','p',5)) 執行結果: hello python heppo world heppo worpd
# 5字符串去空格及去指定字符 .strip() # 去兩邊空格 .lstrip() # 去左邊空格 .rstrip() # 去右邊空格 .split() # 默認按空格分隔 .split('指定字符') # 按指定字符分割字符串爲數組 s=' h e-l lo ' print(s) print(s.strip()) print(s.lstrip()) print(s.rstrip()) print(s.split('-')) print(s.split())
# 6字符串判斷相關 .startswith('start') # 是否以start開頭 .endswith('end') # 是否以end結尾 .isalnum() # 是否全爲字母或數字 .isalpha() # 是否全字母 .isdigit() # 是否全數字 .islower() # 是否全小寫 .isupper() # 是否全大寫 .istitle() # 判斷首字母是否爲大寫 .isspace() # 判斷字符是否爲空格 # 補充
bin() # 十進制數轉八進制 hex() # 十進制數轉十六進制 range() # 函數:可以生成一個整數序列 type() # 查看數據類型 len() # 計算字符串長度 format() # 格式化字符串,類似%s,傳遞值能多不能少
3、python中str函數isdigit、isdecimal、isnumeric的區別
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
4、內置函數
-
數學運算(7個)
-
類型轉換(24個)
-
序列操作(8個)
-
對象操作(7個)
-
反射操作(8個)
-
變量操作(2個)
-
交互操作(2個)
-
文件操作(1個)
-
編譯執行(4個)
-
裝飾器(3個)
數學運算
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
類型轉換
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
|
1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
對象操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
反射操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
|
變量操作
1 2 |
|
交互操作
1 2 3 |
|
文件操作
1 2 3 4 5 6 7 8 9 |
|
編譯執行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
裝飾器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
補充:
""" python內置裝飾器 在python中有三個內置的裝飾器,都是跟class相關的:staticmethod、classmethod、property. @staticmethod 是類的靜態方法,其跟成員方法的區別是沒有self參數,並且可以在類不進行實例化的情況下調用 @classmethod 與成員方法的區別在於所接收的第一個參數不是self(類實例的指針),而是cls(當前類的具體類型) @property 是屬性的意思,表示可以通過類實例直接訪問的信息 """ class Foo(object): def __init__(self,var): super(Foo,self).__init__() self._var=var @property def var(self): return self._var @var.setter def var(self,var): self._var=var f=Foo('var1') print(f.var) f.var='var2' print(f.var) """ 注意,對於Python新式類(new-style class),如果將上面的 “@var.setter” 裝飾器所裝飾的成員函數去掉, 則Foo.var 屬性爲只讀屬性,使用 “foo.var = ‘var 2′” 進行賦值時會拋出異常。 但是,對於Python classic class,所聲明的屬性不是 read-only的,所以即使去掉”@var.setter”裝飾器也不會報錯。 """