《Python基礎教程》第1章筆記👉https://blog.csdn.net/holeer/article/details/143052930
附錄B Python參考手冊
Python標準文檔是完整的參考手冊。本附錄只是一個便利的速查表,當你開始使用Python進行編程后,它可幫助你喚醒記憶。
B.1 表達式
本節總結Python表達式。表B-1列出了Python中最重要的基本值(字面量)。表B-2列出了Python運算符及其優先級(先執行優先級高的運算符,后執行優先級低的運算符)。表B-3描述了一些最重要的內置函數。表B-4~表B-6分別描述了列表的方法、字典的方法和字符串的方法。
表B-1 基本值(字面量)
類型 | 描述 | 語法示例 |
---|---|---|
整數 | 沒有小數部分的數字 | 42 |
浮點數 | 有小數部分的數字 | 42.5、42.5e-2 |
復數 | 實數(整數或浮點數)和虛數的和 | 38 + 4j、42j |
字符串 | 不可修改的字符序列 | ‘foo’、“bar”、“”“baz”“”、r’\n |
表B-2 運算符(摘錄)
運算符 | 描述 | 優先級 |
---|---|---|
lambda | lambda表達式 | 1 |
… if …else | 條件表達式 | 2 |
or | 邏輯或 | 3 |
and | 邏輯與 | 4 |
not | 邏輯非 | 5 |
in | 成員資格檢查 | 6 |
not in | 非成員資格檢查 | 6 |
Is | 相同性測試 | 6 |
is not | 不相同測試 | 6 |
< | 小于 | 6 |
> | 大于 | 6 |
<= | 小于或等于 | 6 |
>= | 大于或等于 | 6 |
== | 等于 | 6 |
!= | 不等于 | 6 |
+ | 加 | 11 |
- | 減 | 11 |
* | 乘 | 12 |
@ | 矩陣乘法 | 12 |
/ | 除 | 12 |
// | 整數除法 | 12 |
% | 求余 | 12 |
** | 冪 | 14 |
x.attribute | 屬性引用 | 15 |
x[index] | 元素訪問 | 15 |
x[index1:index2[:index3]] | 切片 | 15 |
f(args…) | 函數調用 | 15 |
(…) | 將表達式用括號括起或元組視圖 | 16 |
[…] | 列表視圖 | 16 |
{key:value, …} | 字典視圖 | 16 |
表B-3 一些重要的內置函數(摘錄)
函數 | 描述 |
---|---|
all(iterable) | 如果iterable的所有元素都為真值,就返回True;否則返回False |
any(iterable) | 如果iterable的所有元素都為假值,就返回False;否則返回True |
bool(x) | 將x解讀為布爾值,并返回True或False |
callable(object) | 檢查對象是否是可調用的 |
chr(number) | 返回一個字符,其Unicode碼點為指定的數字 |
delattr(object,name) | 刪除指定對象的指定屬性 |
dir([object] ) | 列出當前可見作用域中的(大部分)命令,或列出指定對象的(大部分)屬性 |
divmod(a, b) | 返回(a // b, a % b) |
filter(function,sequence) | 返回一個列表,其中包含指定序列中這樣的元素,即對其應用指定的函數時,結果為真值 |
frozenset([iterable]) | 創建一個不可修改的集合,這意味著可將其添加到其他集合中 |
hasattr(object,name) | 檢查指定對象是否包含指定的屬性 |
help([object]) | 調用內置的幫助系統,或打印有關指定對象的幫助信息 |
id(object) | 返回指定對象的獨一無二的ID |
len(object) | 返回指定對象的長度(包含的項數) |
map(function,sequence, …) | 創建一個列表,其中包含對指定序列包含的項執行指定函數返回的值 |
ord(char) | 返回指定字符的Unicode碼點 |
range([start,]stop[, step]) | 根據參數start(包含,默認為0)、stop(不包含)和step(默認為1)以序列的方式返回指定范圍內的一系列值 |
reversed(sequence) | 返回一個反向迭代序列的迭代器 |
round(float[, n]) | 將指定的浮點數圓整到小數點后n位(默認為零位) |
str(object) | 返回指定對象的格式良好的字符串表示 |
super([type[,obj/type]]) | 返回一個將方法調用委托給超類的代理 |
type(object) | 返回指定對象的類型 |
表B-4 列表的方法(摘錄)
方法 | 描述 |
---|---|
aList.append(obj) | 將obj追加到aList末尾 |
aList.clear() | 刪除aList的所有元素 |
aList.count(obj) | 返回aList中與obj相等的元素個數 |
aList.extend(sequence) | 將sequence追加到aList末尾 |
aList.index(obj) | 返回aList中第一個與obj相等的元素的索引 |
aList.insert(index, obj) | 將指obj加入到index指定的位置 |
aList.pop() | 返回第一個元素并刪除 |
aList.remove(obj) | 等同于del aList[aList.index(obj)] |
aList.reverse() | 就地按相反的順序排列列表的元素 |
表B-5 字典的方法(摘錄)
方法 | 描述 |
---|---|
aDict.clear() | 刪除aDict的所有項 |
dict.fromkeys(seq[,val]) | 返回一個字典,其中的鍵來自seq,而值都被設置為val(默認為None)。 |
aDict.get(key[,default]) | 如果aDict``[key]存在,就返回它;否則返回指定的默認值(默認為None) |
aDict.keys() | 返回一個迭代器(視圖),其中包含aDict中所有的鍵 |
aDict.pop(key[, d]) | 刪除并返回對應于給定鍵的值,或給定默認值d |
aDict.popitem() | 在aDict中隨機刪除一項,并將其以(key, value)對的方式返回 |
aDict.update(other) | 用字典other更新aDict |
表B-6 字符串的方法(摘錄)
方法 | 描述 |
---|---|
string.count(sub[, start[,end]]) | 計算子串sub出現的次數 |
string.endswith(suffix[,start[,end]]) | 檢查字符串是否以suffix結尾 |
string.find(sub[, start[,end]]) | 返回找到的第一個子串sub的索引 |
string.index(sub[, start[,end]]) | 返回找到的第一個子串sub的索引 |
string.isalpha() | 檢查字符串中的字符是否都是字母 |
string.isdigit() | 檢查字符串中的字符是否都是數字 |
string.partition(sep) | 在字符串中搜索sep,并返回(sep前面的部分, sep, sep后面的部分) |
string.replace(old,new) | 將字符串中的子串old替換為new,并返回結果 |
string.rfind(sub[,start[,end]]) | 返回找到的最后一個子串的索引,如果沒有找到這樣的子串,就返回-1 |
string.split([sep[,maxsplit]]) | 返回一個列表,其中包含以sep為分隔符對字符串進行劃分得到的結果string.startswith(prefix[,start[,end]]) |
string.strip([chars]) | 將字符串開頭和結尾的所有空白字符都刪除,并返回結果 |
B.2 語句
本節總結各種類型的Python語句。
B.2.1 簡單語句
簡單語句只包含一個邏輯行。
#(1)表達式語句:表達式本身可以為語句。
"This module contains SPAM-related functions."
#(2)斷言語句:檢查條件是否滿足,如果不滿足,就引發AssertionError異常(并可提供錯誤消息)。
assert age >= 12, 'Children under the age of 12 are not allowed'
#(3)賦值語句:將變量與值關聯起來。可通過序列解包同時給多個變量賦值,還可進行鏈式賦值。
x = 42 # 簡單賦值
name, age = 'Gumby', 60 # 序列解包
x = y = z = 10 # 鏈式賦值
#(4)增強賦值語句:可使用運算符來增強賦值。在這種情況下,將對變量的當前值和指定的值執行運算符指定的運算,并將變量重新關聯到結果。
x *= 2 #將x的值翻倍
x += 5 #將x的值加5
#(5)pass語句:不執行任何操作,可用作占位符。在語法要求的代碼塊中,如果你不想執行任何操作,可讓它只包含pass語句。
try: x.name
except AttributeError: pass
else: print('Hello', x.name)
#(6)del語句:用于將數據結構(映射或序列)的一部分刪除。
del seq[42] # 刪除序列中的一個元素
del seq[42:] # 刪除序列中的一個切片
#(7)return語句:結束函數的執行并返回一個值。如果沒有指定值,將返回None。
return # 從當前函數返回None
return 42 # 從當前函數返回42
return 1, 2, 3 # 從當前函數返回(1, 2, 3)
#(8)yield語句:暫停執行生成器,并返回一個值。生成器是一種迭代器,可用于for循環中。
yield 42 # 從當前函數返回42
#(9)raise語句:引發異常。調用它時可不提供任何參數(在except子句中用于重新引發當前捕獲的異常)。
raise # 只可用于except子句中
raise IndexError
raise IndexError('index out of bounds')
#(10)break語句:結束它所屬的循環語句(for或while語句),并接著執行該循環語句后面的語句。
while True:line = file.readline()if not line: breakprint(line)
#(11)continue語句:結束所屬循環的當前迭代,即跳到下一次迭代開頭繼續執行。
while True:line = file.readline()if not line: breakif line.isspace(): continueprint(line)
#(12)import語句:用于從外部模塊導入名稱(與函數、類或其他值相關聯的變量)。此外,from __future__ import語句用于導入在未來的Python版本中將包含在標準中的功能。
import math
from math import sqrt
from math import sqrt as squareroot
from math import *
#(13)global語句:用于將變量標記為全局的。在函數中,可使用它給全局變量重新賦值。應盡量避免使用它。
count = 1
def inc():global countcount += 1
B.2.2 復合語句
復合語句包含一組其他的語句(代碼塊)。
#(1)if語句:用于有條件地執行,可包含elif和else子句。
if x < 10:print('Less than ten')
elif 10 <= x < 20:print('Less than twenty')
else: print('Twenty or more')
#(2)while語句:用于在指定條件為真時反復地執行(循環)。可包含else子句,這種子句將在循環正常結束時執行。
x = 1
while x < 100:x *= 2
print(x)
#(3)for語句:用于對序列的元素或其他可迭代對象(包含返回迭代器的方法__iter__的對象)反復地執行(循環),可包含else子句。
for i in range(10, 0, -1):print(i)print('Ignition!')
#(4)try語句:用于執行可能發生異常的代碼段,讓程序能夠捕獲這些異常并執行異常處理代碼。可包含多個except子句(用于處理異常)和finally子句(這種子句不管情況如何都將執行,可用于執行清理工作)。
try: 1 / 0
except ZeroDivisionError: print("Can't divide anything by zero.")
finally: print("Done trying to calculate 1 / 0")
(5)with語句:用于包裝使用上下文管理器的代碼塊,讓管理器能夠執行一些設置和清理操作。比如,可將文件用作上下文管理器,這樣它們將在執行清理工作時關閉自己。
with open("somefile.txt") as myfile:dosomething(myfile)
# 到這里時文件已關閉
(6)函數定義:用于創建函數對象以及將全局或局部變量與函數對象關聯起來。
def double(x):return x * 2
(7)類定義:用于創建類對象以及將全局或局部變量與類對象關聯起來。
class Doubler:def __init__ (self, value):self.value = valuedef double(self):self.value *= 2