python 函數

函數通過def關鍵字定義。def關鍵字後跟一個函數的 標識符 名稱,然後跟一對圓括號。圓括號
之中可以包括一些變量名,該行以冒號結尾。接下來是一塊語句,它們是函數體。

def sayHello():
        print ('hello python')
sayHello()

結果:

hello python

函數取得的參數是你提供給函數的值,這樣函數就可以利用這些值 做 一些事情。這些參數就
像變量一樣,只不過它們的值是在我們調用函數的時候定義的,而非在函數本身內賦值。
參數在函數定義的圓括號對內指定,用逗號分割。當我們調用函數的時候,我們以同樣的方式
提供值。注意我們使用過的術語——函數中的參數名稱爲 形參 而你提供給函數調用的值稱爲
實參 。

def sayHello():
        print ('hello python')
sayHello()

def printMax(a,b):
        if a>b:
                print (a,'is maximum')
        else:
                print (b,'is maximum')
printMax(3,4)
x=5
y=7
printMax(x,y)

結果:

hello python
4 is maximum
7 is maximum

局部變量:
當你在函數定義內聲明變量的時候,它們與函數外具有相同名稱的其他變量沒有任何關係,即
變量名稱對於函數來說是 局部 的。這稱爲變量的 作用域 。所有變量的作用域是它們被定義的
塊,從它們的名稱被定義的那點開始。

def func(x):
        print ('x is',x)
        x=2
        print ('Changed local x to',x)

x=50
func(x)
print ('x is still',x)

結果

x is 50
Changed local x to 2
x is still 50

默認參數值:

對於一些函數,你可能希望它的一些參數是 可選 的,如果用戶不想要爲這些參數提供值的
話,這些參數就使用默認值。這個功能藉助於默認參數值完成。你可以在函數定義的形參名後
加上賦值運算符(=)和默認值,從而給形參指定默認參數值。

def say(message,time=1):
        print (message*time)
say('hello')
say('world',5)

結果:

hello
worldworldworldworldworld

只有在形參表末尾的那些參數可以有默認參數值,即你不能在聲明函數形參的時候,先聲明有
默認值的形參而後聲明沒有默認值的形參。
這是因爲賦給形參的值是根據位置而賦值的。例如,def func(a, b=5)是有效的,但是def func
(a=5, b)是 無效 的。

關鍵參數:
如果你的某個函數有許多參數,而你只想指定其中的一部分,那麼你可以通過命名來爲這些參
數賦值——這被稱作 關鍵參數 ——我們使用名字(關鍵字)而不是位置(我們前面所一直使
用的方法)來給函數指定實參。
這樣做有兩個 優勢 ——一,由於我們不必擔心參數的順序,使用函數變得更加簡單了。二、
假設其他參數都有默認值,我們可以只給我們想要的那些參數賦值。

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

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

結果:

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

return語句

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

print (maximum(2,3))

結果

3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章