Generating Private Keys
You should definitely stick with Python or my fav, SageMath (which is Python based) when playing with elliptic curve crypto. 

The private key is generally just a large scalar value, which when multiplied with the curves base point (in other words when we repeatedly double the base point) the resultant point is the public key. 

There are subtleties that aren’t captured here, that vary across curves and production implementations. 

I’d start in SageMath it’s an easy place to begin. Check out this link for a starter.