On Tue, Nov 24, 2015 at 9:41 AM, Antoon Pardon <antoon.par...@rece.vub.ac.be> wrote: > Op 24-11-15 om 16:48 schreef Chris Angelico: >> () is not a literal either. > > The byte code sure suggests it is. > > Take the following code: > > import dis > > def f(): > i = 42 > t = () > l = [] > > dis.dis(f) > > That produces the following: > > > 4 0 LOAD_CONST 1 (42) > 3 STORE_FAST 0 (i) > > 5 6 LOAD_CONST 2 (()) > 9 STORE_FAST 1 (t) > > 6 12 BUILD_LIST 0 > 15 STORE_FAST 2 (l) > 18 LOAD_CONST 0 (None) > 21 RETURN_VALUE
I'm not sure what this is meant to prove. None is clearly an identifier, not a literal, and it also gets treated as a constant in the code above. > So on what grounds would you argue that () is not a literal. This enumerates exactly what literals are in Python: https://docs.python.org/3/reference/lexical_analysis.html#literals I think it's a rather pedantic point, though. How are nuances of the grammar at all related to user expectations? -- https://mail.python.org/mailman/listinfo/python-list