1. 程式人生 > >【python學習筆記】6.抽象

【python學習筆記】6.抽象

位置參數 name 默認參數 [] 順序 fun append 聲明 value

【python學習筆記】6.抽象

  • 創建函數: 使用def語句定義函數,不用聲明參數類型,和返回值類型
def function_name(param1, param2):
    ‘this is document‘
    pass # fuction body
    return value # 可選
  • 函數體的第一行字符串被用作文檔字符串
  • callable(func): 用來判讀func是否可以調用
  • help函數用來返回相關函數的文檔
  • 函數名可以作為變量賦值一個變量
  • 位置參數:函數調用期間,參數按照參數列表中的順序依次賦值給參數變量 func(value1, value2)
  • 關鍵字參數:函數調用期間,使用參數名提供的參數func(param1=value1, param2=value2)
  • 默認參數:函數聲明期間,參數列表中的某個參數被賦值 def func(param=value)
  • 收集參數:以星號(*)開頭的參數名,用來接收不定量個參數,以元組的形式傳遞進入函數;可以傳入序列,或者元組變量(變量前需要添加星號(*)
>>> def print_params(*params):
...     print params
...
>>> print_params(1,2,3,4)
(1, 2, 3, 4)
>>>
>>> a=(1, 2, 3, 4)
>>> print_params(*a)
(1, 2, 3, 4)
>>> print_params(a)
((1, 2, 3, 4),)
  • 關鍵字參數收集:以兩個星號號(**)開頭的參數名,以字典形式傳遞進入函數;可以傳入關鍵字參數,或者字典變量(變量前需要添加兩個星號(**))
def print_params_3(**params): 
    print params    
>>>
>>> print_params_3(a=1, b=2, c=3, d=4)
{‘a‘: 1, ‘c‘: 3, ‘b‘: 2, ‘d‘: 4}
>>>
>>> print_params_3(**a)
{‘a‘: 1, ‘c‘: 3, ‘b‘: 2, ‘d‘: 4}
>>> 
  • 練習
>>> def interval(start, stop=None, step=1):
...     ‘imitates range for step > 0‘
...     if stop == None:
...             start,stop=0,start
...     result=[]
...     i = start
...     while i < stop:
...             result.append(i)
...             i+=step
...     return result
...
>>>
>>> interval(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> interval(2,5)
[2, 3, 4]
>>>

【python學習筆記】6.抽象