Buffer overflows arise when the memory alotted to an array or to a process is exceeded, allowing the source of the overflow to reset parameters of execution. This issue is of much greater concern for languages that do not allow dynamic memory management.
Because Python's memory is dynamically allocated, overflows are exceedingly unlikely -- one would need to exploit a wider vulnerability in Python itself. Such vulnerabilities have been found. Nevertheless, they are not something over which the Python programmer has control -- unless one is also the network or system manager. One can thus speak of overflows as being of little or no concern.
Outside of exploiting vulnerabilities, should an attacker attempt an overflow, the worst that is likely to happen is for the application to run out of RAM and a memory-related error to be thrown by the interpreter. Therefore, while memory handling is not an issue, proper error-handling is an imperative.
