Python 基础,不看会后悔哦!
?
?
1.標準數據類型
- Number(數字)
- String(字符串)
- List(列表)
- Tuple(元組)
- Set(集合)
- Dictionary(字典)
其中
- 不可變數據:Number(數字)、String(字符串)、Tuple(元組)
- 可變數據:List(列表)、Dictionary(字典)、Set(集合)
1.1 Number(數字)#
Python3 支持 int、float、bool、complex(復數)。
在Python 3里,只有一種整數類型 int,表示為長整型,沒有 python2 中的 Long。
內置的 type() 函數可以用來查詢變量所指的對象類型。
或者使用 isinstance(a, int)
isinstance 和 type 的區別在于:
- type()不會認為子類是一種父類類型。
- isinstance()會認為子類是一種父類類型
1.2 String(字符串)#
Python中的字符串用單引號 ' 或雙引號 " 括起來,同時使用反斜杠 \ 轉義特殊字符。
變量[頭下標:尾下標] 左閉合區間
索引值以 0 為開始值,-1 為從末尾的開始位置。
str = 'Runoob'print (str) # 輸出字符串 print (str[0:-1]) # 輸出第一個到倒數第二個的所有字符 print (str[0]) # 輸出字符串第一個字符 print (str[2:5]) # 輸出從第三個開始到第五個的字符 print (str[2:]) # 輸出從第三個開始的后的所有字符 print (str * 2) # 輸出字符串兩次 print (str + "TEST") # 連接字符串Runoob Runoo R noo noob RunoobRunoob RunoobTESTPython 使用反斜杠()轉義特殊字符,如果你不想讓反斜杠發生轉義,可以在字符串前面添加一個 r,表示原始字符串
>>> print('Ru\noob') Ru oob >>> print(r'Ru\noob') Ru\noob >>>注意:
1.3 List(列表)#
列表中元素的類型可以不相同,它支持數字,字符串甚至可以包含列表(所謂嵌套)。
列表是寫在方括號 [] 之間、用逗號分隔開的元素列表。
變量[頭下標:尾下標] 左閉合區間
索引值以 0 為開始值,-1 為從末尾的開始位置。
注意:
1.4 Tuple(元組)#
元組(tuple)與列表類似,不同之處在于元組的元素不能修改。元組寫在小括號 () 里,元素之間用逗號隔開。
其實,可以把字符串看作一種特殊的元組。
雖然tuple的元素不可改變,但它可以包含可變的對象,比如list列表。
構造包含 0 個或 1 個元素的元組比較特殊,所以有一些額外的語法規則:
tup1 = () # 空元組 tup2 = (20,) # 一個元素,需要在元素后添加逗號注意:
1.5 Dict (字典)#
r2 = {} r2["k1"] = "v1"1.6 Set(集合)#
2.數字和字符串拼接#
id = 1 session_key = str(id) + '_user'3. if 條件#
3.1 短路原則#
條件判斷遵循短路原則,第一個條件判斷之后如果能確定整個 if 表達式的值,那就不再判斷下一個了
a = 0 b = 1 if (a > 0) and (b / a > 2):print("yes") else:print("no") 結果:noif (a > 0) or (b / a > 2):print("yes") else:print("no") 結果:報除零錯3.2 三元表達式#
res = true if 1 > 0 else false3.3 漢諾塔#
a b c 三個位置分別對應 開始位置、中間借助的位置、最終位置def hano(n, a, b, c):if n == 1:print(a, "-->", c)return Nonehano(n - 1, a, c, b) # 開始位置是 a,借助 c,把除了最后一個都放到 bprint(a, "-->", c)hano(n - 1, b, a, c) # 開始位置是 b,借助 a,把除了最后一個都放到 chano(3, "A", "B", "C")3. 正則#
import retext = "......" pattern = r"..." regex = re.compile(pattern, re.IGNORECASE) # 忽略大小寫,先進行編譯,返回一個正則對象 result = regex.function(text)3.1 查找一項#
3.2 查找多個匹配項#
列表是一次性生成在內存中,而迭代器是需要使用時一點一點生成出來的,內存使用更優。所以如果存在大量的匹配項,使用 finditer 更好一點。
3.3 分割#
re.split(pattern, string, maxsplit=0, flags=0)
函數:用 pattern 分開 string,maxsplit表示最多進行分割次數,flags表示模式,比如 re.IGNORECASE
在 不需要正則支持 且 數據量和數次不多 的情況下使用 str.split 函數更合適,反之則使用 re.split 函數。
3.4 替換#
3.5 其他#
總結
以上是生活随笔為你收集整理的Python 基础,不看会后悔哦!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10 年深度学习顶级论文和代码精选,请务
- 下一篇: 独家干货 | 林轩田机器学习课程精炼笔记