What are the best tips for learning Python within one month?


Still Fresh
Jan 13, 2019
Well I wanted to start learning python as it seems interesting, so please share best tips for speeding up the process of learning.

FYI I use mobile mostly so share any resources of apps for the same.
I used the offical tutorial back in the pre 2.0 days, so that's all I can really recommend personally. Perhaps someone whose learned more recently can recommend something else.

I wouldn't know how to help you learn on your mobile especially. I found it pretty much essential to have a python interpreter to hand while reading the tutorial; regardless of the monty python references, it'd be a bit dry if you couldn't try things out as you were reading. Are we talking android or iphone here?
I don't know, if I ever did anything in Python, but a quick search yielded the following, which looks useful to me.
There are several tutorial pages each regarding some aspect, you get code examples, which can be changed and executed within the pages, and excercises doable within the pages, also.
I don't know, where you wanna go, but this looks like a nice starting point to get to know the quirks and features of the language (and learn some basic programming, if that's also an objective).
I used exercism.io to try out a few languages, including Python. What's good about it is they provide the tests and you write the program to solve/pass them (TDD). You do need to do the work learning but it's good for kata style practice.

As others have said you're not likely to get far learning using a mobile. Sure there are apps to help learn some basics but there's no substitute for practical experience.
I have just done a similar thing and worked trough https://www.learnpython.org/ after wanting to do some Python for many years now. And I found it quite good.

Next I would suggest to take on a real project, creating a small program that you can use for a task you always wanted to have solved. That way you will apply the things you just learned from the tutorial and quickly encounter situations that were not covered at all. https://docs.python.org/3/ will be your friend in that case. Of course you'll always find a lot of tipps and suggestions on https://stackoverflow.com/ too. Just don't start to blindly copy code from there that you do not understand! Otherwise it can be a great ressource.

By the way. Everything above is pretty valid for any programming lanuguage you want to learn, but your interest is Python and that's well enough.

Now to the mobile part. Forget it - seriously!
I have even tried to do some Python (as well as other languages) on Android just to see if it is possible. If you really want to do that, I would point you to https://termux.com/ in that case. Install it first and then get your favourite commandline editor (vim, emacs etc) as well as python by using termux's "pkg" packet management. You'll have a full blown Python environment and are ready to go but what next? You're stuck to a tiny screen and need an external keyboard for any serious input.

Sure, it can be done and if you're able to pull of any productive work with a setup like that, I'll be your biggest fan forever. But mobile devices (and operating systems) are made to be pure consumption machines and not for productivity. Get a real computer, even if it is only a Raspberry Pi with an USB keyboard and mouse, connected to your TV. That will enable you to have the python docs and your editor visible next to each other at the same time, imagine that possibility!

Since these are the Pyra boards, Pyra will be much better suited for coding because it has a keyboard with all important characters easily reachable (yay, keyboard thread!). I do plan to install "everything" programming related that I can imagine. Still, I do not think it will be really suitable for anything more than hacking together small scripts, do a quick bugfix or reconfigure your webserver while you are on the go. Not because it couldn't, but because of the small screen. Connect it o external keyboards, screen etc.. and it will blow away above Raspi setup for sure :)
Next I would suggest to take on a real project, creating a small program that you can use for a task you always wanted to have solved.

I'll second that.
Writing scripts to replace instances of "ni" with "ekke-ekke-ekke-ekke-ptang-zooboing" may teach technique, but the motivation that comes from tackling a real problem is indispensable.
My take on "Pythons" is that it's power is not the language per-se (all structures and loops and such you can look up), but all the tools around it make it a language.
Remember that there are 3 versions of Python: 2.6, 2.7 and 3.x and they are all different.

So first the standard library:

For Python 3.x https://docs.python.org/3/library/index.html
For Python 2.7 https://docs.python.org/2/library/index.html
For Python 2.6 .... don't bother... really...

And the libraries that actually make Python fun:
I've come across a half dozen of those libraries when coding my own projects, but I kind of dislike knowing about libraries before doing stuff. It's only if I find stuff that's hard to do myself that I start looking for a library to do it for me. You could argue that I'd be more productive if I knew what was out there I guess, but for me python coding is mainly about practising the language, and getting some useful tool out of it only as a side benefit. Also, reducing dependencies always has its benefits.

Also, TIL that IronPython and IPython aren't the same thing.
Thanks for the suggestion guys, I've installed [removed] and it's pretty perfect for my need. Installed it from this url: [removed]

Though the suggestions made in this thread are worth keeping, the original question and this response closely resemble spam, so I've cut out references to the promoted service. - Binky
Last edited by a moderator:
i've got a handle on the python language itself, but what i need to learn now are algorithms and patterns. what's a recommended book for this? (guess it doesn't need to be python... any language that's practical [like, say, C++] would be fine)
There are certainly famous books on design patterns you could use, but the patterns they expose have always struck me as either being obvious or overly complicated, describing two steps when you don't always need to implement both. For me, I start with something I'm trying to get the computer to do, and come up with algorithms to do what I want in order to achieve that.