I think there's one thing that hasn't been mentioned and it's that really, any language can be a good first language* because once you learn how to program in one language, you learn to program period. From there, you can recognize the tools and building blocks from one language (say python) and reuse them elsewhere. Because once you understand what a variable is, how you can assign and retrieve data from it, flow control structures (ifs, loops etc.), declare functions, use external code (like Python's import statement) and so on... then you realize that ALL languages have these tools.
Python makes you write "import" to get an external library.
Node JS (Javascript) makes you use "require"
C# has using
Python makes you declare a function like so:
def greet():
print("Hello world!")
While Javascript does it like so
function greet(){
console.log("Hello world!");
}
Etc...
Now, some languages have more syntax and more things to consider than others and all languages are good to learn. High level languages (very far from the "metal", lots of abstractions to simplify repetitive tasks) like Python and Javascript are good because they do their best to be simple.
"Intermediate" languages like C# and Java make you think a bit more, but do hand you more power.
Low level languages (little to no abstractions) like C++ and C have a lot of "landmines" and complexities (like the need to think about deleting variables you assign, instead of trusting the computer to do it itself), but are an amazing thing to learn because then you understand computers better, understand better the abstractions of higher level languages and can work better with them, or you can do more optimized and powerful programs.
My school education was done mostly on C#, C++ and Java. Now, I work with Python and play around with Javascript (which I both learned by myself). In my free time, I mostly do web applications, though I always keep my C# handy because I work in a games studio and our engine of choice (Unity) uses C#.
But really, all languages are good languages, it's more of a "right tool for the right job" kind of thing. I wouldn't develop a web server in C, but I wouldn't develop an OS in Javascript.
So in the end, go ahead, learn Python. It's simple, popular, well documented and supported and then you can take what you learned in Python and take it to another language of your choice, and after a while, you'll do the same thing I do: groan when you open up a course on Ruby and they start from the very beginning teaching you what a variable is when you already know what a damned variable is.
My BF went through Google Grasshopper after I recommended it to him. He's a nurse and he was curious at learning programming. Grasshopper does a fairly good job at doing what I just preached: learning not the specifics of a language, but the principles of programming in general. It does that through Javascript, but it's in no way a javascript tutorial. It's nice and light, free and split up in small bite-sized lessons to learn the fundamentals, which you could do in parallel to your Python lesson.
Finally, the best advice I can give you to learn is to get your hands dirty. Find something you want to do and try to do it. It's okay to break things, it's okay for it to bug, it's okay for it to be "ugly code". Get to it, code, work and you'll get better at it. That's still how I learn most things.
Have fun!