函数的对象

时间:2019-11-11
本文章向大家介绍函数的对象,主要包括函数的对象使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

函数是第一类对象

1、函数名是可以被引用的:

name = "zc"

dsb = name

所以name是先定义的,zc是先赋值给name的,然后再定义dsb,然后再引用第一个定义的name.

def index():
print('from index')
a = index
a()
第二种方式:读法是先定义一个index,然后是a = index,调用函数名,可以直接调用,方便简单。

2、函数名可以当做参数传递
def foo(x,y,func):
print(x,y)
func()

def bar():
print("from bar")
foo(1,2,bar)
读法是这样的:
第一步:定义def foo(x,y,func)
第二步:定义def bar()
第三步:调用foo(1,2,bar),bar = func 1,2就是位置参数
第四步:print(1,2) func(), 而func()其实就是bar()
第五步:就是执行bar这个函数。
运行结果就是:

1 2
from bar

3 函数名可以当做返回值使用

传参的时候没有特殊需求,一定不要加括号,加括号当场执行了

def index()

print("from index")

def func(a)

return a

a = func(index)

print(a)

a() 

读法:

第一步:定义一个函数index()

第二步:再定义一个函数func(a)

第三步:赋值 a = fun(index),   index 赋值给 a,就是a = fun(a)

第四步:执行print(index(a))  打印 index(a)的地址

第五步:a()其实就是调用index(),执行这个函数,就是print(“from index”)

运行结果就是:

第一行是index(a)的地址:<function index at 0x0000018CED152318>

第二行是执行a(),也就是执行index(),这是什么意思呢?也就是看执行第一行代码了,

func(index) 这是一个调用的函数,返回的是一个值,index赋值给a, a=index,然后往下执行,值就是index,return(a),就是返回a,然后返回的值就是index。然后就是执行index()这条语句了。

def func():                #定义一个函数
print("from func") #函数体

l1 = [1,"2",func,func()] #做一个l1的容器类型,第三个元素是func,第四个元素执行func()函数。所以他是先执行func()函数语句,怎样执行呢?直接调用func()语句,打印print("from func")
f = l1[2] #然后执行第二点,f= func 这个值,是函数名
print(f)

 读法:

第一步:先定义一个函数

第二步:立即执行调用func函数里面的内容,print("from func"),打印出来就是from func

第三步:就是列表中第二个元素赋值给f,然后print(f),就是print   f 对应的地址。列表元素不是直接存在列表范围内的,而是以地址的形式保存在列表中。


这边还有一个函数代码如下:

def register():
print("register")

def login():
print("login")

def shopping():
print("shopping")

def pay():
print("pay")

func_dic = {"1":register,"2":login,"3":shopping,"4":pay}

def main():
while True:
print("""
1、注册
2、登陆
3、购物
4、付款
5、退出
""")
choice = input("请输入对应的编号:").strip()
if choice == "5":
break
if choice not in func_dic:
continue
else:
func_dic[choice]()
main()

原文地址:https://www.cnblogs.com/medigrat/p/11837563.html