Python Class use
Roel Schroeven
rschroev_nospam_ml at fastmail.fm
Tue Feb 7 15:45:23 EST 2006
S Borg schreef:
> Hello,
>
> I am running Python on Mac OS X. The interpreter has been great for
> learning the basics, but I would now like to be able to reuse code.
> How do I write reusable code? I have done it "The Java way": write
> the class, and save it to my home directory, then call it from the
> interpreter, here is an example.
>
> ########my saved file######
> class MyClass:
> def f(self):
> return 'calling f from MyClass'
>
> #######interpreter#########
>>>> x = MyClass()
>>>> (unhelpful error mesages)
>
> I hope I have clearly explained my problem.
I think so.
Python does this different from Java. One difference is that Python
allows you to put more than one class in a module (you also don't have
to put everything in a class; code can live in a module's global
namespace too). Then, to use code from that module, you have to import
it with the import statement.
Putting it all together, you could create a file MyModule.py which
contains the code you mentioned, and then use it like this:
import MyModule
x = MyModule.MyClass()
x.f()
Or you could directly import MyClass into the global namespace like this:
from MyModule import MyClass
x = MyClass()
x.f()
But that's not recommended since it clutters the global namespace and
makes it more difficult to see which name comes from which module.
--
If I have been able to see further, it was only because I stood
on the shoulders of giants. -- Isaac Newton
Roel Schroeven
More information about the Python-list
mailing list