A Trivial Question
Chris Rebert
clp2 at rebertia.com
Wed Sep 28 18:06:14 EDT 2011
On Wed, Sep 28, 2011 at 2:53 PM, Tayfun Kayhan
<tayfun92_kayhan at yahoo.com> wrote:
> I accidentally wrote such a code (below) while trying to write sth else for
> my application but i am now just wondering much how to run the class Foo, if
> it is possible. Is not it weird that Python does not give any error when I
> run it ? Sorry for that it's pretty unimportant question according to the
> other questions being asked here :D
> def trial():
> class Foo(object):
> def __init__(self):
> print("Hello, world!")
> trial() # not worked, as expected.
Right now, you've merely defined a class in the local scope of a
function, which is perfectly valid, although you don't take advantage
of this, so there's no particular reason to put the class definition
inside trial(). Foo.__init__() only gets called when you create an
instance of Foo, which you aren't doing currently, hence why "Hello,
world!" isn't printed.
Try this:
def trial():
class Foo(object):
def __init__(self):
print("Hello, world!")
Foo()
trial()
Or this:
class Foo(object):
def __init__(self):
print("Hello, world!")
def trial():
Foo()
trial()
Cheers,
Chris
--
http://rebertia.com
More information about the Python-list
mailing list