Python基礎教程函數用法介紹
本文旨在對python基礎教程中的函數進行詳細的闡述,幫助初學者更好的理解和掌握python的函數特性和使用方法。
在python中,函數是一段代碼,可以將一些代碼封裝起來,多次使用,提高代碼的復用性以及可讀性。定義一個函數的語法為:
def 函數名(參數列表): 函數體 [return [返回值]]
其中,參數列表和返回值可以缺省。調用函數的語法為:函數名(參數列表)。下面是定義一個簡單的“Hello, world!”函數並進行調用的例子。
def hello(): print("Hello, world!") hello()
運行結果輸出:
Hello, world!
函數參數在python中分為四種類型:位置參數、默認參數、可變參數和關鍵字參數。
位置參數是最常見的參數類型,表示按照參數列表的位置進行對應傳值,例如下面是一個簡單的計算兩個數之和的函數。
def add(x, y): return x + y print(add(1, 2))
運行結果輸出:
3
默認參數是指在定義函數時,給參數賦默認值,調用函數時可以不傳值,若不傳值時,則默認使用定義時的參數值。例如下面是一個計算平方的函數,其中默認平方數為2。
def square(x, n=2): return pow(x, n) print(square(3)) print(square(3, 3))
運行結果輸出:
9 27
可變參數是指在函數定義時,將參數列表前加上*,表示可以傳入任意數量的參數,這些參數將會被封裝為一個元組傳值給函數內部進行處理。例如下面是一個計算多個數之和的函數。
def add(*nums): sum = 0 for i in nums: sum += i return sum print(add(1, 2, 3)) print(add(1, 2, 3, 4, 5))
運行結果輸出:
6 15
關鍵字參數是指在調用函數時,使用參數名來進行傳值,可以不用按照位置順序來傳參,例如下面是一個計算兩個數之差的函數。
def sub(x, y): return x - y print(sub(x=6, y=2)) print(sub(y=2, x=6))
運行結果輸出:
4 4
函數的返回值可以是任意類型的值,包括數字、字符串、列表、元組、字典等,也可以沒有返回值。若沒有return語句,則函數默認返回None。
下面是一個計算圓面積的函數,它返回一個浮點類型的數字。
def area(r): return 3.14 * r * r print(area(2))
運行結果輸出:
12.56
函數可以通過元組、列表等方式返回多個值,例如下面是一個計算多個數之和和積的函數。
def add_and_multiply(x, y): return x + y, x * y print(add_and_multiply(2, 3))
運行結果輸出:
(5, 6)
在python中,函數本身也可以作為參數傳遞給其他函數,並在函數內部被調用。
下面是一個根據數字列表中每個元素進行平方運算的函數,它接收兩個參數:一個是需要進行運算的列表,一個是進行運算的函數。我們可以傳入不同的運算函數來實現不同的運算操作。
def square_nums(nums, square_fn): res = [] for num in nums: res.append(square_fn(num)) return res def square(x): return x * x print(square_nums([1, 2, 3, 4], square))
運行結果輸出:
[1, 4, 9, 16]
lambda函數也稱為匿名函數,它是一種沒有函數名的簡單函數,通常用於傳遞簡單的功能函數作為參數。下面是一個結合lambda函數的計算列表中每個元素的平方的函數。
def square_nums(nums, square_fn): res = [] for num in nums: res.append(square_fn(num)) return res print(square_nums([1, 2, 3, 4], lambda x : x * x))
運行結果輸出:
[1, 4, 9, 16]
在python中,函數內部有獨立的作用域,局部變量只在函數內部生效,外部無法訪問。下面是一個局部變量和全局變量的例子。
global_variable = 100 def change_variable(): local_variable = 200 global_variable = 150 print("Local variable =", local_variable) print("Global variable =", global_variable) change_variable() print("Global variable =", global_variable)
運行結果輸出:
Local variable = 200 Global variable = 150 Global variable = 100
通過本文對python基礎教程中函數的詳細闡述,相信大家對python函數的特性和使用方法有了更加深入的了解。在實際開發中,靈活運用函數可以大大提高代碼的復用性和可讀性,從而提高代碼效率。