1 函數
1.1 函數的分類
函數可以分成三種:
- 內置函數(BIF):解釋器中內置的函數,可以直接通過函數名調用,如len().
- 模塊函數:定義在模塊中的函數,通過模塊名調用,如math.sin().
- 用戶自定義函數.
1.2 函數與方法
函數是指在類外定義的,可以獨立調用的一組語句集合,另外通過類去調用的語句,也叫函數而不是方法.
方法是指在類內定義的,需要通過對象與點調用的一組語句集合,方法中的self是隱式傳遞的.
1.3 函數也是對象
在python中,函數也是對象,比如:
def xx():
print(4)
print(type(xx))
1.4 注意事項
函數的參數帶一個 時,表示元組,帶兩個 時,表示字典.函數的返回值可以爲迭代器,元組等,如果沒有return,默認返回None.
另外就是docstring,docstring其實就是一堆註釋,說明函數的作用,建議使用三引號.
2 內置函數
內置函數就是內置在python解釋器中的函數,可以直接通過函數名調用,不需要import.查看內置函數可以使用內置函數dir():
dir(__builtins__)
2.1 查看幫助
可以使用help查看函數的幫助.
一般給出簡單的幫助信息,詳細信息可以去官網查詢.
2.2 數學函數
2.2.1 abs
求絕對值.
2.2.2 max/min
求最大/小值,支持元組,列表,集合,字符串等.
2.2.3 pow
求次冪.
2.2.4 round
四捨五入,兩個參數,第一個參數是要四捨五入的數,第二個參數是保留的小數位數,第二個參數可以省略,省略的話相當於取整.
若保留的小數位數爲2則保留2位,保留的小數位數爲1則保留1位,保留的小數位數爲0則保留....0...呃...不是,保留1位,保留1位0.
2.3 類型轉換函數
就是常用的int(),bool()等函數,這些也是內置函數.
2.4 其他函數
2.4.1 type()
type()是查看類型的函數.
2.4.2 isinstance()
isinstance()判斷一個的類型,與type()類似,但是isinstance()會考慮繼承關係,而type()不會考慮.
class a:
pass
class b(a):
pass
print('type(a()) == a is ',type(a()) == a)
print('type(b()) == a is ',type(b()) == a)
print('isinstance(a(),a) is ',isinstance(a(),a))
print('isinstance(b(),a) is ',isinstance(b(),a))
2.4.3 dir()
dir()查看搜索的路徑.
2.4.4 len()
求長度.
2.4.5 range()
快速生成序列,返回一個迭代器.
2.4.6 callable()
判斷對象是否可以被調用,因爲函數也是一個對象,所以可以通過callable()判斷函數是否可以被調用.
2.4.7 bin()
十進制-->二進制.
2.4.8 oct()
十進制-->八進制.
2.4.9 hex()
十進制-->十六進制.
2.4.10 int()
n進制-->十進制.