python - 为什么函数没有参数运行?
问题描述
我目前正在学习python中的curses,我在网上发现了这段让我很困惑的代码。
import curses
def draw_menu(stdscr):
# do stuff
# if you want more code just let me know
def main():
curses.wrapper(draw_menu)
if __name__ == "__main__":
main()
当我运行它时,我没有收到预期的missing 1 required positional argument
错误,因为行中没有传递任何参数curses.wrapper(draw_menu)
。这是curses
一回事吗?任何帮助是极大的赞赏。
解决方案
函数是一种数据类型,就像字符串、整数等一样。
def my_function(txt):
print(txt)
这里type(my_function) # => <class 'function'>
当您使用括号调用函数时,您会调用函数内部的代码:my_function('hello') # => prints hello
在此之前,您可以完美地将函数作为参数传递给另一个函数。最后一个可以调用你传递的那个,给它一些参数。
就像您的情况一样,我猜想这curses.wrapper()
会创建一个屏幕界面,并将其作为参数传递给您的draw_menu()
函数。您可能可以使用该屏幕对象来构建您的诅咒应用程序。
看到这个:Python函数作为函数参数?
推荐阅读
- powershell - 如何在 Powershell 上捕获 OpenSSH 输出?
- pandas - 在pyplot中参考分组列作为x轴
- ios - 快速按下按钮时删除自定义单元格
- r - ggplot2:带有 facet_wrap 的顶部图上的 x 轴
- command-line-arguments - 如何理解linux命令的使用信息?
- javascript - android中的自定义youtube播放器
- php - PHP河豚cbc VS珍珠地穴
- php - php - 为某些用户隐藏某些产品
- javascript - React 中的确认窗口
- mysql - IF ELSE 不适用于 SQL / MySQL