Using Python, How would I get my player to rotate 180 degrees left or right,
It sounds like you want a specific (end-) pose rather than a turn. Therefore I suggest to split the operations: Set target pose (turned east or whatever) -> animate towards the target pose until it is reached (the object faces east ). Subsequent turn requests will set the same target pose without visible effect.

In your case you do not want to animate so you can skip the "animation" state:

import bge
import mathutils
from math import radians

keyboard = bge.logic.keyboard
if  bge.logic.KX_INPUT_JUST_ACTIVATED == keyboard.events[bge.events.LEFTARROWKEY]:
    controller = bge.logic.getCurrentController()
    player  = controller.owner
    keyboard = bge.logic.keyboard

    FACE_EAST = mathutils.Matrix.Rotation(radians(90.0), 3, 'Z')
    player.worldOrientation = FACE_EAST