This is the solution I came up with when I applied to the "Become A Pokémon Master" Project on Codecademy.
https://www.codecademy.com/practice/projects/become-a-pokemon-master
Project was fun, but overwhelming at times... still, I've learned a whole lot of things regarding classes in python. I still need to tidy up bits of code here and there, and also add more functionality like gaining experience from battles, and adding stats to pokemons like Speed, Attack, Defense. Whenever I get some free time and motivation I'm going to further develop this code.
This project is slightly different than others you have encountered thus far on Codecademy. Instead of a step-by-step tutorial, this project contains a series of open-ended requirements which describe the project you’ll be building. There are many possible ways to correctly fulfill all of these requirements, and you should expect to use the internet, Codecademy, and other resources when you encounter a problem that you cannot easily solve.
In this project, you will be using Python Classes to create a game system similar to the popular game series Pokémon. If you’re unfamiliar with Pokémon, it is a game where creatures (Pokémon) battle against each other. Every Pokémon has statistics associated with it like health, level, type, and a name. In this project we’ll make several classes that interact with each other so you can create your own Pokémon battles!