Noughts and crosses command line game in Python 3.5
The functions get_turn, format_player and play_game have no docstrings. What do they do? What do they return?
In check_for_win, the value of format_player(player) does not change and so you could remember it in a local variable to avoid recomputing it on each time around the loop.
check_for_win could be simplified using the built-in function all, like this:

def check_for_win(board, player):
    """Returns True if player has won, otherwise False"""
    player = format_player(player)
    for winning_line in winning_lines:
        if all(board[pos] == player for pos in winning_line):
            return True
    return False


and then that could be futher simplified using the built-in function any, like this:

def check_for_win(board, player):
    """Returns True if player has won, otherwise False"""
    player = format_player(player)
    return any(all(board[pos] == player for pos in winning_line)
               for winning_line in winning_lines)

If the player's input is incorrect, there is no message explaining what the problem was.
Repeatedly switching between player 1 and player 2 can be done using itertools.cycle, like this:

from itertools import cycle
for player in cycle((1, 2)):
    # etc.

I think that printing the winner should be the responsibility of the play_game function, not of the top-level code.
There is no check to see if the game is tied. If the board is full but there is no winner then the game continues to prompt player 2 for a move.