does it makes sense to connect a Python controller to an actuator?
A Python controller is a controller as all other controllers. It's behavior is custom. So it depends on you what exactly it does. So, yes it supposed to evaluate sensors status and activate/deactivate connected actuators.
In that case, what would it take to trigger the actuator?
You activate an actuator with activate(actuator)
You deactivate an actuator with deactivate(actuator)
Example:
import bge
controller = bge.logic.getCurrentController()
messageActuator = controller.actuators["message"]
controller.activate(messageActuator)
alternative:
import bge
controller = bge.logic.getCurrentController()
controller.activate("message")
Be aware: It is your job to explicitly activate/deactivate actuators. If you do not do that, their status will remain as it is.
And by the way, is it possible to get a Sensor's value (eg. a property) in a Python controller it's connected to, or are sensors just triggers?
They are both. Sensors trigger connected controllers. So you need at least on trigger to run the controller's code.
The controller can check any value of any connected sensor, regardless of the current sensor state.
For more details I suggest to read
Sensor's value (eg. a property)
Sensors have no properties, but the game objects have. So you can get properties from the sensor's owner and of sensed objects.
Sample:
import bge
controller = bge.logic.getCurrentController()
owner = controller.owner
owner["property"] = "a string value"
sensorOwner = controller.sensors[0].owner
sensorOwner["sensorOwnerProperty"] = 3.1214
sensedObject = sensor.hitObject
if sensedObject:
hitObject["sensedObjectProperty"] = 123