首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python -为什么这个实例方法在另一个实例方法中调用时不需要括号?

Python -为什么这个实例方法在另一个实例方法中调用时不需要括号?
EN

Stack Overflow用户
提问于 2013-01-09 17:42:55
回答 3查看 175关注 0票数 3

我知道这是个菜鸟问题,但我想弄明白为什么"self.update_count“在从”create_widget“方法调用时不需要括号。我一直在找,但找不到原因。

请帮帮忙。

代码语言:javascript
复制
# Click Counter
# Demonstrates binding an event with an event handler

from Tkinter import *

class Skeleton(Frame):
   """ GUI application which counts button clicks. """
   def __init__(self, master):
       """ Initialize the frame. """
       Frame.__init__(self, master)
       self.grid()
       self.bttn_clicks = 0 # the number of button clicks
       self.create_widget()

   def create_widget(self):
       """ Create button which displays number of clicks. """
       self.bttn = Button(self)
       self.bttn["text"] = "Total Clicks: 0"
       # the command option invokes the method update_count() on click
       self.bttn["command"] = self.update_count
       self.bttn.grid()

   def update_count(self):
       """ Increase click count and display new total. """
       self.bttn_clicks += 1
       self.bttn["text"] = "Total Clicks: "+ str(self.bttn_clicks)

# main root = Tk() root.title("Click Counter") root.geometry("200x50")

app = Skeleton(root)

root.mainloop()
EN

Stack Overflow用户

发布于 2013-01-09 17:47:41

这不是函数调用,而是字典中的引用存储:

代码语言:javascript
复制
self.bttn["command"] = self.update_count 
// stores reference to update_count inside self.bttn["command"]
// invokable by self.bttn["command"]()

很可能Button对象能够在某些交互时调用此方法。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14232237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档