On Tuesday, December 6, 2011 2:42:35 PM UTC+8, Rainer Grimm wrote:
> Hello,
> 
> >     try:
> >         songs = [Song(id) for id in song_ids]
> >     except Song.DoesNotExist:
> >         print "unknown song id (%d)" % id
> that's is a bad programming style. So it will be forbidden with python 3. The 
> reason is that list comprehension is a construct from the functional world. 
> It's only syntactic sugar for the functions map and filter. So functions have 
> to be pure functions. To say it in other words, they have to be side-effect 
> free. But the python construct from above pollutes the namespace with name id.
> 
> Greetings from Rottenburg,
> Rainer

The list might have to grow in a careless way that might lead to a crash
in the for inside a list that can't be trapped for errors directly. 

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to