python中调用函数,只写一个函数名是什么意思?

一:问题

python中调用函数,只写一个函数名是什么意思?

 

二:回答

只写函数名,则调用的是函数的地址
写函数名并传参,则调用的是函数返回值

举例说明:

 1 test_data =[{"name":"李白","order":1},{"name":"杜甫","order":4},  
 2             {"name":"高力士","order":2},{"name":"高适","order":3}]  
 3   
 4 def sort_func(item):  
 5     return item["order"]  
 6 
 7 #对数据降序排序  
 8 test_data.sort(key = sort_func,reverse=True)  
 9 print(filter_data)
10 
11 >>> 运行结果如下:
12 >>> [{'name': 'jane', 'sex': 'female', 'age': 40}, {'name': 'linda', 'sex': 'female', 'age': 35}, {'name': 'soniar', 'sex': 'female', 'age': 28}]

这里第8行key=sort_func,sort_func后面就没有跟上(item),这里传的就是sort_func函数的地址
简单理解就是:

def sort_func(a):
	return a

print(sort_func)
print(sort_func(3))

>>> 程序运行结果如下:
>>> <function sort_func at 0x000001272DD71C10>
>>> 3

上面第一个print(sort_func),打印的是函数sort_func的地址,第二个print(sort_func(3)),打印的是函数的返回值。

 

posted @ 2023-11-28 13:04  秒秒开心  阅读(22)  评论(0编辑  收藏  举报