If I compare the two languages with cars, C ++ is like an old Porsche with stick change, manual crank and a hard, but uncomfortable suspension. While Python is a completely automatic family car with holder, seat heater and automatic parking. So, the question is what do you enjoy programming (or cars to remain in the metaphor)? If you are a car lover who really prefers to spend hours under your car, disarm things, who knows all screws by name and loves to tune the last PS of the engine and do not care about hours of preparation so that you can finally advance to all. On Autobahn, then C ++ is your choice. If, instead, you don’t care how your car works, as long as you take it where you want to go quickly without having to think about how the engine works, then go with Python.
Result: C ++ is for people who love programming for the good of programming. Python is for people who love programming because it allows them to do anything.
And, of course, you must ideally learn both C ++ and Python. Some people recommend that you try to learn a new programming language every year. But, if you are a beginner and you have to choose your first programming language, my recommendation would still be to start with Python. Some people will not agree, but I think that not having to deal with low -level things such as the allocation of memory, pointers or templates and to be able to concentrate on the algorithms and the higher level control structures will make their first experience more satisfactory. And you don’t give up too early because it seems too complicated. Then, once you have reached a level of experience that requires high performance or code that is executed in particular hardware, you will eventually have to resort to C ++, but by then your general knowledge of programming will help you recognize common patterns.