Training, Open Source computer languages

This is page http://www.wellho.net/forum/Programm ... -Ruby/Should-I-use-from-or-import.html

Our email: info@wellho.net • Phone: 01144 1225 708225

 
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Should I use from or import?

Posted by enquirer (enquirer), 11 January 2006
I can load extra code in Python using both from and import.  Why does Python provide two ways of doing what looks like a very similar operation, and which is best to use?

Posted by admin (Graham Ellis), 11 January 2006
from loads all or some of the names from a .py file into the current name space.

import loads the names from a .py into their own name space (being the same as the name of the file from which their loaded).

If you use from, you'll overwrite any names that happen to conflict with you current name space, and you'll grow the number of names in that name space - perhaps to the extent that it becomes unmanagable.  However, if you use from you save having to add a lot of extra namespace. code.

General advise - use from sparingly, and for things that you need to lead in and refer to many, many times.  Use import by default.



Posted by admin (Graham Ellis), 11 January 2006
Just to add - an example ...

Code:
import fred

print fred
print fred.fred
print fred.fred.snibbo

print fred.john()
print fred.fred()


is the equivalent of:

Code:
from fred import *

print fred
print fred.snibbo

print john()
print fred()


You'll note that the second example is much shorter and easier to read BUT that it would give you a name conflict if you already had objects called john or fred in you main name space.




This page is a thread posted to the opentalk forum at www.opentalk.org.uk and archived here for reference. To jump to the archive index please follow this link.

© WELL HOUSE CONSULTANTS LTD., 2024: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho