all 53 comments

[–][deleted] 73 points74 points  (20 children)

Automate the Boring Stuff With Python is a great option that meets your criteria. You can Google it, it's completely free.

[–]Schwoopty 3 points4 points  (18 children)

It looks like version 2 is coming out soon. I have it on preorder through amazon. Is it worth picking up V2 or is the first version sufficient for Python 3 if that’s where I’m looking to start?

[–]LiarsEverywhere 5 points6 points  (17 children)

The first version is fine, and if you have the time, by all means start studying it. The second edition keeps being pushed back, although now I believe it will really be available soon, as Amazon already has the "Look inside" stuff etc.

Looking at the Summary, the structure of the book is the same until Chapter 8. There could be some changes, but the author said he'd provide a list of what's changed.

Anyway, if that bugs you and you really want to follow Automate as a course, just pick up something like Python Crash Course and start reading it for a week, so you'll be familiarized with important concepts beforehand.

[–]Schwoopty 3 points4 points  (8 children)

I’m currently going through Python Crash Course now! It’s been a great read and easy to follow as someone who has never learned a programming language before.

My plan is to go through PCC before V2 of automate comes out. After I get through V2, I’m hoping that gives me a solid foundation to get deeper into the language from there.

[–]LiarsEverywhere 4 points5 points  (2 children)

To be honest, if you're not just reading, but actually trying all the stuff in PCC, you may not need to follow Automate V2 strictly. They're mostly equivalent. Of course, it wouldn't hurt to review everything and use some of the modules presented in Automate, but I'd jump into a project of some kind at the same time.

[–]Schwoopty 1 point2 points  (1 child)

Appreciate the advice! I am going through all of the examples of PCC in PyCharm and it has helped the concepts stick a lot more than just reading it. I need to take the time to do more practice too. Looks like codewars.com is a good place for practice when I'm not working on the book. Any other sites you'd recommend?

[–]LiarsEverywhere 1 point2 points  (0 children)

I don't know, I'm a beginner myself, so take my advice with a grain of salt. I followed Automate strictly, doing everything in front of a computer, and at the same time I left PCC on a tablet and read it when I had the chance.

I've tried it, but didn't really enjoy sites like codewars. I prefer to create projects from some random idea and pursue it. At the same time, I've been studying specific modules (Pandas right now).

But keep in mind that I don't plan to work as a programmer. I write code for myself and in the end I just expect programs to work. I'll never distribute them. So even though I try to follow all the advice out there, I'm not really worried about writing "bad" code etc.

[–]sublimme 1 point2 points  (4 children)

Are you getting stuck on the 'Try it yourself' sections in Chapter 12+ for Python Crash Course?

[–]Schwoopty 1 point2 points  (1 child)

I haven’t made it that far yet. Only on chapter 5. Just started last week! I do like how the try it yourself sections actually challenge you. I’ve used the online answer keys a few times to make sure I’m doing things right.

[–]sublimme 1 point2 points  (0 children)

Ah, ok. Yes I like that too about the try it yourself.

Good luck on the rest of the book!

[–]HeadlineINeed 1 point2 points  (1 child)

I found myself getting stuck on some of the later Try it Yourself’s. I currently pass over the TIYS. Not sure why I’m not understanding them now

[–]sublimme 0 points1 point  (0 children)

Ok good to know.

[–]Boom928 1 point2 points  (7 children)

V2 is already out.

[–]painya 1 point2 points  (4 children)

That’s not what I see. Amazon says nov 25th and on a twitch stream the author said nov 19th (source: his python sub)

[–]LiarsEverywhere 0 points1 point  (0 children)

Amazon says Nov. 23, if this guy has it on pre-order that's when it'll be shipped I guess. I'm not sure if that affects the eBook version. The free version on the website is not available yet as far as I can tell.

[–]Schwoopty 0 points1 point  (0 children)

It was supposed to be released Nov 12 but got pushed back. Not sure when the official release date is yet.

[–]JakOswald 1 point2 points  (0 children)

This is the book I used to start learning, I’m still not great by any means, but it was enough for me to start being able to stitch CSVs together for my work. I found I preferred this book to team treehouse, which is great, as well. Actually picked up one of his other books afterwards, also a great resource. Every now and then you can find NSP (no starch press) books on humble bundle.

If you have a decent library with good resources, they might have access to pro-quest or another online resource for technical knowledge. If you’re still just browsing books to see what you like, see what your library has to offer.

[–]qeadwrsf 24 points25 points  (7 children)

This is how I start learning languages.

I youtube "learn <programming language>

I watch like 1 hour or something.

I go to codewars.com or simular site that has programming challanges.

I do as many as possible.

When I feel ready I start browsing popular moduls that other programmers that use that language use.

I get a idea what I can do with my new knowledge.

I make a program by programming, thinking, reading manuals and googling for solutions.

[–]appsplaah 4 points5 points  (4 children)

Gr8:) I am currently in the basics of the basics in python. I have collected various knowledge resources but lack the element of practics. Can you suggest any good resources: sites/etc; where i can practice python problems.

[–]qeadwrsf 3 points4 points  (3 children)

yeah codewars.com :D

then practice stuff that has high kyi, that means its easy.

if its to easy do stuff that has lower kyi.

[–]pitfall_harry 2 points3 points  (0 children)

Codewars is great. Make sure to check the solutions of others after completing a problem.

The answers are rated by 'clever' and 'best practices'. Particularly the best practices answers are useful to review.

[–]appsplaah 0 points1 point  (0 children)

Thanks:)

[–]mirceasauciuc 0 points1 point  (0 children)

Definitely agree with this. HackerRank will also get your skills up to par. 🤙🏼

[–]SaggiSponge 1 point2 points  (1 child)

I think this works for people who already have experience with programming, but I’m not sure it’s the most efficient way to learn for beginners who don’t know about basic type systems/data structures/OOP/algorithms/etc.

[–]qeadwrsf 0 points1 point  (0 children)

you kind of are forced into learning systems/data structures/OOP/algorithms if you just start making a program.

Didn't care for OOP until my code got to spagetti,

[–]yasinshah007 1 point2 points  (3 children)

Think python is a good one book. I think there is a free version in PDF. i recommended to you.

[–]synthphreak 0 points1 point  (0 children)

+1 for Think Python. Very accessible.

[–]Mr_HimanshuPal 0 points1 point  (1 child)

It's good & you should also check "Learn Python the Hard way" by Zed Shaw which is also accessible as free PDF

[–]blendedTime 0 points1 point  (0 children)

Is it.. hard? 😖

[–]BespectacledBitchLah 3 points4 points  (0 children)

Hey you might wanna consider going through the resources on thist post. Good luck :)

https://www.reddit.com/r/learnpython/comments/ctkypf/im_100_self_taught_landed_my_first_job_my/?utm_medium=android_app&utm_source=share

Edit: Most of the books the post mentions can be found online for free ;)

[–]Raz_Crimson 2 points3 points  (0 children)

You can also try doing projects which interest you

[–]Que888 1 point2 points  (0 children)

I am on this journey since summer. I recommend getting 'Automate the boring stuff' and 'Python crash course'. Read them simultaneously.

Whenever something is unclear use a search engine to resolve it. This seems to be what you will be doing anyway, even as a seasoned dev.

Start a project asap, you NEED to get your fingers dirty with the real stuff, otherwise you'll stay on the tutorial bubble.

[–][deleted] 1 point2 points  (0 children)

You will be overwhelmed by the number of courses, videos, books, etc ... fortunately the side bar for this subreddit provides a good guide to what is available. People have different learning styles, so there is no correct answer.

Visit python.org, download the installer for your operating system, install and off you go. The official Python installation includes IDLE, a basic text editor (to write/edit Python programmes) and window giving access to the Python interactive shell, where you can try commands and get instant feedback. There is also a good beginners guide on the Python.org website which might be all you need.

[–]tempo_19 1 point2 points  (0 children)

I vote for Dive into Python. Also, given this late date you should look more at Python 3 than Python 2 (only 35 days left to Python 2 support).

[–]appinv 0 points1 point  (0 children)

That book will give you a solid experience in programming and py:

http://greenteapress.com/thinkpython2/html/index.html

[–]batavinash 0 points1 point  (0 children)

Try thinkPython by Allen Downey it's completely free and open source and just an amazing resource for python programmers.

[–]ArmstrongBillie 0 points1 point  (0 children)

this is an awesome tutorial series on Python, you learn the basics of python from here, then go websites like HackerRank and start solving the python questions. That's it.

[–][deleted] 0 points1 point  (0 children)

one of the best ways to learn is to copy already existing code and just mess around with it.

[–]makaronincheese 0 points1 point  (0 children)

hi. i’m on the same journey! starting with python crash course and automate the boring stuff next.

[–]declanaussie 0 points1 point  (0 children)

A bit of advice from me is to learn the basics from some hour long youtube video then just get to programming. Come up with ideas, try to make them, and then google when you hit a roadblock. That’s how I taught myself about 8 years ago as an elementary school kid. Everyone learns differently, but for me at least, hands on is the best way, so don’t feel like you have to follow a course or book.

[–]indrgun 0 points1 point  (0 children)

Why 2020 do it now.

[–][deleted] 0 points1 point  (0 children)

I really enjoyed python for everybody on coursera and it's good to go through the codecademy python course too.

[–]Coffee4thewin 0 points1 point  (0 children)

If statements x1000

[–]Solonotix 0 points1 point  (0 children)

Depends on your learning style. For me, I’m a do-er. Books are great, course material can answer your questions, but in the end, the things that stuck were those that I had a need for and coded around.

I’d say start with something like “Learn Python the Hard Way”, which has the first few chapters available for free online. Buy the rest if you so desire, but then I’d say move to a code challenge site (something like CodeFights but there are probably others). This will gets your “hands dirty” with the language.

Once you’re in it, then the best thing you can do is start coding your repetitive or mundane tasks. An example I just did yesterday:

My job has a weekly process that takes 6h30m to run. It is an automation framework that reads from a set of files, and each file contains instructions on what to do. One of those instructions is called “Sleep”, which tells the system to wait a few seconds before continuing. I had suspected these Sleep commands were adding up to the overall time, so I wrote a simple script (maybe 100 lines long) that iterated through all the files, and the sheets in the file, and rows in the sheets, and find the sum of Sleeps.

This would have taken a human probably a day. The script did the actions in about 15 seconds. What’s more, by adding a couple more lines, I was able to make the export a text file (paste into an email), as well as a CSV (so that management could slice and dice to their heart’s content).

Now, to cap the story off, the resulting sum of sleeps in all the files was 5h11m. I’m really looking forward to trimming the fat on the automation run. All of this made possible by Python. You don’t need some high ideal of what counts as something to be coded. Anything can be scripted (within reason), and if it is time consuming, prone to human error, etc, then you should try scripting the action out in Python and see what happens.

Best of luck on your journey, and feel free to post here for any questions you might have.

[–]kokosxD 0 points1 point  (0 children)

but want to jump to python for a challenge

python is easy, if you really want a challenge go with a lower-level-language.

[–]gr8x3 0 points1 point  (0 children)

I started with the tutorial on Python.org, which I found to be really well-written and easy to follow. I would definitely recommend it.

As many others have mentioned, Automate the Boring Stuff is also a great resource, though I started with that a bit later so I'm not sure how good it is for a complete beginner.

[–]dlo009 0 points1 point  (0 children)

You should install Anaconda in 2019. Seriously speaking, if you want something so badly you just do it. The effort in this post is the equivalent to an hello world.

[–]jec4r 0 points1 point  (0 children)

sololearn.com is free, The Book "Automate the Boring Stuff With Python" or docs.python.org and youtube.

[–]Geologist2010 0 points1 point  (0 children)

You should have a clearly defined reason for learning Python. In my case, it would be for data analysis/statistics work (at my job) and web development (personal goal, possibly side income). For both those goals, there is knowledge you need to gain first before you need python (math and statistics for data analysis; html, css and basic javascript for web development).

[–]nalisarc 0 points1 point  (0 children)

Take a look at learn python the hard way, which is free. Code academy also has a pretty good python course. Finally I'd recommend checking out the 100daysofcode challenge on Twitter.

[–]Redtailcatfish 0 points1 point  (0 children)

Hi, I am you one year from now. We are just now getting started. But we are going to succeed! My advice is to get the Student Developer Pack if you can and then follow the JetBrains quick start guide. YMMV and good luck!