目錄
Python 函數(shù)簡(jiǎn)介
定義函數(shù)
調(diào)用函數(shù)
參數(shù)與返回值
默認(rèn)參數(shù)與可變參數(shù)
Lambda 函數(shù)
實(shí)際示例與代碼片段
- Python 函數(shù)簡(jiǎn)介
函數(shù)是 Python 中的一個(gè)重要組成部分吗讶。它們?cè)试S我們將一組操作封裝在一個(gè)代碼塊中描焰,從而實(shí)現(xiàn)代碼的復(fù)用单山。函數(shù)有助于提高代碼的可讀性和可維護(hù)性逸爵。
- 定義函數(shù)
定義函數(shù)使用 def 關(guān)鍵字,后跟函數(shù)名稱和圓括號(hào)频轿。圓括號(hào)中可以包含函數(shù)的參數(shù)垂涯。函數(shù)代碼塊以冒號(hào)和縮進(jìn)開(kāi)始。
python
def function_name(parameters):
# 函數(shù)體
# ...
- 調(diào)用函數(shù)
調(diào)用函數(shù)只需使用函數(shù)名稱后跟圓括號(hào)航邢,并在圓括號(hào)中傳遞實(shí)際參數(shù)。
python
result = function_name(arguments)
- 參數(shù)與返回值
函數(shù)可以接受參數(shù)骄蝇,以便在函數(shù)內(nèi)部使用它們膳殷。函數(shù)還可以返回一個(gè)值,這可以通過(guò) return 語(yǔ)句實(shí)現(xiàn)。
python
def add(a, b):
return a + b
result = add(3, 4)
print(result) # 輸出:7
- 默認(rèn)參數(shù)與可變參數(shù)
函數(shù)可以具有默認(rèn)參數(shù)值赚窃,這樣在調(diào)用函數(shù)時(shí)册招,如果未提供參數(shù)值,則使用默認(rèn)值勒极∈顷可變參數(shù)允許在函數(shù)調(diào)用時(shí)傳遞任意數(shù)量的參數(shù)。
python
def greet(name, greeting='Hello'):
return greeting + ', ' + name
print(greet('Alice')) # 輸出:Hello, Alice
print(greet('Bob', 'Hi')) # 輸出:Hi, Bob
def sum_numbers(*numbers):
return sum(numbers)
print(sum_numbers(1, 2, 3, 4, 5)) # 輸出:15
- Lambda 函數(shù)
Lambda 函數(shù)是一種簡(jiǎn)潔的創(chuàng)建簡(jiǎn)單函數(shù)的方法辱匿。它們只能包含一個(gè)表達(dá)式键痛,并且不能包含復(fù)雜的代碼結(jié)構(gòu)。
python
multiply = lambda x, y: x * y
result = multiply(3, 4)
print(result) # 輸出:12
- 實(shí)際示例與代碼片段
下面是一個(gè)簡(jiǎn)單的示例匾七,演示如何使用函數(shù)處理列表中的數(shù)字絮短。
python
def square(x):
return x ** 2
def cube(x):
return x ** 3
def process_list(numbers, func):
return [func(x) for x in numbers]
numbers = [1, 2, 3, 4, 5]
squared_numbers = process_list(numbers, square)
print(squared_numbers) # 輸出:[1, 4, 9, 16, 25]
cubed_numbers = process_list(numbers, cube)
print(cubed_numbers) # 輸出:[1, 8, 27, 64, 125]
筆記:Python 函數(shù)的定義與調(diào)用
關(guān)鍵概念
函數(shù)是一種封裝操作的方法,可以提高代碼的可讀性和可維護(hù)性昨忆。
使用 def 關(guān)鍵字定義函數(shù)丁频。
函數(shù)可以接受參數(shù),并返回值邑贴。
函數(shù)可以具有默認(rèn)參數(shù)值和可變參數(shù)席里。
Lambda 函數(shù)用于創(chuàng)建簡(jiǎn)單的單行函數(shù)。
練習(xí)題
編寫一個(gè)函數(shù)拢驾,接受兩個(gè)數(shù)字作為參數(shù)胁勺,并返回它們的和。
python
def add(a, b):
return a + b
編寫一個(gè)函數(shù)独旷,接受一個(gè)數(shù)字作為參數(shù)署穗,返回該數(shù)字的平方。
python
def square(x):
return x ** 2
編寫一個(gè)函數(shù)嵌洼,接受一個(gè)字符串作為參數(shù)案疲,返回該字符串的長(zhǎng)度。
python
def string_length(s):
return len(s)
編寫一個(gè)函數(shù)麻养,接受一個(gè)列表作為參數(shù)褐啡,返回列表中的最大值。
python
def find_max(lst):
return max(lst)
編寫一個(gè)函數(shù)鳖昌,接受一個(gè)整數(shù) n 作為參數(shù)备畦,返回斐波那契數(shù)列的第 n 項(xiàng)。
python
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n - 1) + fibonacci(n - 2)
編寫一個(gè)函數(shù)许昨,接受一個(gè)列表作為參數(shù)懂盐,返回列表中元素的平均值。
python
def average(lst):
return sum(lst) / len(lst)
編寫一個(gè)函數(shù)糕档,接受一個(gè)字符串和一個(gè)整數(shù) n 作為參數(shù)莉恼,返回該字符串重復(fù) n 次的結(jié)果。
python
def repeat_string(s, n):
return s * n
編寫一個(gè)具有默認(rèn)參數(shù)的函數(shù),接受一個(gè)整數(shù) n 和一個(gè)布爾值 square 作為參數(shù)俐银。如果 square 為 True尿背,返回 n 的平方;否則返回 n 的立方捶惜。square 的默認(rèn)值為 True田藐。
python
def power(n, square=True):
return n ** 2 if square else n ** 3
編寫一個(gè)函數(shù),接受任意數(shù)量的數(shù)字作為參數(shù)吱七,返回它們的乘積汽久。
python
def multiply(*numbers):
result = 1
for number in numbers:
result *= number
return result
編寫一個(gè) lambda 函數(shù),接受兩個(gè)數(shù)字作為參數(shù)陪捷,并返回它們的乘積回窘。
python
multiply = lambda x, y: x * y
以上是關(guān)于 Python 函數(shù)定義與調(diào)用的一小時(shí)教程及筆記。學(xué)習(xí)這些概念將幫助您編寫更加優(yōu)雅市袖、可讀的 Python 代碼啡直。