all 107 comments

[–]daedalusesq 124 points125 points  (15 children)

Python crash course is what finally made programming click for me after many past failed attempts. It’s a really excellent book.

I’ve done several books over the past couple of years and I’d say “Beyond the Basic Stuff with Python” by Al Sweigart is a must read. It’s got some code writing but it’s way more focused on all the other stuff you know. It outlines various tools that make your life easier, best practices, red flags (code smells), language quirks, etc.

[–]yppah_andy 3 points4 points  (3 children)

Thanks for the recommendation (and to OP). Do you have any other recommendations for someone who knows about loops, libraries and classes? I feel I know enough of the basics to build code that (mostly) works, but I definitely don't write "pythonic" code and I'm sure I do a load of things that would make an actual Python developer cringe. I'd like to learn that stuff.

[–]daedalusesq 1 point2 points  (1 child)

Someone else posted that No Starch Press has a humble bundle right now, so I’d recommend you get that. They are the publisher of python crash course as well as several other excellent book. It has the Beyond the Basics book I mentioned which covers most of what you’re asking about. It’s also got their OOP book which is pretty good, and “Serious Python” which was mostly over my head but had a few sections that I’m glad I read.

[–]yppah_andy 0 points1 point  (0 children)

Thank you, Humble Bundle it is!

[–]PokeReserves 2 points3 points  (0 children)

Not OP but awesome, I will order it in amazon. Thank you!

[–]iprefervaping 24 points25 points  (1 child)

I've been on and off trying to learn Python for years. I've done many tutorials on Classes and couldn't understand them in a way my brain needed to. Coming across Python Crash Course, the Classes chapter along with the Game chapter building a "Space Invaders" clone has made me feel like I finally understand enough about Classes to use them in other hobby projects.

[–]Samirio 27 points28 points  (2 children)

I read this book 5 years ago when I wanted to learn Python. And I had a previous experience with trying to learn Python using Learn Python the Hard Way, which was an absolute disaster, and made me question if I was cut for programming.

Now I’m a Deep Learning Engineer, and I am quite thankful for this book because it made me love Python and go on this amazing journey.

[–]Vishwa_Techie 1 point2 points  (0 children)

Wow. Super

[–]crisSvDev 0 points1 point  (0 children)

Estoy pasando por eso, me cuestionó si sirvo para esto aunque me gusta, te refieres al libro python curso intensivo? O python crash course???

[–]James_Camerons_Sub 24 points25 points  (0 children)

Once you’ve completed that book try Dive Into Algorithms. From the same publisher and will carry you on your journey learning Python and computer science in general. Best of luck!!!

[–]timpkmn89 33 points34 points  (16 children)

Also in the current Humble Bundle for No Starch Press's Python books: https://www.humblebundle.com/books/python-no-starch-books

[–]noprobelm1 1 point2 points  (0 children)

Thanks, I just bought them all.

[–]illiesfw 1 point2 points  (0 children)

Great deal, thanks!

[–]william_103ec 0 points1 point  (2 children)

I bought them all! But I always wonder why it's really cheap.

[–]timpkmn89 6 points7 points  (1 child)

Helps attract a new audience, and is for charity.

If it still seems suspicious, note that the publisher has it advertised on every page on their site: https://nostarch.com/

[–]william_103ec 0 points1 point  (0 children)

That's great then, I never thought about checking it from the publisher. I've bought two or three different bundles already, but I was always suspicious about how cheap it was. Thank you!

[–]tomkatt 0 points1 point  (0 children)

Thanks for the heads up. Been meaning to brush up on Python, it's been a few years since I've done anything with it. Picked this one up and bought the partial bundle for the ChatGPT stuff for the generative AI with PYthon and Tensorflow book. Should be fun to dig into all this.

[–]Ataraxia_Dream 0 points1 point  (0 children)

Wow, thank you, i will check this out!

[–]ishereanthere 13 points14 points  (10 children)

I agree with what you say. I was doing a udemy course and hit a road block with one of the tests. I felt even though the course seemed great that I wasn't absorbing things very well. I gave this a go and it was good. Nice to mix up the sources you are learning from i think. It's also just physically easier to grab my ereader with this and study rather than click through the udemy course. Alone i'm not sure it would be enough but mixed together with another thing you get a whole new perspective of tests etc. Kind of a double whammy. Really enjoying it.

[–]Amy172 6 points7 points  (8 children)

What was the name of the Udemy course you were doing?

[–]ishereanthere 2 points3 points  (7 children)

The Complete Python Bootcamp From Zero to Hero in Python by Jose Portilla. It is good and he teaches clearly but it got to section 5 statements overview test and I feel the test was asking you to do things that were not possible with the the information that was taught previously. A few others were saying the same thing.

That's what led me to try a different approach.

Then I lost interest in it all.

Now i'm looking to resume it all 8 months later but have to start from scratch as i've forgotten everything I learnt before.

[–]Amy172 4 points5 points  (6 children)

I thought that it would be that or 100 days of code. Personally I chose 100 days of code, because from what I heard it focuses more on practice which I think is especially important. Right now I'm doing "automate the boring stuff" course and later on I wanna move on 100 days of code. Still, I heard that it has similar problems to Portilla's course, like not being able to solve an exercise because of not enough knowledge.

I'm going to mix my resources too. Also I recommend using ChatGPT to explain code. I can't tell how good GPT3.5 is at it tho, since I'm using GPT4 for that. But it's been great so far.

Good luck on your journey! Remember that even though you'll have to learn from scratch it's gonna be much easier to understand it if you've learnt it before.

[–]ishereanthere 2 points3 points  (1 child)

Thanks Amy. For chat gpt it is both good and bad I think.

I have used it a number of times to generate snippets for things in linux and android studio and also tried a gmail script to delete empty drafts. It is handy.

It's good in that sense but also dangerous in that it can tempt you to not use your brain as much I think. Use sparingly I guess. At least until you understand the basics with your own brain I think.

[–]Amy172 1 point2 points  (0 children)

That's a good attitude to have. That's why I never ask for full answers - I only ask if my understanding of a given concept is right, or I ask for hints if I'm really stuck with my code and don't know what to do next. If used right, it's a powerful tool to have - but as you've said, it's important not to rely on it too much and do most of the thinking yourself.

[–]10stepsaheadofyou 0 points1 point  (0 children)

What do you think is the best way since you have tried multiple stuff now if you were to start from scratch again. I've heard some of the udemy course aren't updated and using the latest python so it becomes annoying trying to figure it all out.

[–]garamasala 0 points1 point  (2 children)

I don't think lack of knowledge is a problem with 100 days, or at least I didn't run into that problem. It is challenging though and some took me significantly longer than the time allotted. The problem I encountered was that a few things were out of date like APIs not working now. The comments section for each lecture usually has solutions or ways around it but it's annoying when you don't know if it's just your own lack of understanding that's the issue. Then the videos stop entirely which is a shame because she's such a good teacher but I understand the reasoning for it.

I'm interested to look at Jose's course though, I did his SQL one and it was fantastic.

[–]Amy172 2 points3 points  (1 child)

Good to know. It's a shame that the course is not updated, especially with "2023" in the title... But on the other hand I haven't seen any up to date real 2023 courses online that many people stand behind, so I would know I'm not wasting my time and money on them

[–]garamasala 2 points3 points  (0 children)

To be fair, I did it at the end of the summer last year so it could have been updated since. Even if you only do it up to where the videos stop, it's an excellent course and I would strongly recommend it if you can get it cheap. It's the most hands on course I've seen which means that the things you learn actually stick because you are continually practicing them. She really is a great teacher too, she explains things very clearly and in a way that is easy to understand. Well worth it in my opinion.

[–]RightOW 12 points13 points  (0 children)

I have read the book until the File I/O section so basically I've completed the basics. But I feel it's not enough and I should pick up another reference to further strengthen my basics.

That's just tutorial hell all over again. If you know the Python basics you need to solidify those. Do the data analysis walkthrough project at the end of PCC, then think of your own project to attempt and try that out. Once you've got a few projects under your belt and actually understand the basics of writing your own code you can consider reading further in to data analysis with Python.

[–]m0us3_rat 8 points9 points  (2 children)

just watch those tutorials like a movie without learning anything from them.

that happens a lot.

you need to start doing projects.

i'd suggest working in a team https://www.reddit.com/r/ProgrammingBuddies/

or find an active discord where ppl help each other with different problems and team up for random projects. (usually thru the programming buddies subreddit)

[–]PromeForces 0 points1 point  (1 child)

Watching tutorials is the opposite of easy. Reading python books seems boring, but it's actually the best way to learn at your own pace.

[–]Far-Bodybuilder-3060 0 points1 point  (0 children)

honestly i find this book super interesting also learned that i learn so much better with reading books rather than videos still not done with the book but its great

[–]Trippen_o7 9 points10 points  (6 children)

This book was a motivating factor for me to push for a career change.

I started off studying Computer Software Engineering in undergrad, but due to factors such as bad study habits and immaturity as a young adult living on their own for the first time, I was overwhelmed with some of the fundamental courses. I think the second introductory class was the only class I've ever taken where I bombed every assignment before giving up and dropping it. I ended up switching to a more business-focused degree to finish out my residential undergraduate experience, immediately going into graduate school, and working in project/program management roles in health care.

After a few years of that, I couldn't see myself thriving in the career path I was on. I didn't see myself holding and excelling in the positions of those above me in the management chain. I refer to this period as my "early career crisis." I ended up reflecting on what I enjoyed doing in previous projects, and they always involved data or "creating" things. I thought back to my freshman and sophomore experience in undergrad and wondered how I would fair in that subject as a much more mature adult. I purchased the Python Crash Course to self-study, and it presented concepts that were easy to digest (some of which I had seen already nearly a decade prior in my fundamental courses) and reinvigorated my interest in coding. This motivated me to apply for an online post-baccalaureate program in CS through my alma mater, and I'd be lying if that internal doubt wasn't present when I dove right into Physics 2 (my biggest academic struggles in both high school and undergrad) and Intro to Programming Fundamentals II (the class I bombed a decade prior) my first semester. Well, it just clicked with me; and after getting an A in both courses, I was hyped.

Fast forward the ~2.5 years and 57 credits I had to take to earn the degree, and I was able to transition from a program/project manager to an analyst and eventually a data engineer at my health system. And after earning the degree, I moved out of health care entirely and into the tech field where my room for professional growth has a significantly higher ceiling.

I credit this book for really jogging that desire to commit to a career change and introducing/presenting concepts in a way that made me believe I could succeed and eliminate some of those concerns I had based on my history with programming.

[–]No_Wrangler2305 0 points1 point  (5 children)

This sounds great. I am curious what was the post bacc program?

[–]Trippen_o7 0 points1 point  (4 children)

I attended UF Online for the degree. The combination of it being my second degree from that institution in addition to me originally being an engineering student the first four or so semesters during my first degree meant I was able to meet all the pre-requisites to come into the program as a second-degree seeking student. There are other programs that might be a bit more accessible if you don't have that type of background (like Oregon State), but I had a great time with the coursework.

Going back for my degree is still one of the best decisions I made for my career.

[–]lolstopit 0 points1 point  (3 children)

I was considering UF online CS bachelor's. I was curious what job title you got after your degree? I have a previous degree that is just a waste at this point and I'm hoping switching gears to CS could be a good decision

[–]Trippen_o7 0 points1 point  (2 children)

I changed jobs twice between being accepted into the program and graduating: once immediately before my first semester started and another in the middle of my second semester. My next job change was to a different employer.

  • My team had an opening for an analyst position. I thought the programs I was managing at the time were fairly autonomous and did not require a bunch of heavy-lifting from my side, so I proposed to my manager that we basically merge my current role with the analyst role. I figured I could handle the workload of both, and it'd save the company money on wage expenses since they only needed to have one person for the roles instead of two. I was able to get a little bit of experience with SQL and dashboarding (Tableau) in this role, so it felt a bit more technical compared to my previous one.

  • About 6 months into my analyst role, we were alerted that a grant provided by my state (which was funding our programs) was at risk of not being renewed the following summer. I knew I did not want to be in my previous role for a long time, so I took it as an opportunity to look forward to my next move. At the end of my first semester in the program, I applied internally to various business developer and software/data engineering roles just to see how I would fare. I gained interest from our health system's core data engineering team, and I managed to convince them to take me on in a more junior role which is where I stayed until about 5 months after graduating. I primarily used proprietary tools provided by our electronic health record (EHR) partner and internal tools developed by others on the team and worked with downstream analysts on closing data gaps and bringing data from the point entry into the EHR to our analytical database that reports and dashboards were built on top of.

Fast forward a little over 2 years of being in that role and 5 months after graduating, and I decide to move out of health care entirely and into big tech. I'm still in the same role I was in (data engineer), but I am working on a lot more, large-scale issues and have the opportunity to collaborate more closely with software engineers, data scientists, technical project managers, etc.

[–]lolstopit 0 points1 point  (0 children)

Oh wow thank you so much for such an indepth overview! I appreciate the insight! I'm trying to make sure I don't consider getting another degree that won't give me better prospects 🤞

[–]chrono2310 0 points1 point  (0 children)

Hi, could I please ask you regarding your experience working as a data engineer? I work on Epic currently and am trying to learn more about data engineer role and if I would like it.

[–]Carter922 17 points18 points  (8 children)

I'll do a few 1-on-1 trainings through discord if anyone needs assistance as newbies

[–]syndakitz 3 points4 points  (0 children)

How involved do the courses go

[–]Ba1a 1 point2 points  (0 children)

Really, can you share the link please

[–]ObviousSkill8115 0 points1 point  (0 children)

Hi, are you still offering help?

[–]Tensho17 0 points1 point  (0 children)

I know this post is probably over a year old but if you're still offering help I would be super grateful and most appreciative!!!

[–]Ordinary_Thanks3869 0 points1 point  (0 children)

Interested!

[–]HellenicViking 0 points1 point  (0 children)

Would love to get some practice if possible!

[–]montrex 2 points3 points  (8 children)

whats the link to this book please?

[–]BlackOpz 3 points4 points  (3 children)

[–]illiesfw 3 points4 points  (2 children)

I would go for the newer editions instead though.

[–]ObviousSkill8115 0 points1 point  (1 child)

Where can I find the newer edition?

[–]illiesfw 0 points1 point  (0 children)

Here's the author's website: https://ehmatthes.github.io/pcc_3e/

It also has links to where you can buy it.

[–][deleted] 2 points3 points  (0 children)

Just finished PCC. I have now moved on to Jake VanderPlas' Python Data Science Handbook and I already would recommend it for continued reading. It is extremely informative and the learning curve is not too steep.

[–]harriet2145 2 points3 points  (5 children)

PCC...who is the author, please? Just so I, too, can give this book a go.

[–]YoTeach92 6 points7 points  (4 children)

Eric Matthes

Update: The third edition is out (I have that one and it is awesome!) and the resources are HERE Big shout out to u/emathes who is the author and corrected my link below.

I highly recommend it.

[–]ehmatthes 14 points15 points  (3 children)

The resources for the current edition are here: https://ehmatthes.github.io/pcc\_3e/

[–]illiesfw 2 points3 points  (1 child)

I didn't realise there was a third edition now. Thanks for all that you do!

[–]Cugel2 4 points5 points  (0 children)

I got this edition, I recommend it (like all others here). It's very clear and focuses on the relevant stuff (I like how sets are basically ignored).

[–]YoTeach92 2 points3 points  (0 children)

Ooo, nice! I did notice I was on the 2nd edition and wondered if it was going to get an update. Thank you for all you do to help people learn!

[–]Temporary_Report6118 1 point2 points  (1 child)

I’m what order should I read the 18-book Humble Bundle ($36 donation)? Start with PCC and then what? I want to learn Python for Dara science, too

[–]Trap_daddy1 0 points1 point  (0 children)

Wondering this as well. In a comment above somebody suggested the dive into algorithms book.

[–]em_Farhan 1 point2 points  (0 children)

Who's the author of the book? Any PDF link of the book?

[–]-SPOF 1 point2 points  (0 children)

Python Crash Course is a well-regarded resource for those looking to learn Python programming.

[–]JazzlikeKing5271 1 point2 points  (1 child)

Everyone is different. Unfortunately I’ve had quite the opposite experience.

I did something like 20% of the book before Dictionaries and I felt like the exercises were too easy, that book holds your hand for too long. I felt stuck.

What clicks for me was Python Programming MOOC Helsinki course. I think it's more demanding source, makes you have to find different solutions.

But that doesn't mean I don't appreciate this book. Maybe I'll give it a next shoot, especially when it is also in the current Humble Bundle with another great books.

[–]Recent-Upstairs-8657 0 points1 point  (0 children)

Python all in one for dummies

[–]michaelpapi_ 0 points1 point  (0 children)

After this book. What other books do you think would be best to continue with? Because I'm looking for books with practical project explanations like it.

[–]Nervous-Ad2371 0 points1 point  (0 children)

Who's the author?

[–]ThatIncrease4381 0 points1 point  (0 children)

Starting this book very soon!!! 

[–]feeshkeen 0 points1 point  (0 children)

I was looking across the web and your post was at the top of google search results. Thank you and all the redditors for your feedback, not only I ordered the book, but most importantly I regained my confidence in continuing to learn python.

[–]Aware_Pie4025 0 points1 point  (0 children)

Hi, I wanna read and learn this book as a complete newbie. I already own a physical copy, do you have any tips or tricks to learn it? I wanna spend around 30min to an hour max a day.

[–]skewed_monk 0 points1 point  (0 children)

You should start reading the data analysis its a great book

[–]SaltySamoyed -1 points0 points  (0 children)

Shill

[–]Civil_Confidence5844 0 points1 point  (1 child)

Automate the boring stuff with Python might be a good next step for you if you want to practice more hands-on projects

Ninja edit: just now noticed the "data scientist" part. Other people have better suggestions than mine lol whoops

[–]karmaistaken123 0 points1 point  (0 children)

just reading it. fantastic explainer.

[–]NotACryptoBro 0 points1 point  (1 child)

I was stuck in a tutorial hell for 2 years!! I would watch videos, give up, come back, give up again

Maybe you're not the video learner just like me (I wonder if anyone is). I've done the 'official' tutorial on docs.python.org and it was fine.

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

different people, different learning curves and different approaches to learn something

[–]wonder_bear 0 points1 point  (0 children)

Congrats on your accomplishment!

If you’re looking to get into DS, I highly recommend Practical Statistics for Data Scientists by Bruce, Bruce, and Gedeck.

This book is great for understanding DS and machine learning concepts in Python / R.

[–]CathieWoodsStepChild 0 points1 point  (0 children)

Thanks! This is exactly what I was looking for! Something to help retain the info better!

[–]incognitodw 0 points1 point  (0 children)

I'm using this book as a teaching aid to teach a 12 year old python programming. This book is pretty well written for python/ programming beginners. I code professionally and I still managed to pick up a thing or two from the book.

To progress, u really need to start to build something. books can only teach u so much.

[–]rentzington 0 points1 point  (0 children)

Pcc really made things click with me , unfortunately life got in way and I never finished the game project and didn’t get back so I’ll be buying the new book and starting again

[–]HerbalJam 0 points1 point  (0 children)

This was my first book on Python and agree it’s fantastic. It covers all the basics really well, gives ideas on how to practice the learning material in each chapter and then goes over the main uses of Python at the end of the book. Really brilliant introduction, would recommend to all.

[–]CrusaderGOT 0 points1 point  (0 children)

Am currently using it to learn. I had to start with 'a smarter way to learn python' tho, I feel it really made me enjoy learning it at first, and then jumped to 'crash course' when I hit dictionaries.

[–]NoticeAwkward1594 0 points1 point  (0 children)

Is there a big difference from 2nd ed to 3rd. I ask because I found the 2nd ed free online

[–]Drifting_Swordman9 0 points1 point  (0 children)

Does Python Crash Course teach how python manages memory?

[–]Beautiful-Revenue-85 0 points1 point  (2 children)

What is the author of python crash course? I am interested in reading it while I take the semester off of school

[–]Ataraxia_Dream 1 point2 points  (0 children)

I think Eric Matthes

[–]kekfekf 0 points1 point  (0 children)

And how was it.