Python學習筆記__4.1章 高階函數

來源:互聯網
上載者:User

標籤:程式設計語言   Python   

# 這是學習廖雪峰老師python教程的學習筆記

1、概覽

我們知道Python內建的求絕對值的函數是abs()

# 調用abs()函數可以獲得一個值

>>> abs(-10)

10

# 那麼,唯寫abs本身呢

>>> abs

<built-in function abs>

 

可見,abs(-10)是函數調用,而abs是函數本身

 

1.1、將函數賦給變數

將函數賦給變數只有兩種情況:

  • 把Function Compute得到的 結果 賦給變數

f=abs(-10)

  • 把 函數本身 賦給變數,變數此時可以調用函數,即變數可以指向函數

f=abs

1.2、函數名也是變數

函數名其實就是指向函數的變數。

對於abs()這個函數,可以把函數名abs看成變數。這意味著,可以用其他的值賦給abs這個變數

abs = 10

賦值過後。再調用abs函數報錯

註:由於abs函數實際上是定義在import builtins模組中的,所以要讓修改abs變數的指向在其它模組也生效,要用import builtins; builtins.abs = 10

 

2、例題

一個簡單的高階函數,計算abs(x)+abs(y)

 

# -*- coding: utf-8 -*-

 

def add(x, y, f):

    return f(x) + f(y)

 

print(add(-5, 6, abs))  # 將abs 函數 作為參數 傳給了 add函數


Python學習筆記__4.1章 高階函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.