1. 程式人生 > >018:函數:靈活即強大

018:函數:靈活即強大

first pre 參考 ase main say 如果 lov 形參和實參

筆記

1、分清楚形參和實參

2、函數文檔:是函數的一部分,於解釋不同,使用help(函數名)或者 函數名__doc__可以查看到

3、關鍵字參數(在一個函數的參數較多的時候作用比較明顯):

給參數的名字下定義,例如:

def F(name,words)

如下兩種引用的方法是等價的

F(A,B) = F(words=B,name=A)

4、默認參數:函數定義時為形參賦初值,函數調用時若沒有傳遞參數,則自動使用初值

def F(name=C,words=D)

5、收集參數:

def test(*params)

test(1,‘小甲魚‘,3.14,7,8,9)

測試題

1.函數文檔和直接用“#”為函數寫註釋有什麽不同?
論壇參考答案:給函數寫文檔是為了讓別人可以更好的理解你的函數,所以這是一個好習慣.

def MyFirstFunction(name):
    ‘函數文檔在函數定義的最開頭部分,用不記名字符串表示‘
    print(‘I love FishC.com!‘)

我們看到在函數開頭寫下的字符串Ta是不會打印出來的,但Ta會作為函數的一部分存儲起來,這個我們稱之為函數文檔字符串,Ta的功能跟註釋是一樣的。函數的文檔字符串可以按如下方式訪問:

>>> MyFirstFunction.__doc__
‘函數文檔在函數定義的最開頭部分,用不記名字符串表示‘

另外,我們用help()來訪問這個函數也可以看到這個文檔字符串:

>>> help(MyFirstFunction)
Help on function MyFirstFunction in module __main__:
    MyFirstFunction(name)
函數文檔在函數定義的最開頭部分,用不記名字符串表示

2.使用關鍵字參數,可以有效避免什麽問題的出現呢?

答:關鍵字參數,是指函數在調用的時候,帶上參數的名字去指定具體調用的是哪個參數,從而可以不用按照參數的順序調用函數,例如:

>>> def SaySome(name, words):
        print(name + ‘->‘ + words)
>>> SaySome(words=‘讓編程改變世界!‘, name=‘小甲魚‘)

3.編寫一個符合以下要求的函數:

a) 計算打印所有參數的和乘以基數(base=3)的結果

b) 如果參數中最後一個參數為(base=5),則設定基數為5,基數不參與求和計算。

def Sum(*params,base=3):
    result = 0
    for i in params:
        result += i
    if 5 not in params:
        return result*base
    else:
        return result*base - 5*3

018:函數:靈活即強大