我正在写gtk代码。我经常有一些简短的回调,它们不必是闭包,因为它们传递了所需的所有参数。例如,在创建一些gtk.TreeViewColumns时,我将其置于循环中:

def widthChanged(MAINCOL, SPEC, SUBCOL, expandable):
    if expandable: return
    w = MAINCOL.get_width()
    SUBCOL.set_fixed_width(w)

cl.connect("notify::width", widthChanged, pnlcl, expand)


这可能是低效的,因为函数是在循环的每次迭代中创建的(附带问题:实际上是它,还是对其进行了优化?)。但是,我觉得如果将所有这些单行代码移到顶层,则代码会更加混乱。有什么意见吗?

最佳答案

使用最易读的样式。除非您的代码配置工具告诉您该区域是一个热点,否则请不要担心速度。

09-27 13:09