1. 因為函式是物件,所以很多構造能輕易的表達出來。比如我們要對下面的string做一些資料清洗:
還有一種做法:
注意:這種操作很奇特,對於string的內奸函式需要使用str.***訪問
乙個更加函式化的方式能夠讓你方便的在乙個高等級上轉變乙個string。可以把函式當做其他函式的引數,比如用內建的map函式,這個map函式能把乙個函式用於乙個序列號是哪個:
2. 匿名函式(lamda函式)
函式只有一行,結果能返回值。下面兩個函式是一樣的效果,函式短小,不需要重用很多次
3. 柯里化:區域性引數應用
什麼是柯里化?柯里化就是把接受多個引數的函式變換成接受乙個單一引數(最初函式的第乙個引數)的函式,並且返回接受餘下的引數且返回結果的新函式
的技術4. 生成器(generators)
生成器在python中很重要,能用來迭代序列,比如,迭代乙個字典。
當遇到for loop這樣的情景時,乙個生成器能產生object給python直譯器。大部分方法,除了list之類的object,都能接受迭代器。
比如內建的函式min、max、sum或是型別構造器list、tuple;
生成器是用於構造迭代物件的間接方式。不像其他函式一口氣執行完,返回乙個結果,生成器是多次返回乙個序列,每請求一次,才會返回乙個。
用yield可以構建乙個生成器。
生成器表示式:與列表表示式相同,只不過使用括號:生成器表示式可以作為函式的引數,但是列表表示式不能作為函式的引數
python學習筆記 4 函式基礎
語法格式 def 函式名 函式封裝的 通過函式名 即可完成對函式的呼叫。注意,函式呼叫不能放在函式定義的前面。舉個栗子 定義函式 num1 num2,括號中的num1和num2為函式中定義的引數 defnum1 num2 num1,num2 result num1 num2 print result...
Python 函式其他 學習筆記4)
對於list和tuple來說,可能有事需要獲得他們的子串,而j a等都提供了類似substring 的方法來獲取子串,而對於python來說則有一種方法叫 切片 例如 l michel sarah bob tom 想要獲取l的前2個元素怎麼辦?當然也可以使用for迴圈,但是這樣太麻煩了。l 0 3 ...
python學習4 學會使用函式input
1.1 函式input的工作原理 message input tell me something,and i will repeat it back to you print message 函式input 接受乙個引數 即要向使用者顯示的提示或說明,讓使用者知道該如何做。在這個示例中,python...