Python函数名的第一类对象及使用
生活随笔
收集整理的這篇文章主要介紹了
Python函数名的第一类对象及使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數名的第一類對象只是一種稱呼,是相對于第二類對象而言的。我們目前用到的函數基本都是第一類對象。
函數名的第一類對象主要有四個方面的應用:
示例一:
def func():print(1)a = func print(func) # 函數的內存地址 print(a) a()輸出的結果為:
<function func at 0x00000197E2D41EA0> <function func at 0x00000197E2D41EA0> 1func和a同樣都是指向函數的內存地址,當我們調用a時,得到了同調用func相同的結果。
示例二:
''' Python學習交流,免費公開課,免費資料, 免費答疑,系統學習加QQ群:579817333 ''' def func():print(1) def foo(a):print(a) foo(func)輸出的結果為:
<function func at 0x0000021FD82C1EA0>示例三:
def func():return 1 def foo(a):return a cc = foo(func) print(cc)輸出的結果是:
<function func at 0x000002261A231EA0>示例四:
有這樣一個需求:用戶選擇需要相應的序號進行選擇接下來的操作,比如選擇 1 會調用注冊的函數,選擇 2 會調用登陸的函數……從前我們會通過流程控制語句的方式實現:
''' Python學習交流,免費公開課,免費資料, 免費答疑,系統學習加QQ群:579817333 ''' def login():print("登錄")def register():print("注冊")def shopping():print("逛")def add_shopping_car():print("加")def buy_goods():print("買")msg =""" 1.注冊 2.登錄 3.逛 4.加 5.買 請輸入您要選擇的序號: """ while True:choose = input(msg)if choose.isdecimal():if choose == "1":register()elif choose == "2":login()elif choose == "3":shopping()elif choose == "4":add_shopping_car()elif choose == "5":buy_goods()else:print("請輸入正確的序號")通過將函數裝到字典里,我們可以大量減少重復的代碼:
def login():print("登錄")def register():print("注冊")def shopping():print("逛")def add_shopping_car():print("加")def buy_goods():print("買")msg =""" 1.注冊 2.登錄 3.逛 4.加 5.買 請輸入您要選擇的序號: """ func_dic = {"1":register,"2":login,"3":shopping,"4":add_shopping_car,"5":buy_goods} while True:choose = input(msg) # "5"if choose in func_dic:func_dic[choose]()else:print("請輸入正確的序號")這種使用字典調用函數的方式是一種很重要的編程思想,以后將經常用到。
總結
以上是生活随笔為你收集整理的Python函数名的第一类对象及使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python字符串截取值
- 下一篇: Python变量本质