更多課程 選擇中心

Python培訓
美國上市教育機構

400-111-8989

Python培訓

Python入門基礎 函數詳解

  • 發布:Cooldog
  • 來源:面包板社區
  • 時間:2017-12-26 15:33

函數是可重復使用的,用來實現單一或者相關功能的代碼段。Python中的函數,無論是命名函數,還是匿名函數,都是語句和表達式的集合。Python函數的使用方式就像Python中其他值一樣,例如字符串和數字等。Python函數擁有一些屬性,通過使用Python內置函數dir就能查看這些屬性,例如:

dir(max)

函數定義

關鍵字def用于創建用戶自定義函數,函數定義就是一些可執行的語句。

#后面是打印結果

def add(a,b):

return a+b

函數定義的簡單規則:

任何傳入參數和自變量必須放在圓括號中間。圓括號之間可以用于定義參數

函數代碼塊以 def 關鍵詞開頭,后接函數標識符名稱和圓括號()。

函數的第一行語句可以選擇性地使用文檔字符串—用于存放函數說明。

函數內容以冒號起始,并且縮進。

return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當于返回 None。

函數調用

函數定義完后,就可以通過另一個函數,或者是命令行調用這個函數,我們來調用上面定義好的add函數:

#后面是打印結果

print 'a+b=',add(1,1) #a+b = 2

函數形參

函數取得的參數是你提供給函數的值,這樣函數就可以利用這些值 做 一些事情。這些參數就像變量一樣,只不過它們的值是在我們調用函數的時候定義的,而非在函數本身內賦值。

參數在函數定義的圓括號對內指定,用逗號分割。當我們調用函數的時候,我們以同樣的方式提供值。注意我們使用過的術語——函數中的參數名稱為 形參 而你提供給函數調用的值稱為實參 。其實,上面的例子,我們已經做了演示,把1,1傳遞給了add函數。當然,形參也是沒有類型的,我們舉例說明一下:

#后面是打印結果

def MyPrint(a):

print (a)

MyPrint('Hello world') #Hello worldMy

Print(1) #1

MyPrint([1,2,3,4]) #[1, 2, 3, 4]

局部變量

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

def func(x):

print 'x is',x

x=8

print 'change local x to',x

x=80

func(x)

print 'x is still',x

#最后輸出結果,大家自己試下哦!!

x is 80

change local x to 8

x is still 80

global關鍵字:如果你想要為一個定義在函數外的變量賦值,那么你就得告訴Python這個變量名不是局部的,而是全局 的。我們使用global語句完成這一功能。沒有global語句,是不可能為定義在函數外的變量賦值的??梢允褂枚x在函數外的變量的值(假設在函數內沒有同名的量)。然而,我并不鼓勵你這樣做,并且你應該盡量避免這樣做,因為這使得程序的讀者會不清楚這個變量是在哪里定義的。使用global語句可以清楚地表明變量是在外面的塊定義的。

def func():

global x

print 'x is',x

x=8

print 'change local x to',x

x = 80

func()

print 'value of x is',x

#最后輸出結果

x is 80

change local x to 8

value of x is 8

默認參數值

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

def speak(message, times = 1):

print message * times

speak('Hello')

speak('World', 5)

#最后輸出結果

Hello

WorldWorldWorldWorldWorld

關鍵參數

如果你的某個函數有許多參數,而你只想指定其中的一部分,那么你可以通過命名來為這些參數賦值——這被稱作 關鍵參數 ——我們使用名字(關鍵字)而不是位置(我們前面所一直使用的方法)來給函數指定實參。

這樣做有兩個優勢

一,由于我們不必擔心參數的順序,使用函數變得更加簡單了。

二、假設其他參數都有默認值,我們可以只給我們想要的那些參數賦值。

def func(a, b=5, c=10):

print 'a is', a

print 'b is', b

print 'c is', c

print '***********'

func(6, 8)

func(30, c=31)

func(c=50, a=100)

#最后輸出結果,可以自己做做實驗。

a is 6

b is 8

c is 10

***********

a is 30

b is 5

c is 31

***********

a is 100

b is 5

c is 50

***********

return語句

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

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

這里就不舉例子了,第一個add函數就帶了return了。

DocStrings

Python有一個很奇妙的特性,稱為 文檔字符串 ,它通常被簡稱為 docstrings 。DocStrings是一個重要的工具,由于它幫助你的程序文檔更加簡單易懂,你應該盡量使用它。你甚至可以在程序運行的時候,從函數恢復文檔字符串!簡單的來說就是給你的函數加個功能說明,嘿嘿。舉例說明:

def add(a,b):

'''return the value a + b

'''

return a+b

#按F5運行程序后,我們在命令行輸入

>>>help(add)

#輸出結果

add(a, b)

return the value a + b

實際效果就是等同于你help(print),窗口打印出來那么多信息,就是在print函數里面也加了DocString,才有了這些幫助信息,我們自己寫函數的時候也可以加上,這方方便調用者,來了解你的函數。

來源:面包板社區

原帖地址:https://forum.mianbaoban.cn/t/python-cool-python/57556

本文內容轉載自網絡,來源/作者信息已在文章頂部表明,版權歸原作者所有,如有侵權請聯系我們進行刪除!

預約申請免費試聽課

填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

上一篇:Python語言的2017年終總結
下一篇:Python入門基礎 控制流

哪些崗位學了Python更有優勢?

Python中字符串的處理技巧有哪些

零基礎學Python要掌握的小技巧

Python編程中常見的錯誤有哪些?

選擇城市和中心
黑龍江省

吉林省

河北省

湖南省

貴州省

云南省

廣西省

海南省

亚洲Av -宅男色影视,首长不要好深h,gogo人体高清大胆专