函數對象

来源:https://www.cnblogs.com/nickchen121/archive/2019/04/24/10760382.html
-Advertisement-
Play Games

[TOC] 函數是第一類對象,即函數可以被當做數據處理。 函數對象的四大功能(掌握) 1.引用 2.當作參數傳給一個函數 from func 3.可以當作函數的返回值 from func 4.可以當作容器類型的元素 from func 練習(掌握) '1': 支付, '2': 提現, '3': 退出 ...


目錄

函數是第一類對象,即函數可以被當做數據處理。

函數對象-對象.jpg

def func():
    print('from func')


print(func)
<function func at 0x10af72f28>

函數對象的四大功能(掌握)

1.引用

x = 'hello nick'
y = x

f = func
print(f)
<function func at 0x10af72f28>

2.當作參數傳給一個函數

len(x)


def foo(m):
    m()


foo(func)
from func

3.可以當作函數的返回值

def foo(x):
    return x


res = foo(func)
print(res)
res()
<function func at 0x10af72f28>
from func

4.可以當作容器類型的元素

l = [x]

function_list = [func]
function_list[0]()
from func

練習(掌握)

def pay():
    print('支付1e成功')


def withdraw():
    print('提現2e成功')


dic = {
    '1': pay,
    '2': withdraw,
}
while True:
    msg = """
    '1': 支付,
    '2': 提現,
    '3': 退出,
    """
    print(msg)
    choice = input('>>: ').strip()
    if choice == '3':
        break
    elif choice in dic:
        dic[choice]()
    
    '1': 支付,
    '2': 提現,
    '3': 退出,
    
>>: 1
支付1e成功

    '1': 支付,
    '2': 提現,
    '3': 退出,
    
>>: 2
提現2e成功

    '1': 支付,
    '2': 提現,
    '3': 退出,
    
>>: 3

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 文章首發: "結構型模式:組合模式" 七大結構型模式之三:組合模式。 簡介 姓名 :組合模式 英文名 :Composite Pattern 價值觀 :專門解決各種樹形疑難雜症 個人介紹 : Compose objects into tree structures to represent part ...
  • 1 三次作業的設計策略 經過了上一單元的訓練,我也積累了一些設計策略上的經驗。在這一單元的一開始,我便儘可能地把問題中的各個功能實體區分開來,分別封裝成類,以便於隨後作業中新需求的加入。與此同時,我也在有意地控制住方法的規模,依照程式邏輯層次化地設計方法,使得每個方法都不至於過分臃腫,從而增加代碼的 ...
  • 1. " java爬蟲系列第一講 爬蟲入門(爬取動作片列表)" 2. " java爬蟲系列第二講 爬取最新動作電影《海王》迅雷下載地址" 3. " java爬蟲系列第三講 獲取頁面中絕對路徑的各種方法" 4. " java爬蟲系列第四講 採集"極客時間"專欄文章、視頻專輯" 5. "java爬蟲系列 ...
  • [TOC] 電梯作業總結 程式結構與複雜度的分析 第一次作業 1.設計思路 第一次作業是電梯作業的第一次,也是我多線程變成的第一次實踐。任務是編寫一個多線程實時電梯系統,採用FAFS的調度方式。由於第一次作業中沒有涉及到多部電梯以及捎帶的情況,因此來說是比較簡單的。我採用的是指導書提示部分中的模式, ...
  • 這裡演示的是前期框架的搭建,剩下的Controller就很簡單了 ...
  • 前幾天,棧長分享了 《 "Spring Cloud Eureka 註冊中心集群搭建,Greenwich 最新版!" 》,今天來分享下 Spring Cloud Eureka 常用的一些參數配置及說明。 Spring Boot 的配置參考Java技術棧微信公眾號往期 Spring Boot 系列文章, ...
  • [TOC] 函數的嵌套定義(掌握) 函數內部定義的函數,無法在函數外部使用內部定義的函數。 from f2 現在有一個需求,通過給一個函數傳參即可求得某個圓的面積或者圓的周長。也就是說把一堆工具丟進工具箱內,之後想要獲得某個工具,直接從工具箱中獲取就行了。 circle(10): 314.15926 ...
  • 一、前言 Go(又稱Golang)是Google開發的一種靜態強類型、編譯型的編程語言。 Go語言的主要特點包括:自動垃圾回收、更豐富的內置類型、函數多返回值、錯誤處理、匿名函數和閉包、類型和介面、併發編程、反射、語言交互性。 二、安裝配置 Go語言的安裝是很簡單的,下載安裝包進行安裝就好了,但是不 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...