It totally depends on how you learn. Some people like to learn from books, some from YouTube videos, and others by doing.
Personally I had to learn by doing. There was no other way to get my brain to remember the names of all the built-in functions unless it was by necessity. Why is it 'string'.split('r') but 'r'.join(['st','ing'])? etc. It also took me about 6-8 years to learn programming, so i wouldn't say I was a fast learner by any means...
However, I do know a few fast learners - my Physicist friends from the near-by Uni tell me they started learning C++ during their PhD, and by the end they are all submitting really high-quality code thats is currently being used in the ATLAS project. Totally blown away by how fast they learned, I studied them for about a year and found that they have two big secrets:
1) They learned intensively. The first year is spent almost solely learning to program in all sorts of languages (ROOT, Mathematica, C++, Python) in daily workshops. Totally immersed in it, and when they are not learning, they are studying code from other people back in their office.
2) They know nothing about "program development" in the wider sense. They just know the stuff thats specific to their physics problems. I had to explain to one graduate (who recently landed a 100k job in Switzerland) what floating point arithmetic is and how it can lead to inaccuracies. His explanation - it had never come up (until now). Being highly specialized can save you a lot of time, because most python books will have a section on Twisted/django, or something server-client. There's also a big temptation for yourself (if you like learning) to wander into areas totally unrelated to Bioinformatics but still Python. Stay lean and focused, at least while you feel behind at work.
I wish I could give you more concrete advice like, define 100 functions, 100 loops, and 100 iterators a day, every day - but sadly all I have this wishy washy "work hard and stay focused" stuff. But hopefully it helps somewhat.
Python is very easy to learn if you already have experience with another programming language. Maybe your problem is learning how to program. In that case you should join a programming course at your university.
Spot on. If you are not familiar with programming, blogs, tutorials or cookbooks are not a good start point. Apart from taking lessons, another way is to buy a good book that systematically teaches you the basic principles of programming along with python. I don't know what would be a good book, though, as my first programming language is not python.
Have a look at "Learn Python The Hard Way". Really useful and good introduction to Python programming.
I always think it is funny how people - in this case your supervisor - think that this is supposed to work. You have no programming experience and yet he is talking about machine learning, language processing and data mining? I mean, it just surprises me. On each of these topics you could read multiple books, get deep into mathematics and research on your own, yet it is expected that you learn about it on the side - while learning programming and working on your phd which involves a lot of other stuff than programming first. Sounds funny. I hope for you that he means 'using existing packages' rather than really get into these topics - and still: I feel like people think of this as too easy. Use a couple of packages and than you are good. But are you, if you don't understand the background of it all?
And this is not to blame you my friend - you can not get into everything.