溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中定義函數(shù)需要注意哪些點

發(fā)布時間:2021-06-12 16:45:58 來源:億速云 閱讀:556 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關Python中定義函數(shù)需要注意哪些點,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

 一、定義函數(shù)

在Python中,定義一個函數(shù)要使用def語句,依次寫出函數(shù)名、括號、括號中的參數(shù)和冒號:,然后,在縮進塊中編寫函數(shù)體,函數(shù)的返回值用return語句返回。

定義函數(shù)的格式如下:

def 函數(shù)名():      代碼

示例:

# 定義一個函數(shù),能夠完成打印信息的功能  def printInfo():      print '------------------------------------'      print 'Go語言進階學習'      print '------------------------------------'

1.定義帶有參數(shù)的函數(shù)

示例如下:

def add2num(a, b):       c = a+b       print c

2.調用帶有參數(shù)的函數(shù)

以調用上面的add2num(a, b)函數(shù)為例:

def add2num(a, b):     c = a + b     print(c)   add2num(11, 22)# 調用帶有參數(shù)的函數(shù)時,需要在小括號中,傳遞數(shù)據(jù)

運行結果:

Python中定義函數(shù)需要注意哪些點

3.調用函數(shù)時參數(shù)的順序

>>> def test(a,b): ...     print(a,b) ...  print(test(1, 2)) 1 2 print(test(b=1, a=2)) 2 1 >>>  >>> print(test(b=1, 2))   File "<stdin>", line 1 SyntaxError: positional argument follows keyword argument

 Python中定義函數(shù)需要注意哪些點

二、調用函數(shù)

定義了函數(shù)之后,就相當于有了一個具有某些功能的代碼,想要讓這些代碼能夠執(zhí)行,需要調用它

調用函數(shù)很簡單的,通過 函數(shù)名() 即可完成調用。

例:

# 定義完函數(shù)后,函數(shù)是不會自動執(zhí)行的,需要調用它才可以  printInfo()

三、函數(shù)返回多個值

1.函數(shù)可以返回多個值嗎?答案是肯定的。

帶有返回值的函數(shù)

想要在函數(shù)中把結果返回給調用者,需要在函數(shù)中使用return

如下示例:

def add2num(a, b):        c = a+b        return c

或者

def add2num(a, b):      return a+b

2.保存函數(shù)的返回值

如果一個函數(shù)返回了一個數(shù)據(jù),那么想要用這個數(shù)據(jù),那么就需要保存

保存函數(shù)的返回值示例如下:

# 定義函數(shù) def add2num(a, b):     return a + b   # 調用函數(shù),順便保存函數(shù)的返回值 result = add2num(100, 98)  # 因為result已經(jīng)保存了add2num的返回值,所以接下來就可以使用了 print(result)

運行結果:

 Python中定義函數(shù)需要注意哪些點

四、my_abs和內置函數(shù)abs的差別

print(my_abs('A'))

 Python中定義函數(shù)需要注意哪些點

當傳入了不恰當?shù)膮?shù)時,內置函數(shù)abs會檢查出參數(shù)錯誤,而定義的my_abs沒有參數(shù)檢查,會導致if語句出錯,出錯信息和abs不一樣。

修改一下my_abs的定義,數(shù)據(jù)類型檢查可以用內置函數(shù)isinstance()實現(xiàn):

def my_abs(x):      if not isinstance(x, (int, float)):          raise TypeError('bad operand type')         if x >= 0:             return x       else:             return -x

添加了參數(shù)檢查后,如果傳入錯誤的參數(shù)類型,函數(shù)就可以拋出一個錯誤:

my_abs('A')

 Python中定義函數(shù)需要注意哪些點

關于Python中定義函數(shù)需要注意哪些點就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI