[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Not Defined error in basic code

On Thu, Mar 14, 2019 at 8:07 AM Jack Dangler <tdldev at gmail.com> wrote:

> <file: class_weapon.py>
> class weapon:
>      weaponId
>      manufacturerName
>      def printWeaponInfo(self):
>          infoString = "ID: %d Mfg: %s Model: %s" % (self.weaponId,
> self.manufacturerName)
>          return infoString
> <file: weaponTrack.py>
> import class_weapon
> MyWeapon=weapon()
> MyWeapon.weaponId = 100
> MyWeapon.manufacturerName = "Glock"
> print(MyWeapon.printWeaponInfo)
> executing 'python3 weaponTrack.py' results in this bailing on the first
> element in the class with "not defined".

Try running your module file by itself, that will give you a clue:

$ python3 class_weapon.py
Traceback (most recent call last):
  File "class_weapon.py", line 1, in <module>
    class weapon:
  File "class_weapon.py", line 2, in weapon
NameError: name 'weaponId' is not defined

You have another error in the file which will be revealed when you get it
to compile.

Also, your printWeapon method could renamed to __repr__ or __str__ (see

Also most Python programmers would spell MyWeapon as my_weapon (see