问题:option_1(a)中的a是干嘛的,为什么函数中没有调用?去掉后弹窗为什么报错,为什么必须要传?
```python
from tkinter import *
from tkinter import messagebox#用于弹窗
root = Tk()#创建根窗口
#放置组件
bnt01 = Button(root)#创建按钮对讲,在root根窗口中
bnt01['text']='点击'#按钮的内容
bnt01.pack()#布局管理器
#事件函数
def option_1(a):#a为事件对象
messagebox.showinfo('message',"送花")#第一个字段是弹窗名称,第二个是弹窗内容
bnt01.bind('<Button-1>',option_1)#将按钮和事件函数绑定
root.mainloop() #调用组件,进入事件循环
```
这个需要理解一下bind函数的使用,它是一个将函数或方法绑定到键盘或鼠标事件,一旦事件触发,执行对应的函数,函数参数a是一个事件对象,指代调用的事件。你也可以在函数里获取它的有关属性,比如在messagebox之前,写一行print(a.x,a.y)就会将点击发生的坐标位置给显示出来。
具体参考:
不是调用了么 Button-1 就是a对应的事件对象