成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

python學(xué)習(xí)筆記 函數(shù)

Scorpion / 2410人閱讀

摘要:一等函數(shù)在中,函數(shù)是一等對(duì)象。匿名函數(shù)關(guān)鍵字在表達(dá)式內(nèi)創(chuàng)建匿名函數(shù)然而,簡(jiǎn)單的句法限制了函數(shù)的定義體只能使用純表達(dá)式,即函數(shù)的定義體中不能賦值,不能使用等語(yǔ)句。匿名函數(shù)適合用于作為函數(shù)的參數(shù)

一等函數(shù)

在python中,函數(shù)是一等對(duì)象。編程語(yǔ)言理論家把“一等對(duì)象”定義為滿足以下條件的程序?qū)嶓w:

在運(yùn)行時(shí)創(chuàng)建

能賦值給變量或數(shù)據(jù)結(jié)構(gòu)中的元素

能作為參數(shù)傳給函數(shù)

能作為函數(shù)的返回結(jié)果

在python中,整數(shù)、字符串和字典都是一等對(duì)象,沒有什么特別之處。

標(biāo)題“一等函數(shù)”是“把函數(shù)視作一等對(duì)象”的簡(jiǎn)稱,雖然并不完美,但只是一種稱謂。

>>> def factorial(n):
...     """returns n"""
...     return 1 if n < 2 else n * factorial(n - 1)
...
>>> factorial(42)
1405006117752879898543142606244511569936384000000000
>>> type(factorial)

>>> fact = factorial
>>> fact

>>> fact(5)
120
>>> map(factorial, range(11))

>>> list(map(factorial, range(11)))
[1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800]
>>>

程序中定義了一個(gè)階乘函數(shù) factorial, 其本身是一個(gè)遞歸函數(shù),可以理解為函數(shù)可以作為函數(shù)的返回值(的一部分),可以做正常運(yùn)算,也可以復(fù)制給另一個(gè)變量fact,也可以作為高等函數(shù)map 的一個(gè)參數(shù)。

高等函數(shù)

接受函數(shù)作為參數(shù),或者把函數(shù)作為結(jié)果返回的函數(shù)是高等函數(shù)

python中常用的高等函數(shù)包括map, filter, sorted, reduce等等

>>> fruits = ["strawberry", "apple", "banana", "peach", "fig", "cherry"]
>>> sorted(fruits)
["apple", "banana", "cherry", "fig", "peach", "strawberry"]
>>> def reverse(word):
...     return word[::-1]
...
>>> reverse("testing")
"gnitset"
>>> sorted(fruits, key=reverse)
["banana", "apple", "fig", "peach", "strawberry", "cherry"]

sorted 是一個(gè)高級(jí)函數(shù),其可以接受函數(shù) reverse 作為參數(shù)

>>> from functools import reduce
>>> from operator import add
>>> reduce(add, range(100))
4950
>>> sum(range(100))
4950

從python3.0 起,reduce不再是內(nèi)置函數(shù),其作用被減弱,可輕易被替代。上例是計(jì)算0~99 的和。sum 和 reduce 的通用思想是把某個(gè)操作連續(xù)運(yùn)用到序列的元素上,累積計(jì)算,把一系列值規(guī)約成一個(gè)值。

匿名函數(shù)

lambda關(guān)鍵字在python表達(dá)式內(nèi)創(chuàng)建匿名函數(shù)

然而,python簡(jiǎn)單的句法限制了 lambda 函數(shù)的定義體只能使用純表達(dá)式,即lambda 函數(shù)的定義體中不能賦值,不能使用while、try等python語(yǔ)句。

匿名函數(shù)適合用于作為函數(shù)的參數(shù)

>>> fruits
["strawberry", "apple", "banana", "peach", "fig", "cherry"]
>>> sorted(fruits, key=lambda word: word[::-1])
["banana", "apple", "fig", "peach", "strawberry", "cherry"]






文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/42239.html

相關(guān)文章

  • python學(xué)習(xí)筆記-調(diào)用函數(shù)

    摘要:調(diào)用函數(shù)時(shí)常見的錯(cuò)誤函數(shù)參數(shù)個(gè)數(shù)不正確會(huì)給我們返回,并給出確切的錯(cuò)誤信息。例如將變量名指向這個(gè)取整函數(shù)調(diào)用函數(shù),即調(diào)用這個(gè)取整數(shù)的函數(shù) python有許多內(nèi)置的函數(shù)(Build-in Functions)例如abs()——求絕對(duì)值的函數(shù)供我們使用。那么我們?nèi)绾握{(diào)用這些函數(shù)呢?直接書寫函數(shù)名帶括號(hào)并在括號(hào)內(nèi)傳入?yún)?shù)即可。例如abs(-10.2)即可。python內(nèi)置的函數(shù)可以到https...

    AZmake 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.30 - 學(xué)習(xí) Python 來(lái)做一些神奇好玩的事情吧

    摘要:學(xué)習(xí)筆記七數(shù)學(xué)形態(tài)學(xué)關(guān)注的是圖像中的形狀,它提供了一些方法用于檢測(cè)形狀和改變形狀。學(xué)習(xí)筆記十一尺度不變特征變換,簡(jiǎn)稱是圖像局部特征提取的現(xiàn)代方法基于區(qū)域圖像塊的分析。本文的目的是簡(jiǎn)明扼要地說(shuō)明的編碼機(jī)制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開始之前,我們先來(lái)看這樣一個(gè)提問: pyth...

    lifesimple 評(píng)論0 收藏0
  • python學(xué)習(xí)筆記-定義函數(shù)

    摘要:空函數(shù)如果想要定義一個(gè)什么都不做的函數(shù),那么可以用語(yǔ)句。為函數(shù)添加參數(shù)檢查我們對(duì)作一些改寫。此時(shí)調(diào)用函數(shù)時(shí)傳入錯(cuò)誤的參數(shù)則會(huì)拋出。函數(shù)返回多個(gè)值支持返回多個(gè)值。 python中定義函數(shù)的關(guān)鍵詞是def,例如定義一個(gè)叫my_function的函數(shù)我們可以這么定義, 其中括號(hào)內(nèi)的x,y為傳入的參數(shù)。 def my_function(): # function body 返回值 函數(shù)...

    CoderStudy 評(píng)論0 收藏0
  • Python入門學(xué)習(xí)筆記匯總

    摘要:導(dǎo)語(yǔ)本文章匯總了本人在學(xué)習(xí)基礎(chǔ)之緒論篇數(shù)據(jù)結(jié)構(gòu)篇函數(shù)篇面向?qū)ο笃刂屏鞒唐驮幊唐獙W(xué)習(xí)筆記的鏈接,打算入門的朋友們可以按需查看并交流。 導(dǎo)語(yǔ):本文章匯總了本人在學(xué)習(xí)Python基礎(chǔ)之緒論篇、數(shù)據(jù)結(jié)構(gòu)篇、函數(shù)篇、面向?qū)ο笃?、控制流程篇和元編程篇學(xué)習(xí)筆記的鏈接,打算入門Python的朋友們可以按需查看并交流。 第一部分:緒論篇 1、Python數(shù)據(jù)模型 第二部分:數(shù)據(jù)結(jié)構(gòu)篇 2、序列構(gòu)成...

    U2FsdGVkX1x 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<