On Nov 11, 1:25 am, Steven D'Aprano <ste...@remove.this.cybersource.com.au> wrote: (snip)
> Incorrect. > >>> True == None > False > >>> False == None > False Of course i meant True/False but my fingers were thinking None at the time. And besides if i don't make a mistake here or there what ever would you do with your time? ;-) Seven += 1 > > #variable "var" will never be created! > That will cause no end of trouble. > if range(N) as var: > do_something_with_var() > if var: > print "Oops, this blows up if N <= 0" > Conditional assignments are a terrible idea. Yea it's called a NameError. Would it not also blow up in the current state of syntax usage? if var: print 'var' Traceback (most recent call last): File "<pyshell#45>", line 1, in <module> if var: NameError: name 'var' is not defined Steven -= 1 > Why is the third example, with an if... test, so special that it needs > special syntax to make it a two-liner? ...because Beautiful is better than ugly. > Would you suggest we can write this? > # instead of var = range(N) > p = range(N).index(5) as var # var might be range(N), or undefined. > var.append(42) No if you read my post my usage of this syntax only includes "if" and "elif" constructs and nothing "else" because usage outside of such a "truth-seeking" construct is pointless. print Steven -> 0 Hmm, just as i suspected. -- http://mail.python.org/mailman/listinfo/python-list