Please check for sanity and approve for posting at python-dev. In Visual Basic there is the keyword "with" which allows an object- name to be declared as governing the following statements. For example:
with quitCommandButton .enabled = true .default = true end with This is syntactic sugar for: quitCommandButton.enabled=true quitCommandButton.default=true This can be very useful especially in GUI programming when we have to type the same object name in line-after-line. I personally found having to type the word "self" umpteen times inside classes very irritating. Such a beautiful language is Python, she should have this good feature from VB too. Now I hear that the word "with" is being discussed for a different purpose in Py 3 as a result of a PEP and I don't want to conflict with that. So I propose the word "using" as a replacement. This also is similar to the C++ "using" keyword which exposes the members of a namespace to access without specifying the namespace scope for each reference. For example after giving "using namespace std;" I can change all references to "std::cout" to "cout", which is similar to what I am proposing for Python now. Some thoughts about how this "using" statement should behave. The word using should be followed by an object name and a colon indicating the start of a block. The object named after "using" must determine the context (or whatever the technical word is) of the of the statements in that block. self.setFixedSize(200, 120) self.quit = QtGui.QPushButton("Quit", self) self.quit.setGeometry(62, 40, 75, 30) self.quit.setFont(QtGui.QFont("Times", 18, QtGui.QFont.Bold)) self.connect(self.quit, QtCore.SIGNAL("clicked()"), QtGui.qApp, QtCore.SLOT("quit()")) to be rewritten as: using self: __setFixedSize(200,120) __quit = QtGui.QPushButton("Quit", self) __using quit: ____setGeometry(62, 40, 75, 30) ____setFont(QtGui.QFont("Times", 18, QtGui.QFont.Bold)) __connect(self.quit, QtCore.SIGNAL("clicked()"), QtGui.qApp, QtCore.SLOT("quit()")) [I don't know whether usenet will retain my indenting, so I changed the tabs to underscores.] This context governing may need to be limited to the first applicable member - so that in the above example "self" governs setFixedSize, quit, quit and connect only in each sentence and quit (self.quit) governs setGeometry and setFont only. (Point is that the parser should not search for self.QtGui, self.self or self.QtCore in sentences 3 and 7, and self.quit.QtGui in sentence 6.) Due to my absence of professional experience, my request may be somewhat unpolished technical-wise, but I believe that this is a very useful feature for Python and hence request the technically- knowledgeable to reformat it as necessary. Thank you. -- http://mail.python.org/mailman/listinfo/python-list