[Python-Dev] Alternate notation for global variable assignments
Zack Weinberg
zack at codesourcery.com
Mon Oct 27 17:55:04 EST 2003
More information about the Python-Dev mailing list
Mon Oct 27 17:55:04 EST 2003
- Previous message: [Python-Dev] Alternate notation for global variable assignments
- Next message: [Python-Dev] Alternate notation for global variable assignments
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Steve Holden" <sholden at holdenweb.com> writes: >> >> :var = value # var in module scope >> :scope:var = value # var in named enclosing scope >> >> An advantage of this notation is that it can be used anywhere, not >> just in an assignment. This has primary value for people reading the >> code -- if you have a fairly large class method that uses a module >> variable (not by assigning it) somewhere in the middle, writing it >> :var means the reader knows to go look for the assignment way up top. >> This should obviously be optional, to preserve backward compatibility. >> > However, its use in such expressions as > > sublist = lst[:var] > > would lead to substantial ambiguities, right? I suppose it would. Unfortunately, there's no other punctuation mark that can really be used for the purpose -- I think both $ and @ (suggested elsewhere in response to a similar proposal) have too many countervailing connotations. Witness e.g. the suggestion last week that $ become magic in string % dict notation. Py-in-the-sky suggestion: make the slice separator character be ; instead of :. (Half serious.) Somewhat warty suggestion: take lst[:var] to be a slice, but lst[(:var)] to be a global variable reference. And lst[:(:var)] to be a slice on a global, etc. etc. Better ideas solicited. zw
- Previous message: [Python-Dev] Alternate notation for global variable assignments
- Next message: [Python-Dev] Alternate notation for global variable assignments
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list