On 13/06/14 08:21, diliup gabadamudalige wrote:

In my code there are many dictionaries and lists which are used in
various functions. Is it better/pythonic/efficient to have these inside
the function itself or declared at the beginning of the program in which
case they will be global?

If you are sharing a set of data structures between several functions thats often a sign they should be in a class. The data then becomes the class instance attributes and the functions become the methods.

global constants and variable have memory allocated to them but when
declared inside a function are created on the fly, used and discarded.

That's not usually the main issue when deciding for global/local.
Its more about the maintainability of the code and the over
use of side effects which makes the code difficult to read.
If the data is read only then things are not so bad and globals
can be an OK solution.

hth
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.flickr.com/photos/alangauldphotos

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to