Hi,
there are at least three possible ways to communicate with a S7-1200.
1) Using a raw TCP connection
On plc side this is called open communication.
You have to configure a connection (active or passive), and to program the communication functions TSEND/TRECV.
On python side you can use the usual python sockects.
Seems easy, but you remind that TCP is a stream and you have to consider the different endianess in a Siemens plc.
2) Using native S7 protocol with additional communication library
On plc side you have to do nothing.
On python side you need an additional communication library which implements the S7 protocol.
For python this could be this:
https://pypi.python.org/pypi/python-snap7/
You get only access to not-optimized datablocks in your S7-1200.
3) Using Modbus TCP
On plc side you have to program the modbus function blocks.
On python side you'll need a modbus TCP library.