Python has a fairly complete implementation of the Open Scripting Architecure (OSA, also commonly referred to as AppleScript), allowing you to control scriptable applications from your Python program, and with a fairly pythonic interface. This piece of Python:
import Finder f = Finder.Finder() print f.get(f.window(1).name)
is identical to the following piece of AppleScript:
tell application "Finder" get name of window 1 end tell
To send AppleEvents to an application you must first create the Python modules interfacing to the terminology of the application (what Script Editor calls the "Dictionary"). Use the IDE menu command File->Generate OSA Suite... for this. For more control run
pythonw .../Lib/plat-mac/gensuitemodule.py --help
from a terminal window.