Q:

Why does tkinter give me an "invalid command name .37395760" error?

I'm getting a strange error when I try to run my program. It's supposed to draw a red Circle on a TK() window.
Here's my code:
from tkinter import *

class Circle:
    def __init__(self, radius, points = 0, xcoordinate = 0, ycoordinate = 0):    
        self.radius = radius
        self.points = points
        self.color = "red"
        self.xcoordinate = xcoordinate
        self.ycoordinate = ycoordinate

class World:
    def __init__(self):
        self.constructor = Tk()
        self.constructor.title("Circle")
        self.canvas = Canvas(self.constructor, width = 200, height = 200,     borderwidth = 0, highlightthickness = 0, bg = "black")
        self.canvas.grid()
        self.constructor.mainloop()

    def drawPlayer(self):
        player = Circle(50)
        self.canvas.create_oval(player.xcoordinate - player.radius, player.ycoordinate - player.radius, player.xcoordinate + player.radius, player.ycoordinate + player.radius, fill = player.color)

c = World()
c.drawPlayer()

I'm getting this error: 
File "C:\Python34\Lib\tkinter\__init__.py", line 2318, in _create
    *(args + self._options(cnf, kw))))
_tkinter.TclError: invalid command name ".37395760"

I've reread and even wrote down my code to see where I was going wrong, but I just can't find an error. 
NOTE: This error happens after I run it and a window appears with a black canvas but no circle.
Thank you!

A:

Once mainloop exits (self.constructor.mainloop(), the widgets no longer exists. When you do self.canvas.create_oval(...) (which triggered byc.drawPlayer()) , you're trying to access a deleted widget. 
Tkinter simply isn't designed to allow you to access widgets after the main window has been destroyed.
Call mainloop() after finish drawing your elements.

