1. 程式人生 > 程式設計 >Python如何使用函式做字典的值

Python如何使用函式做字典的值

這篇文章主要介紹了Python如何使用函式做字典的值,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

當需要用到3個及以上的if...elif...else時就要考慮該方法進行簡化
通過將函式名稱當做字典的值,利用字典的關鍵字查詢,可以快速定位函式,進行執行

【場景】使用者查詢資訊,輸入fn查詢,執行對應函式

# 簡單用十個函式模擬查詢函式
def fun1():
  print("查詢1")
def fun2():
  print("查詢2")
def fun3():
  print("查詢3")
def fun4():
  print("查詢4")
def fun5():
  print("查詢5")
def fun6():
  print("查詢6")
def fun7():
  print("查詢7")
def fun8():
  print("查詢8")
def fun9():
  print("查詢9")
def fun10():
  print("查詢10")

傳統方法 if...elif...elif...else(寫起來很麻煩)

choice = input("請輸入查詢內容fn:")
if choice == 'f1':
  fun1()
elif choice == 'f2':
  fun2()
elif choice == 'f3':
  fun3()
elif choice == 'f4':
  fun4()
elif choice == 'f5':
  fun5()
elif choice == 'f6':
  fun6()
else:
  fun10()

"""
請輸入查詢內容fn:f1
查詢1

"""

將函式當做字典的值

# 建立字典
info = {'f1': fun1,'f2': fun2,'f3': fun3,'f4': fun4,'f5': fun5,'f6': fun6,'f7': fun7,'f8': fun8,'f9': fun9,'f10': fun10}
choice = input("請輸入查詢內容fn:")
info_value = info.get(choice)
print(info_value)
if info_value:
  info_value()
else:
  print('輸入異常')
"""
請輸入查詢內容fn:f11
None
輸入異常

"""

獲取字典中的value 使用get()函式,這樣當關鍵字不存在時,返回的值的None,不會導致程式報錯

【總結】遇到連續重複的程式碼編寫時,要思考解決方法,提高程式設計效率,同時增加程式碼的可讀性

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。