python入門之函數對象

函數是第一類對象

First-Class Object :函數

在 Python 中萬物皆爲對象,函數也不例外,函數做爲對象能夠賦值給一個變量、能夠做爲元素添加到集合對象中、可做爲參數值傳遞給其它函數,還能夠當作函數的返回值,這些特性就是第一類對象所特有的。code

一、函數名能夠被引用

name = 'tank'
dsb = name
 
def index():
    print('from index')
 
 
a = index
a()

二、函數名能夠當作參數傳遞

def foo(x, y, func):
    print(x, y)
    func()
 
 
def bar():
    print('from bar')
 
 
foo(1, 2, bar)

三、函數名能夠當作返回值使用

傳參的時候沒有特殊需求,必定不要加括號,加括號當場執行了對象

def index():
    print("from index")
 
 
def func(a):
    return a
 
 
a = func(index)
# print(a)
a()

四、函數名能夠被當作容器類型的元素

def func():
     print('from func')
 
 
 
 
l1 = [1, '2', func, func()]
 
f = l1[2]
 
print(f)
def registers():
    print('register')
 
 
def login():
    print('login')
 
 
def shopping():
    print('shopping')
 
 
def pay():
    print('pay')
 
 
choice_dic = {
    '1': registers,
    '2': login,
    '3': shopping,
    '4': pay,
}
 
 
def choice():
    while True:
        print('''
              1 : 註冊
              2 :登陸
              3 :購物
              4 :付款
              5 :退出''')
        num = input('請輸入數字進行選擇:').strip()
        if num == '5':
            break
        if num not in choice_dic:
            continue
        else:
            choice_dic[num]()
 
 
choice()
相關文章
相關標籤/搜索