學習python的第三十天-參數,return語句,文檔字符串

默認參數值

在定義函數的時候我們需要使用默認參數值。可以在函數定義的形參名後加上賦值運算符=和默認值,從而給形參指定默認參數值。

def say(message, times = 1):
    print message * times

say('Hello')
say('World', 5)

運行結果:

Hello
WorldWorldWorldWorldWorld

關鍵參數

如果函數有許多參數,我們可以指定其中的一部分,我們使用參數的名字,而不是位置來給參數賦值。

這樣做有兩個優勢 :
一,由於我們不必擔心參數的順序,使用函數變得更加簡單了。
二、假設其他參數都有默認值,我們可以只給我們想要的那些參數賦值。

def func(a, b=5, c=10):
    print 'a is', a, 'and b is', b, 'and c is', c

func(3, 7)
func(25, c=24)
func(c=50, a=100)

運行結果:

a is 3 and b is 7 and c is 10
a is 25 and b is 5 and c is 24
a is 100 and b is 5 and c is 50

這些名詞聽起來可能有些難理解,但是看到實例代碼以後就明白是什麼意思了。

return語句

return語句用來從一個函數返回即跳出函數。我們也可選從函數返回一個值 。

def maximum(x, y):
    if x > y:
        return x
    else:
        return y
print maximum(2, 3)

運行結果:

3

注意,沒有返回值的 return 語句等價於 return NoneNonePython中表示沒有任何東西的特殊類型。例如,如果一個變量的值爲 None ,可以表示它沒有值。

DocStrings

文檔字符串很有用。

Python有一個很奇妙的特性,稱爲文檔字符串 ,它通常被簡稱爲 docstringsDocStrings是一個重要的工具,由於它幫助你的程序文檔更加簡單易懂,你應該儘量使用它。你甚至可以在程序運行的時候,從函數恢復文檔字符串!

def printMax(x, y):
    '''Prints the maximum of two numbers.

    The two values must be integers.'''
    x = int(x) # convert to integers, if possible
    y = int(y)
    if x > y:
        print x, 'is maximum'
    else:
        print y, 'is maximum'

printMax(3, 5)
print printMax.__doc__

運行結果:

5 is maximum
Prints the maximum of two numbers.
The two values must be integers.

文檔字符串的慣例是一個多行字符串,它的首行以大寫字母開始,句號結尾。第二行是空行,從第三行開始是詳細的描述。強烈建議你在你的函數中使用文檔字符串時遵循這個慣例。

你可以使用 __doc__ (注意雙下劃線)調用 printMax 函數的文檔字符串屬性(屬於函數的名稱)。請記住Python把 每一樣東西 都作爲對象,包括這個函數。我們會在後面的類一章學習更多關於對象的知識。

自動化工具也可以以同樣的方式從你的程序中提取文檔。因此,我強烈建議你對你所寫的任何正式函數編寫文檔字符串。隨你的Python發行版附帶的pydoc命令,與 help() 類似地使用DocStrings

發佈了72 篇原創文章 · 獲贊 42 · 訪問量 39萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章