python初学函数_Python初学者速收藏!面向Python初学者的知识-函数
什么是函數式編程?
函數式編程是一種編碼范例,其中我們定義要做什么而不是執行什么動作。這個想法最初是從數學中采用的,我們定義輸入到函數中的輸入以及我們期望從中獲得的輸出。 函數式編程很少依賴狀態管理-這意味著無論輸出多少,我們傳遞相同的參數時,可以將其解釋為數據正在進行一些轉換,最終導出所需要的輸出。
你在Python中的第一個功能
盡管Python并不是主要的功能語言,但它支持功能編程相對簡單,因為Python中的所有內容都是對象。這意味著可以將函數分配給變量并傳遞。 為了使事情簡單,讓我們從打印Hello World的簡單函數開始:
函數的語法以def關鍵字開頭,后跟函數名稱,然后使用圓括號。定義函數以冒號(:)結尾。然后在帶有四個空格縮進的下一行中,該函數的主體開始??s進是我們在使用函數時需要記住的最重要的事情。
函數和變量
全局變量和函數變量 。當我們在函數內部以及全局中擁有一個具有相同名稱的變量時,當我們嘗試訪問該變量時(無論是訪問全局變量還是函數作用域變量),將存在歧義。 因此,Python提供了一個函數,globals(),通過它我們可以訪問函數內部具有相同名稱的全局變量:
將函數分配給變量 -在Python中,我們可以將函數分配給變量,然后調用它:
帶參數的函數
現在我們知道了如何定義一個函數,是時候進入下一個階段了,在該階段我們將輸入傳遞給函數-參數。為了快速理解它,我們將從一個數學函數開始,在該函數中我們計算兩個數字的和:
和第一個函數一樣,它是一個簡單的函數,但是有兩個輸入- a和b。
調用功能 -僅通過調用函數并以函數中提到的順序傳遞參數或使用命名參數,就可以通過兩種方式來調用帶有參數的函數:
具有默認值的參數 -在上面的示例中,a和b是兩個強制性參數—這意味著開發人員必須傳遞兩個參數來調用該函數。在Python中,我們可以使用默認值指定參數。因此,這些參數將是可選參數。如果未傳遞任何可選參數,則在調用函數時,Python會考慮該參數的默認值:
我們可以通過三種方式調用上述函數,如下所示:
具有返回值的函數
我們已經看到了如何將輸入傳遞給函數。是時候實現函數的輸出了。它與Java,Kotlin等其他大多數語言類似-我們需要使用return關鍵字并提及值:
Python具有返回多個值作為輸出的獨特功能,這是大多數語言無法做到的:
x,y并且z變量將分別分配有正,負和乘法值。
用作參數和返回值
Python函數式編程可以將函數作為輸出返回或將其作為參數傳遞。
作為參數 -到目前為止,我們已經看到了如何將變量作為參數傳遞給函數。現在,我們將學習如何將函數作為參數傳遞給其他函數-類似于Kotlin中的高階函數:
用作返回值(輸出) -與函數作為參數傳遞類似,我們也可以將其作為輸出返回-這是Python中的獨特功能:
內部功能
我們可以在另一個函數內編寫一個函數,這是我迄今為止在任何其他編程語言中都沒有見過的。內部函數的作用域是外部函數-內部函數只能從外部函數訪問: to訪問內部功能的正確方法
無法從包裝函數的外部訪問內部函數:
Lambda函數
Lambda是具有單行表達式的函數的最簡單形式,并且沒有名稱。在Python中,我們必須使用lambda關鍵字而不是def創建lambda函數:
在這里,變量f是一個簡單的lambda函數,而a和b是的參數f。語法類似于普通功能。唯一的變化是關鍵字和單行表達式。 以下是一個簡單的示例,演示了我們如何使用普通函數和lambda:
map和過濾器功能
到目前為止,我們已經看到了如何創建創建函數和其他策略。開箱即用的Python包含默認功能,例如map和filter,在一些用例中很方便。
map-map是一個需要另一個函數對象以及任意數量的iterables類似列表和字典的函數。map使用提供給它的函數對象迭代列表中的每個項目,并返回一個列表:
我們可以傳遞多個列表到map,如下所示:
過濾 -filter函數需要兩個參數-一個函數對象和一個可迭代的。Filter遍歷返回boolean值的函數對象中的每個項目。最后,filter返回一個包含從功能對象返回true的項目的列表。
裝飾器
裝飾器是一種設計模式-接受一個對象并為其添加新功能,而無需從調用站點進行任何更改。如前所述,Python中的所有內容都是一個對象-因此我們可以將函數用作修飾符,并可以將其應用于其他函數:
希望你能學到一些有用的東西,謝謝閱讀。
總結
以上是生活随笔為你收集整理的python初学函数_Python初学者速收藏!面向Python初学者的知识-函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓 跨域(安卓跨平台)
- 下一篇: 学python后做什么工作好_学习完Py