我对以下三种模式感到困惑,有人会更详细地解释它吗?
## IPython with Python 2.7.3
In [62]: re.findall(r'[a-z]*',"f233op")
Out[62]: ['f', '', '', '', 'op', ''] ## why does the last '' come out?
In [63]: re.findall(r'([a-z])*',"f233op")
Out[63]: ['f', '', '', '', 'p', ''] ## why does the character 'o' get lost?
In [64]: re.findall(r'([a-z]*)',"f233op")
Out[64]: ['f', '', '', '', 'op', ''] ## what's the different than line 63 above?
Run Code Online (Sandbox Code Playgroud) 我有一个问题,为什么在我的测试代码中没有调用"windowClosed"方法如下,
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class Tmp {
class TFrame extends JFrame{
private static final long serialVersionUID = -5729542298504858399L;
public TFrame() {
setTitle("title");
setSize(300, 300);
}
}
public static void main(String[] args) {
final TFrame t = new Tmp().new TFrame();
t.addWindowStateListener(new WindowAdapter() {
@Override
public void windowStateChanged(WindowEvent e) {
super.windowStateChanged(e);
System.out.println(e.getOldState() + "<-old new->" + e.getNewState());
}
});
t.addWindowListener(new WindowAdapter() {
@Override
public void windowClosed(WindowEvent e) {
super.windowClosed(e);
System.out.println(e.getID() + "closed " + e.getNewState());
}
@Override
public …Run Code Online (Sandbox Code Playgroud) 我正在使用Python 2.7.4和Tkinter的新功能,我坚持使用以下代码.我生成了一个事件"test"并使用字符串设置"data"选项,但是从事件中检索它时发生了错误.
错误 - > AttributeError:事件实例没有属性'data'
from Tkinter import *
def handle_it(event):
# print "event handler"
print event.data
root = Tk()
root.after(1, lambda: root.event_generate('<<test>>', data="hi there"))
root.bind('<<test>>', handle_it)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
我找不到这个案例的相关Python文档,所以我在下面提到了tcl文档 http://www.tcl.tk/man/tcl8.5/TkCmd/event.htm#M14
Python 2.7的TKinter是否支持"数据"选项?谢谢!