函數分類:python
內置函數 |
系統本身定義的方法 |
自定義函數 |
開發者本身寫的能完成某一個功能的代碼塊 |
導入模塊(第三方模塊) |
在系統和開發者以外別人完成的能實現某一功能的代碼塊 |
示例腳本:vim
#vim Built-in function.py #!/usr/bin/env python # -*- coding:utf-8 -*- """該腳本是Python內置函數的測試腳本""" li = [13,22,6,99,11] name = 'alex' print vars()
#vars()是表明當前模塊的全部變量,print vars()打印全部的變量
輸出結果:
app
{'name': 'alex', '__builtins__': <module '__builtin__' (built-in)>, '__file__': 'C:/Users/ryan/PycharmProjects/s11day3/Built-in function.py', '__author__': 'ryan', 'li': [13, 22, 6, 99, 11], '__name__': '__main__', '__package__': None, '__doc__': None}
從圖上能夠看到輸出的是一個字典:
ide
name:alex li: [13, 22, 6, 99, 11]
是咱們本身定義的兩個變量,下面的這些函數都是系統內置的函數,具體功能以下
函數
__builtins__:<module '__builtin__' (built-in)> __file__:C:/Users/ryan/PycharmProjects/s11day3/Built-in function.py __author__:ryan __name__:__main__ __package__:None __doc__: None
從字典的鍵值對能夠發現,
測試
內置函數__file__ 實際上是打印運行的腳本自己,即Built-in function.py
內置函數__doc__ 是獲取函數或者文件解釋的內容,好比咱們在文件開始寫上註釋內容
"""
該腳本是Python內置函數的測試腳本
"""
此時打印__doc__,則能夠經過__doc__函數打印出來
C:/Users/ryan/PycharmProjects/s11day3/Built-in function.py
該腳本是Python內置函數的測試腳本ui
內置函數:__name__ 執行腳本時。腳本中的__name__的值爲"__main__",導入模塊到腳本中,模塊中的__name__的值是模塊自己編碼
仍是以上面的腳本爲例:spa
import coll print coll.__name__ print "###############" print __name__
輸出結果爲:設計
coll ############### __main__
能夠發現:coll中的__name__內置方法的值等於coll,Built-in function.py中的__name__
等於__main__
即導入模塊中的__name__方法值爲模塊名字,被執行腳本中的__name__方法的值爲__main__
在寫Python腳本時,通常在結尾會出現以下語句:
if __name = "__main__": 函數function()
意思是當直接執行腳本的時候,纔會調用該函數,若是用其餘方法執行(或者導入到其餘文件中)函數都不會執行函數function()
經常使用的函數(方法):
#基礎類型級別
help() dir() vars() type() reload() id() is
#計算類別的
cmp() abs() bool() divmod() --->設計頁面分頁用該函數,求出商和餘數,判斷是否加N max() min() sum() pow() --->冪運算
##################
len() --->求序列長度 all() --->接收一個序列,判斷,若是的值都是真的,那麼all()返回真,不然返回假,可用於判斷用戶輸入是否爲空 any() --->跟all()相似,區別是隻要接收的內容中有一個爲真,則返回真,不然返回假
#編碼轉換
chr()----->接收一個字符,根據字符求出該字符在ascii碼中的數字表示 ord()----->接收一個數字,根據數字求出該數字在ascii碼中表示的字母
#進制轉換
hex() ----->十六進制 oct() ----->八進制 bin() ------>二進制 >>> hex(12) '0xc' >>> oct(12) '014' >>> bin(12) '0b1100' >>>
enumerate()------->將傳入的列表能夠組成字典
>>> li = [11,22,33,44,55,66] >>> for k,v in enumerate(li): ... print k,v ... 0 11 1 22 2 33 3 44 4 55 5 66 >>>
指定數字的起始值,不加1,默認從0開始
>>> for k,v in enumerate(li,1): ... print k,v ... 1 11 2 22 3 33 4 44 5 55 6 66 >>>
常見的函數相關的方法:
print apply(Function,('aaaa')) #執行函數 print map(lambda x:x+1,[1,2,3,]) #print filter(lambda x:x==1,[1,2,3,4]) #序列 print reduce(lambda x,y:x+y,[1,2,3]) #累加 print zip(x,y,z)