python_class_turtle_example.py

#/usr/bin/python3
# ====================================================================
# from: Everything you need to know about Classes in Python!
#       (Object Oriented Programming Tutorial)
#        www.youtube.com/watch?v=tmY6FEF8f1o
# ====================================================================

import turtle

class Polygon:

    def __init__(self,sides,name,size=100,color='red',pensize=4):
        self.sides = sides
        self.name = name
        self.size = size
        self.color = color
        self.pensize = pensize
        self.interior_angle = (self.sides-2)*180
        self.angle = self.interior_angle/self.sides

    def draw(self):
        turtle.color(self.color)
        turtle.pensize(self.pensize)
        for i in range(self.sides):
            turtle.forward(self.size)
            turtle.right(180-self.angle)
        turtle.done()

# ---- Square class inherits draw from Polygon class
class Square(Polygon):
    def __init__(self,size=300,color='blue',pensize=3):
        super().__init__(4,'Square',size,color,pensize)

# --------------------------------------------------------------------
# ---- main
# --------------------------------------------------------------------

triangle = Polygon(3,'Triangle')
square   = Polygon(4,'Square')
pentagon = Polygon(5,'Pentagon')
hexagon  = Polygon(6,'Hexagon',color='green',pensize=5)

#print(square.sides)
#print(square.name)
#print(pentagon.sides)
#print(hexagon.name)

#hexagon.draw()

sqr = Square()
print(sqr.sides)
print(sqr.angle)
sqr.draw()