一:函数对象的简单简单介绍:
在面向对象编程语言中,有这门一句话:一切皆对象,python也是一门面向对象的语言,在python中,函数对象就是:把函数的内存地址当作一种变量值去使用.
具体体现在如下几个方面:
1.函数可以被引用(在函数被引用时,不应该在函数名后加括号),简单示例如下:
def func1():
print('from func')
func2=func1
func2()
运行结果为:from func
2.函数可以作为函数的参数传给另外的函数,简单示例如下:
def func1():
print('from func')
def bar(fax)
fax()
bar(func1)
3.函数可以作为函数的返回值,简单示例如下:
def func2():
print('hello')
def bar()
return func2
f=func2()
f()
4.可以当作容器类型的元素,简单示例如下:
def func3():
print('from func3')
l=[func3,]
l[0]()
二.关于函数对象的简单示例:
编写一个购物车程序,具有登录,注册,购物,退出等功能
def login():
print('login successful')
def register():
print('successful')
def shopping():
print('shopping successful')
def outer():
exit()
dic={
'1':login
'2':register
'3':shopping
'0':exit
}
print("""
1.登录
2.注册
3.购物
4.退出
""")
while True:
choice=input('请输入你的选择:')
if choice in dic:
dic[choice]()
else:
print('error')