[Tutor] #NameError: global name is not defined
Jacob S.
keridee at jayco.net
Thu May 12 23:27:47 CEST 2005
> Hi,
>
> I'm having difficulty understanding why the following code doesn't work:
>
>
> getfr.py
> #import pymetar
> #
> #class wReport:
> # def __init__(self,metarcode="CYYC"): #weather for calgary INTL
> # self.METARCODE=metarcode
> # rf=pymetar.ReportFetcher(self.METARCODE)
> # rep=rf.FetchReport()
> # pr=rp.ParseReport(rep)
> # def getRep()
> # return pr.getFullReport
>
> #>>> import getfr
>
> #>>> w = getfr.wReport()
>
> #Traceback (most recent call last):
>
> # File "<stdin>", line 1, in ?
>
> # File "getfr.py", line 8, in __init__
>
> # pr=rp.ParseReport(rep)
>
> #NameError: global name 'rp' is not defined
I would also suggest, along side Kent's suggestion, that you rewrite two
things.
1) pr = rp.ParseReport(rep)
as self.pr = rp.ParseReport(rep)
2) def getRep():
as def getRep(self):
to make it a method of the class
Obviously, this will not fix your problem, but it makes it neater and less
error prone in the future.
To fix your problem, I refered to Kent...
I'm done,
Jacob
More information about the Tutor
mailing list