在Python中,定義一個函數要使用def語句,依序寫出函數名稱、括號、括號中的參數和冒號:,然後,在縮排區塊中寫函數體,函數的回傳值會用return語句傳回。
定義函數的格式如下:
def 函数名(): 代码
範例:
# 定义一个函数,能够完成打印信息的功能 def printInfo(): print '------------------------------------' print 'Go语言进阶学习' print '------------------------------------'
定義帶有參數的函數
範例如下:
def add2num(a, b): c = a+b print c
呼叫帶有參數的函數
#以呼叫上面的add2num(a , b)函數為例:
def add2num(a, b): c = a + b print(c) add2num(11, 22)# 调用带有参数的函数时,需要在小括号中,传递数据
運行結果:
##呼叫函數時參數的順序
>>> 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
定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它
调用函数很简单的,通过 函数名() 即可完成调用。
例:
# 定义完函数后,函数是不会自动执行的,需要调用它才可以 printInfo()
函数可以返回多个值吗?答案是肯定的。
带有返回值的函数
想要在函数中把结果返回给调用者,需要在函数中使用return
如下示例:
def add2num(a, b): c = a+b return c
或者
def add2num(a, b): return a+b
保存函数的返回值
如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存
保存函数的返回值示例如下:
# 定义函数 def add2num(a, b): return a + b # 调用函数,顺便保存函数的返回值 result = add2num(100, 98) # 因为result已经保存了add2num的返回值,所以接下来就可以使用了 print(result)
运行结果:
print(my_abs('A'))
当传入了不恰当的参数时,内置函数abs会检查出参数错误,而定义的my_abs没有参数检查,会导致if语句出错,出错信息和abs不一样。
修改一下my_abs的定义,数据类型检查可以用内置函数isinstance()实现:
def my_abs(x): if not isinstance(x, (int, float)): raise TypeError('bad operand type') if x >= 0: return x else: return -x
添加了参数检查后,如果传入错误的参数类型,函数就可以抛出一个错误:
my_abs('A')
本文基於Python基礎,介紹了函數定義。定義函數時,需要確定函數名稱和參數個數;如果有必要,可以先對參數的資料型別做檢查;函數體內部可以用return隨時傳回函數結果。
以上是盤點Python定義函數基礎知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!