**Many potential performance concerns are not really a problem in practice.** The issue you raise may be one of them. In the vernacular, we call worrying about those problems without proof that they are actual problems *premature optimization.*

If you are writing a front-end for a web service, your performance is not going to be significantly affected by function calls, because the cost of sending data over a network far exceeds the time it takes to make a method call.

If you are writing a tight loop that refreshes a video screen sixty times a second, then it might matter. But at that point, I claim you have larger problems if you're trying to use Python to do that, a job for which Python is probably not well-suited.

As always, the way you find out is to ***measure.*** Run a performance profiler or some timers over your code. See if it's a real problem in practice.

---

The Single Responsibility Principle is not a law or mandate; it is a guideline or principle. Software design is always about trade-offs; there are no absolutes. It is not uncommon to trade off readability and/or maintainability for speed, so you may have to sacrifice SRP on the altar of performance. But you don't make that tradeoff unless you **know** you have a performance problem.