Python curses:模块函数 vs 实例函数

2024-09-29 01:30:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近一直在研究诅咒在Python中是如何工作的。我遵循了这里的教程:Curses Programming with Python,并且我成功地将它们的代码弄乱了,以便将文本正确地输出到控制台屏幕中的各个位置。你知道吗

我的问题是: 为什么有些函数是模块的属性,例如curses.noecho() 但是其他函数是屏幕对象的属性,例如sreen_instance.keypad(True)?你知道吗

让screen实例指定noecho()cbreak()之类的内容,而不是模块,对我来说是有意义的。你知道吗

这背后的原因是什么?是否有任何一般规则来识别函数是模块的属性,还是Curses库中对象实例的属性?你知道吗


Tags: 模块对象实例函数代码文本属性屏幕
1条回答
网友
1楼 · 发布于 2024-09-29 01:30:54

尽管将“stdscr”命名为“标准屏幕”,但这是一个诅咒窗口(如果有子窗口,它是顶级窗口)。你知道吗

属性位于curses级别或window级别,因为这就是相应函数在curses中的组织方式。大多数Python绑定都具有与C库相同的名称和类似的参数(允许Python绑定中的可选参数减少使用的名称数量,例如Python中的^{}与C中的^{})。你知道吗

要了解它是如何工作的,我只需看看curses C接口:任何使用WINDOW*参数(将getch()等别名计算为^{})的东西都将在Python绑定中作为窗口属性(或函数)实现,而那些不使用WINDOW参数的将是诅咒属性(或函数)。你知道吗

相关问题 更多 >