一、什麼是函數
函數是Python中用於封裝代碼、實現重複利用的一種機制。函數可以接受參數、返回值或不返回值等操作。它是一種有序執行的過程,其中包含一組語句,一般情況下在需要時可以反覆調用。
下面代碼展示了如何定義一個簡單的函數:
def greet(name): print('Hello, %s!' % name)
調用函數可以調用不同的參數:
greet('Tom') greet('Jerry')
輸出結果為:
Hello, Tom! Hello, Jerry!
二、函數參數的傳遞
函數參數可以是必需參數、關鍵字參數、默認參數和不定長參數。
1. 必需參數
必需參數是函數定義中必須傳入的參數。如下所示:
def greet(name, age): print('Hi, my name is %s and I am %d years old.' % (name, age)) greet('Tom', 26)
輸出結果為:
Hi, my name is Tom and I am 26 years old.
2. 關鍵字參數
關鍵字參數是可以不按順序調用的參數。如下所示:
def greet(name, age): print('Hi, my name is %s and I am %d years old.' % (name, age)) greet(age=26, name='Tom')
輸出結果為:
Hi, my name is Tom and I am 26 years old.
3. 默認參數
默認參數是可以傳入的可選參數。如下所示:
def greet(name, age=26): print('Hi, my name is %s and I am %d years old.' % (name, age)) greet('Tom') greet('Jerry', 25)
輸出結果為:
Hi, my name is Tom and I am 26 years old. Hi, my name is Jerry and I am 25 years old.
4. 不定長參數
不定長參數是指可以傳入不固定數量的參數,在函數內部會被解析成一個元組或字典。如下所示:
def greet(*names): print('Hi, my name is %s' % (names[0])) for name in names[1:]: print('Hi, his name is %s' % name) greet('Tom', 'Jerry', 'Spike')
輸出結果為:
Hi, my name is Tom Hi, his name is Jerry Hi, his name is Spike
三、函數返回值
函數可以返回一個值或多個值。使用return語句返回一個值或多個值,返回後函數立即結束。如下所示:
def add(a, b): return a+b def swap(a, b): return b, a print(add(3, 4)) print(swap(3, 4))
輸出結果為:
7 (4, 3)
四、局部變量與全局變量
在函數內部定義的變量為局部變量,只在函數內部有效。在函數外部定義的變量為全局變量,可以在程序的任何地方使用。如下所示:
x = 0 # 全局變量 def add(a, b): x = a + b # 局部變量 return x print(add(3, 4)) print(x)
輸出結果為:
7 0
五、內嵌函數
內嵌函數是指在函數內部定義的函數,只能在外層函數中調用。如下所示:
def outer(a, b): def inner(x, y): return x*y return inner(a, b) print(outer(3, 4))
輸出結果為:
12
六、Lambda函數
Lambda函數是一種匿名函數,可以用於簡單的函數編寫。Lambda函數的語法如下所示:
lambda arguments: expression
如下代碼展示如何使用Lambda函數:
add = lambda a, b: a+b print(add(3,4))
輸出結果為:
7
七、總結
函數是Python中非常重要的一種機制,能夠有效地提升程序的可讀性和可維護性。掌握函數的使用方法,對於編寫高質量、高效的程序非常重要。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/155504.html