一篇全網最詳細的 python 之函數
函數的簡介:
- 函數封裝⼀個⼩功能, 減少重複代碼, 實現⼩功能
例如:
start=0
end=10
sum=0
for i in range(start,end):
sum+=i
print(f '{sum}')
strart,end 是參數;range 是函數
打印出 0-10 之間的偶數和
打印出 0-10 之間的總和
什麼是 Python 內置函數?
- 是指在 Python 解釋器中直接可用的函數, 無需額外導入模塊. 以下是一些常用的 Python 內置函數:
-
print():用於將內容輸出到標準輸出(通常是控制檯).
-
len():用於返回對象的長度或元素個數, 例如字符串的字符數、列表的元素個數等.
-
type():用於返回對象的類型.
-
int():用於將一個數值或字符串轉換爲整數.
-
float():用於將一個數值或字符串轉換爲浮點數.
-
str():用於將對象轉換爲字符串.
-
list():用於將可迭代對象轉換爲列表.
-
tuple():用於將可迭代對象轉換爲元組.
-
dict():用於創建字典對象.
-
set():用於創建集合對象.
-
range():用於生成一個指定範圍的數字序列.
-
input():用於從用戶處獲取輸入.
調用函數需要知道函數名和參數, 如果傳入的參數不對, 會報 TypeError 的錯誤並且給出錯誤信息我可以給你一些常見的 Python 內置函數的示例:
- print() 函數示例:
print("Hello, World!") # 輸出:Hello, World!
- len() 函數示例:
my_list = [1, 2, 3, 4, 5]
length = len(my_list)
print(length) # 輸出:5
- type() 函數示例:
my_variable = 10
data_type = type(my_variable)
print(data_type) # 輸出:<class 'int'>
- int() 函數示例:
num_str = "123"
num_int = int(num_str)
print(num_int) # 輸出:123
- float() 函數示例:
num_str = "3.14"
num_float = float(num_str)
print(num_float) # 輸出:3.14
- str() 函數示例:
my_number = 42
number_str = str(my_number)
print(number_str) # 輸出:"42"
-
以上只是一部分常見的 Python 內置函數, 還有很多其他有用的內置函數可以在 Python 官方文檔中找到.
-
這只是一小部分 Python 內置函數的示例, 你可以根據需要在代碼中使用其他內置函數.
如何⾃定義⼀個函數?
- 使用 def 函數
def sum_range(start,end+1) #然後函數體
函數定義
- 在 Python 中, 定義一個函數要使用 def 語句, 依次寫出函數名、括號、括號中的參數和冒號, 然後, 在縮進塊中編寫函數體, 函數的返回值用 return 語句返回. 如果沒有 return 語句, 函數執行完畢後也會返回結果, 只是結果爲 None.return None 可以簡寫爲 return.
2.end+1 是因爲 range() 函數生成的範圍是左閉右開區間, 簡單說包括右終端點
- 函數的名字使用 p1-p8, 蛇形命名的函數的名字通常使用小寫字母, 並使用下劃線將單詞分隔開.
以下是一些示例:
-
p1_function()
-
p2_calculation()
-
p3_process_data()
-
p4_print_result()
-
p5_validate_input()
-
p6_sort_array()
-
p7_convert_format()
-
p8_handle_error()
函數調⽤
-
⽆參數
-
多參數
-
⽆返回值
-
有返回值
當調用函數時, 可以有無參數、多個參數, 以及有或無返回值. 以下是一些示例:
- 無參數、無返回值的函數調用示例:
def greet():
print("Hello, World!")
greet() # 輸出:Hello, World!
- 多參數、無返回值的函數調用示例:
def add_numbers(num1, num2):
result = num1 + num2
print("The sum is:", result)
add_numbers(3, 5) # 輸出:The sum is: 8
- 無參數、有返回值的函數調用示例:
def get_pi():
return 3.14159
pi_value = get_pi()
print(pi_value) # 輸出:3.14159
- 多參數、有返回值的函數調用示例:
def multiply_numbers(num1, num2):
result = num1 * num2
return result
product = multiply_numbers(4, 6)
print(product) # 輸出:24
這些示例展示了函數的不同調用方式, 你可以根據實際需求選擇適合的方式來調用函數. 而函數的調用:
sum_even=sum_even_of(start,end)
一旦執行到 return 語句, 函數將立即結束, 無論是否有後續的代碼. 程序執行到 return 語句時, 它會立即停止當前函數的執行, 並將控制權返回給調用該函數的地方
sum_even=sum_even_of賦值於sum_even實現函數的調用.
print(f'{sum_even}') 很關鍵.
函數的調用就是把實參傳給了形參, 參數類型:
-
位置參數
-
關鍵字參數
-
默認參數
-
任意多參數
位置參數:
sum_even_of(start,end) ## sum_even_of(20,50)
# 會寫出形參的名稱
默認參數
sum_even_of(10)
任意多參數:
- 或者 ** 是可變參數, para 是一個可變參數, 一個星號 我們傳入 (6,10) 賦值於 start,end 參數通過 = 解包操作完成賦值.
以下是用一個星號表示可變參數
在 python 中最常見的函數方式是位置參數和關鍵詞參數
實現⻩⾦分割序列函數
⻩⾦分割序列函數⼜被稱爲斐波那契數列, 在⾃然界中此序列較爲常⻅, 它的第⼀項是 1, 第⼆項是 1, 第三項是 2, 並且後⾯各項滿⾜規律:
f(n+2) = f(n+1) + f(n)
def fibo(n):
i = 0
fibo_list = []
while i < n:
if i == 0 or i == 1:
fibo_list.append(1)
if i >= 2:
thd = fibo_list[-1] + fibo_list[-2]
fibo_list.append(thd)
i += 1
return fibo_list
如果fibo(5)
[1, 1, 2, 3, 5]
lambda 函數
Lambda 函數是一種匿名函數, 也稱爲 "lambda 表達式". 它是一種快速定義簡單函數的方式, 通常用於需要傳遞函數作爲參數或者在代碼中定義臨時小型函數的情況.
Lambda 函數具有以下特點:
-
它是一個單行函數, 沒有函數名稱.
-
它可以接受任意數量的參數, 但只能有一個表達式.
-
它返回表達式的結果, 而不需要使用 return 語句.
Lambda 函數的基本語法如下:
lambda arguments: expression
其中, arguments 是函數的參數, 可以是一個或多個; expression 是函數的返回值, 通常是一個簡單的表達式.
以下是一些 Lambda 函數的示例:
- Lambda 函數接受一個參數並返回其平方:
square = lambda x: x**2
print(square(5)) # 輸出:25
- Lambda 函數接受兩個參數並返回它們的和:
addition = lambda a, b: a + b
print(addition(3, 4)) # 輸出:7
- Lambda 函數用於對列表中的每個元素進行操作:
my_list = [1, 2, 3, 4, 5]
squared_list = list(map(lambda x: x**2, my_list))
print(squared_list) # 輸出:[1, 4, 9, 16, 25]
Lambda 函數通常與其他函數(例如 map()、filter() 等)一起使用, 以提供簡潔、靈活的函數定義和操作.
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/cgcNCNiBDkaZrRnSgslNvQ