安慶什么網(wǎng)站做火商丘seo優(yōu)化
前面介紹的函數(shù)太簡單了:
以下是 20 個不同的 Python 函數(shù)實例
下面深入一點點:
以下是20個稍微深入一點的,使用Python語言定義并調(diào)用函數(shù)的示例程序:
20個函數(shù)實例
- 簡單函數(shù)調(diào)用
def greet():print("Hello!")greet()
- 帶參數(shù)的函數(shù)
def greet(name):print("Hello, " + name + "!")greet("Alice")
- 返回值的函數(shù)
def add(x, y):return x + yresult = add(3, 5)
print(result)
- 默認(rèn)參數(shù)
def greet(name="World"):print("Hello, " + name + "!")greet()
greet("Alice")
- 可變參數(shù)
def add(*args):total = 0for num in args:total += numreturn totalresult = add(1, 2, 3, 4, 5)
print(result)
- 關(guān)鍵字參數(shù)
def greet(name, age):print("Hello, " + name + "! You are " + str(age) + " years old.")greet(name="Alice", age=25)
- 使用lambda創(chuàng)建匿名函數(shù)
double = lambda x: x * 2
print(double(5))
- 遞歸函數(shù)
def factorial(n):if n == 0 or n == 1:return 1else:return n * factorial(n-1)result = factorial(5)
print(result)
- 函數(shù)作為參數(shù)傳遞
def add(x, y):return x + ydef operation(func, a, b):return func(a, b)result = operation(add, 3, 4)
print(result)
- 返回函數(shù)
def make_multiplier(n):def multiplier(x):return x * nreturn multipliertimes3 = make_multiplier(3)
print(times3(5))
- 在函數(shù)中修改列表
def add_one(numbers):for i in range(len(numbers)):numbers[i] += 1my_list = [1, 2, 3, 4]
add_one(my_list)
print(my_list)
- 使用assert斷言
def divide(x, y):assert y != 0, "Cannot divide by zero!"return x / yresult = divide(10, 2)
print(result)
- 函數(shù)遞歸調(diào)用
def fibonacci(n):if n <= 1:return nelse:return fibonacci(n-1) + fibonacci(n-2)print(fibonacci(7))
- 匿名函數(shù)與map函數(shù)結(jié)合
nums = [1, 2, 3, 4, 5]
doubles = list(map(lambda x: x * 2, nums))
print(doubles)
- 使用filter過濾列表
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums)
- 使用reduce進(jìn)行累積計算
from functools import reducenums = [1, 2, 3, 4, 5]
total = reduce(lambda x, y: x + y, nums)
print(total)
- 列表推導(dǎo)式應(yīng)用
squared = [x**2 for x in range(10)]
print(squared)
- 生成器函數(shù)的定義與使用
def square_generator(n):for i in range(n):yield i**2squared = square_generator(5)
print(list(squared))
- 裝飾器的使用
def my_decorator(func):def wrapper():print("Something is happening before the function is called.")func()print("Something is happening after the function is called.")return wrapper@my_decorator
def say_hello():print("Hello!")say_hello()
- 使用functools.partial創(chuàng)建偏函數(shù)
from functools import partialdef power(x, y):return x ** ysquare = partial(power, y=2)
cube = partial(power, y=3)print(square(5))
print(cube(5))
函數(shù)參考基礎(chǔ)知識
在 Python 中,函數(shù)使用關(guān)鍵字 def
來定義,后面跟著函數(shù)名和參數(shù)列表,然后是一個冒號,之后是函數(shù)體,包含了函數(shù)的具體操作和返回值。例如:
def greet(name):return "Hello, " + name
以上是一個簡單的函數(shù)定義,函數(shù)名為 greet
,接受一個參數(shù) name
,返回一個拼接了 "Hello, " 和 name
的字符串。
Python 函數(shù)還支持默認(rèn)參數(shù)值和關(guān)鍵字參數(shù),可以在定義函數(shù)時為參數(shù)指定默認(rèn)值,也可以通過關(guān)鍵字參數(shù)來在調(diào)用函數(shù)時明確指定參數(shù)的值。這使得函數(shù)在使用時更加靈活。
在 Python 中,函數(shù)也支持返回多個值,實際上,Python 的函數(shù)返回的是一個元組(tuple),即使看起來只有一個值。這讓函數(shù)可以返回多個數(shù)據(jù),提高了函數(shù)的靈活性。
另外,在 Python 中函數(shù)也可以嵌套定義,即在一個函數(shù)內(nèi)部再定義一個函數(shù)。這種嵌套定義的函數(shù)稱為內(nèi)部函數(shù),可以幫助組織代碼,提高代碼的可讀性。
Python 還支持匿名函數(shù),即 lambda 函數(shù),可以用來編寫簡單的函數(shù),通常用于傳遞給高階函數(shù)或需要一個簡短的函數(shù)定義的場合。
總的來說,Python 的函數(shù)是 Python 編程中不可或缺的部分,通過函數(shù)可以將代碼結(jié)構(gòu)化、模塊化,提高代碼的重用性和可維護(hù)性,是 Python 編程中非常重要的基礎(chǔ)知識之一。
相關(guān)學(xué)習(xí):
以下是 20 個不同的 Python 函數(shù)實例
我的圖書
下面兩本書歡迎大家參考學(xué)習(xí)。
OpenCV輕松入門
李立宗,OpenCV輕松入門,電子工業(yè)出版社,2023
本書基于面向 Python 的 OpenCV(OpenCV for Python),介紹了圖像處理的方方面面。本書以 OpenCV 官方文檔的知識脈絡(luò)為主線,并對細(xì)節(jié)進(jìn)行補充和說明。書中不僅介紹了 OpenCV 函數(shù)的使用方法,還介紹了函數(shù)實現(xiàn)的算法原理。
在介紹 OpenCV 函數(shù)的使用方法時,提供了大量的程序示例,并以循序漸進(jìn)的方式展開。首先,直觀地展示函數(shù)在易于觀察的小數(shù)組上的使用方法、處理過程、運行結(jié)果,方便讀者更深入地理解函數(shù)的原理、使用方法、運行機(jī)制、處理結(jié)果。在此基礎(chǔ)上,進(jìn)一步介紹如何更好地使用函數(shù)處理圖像。在介紹具體的算法原理時,本書盡量使用通俗易懂的語言和貼近生活的實例來說明問題,避免使用過多復(fù)雜抽象的公式。
本書適合計算機(jī)視覺領(lǐng)域的初學(xué)者閱讀,包括在校學(xué)生、教師、專業(yè)技術(shù)人員、圖像處理愛好者。
本書第1版出版后,深受廣大讀者朋友的喜愛,被很多高校選為教材,目前已經(jīng)累計重印9次。為了更好地方便大家學(xué)習(xí),對本書進(jìn)行了修訂。
計算機(jī)視覺40例
李立宗,計算機(jī)視覺40例,電子工業(yè)出版社,2022
近年來,我深耕計算機(jī)視覺領(lǐng)域的課程研發(fā)工作,在該領(lǐng)域尤其是OpenCV-Python方面積累了一點兒經(jīng)驗。因此,我經(jīng)常會收到該領(lǐng)域相關(guān)知識點的咨詢,內(nèi)容涵蓋圖像處理的基礎(chǔ)知識、OpenCV工具的使用、深度學(xué)習(xí)的具體應(yīng)用等多個方面。為了更好地把所積累的知識以圖文的形式分享給大家,我將該領(lǐng)域內(nèi)的知識點進(jìn)行了系統(tǒng)的整理,編寫了本書。希望本書的內(nèi)容能夠?qū)Υ蠹以谟嬎銠C(jī)視覺方向的學(xué)習(xí)有所幫助。
本書以O(shè)penCV-Python(the Python API for OpenCV)為工具,以案例為載體,系統(tǒng)介紹了計算機(jī)視覺從入門到深度學(xué)習(xí)的相關(guān)知識點。
本書從計算機(jī)視覺基礎(chǔ)、經(jīng)典案例、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、人臉識別應(yīng)用等五個方面對計算機(jī)視覺的相關(guān)知識點做了全面、系統(tǒng)、深入的介紹。書中共介紹了40余個經(jīng)典的計算機(jī)視覺案例,其中既有字符識別、信息加密、指紋識別、車牌識別、次品檢測等計算機(jī)視覺的經(jīng)典案例,也包含圖像分類、目標(biāo)檢測、語義分割、實例分割、風(fēng)格遷移、姿勢識別等基于深度學(xué)習(xí)的計算機(jī)視覺案例,還包括表情識別、駕駛員疲勞監(jiān)測、易容術(shù)、識別年齡和性別等針對人臉的應(yīng)用案例。
在介紹具體的算法原理時,本書盡量使用通俗易懂的語言和貼近生活的示例來說明問題,避免使用復(fù)雜抽象的公式來介紹。
本書適合計算機(jī)視覺領(lǐng)域的初學(xué)者閱讀,適于在校學(xué)生、教師、專業(yè)技術(shù)人員、圖像處理愛好者使用。