首頁  >  文章  >  後端開發  >  盤點Python定義函數基礎知識

盤點Python定義函數基礎知識

Go语言进阶学习
Go语言进阶学习轉載
2023-07-25 16:46:262165瀏覽

一、定義函數

在Python中,定義一個函數要使用def語句,依序寫出函數名稱、括號、括號中的參數和冒號:,然後,在縮排區塊中寫函數體,函數的回傳值會用return語句傳回。

定義函數的格式如下:

   def 函数名():
        代码

範例:

   # 定义一个函数,能够完成打印信息的功能
    def printInfo():
        print '------------------------------------'
        print 'Go语言进阶学习'
        print '------------------------------------'
  1. 定義帶有參數的函數

範例如下:

  def add2num(a, b):
        c = a+b
        print c
  1. 呼叫帶有參數的函數

#以呼叫上面的add2num(a , b)函數為例:

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




add2num(11, 22)# 调用带有参数的函数时,需要在小括号中,传递数据

運行結果:

盤點Python定義函數基礎知識

  1. ##呼叫函數時參數的順序

>>> 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定義函數基礎知識

二、调用函数

定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它

调用函数很简单的,通过 函数名() 即可完成调用。

例:

   # 定义完函数后,函数是不会自动执行的,需要调用它才可以
    printInfo()

三、函数返回多个值

函数可以返回多个值吗?答案是肯定的。

  1. 带有返回值的函数

想要在函数中把结果返回给调用者,需要在函数中使用return

如下示例:

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

或者

   def add2num(a, b):
        return a+b
  1. 保存函数的返回值

如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存

保存函数的返回值示例如下:

# 定义函数
def add2num(a, b):
    return a + b




# 调用函数,顺便保存函数的返回值
result = add2num(100, 98)


# 因为result已经保存了add2num的返回值,所以接下来就可以使用了
print(result)

运行结果:

盤點Python定義函數基礎知識

四、my_abs内置函数abs的差别

print(my_abs(&#39;A&#39;))

盤點Python定義函數基礎知識

当传入了不恰当的参数时,内置函数abs会检查出参数错误,而定义的my_abs没有参数检查,会导致if语句出错,出错信息和abs不一样。

修改一下my_abs的定义,数据类型检查可以用内置函数isinstance()实现:

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

添加了参数检查后,如果传入错误的参数类型,函数就可以抛出一个错误:

my_abs(&#39;A&#39;)

盤點Python定義函數基礎知識

五、總結

本文基於Python基礎,介紹了函數定義。定義函數時,需要確定函數名稱和參數個數;如果有必要,可以先對參數的資料型別做檢查;函數體內部可以用return隨時傳回函數結果。

以上是盤點Python定義函數基礎知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:Go语言进阶学习。如有侵權,請聯絡admin@php.cn刪除