Learning Python

shndaniel

Junior Member
Joined
Feb 28, 2015
Messages
154
Reaction score
26
Hi, I'm learning Python. I'm currently reading: "Automate boring stuff with Python" from Al Sweigart. I'm a complete beginner. What book or course do you recommend me next? I don't care if it's free or not. I wan't to learn Python to build my own bots.
 
I began learning python not that long ago myself, and can say it has been immensely beneficial to nearly ever aspect of my life. I approached with the desire to scrape websites for content (that has changed a lot not), but was also looking to simply build a better understanding of programmatic approaches to problem solving. Check out the website edx.org, it's an online course kind of site, but they have a lot of great free courses. Probably the most-engaging online course I've ever seen is the Harvard CS50 course available on that site. (it's also on Youtube, but it's much more organized on the edx.org site.) It's an intro to CS course, so it's not all Python. There are a lot of other purely-python courses on there as well though.

My best advice to you however, is to approach your learning from the perspective of trying to solve a problem. You want to build bots? Define that with more clarity. Boil it down to something like; "I want to create a bot that automatically creates a meme, overlays a quote from a text file, then posts to my Twitter and Facebook pages." Having a clearly-defined problem will help guide you through periods of deep frustration. By taking as task-oriented approach, you will effectively be powering through the difficult stages in which you learn basic programming concepts.

When I started out, I had been running a few autoblog-type sites through the use of a series of plugins. I could get what I wanted, but it was a balancing act that broke every time something got updated. So, I decided learning web-scraping with python would be a great idea. Well, it was weeks before I could even figure out how to get python to work well on a Windows machine (encoding issues with the terminal) and could have likely given up if I thought I was just 'learning python.' However, I knew I was learning python to help me do something specific, and was able to ask very specific questions on sites like Stack Exchange, and see videos on YouTube showing people doing exactly what I was trying to do.

Some less qualitative advice:

Don't use Visual Studio, Use PyCharm Community (If you're on a Windows Machine)
Use Anaconda as your default Python install starting out
Get on Stackoverflow, and don't be afraid to ask a question.
Check out publications from O'Reilly, and before you buy anything google "whatever O'reilly book you want" + free ebook or pdf. I've found most to be posted for free.

I will say that many books and tutorials give you great advice on how to do tasks that those authors felt to be most relevant to the masses. If you are on this site, chances are you aren't among the majority of any segment. Use anything you can get your hands on to learn, but consciously allow your imagination to run with things. Learning how to break out of a loop in Python once you've reached a certain value is a great fundamental piece of logic. If you are thinking of how that would help make searching for certain hastags on Twitter more efficient, rather than how much Python knowledge you're learning—you'll see much more benefit. That's a good example of the contrast between a task-oriented approach and a general approach to learning python.
 
If you are on this site, chances are you aren't among the majority of any segment. Use anything you can get your hands on to learn, but consciously allow your imagination to run with things. Learning how to break out of a loop in Python once you've reached a certain value is a great fundamental piece of logic. If you are thinking of how that would help make searching for certain hastags on Twitter more efficient, rather than how much Python knowledge you're learning—you'll see much more benefit. That's a good example of the contrast between a task-oriented approach and a general approach to learning python.

I'm planning to work in two black hat projects. That's why I thought that it would be a good idea to ask here since there are a lot of people working on similar stuff or have similar services to what I wan't to build. Thanks for the long and detailed answer. It was of great help.
 
this answer is not relevant to post, but i just wanted to tell that im learning Shell Scripting.
 
Just get your hands dirty... There is nothing like learning by doing. Start with some small project or problem that you want to solve and the use Google to achieve that. Of course, it would help to finish a short tutorial in the beginning but the best approach to learn programming is learning by programming.
 
search best books for python blackhatworld on google.
You will see a lot of helpful advices and resources
 
Projects in Python: Get started with Python game development ($15) 40% off

Learn the basics of Python game development while you create your very own Space Invaders clone using Python 3.

Instructed by Tony Staunton

Updated 2/2017
 
Last edited by a moderator:
I would recommend learning by doing. If you know the basics, decide on a simple project and try to code it. If you don't kno how to do something, look it up. Forums like stackoverflow are great, you will find almost any answer if you google it.
If you know the basics, I don't think only reading books will get you very far.
 
Wow, this thread is really for me. Thanks op and all the contributors. I have been learning Python for about a month now and I am still stock on learning the syntax and all. It's just been from one tutorial to another and I always feel like I don't know enough yet.

I think I'd choose a project and give it my best shot. I'd update you guys on how that works out Insha Allah.
Thanks again
 
Wow, this thread is really for me. Thanks op and all the contributors. I have been learning Python for about a month now and I am still stock on learning the syntax and all. It's just been from one tutorial to another and I always feel like I don't know enough yet.

I think I'd choose a project and give it my best shot. I'd update you guys on how that works out Insha Allah.
Thanks again

I know that. What you're lacking is a nice book, get one about python and you'll get a much deeper understanding of not only the syntax, but other essential concepts as well.
 
To be truw, stick with automate stuff with phython. It has all the knowledge to automate most stuff. It sticks to the topic really helpful.
 
Back
Top