Oh, now I am definitely in favor of .[]! I read it in gmail in FireFox which uses a small variable-pitch font whose dot is a single pixel. The .() example was hard to find; the .[] jumped out immediately. (When do you ever see self[anything]?)
On 2/12/07, Brett Cannon <[EMAIL PROTECTED]> wrote: > On 2/12/07, Guido van Rossum <[EMAIL PROTECTED]> wrote: > > FWIW, I'm strongly -1 on the "->" notation. As a C programmer it's got > > too many neurons committed to it. > > > > I recommend that you do some experiments with the readability of the > > .[...] notation, e.g. write a program that randomly generates x.[foo] > > and x[foo], and see how fast you can spot the difference. I bet that > > you won't have any trouble. > > > > OK, so real-world examples. First, ``foo.(name)``, from urllib.py:: > > name = 'open_' + urltype > self.type = urltype > name = name.replace('-', '_') > if not hasattr(self, name): > if proxy: > return self.open_unknown_proxy(proxy, fullurl, data) > else: > return self.open_unknown(fullurl, data) > try: > if data is None: > return self.(name)(url) > else: > return self.(name)(url, data) > except socket.error, msg: > raise IOError, ('socket error', msg), sys.exc_info()[2] > > and also:: > > name = 'http_error_%d' % errcode > if hasattr(self, name): > method = self.(name) > if data is None: > result = method(url, fp, errcode, errmsg, headers) > else: > result = method(url, fp, errcode, errmsg, headers, data) > if result: return result > return self.http_error_default(url, fp, errcode, errmsg, headers) > > > And here is urllib2.py for ``.[]`` (used different files so you > wouldn't just remember where the change was):: > > if attr[:12] == '_Request__r_': > name = attr[12:] > if hasattr(Request, 'get_' + name): > self.['get_' + name]() > return self.[attr] > raise AttributeError, attr > > and:: > > handlers = chain.get(kind, ()) > for handler in handlers: > func = handler.[meth_name] > result = func(*args) > if result is not None: > return result > > > > Neither version jumps out at me strongly, although between the two the > ``.[]`` version shows up the best. But that might also be because of > the lower noise when used in a call. > > -Brett > -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com