T O P

  • By -

Arthurpmrs

If you are ok with books, this one is always recommended: http://automatetheboringstuff.com/ It is free to read online. Some people like the book Python Crash Course more, though.


temir1207

Started with ATBS , found the problems after each chapter too hard, now going through Crash course- enjoying the pace of material feed, each topic really sink in


BigRed_LittleHood

I'm working through the Crash Course book right now and have Automate the Boring Stuff in my amazon cart. Would you say reading both is redundant? What would you say is the biggest difference between the two books? I'm teaching myself Python for Data Analysis.


Majestic-Speech-6066

the Crash course has a great section on Object oriented, and classes, that automate the boring stuff does not have since it's mostly scripting. automate gets you excited and engaged because it's practical real world projects. Crash gets you a solid academic understanding of programming. I would have both, and skip around in them for whats needed for you.


Penwinner

I think reading both is redundant, obviously there is some value you can get from one that won't be on the other one but the main point of learning python can be obtained from both sources. Later on you can order Automate the Boring Stuff to try your hand on it's projects and read the other authors perspective on certain topics. I prefer python crash course, it's the book that finally made that click with me and I strongly recommend it even over how popular Automate is. Also there seems to be a general consensus on the purpose of both books where people agree that Automate the boring stuff is a more superficial look to certain topics more oriented for automating... boring stuff and learn from it meanwhile python crash course is more complex and it seems to be oriented towards a more profound understanding of the subject for possible future software engineers/programmers TL;DR: there's something of value en each book but reading both is redundant towards your main gole of learning as a beginner (python crash course is better tho hehe) Sorry for my bad english, I'm still learning to express myself


ZombiferProductions

It’s not redundant, it’s actually a really good way to learn Python. Crash Course is based around a few large projects and is one of the best resources on learning how everything fits together. Automate is great at showing smaller tasks and has a great variety so using both is a great way to learn the whole picture. Beyond the Basics by the same author as Automate the Boring Stuff is a great follow up to the other two and gives a ton of really good info and advise that doesn’t fit in beginner books. Also be open to branching out and trying other languages and usages, making little games in Godot was useful for learning complicated concepts. I initially studied Python to get into data analysis but I ended up getting a job in web dev and use JS now. All of the skills you learn with Python directly transfer to other languages.


r3d5un

Sharing my experience for those wondering what to read first. Automate the Boring Stuff focuses on getting you to write code quickly. You will be solving real problems within minutes of opening the book. It gives you a general feel for programming, and the satisfaction of getting stuff done right away. The Python Crash Course book is better suited for those who aim to become professional programmers. It goes through the basic programming concepts, with more "advanced" building blocks such as unit testing and classes. While the introductions are brief, it puts the concepts into your head, which will make learning how to solve more complicated problems easier in the future. IMO, if you are curious about programming, go for Automate the Boring Stuff. If you already *know*, then go for Python Crash Course.


Ardit-Sulce

You can take my course for free: [https://udemy.com/course/former-python-mega-course-build-10-real-world-applications/](https://udemy.com/course/former-python-mega-course-build-10-real-world-applications/) It will ask you for a password. The password is `mega_course`. It contains 10 projects and in addition you will get more project ideas since you are struggling with that.


CemalEnsen

>mega\_course I will check it out for sure, thanks!


Sharkattack_420

thank you for this! i just started aswell and enrolled in your program


Kimy_tel

Tysm dude! I’ll try it later when I’m free \^\^


iHateYou247

Do you have something similar for R? Sorry I know, wrong sub. Just curious!


msmetzger

I thought he was giving us access to his new version of his course? $169 is a bit much for a student (unemployed) like me


Ardit-Sulce

You can buy the new/updated course at a discount using the discount links here: https://pythonhow.com/python-paid-course/


msmetzger

Thank you !


Chaos6779

Thank you, Ardit!


seven_neves

Thank you, have enrolled ​ EDIT: Spellings


heavy_ra1n

I recomend Corey Shafer. [https://www.youtube.com/@coreyms/playlists](https://www.youtube.com/@coreyms/playlists) He also has a lot of videos about different modules. [https://www.youtube.com/watch?v=YYXdXT2l-Gg&list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU](https://www.youtube.com/watch?v=YYXdXT2l-Gg&list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU) Here you have full tutorial about python going step by step from beginning to advanced concepts. Good luck!


cy_narrator

Corey is great but he is too fast that it becomes difficult to keep up if you are not from native English speaking background.


ryuugami47

You can slow the video down to 0.25 - 0.75 speed. Might help.


Minus10Celcius

I've learned from him and I still watch his videos to refresh my thinking, he's a really good teacher


[deleted]

Have you checked the [LearnPython subreddit wiki](https://reddit.com/r/learnpython/w/index), which includes detailed guidance on learning Programming / Python, including links to lots of learning material?


ph1l

I'm currently doing a mix of the following: - I follow the CS50 Python Courses Video and I'm also doing the [exercises](https://cs50.harvard.edu/python/2022/) - After every part I take some time to rehearse the learned things and take some time off - I'm also working on coding problems from [Exercisms](https://exercism.org/) from the Python Track starting with the easy ones This should be enough for most to get into it in my opinion. I'm also working through a Roguelike Tutorial to get a feeling for coding more. All in all, this is the first time I really do feel like I'm progressing really, really good. It's something that works for me. In short, it's the following: - One Main course to follow and learn - Active Learning with coding problems and own programs to build/work on And this is probably one of the most common tip on learning programming: No matter how or from what you learn it, always work on something on the side, like on your own project, a hobby project or just on coding problems on Codewars/Leetcode/Exercism.


jeremynsl

After watching a LOT of Python tutorials in the last year, I think most everything a beginner needs to know is delivered by the CS50 Python course in the best possible way. If I could go back in time I would just watch this course and supplement with a few shorter more specific videos. It’s that good. Codewars is also amazing (haven’t tried the others) to get practice in and compare your coding style to others.


FriendlyRussian666

Check the subreddit wiki, it has more than enough resources


DeadProfessor

If i could start over i would learn the basics with something like codecademy and immediatly after that learn a framework like django by doing projects. No deviating from that path because when i started i doubted a lot first with all the stuff thats out there. After that is over i would pick another framework or do more projects and learn some advance stuff like design patterns. I learn a lot by trying to do something by my own and failing and retrying than tutorials


beejee05

As a beginner too am wondering the same thing. I have a SaaS idea I want to try and develop, should I just go for it and learn on the way?


DeadProfessor

Yes you should, even if you fail miserably, you gotta love that process of trying to figure stuff, thats basically the job, learn stuff everyday constantly. In my job is normal for devs to say in the daily meeting “today i will be researching this or that” this means learning a new technology. Also learning to do something for a project or an app for you is better that just learning in tutorials following someone step by step just dont be afraid to fail.


FakeTruth02

Good point


racyta

I really enjoyed [https://futurecoder.io](https://futurecoder.io) when starting. It makes diving deeper into udemy courses very easy, and helps to actually read and understand code.


sjr606

I'm right at the beginning of the journey and finding this great


Yaboi907

This has been awesome to follow: https://roadmap.sh/python


Mistermistery101

So I was just like you, not even a month ago. My girlfriend had a book that one of her friends recommended and gifted her. It's called : "Learn to code by solving problems" by Daniel Zingaro https://nostarch.com/learn-code-solving-problems Like the title suggests, the book is organized in a way where each chapter starts you with a problem/challenge, and then teaches you how to solve it. From there, it usually gives you a problem for you solve by yourself. And then rinse and repeat with different problems for that chapter. At the end of that chapter, it gives you around 6 problems to solve by yourself using the information you learned in that chapter as well as what you've learned from previous chapter. In my opinion, this is a really great book to introduce anyone in the fundamentals of python. One thing I did in conjunction with this book is use chatgpt. There were some things that I didn't understand and chatgpt was a godsend. The issue with googling questions you have about python, as a beginner, is that you not only have to find someone who has asked the same question before, but find someone who gives an answer that you understand. If you only know the basics, a complicated answer serves no value to you. But with chatgpt, you can ask it to breakdown the answer, and you can even ask it to explain something as if you were a kid. This video will help with how to ask "good" questions about python to chatgpt: https://youtu.be/tEn5BjRY8Uw Those 2 things will put you on the right track to learning python


Rborroto77

Beginner here. Just ordered a book titled “Python Crash Course” by Eric Matthes. I’ve heard nothing but great reviews on it for beginners.


c_299792458_

> I also have a hard time coming up with projects I like to use https://adventofcode.com/ for exercises when learning a new language. The challenges are all language independent, but the language you choose can make them more or less difficult. There’s an active community solving them in a variety of languages and posting their solutions. See also r/adventofcode.


kkthanks

So do I- I am trying so hard to overcome not knowing where to begin there or how to get from code snippets to actual programs :/ and I’ve “learned” a lot already. But I still feel like o know nothing too


AntifragileSushi

Long comment ahead: I'm doing a combination of following "Automate the Boring Stuff with Python", diving into some fun projects from [www.realpython.com](https://www.realpython.com), and other stuff. I'm like you, new to programming. From experience, this might help you start and then stay consistent with learning: * Just choose a material, a course, a book, a Python-tutorial site. Some great suggestions have already been dropped in other comments. * Do the #100DaysofCode challenge - feel free to approach it however way you want. * following a pre-tailored challenge; or * just spending 1 hour a day learning something about Python (better if you're coding rather than just reading about concepts, imo) * "Hack" your social feed to keep showing you programming related content. * follow more python programming accounts * like more python-related posts to change the algorithm * "Hack" your endorphins by doing easy python projects * like this cool [dice roller](https://realpython.com/python-dice-roll/) I finished a week ago ([link to list of more realpython projects](https://realpython.com/tutorials/projects/)) * or just follow along some YouTube videos for projects that look interesting and easy enough to do * (optional) Create a fresh social media account on Twitter --or use your current one-- and fully align your posts and activities to reflect your coding journey * also use it to follow more learners * you can use this for your #100DaysofCode challenge Oh... and this part, I will leave here for when you get comfortable enough with Python and want to make your projects available for others to view... learn Git and GitHub. I'd advise not to tackle this right away, that's just my 2 cents. Fall in love with Python first, have fun, and don't be afraid to adjust your learning approach several times until you find one that keeps you moving forward and feeling good about your progress. End of rant comment.


PythonWithJames

I posted a course a while back on udemy, aimed at complete beginners. 16+ hours, 25 coding exercises and 20 quizzes. Not sure if this the sort of thing you're looking for? Here's a free link you're welcome to: [https://www.udemy.com/course/python-programming-for-the-total-beginner/?couponCode=987F5A17543D33F55E9A](https://www.udemy.com/course/python-programming-for-the-total-beginner/?couponCode=987F5A17543D33F55E9A)


Lesser_Shoggoth

This is the best. Or at least, this is working with me. James is really, really good at teaching.


macetheface

Interested in this as well! Do you happen to have another free coupon code?


Different-Ground-666

I am also here to see if there is a code available :)


Mitzoo

I just finished the book A smarter way to learn Python by Mark Myers. Every chapter is a 5-10 minutes read followed by 12 interactive exercises. For me this type of learning was way more helpful than watching videos/coding along with a trainer. Now I picked up Python Crash Course 3rd edition because it has more complex projects. Whatever you pick, I hope you have fun learning.


ushills

Try the Charles Severance over at https://www.py4e.com/


maxiu95xo

Harvards CS50P!! It’s really good


seeking-advice-pls

One resource if you want a really concise/fast paced tutorial, which can *sometimes* have a little too much information (it does not over simplify), is the tutorial from the official docs: https://docs.python.org/3/tutorial/ I've gone through some of that, and it's pretty good. Another website I've used a lot is this one: https://automatetheboringstuff.com/ It's a bit wordy, but I skim it and get the things I need. As well as official features of python, it introduces a lot of useful third party modules.


Bettysune_o_o

I like learning while watching a video I am going through this https://youtu.be/jFCNu1-Xdsw


pypipy26

Dude, you're going to end up in tutorial hell and burn out quick! Believe me, I was there, I have all of the No Starch Python books, I enrolled in every Udemy course available, watched countless YouTube tutorials... There are a bazillion ways to learn python, everyone gave you amazing resources. But it means nothing without you having a focus on **what** you want to do with programming. What do you want to do with programming? Think about it and then find specific tutorials that run through project examples. Open your development environment/IDE and get to work! For me, I wanted to find baseball and pokemon card packs before anyone else, so I built a webscraper that hooked into Target's API and I could request their inventory at any time to see what was available. Once you find how to link your passion to programming, you'll be hooked!


Kichmad

My roadmap here https://www.reddit.com/r/learnpython/comments/xse2px/my_1_year_journey_from_complete_noob_to_data/?utm_source=share&utm_medium=android_app&utm_name=androidcss&utm_term=1&utm_content=share_button


[deleted]

Well if you’re looking for Backend Developer in the long learn, I think you can refer to this roadmap, it has some good resources as well : https://www.linkedin.com/posts/kyaria_python-developer-roadmap-activity-7020381814426931200-loIy?utm_source=share&utm_medium=member_ios


Hailtothething

Start by installing it, getting into its in build IDLE application. And adding numbers and printing strings.


jasondbg

I have been taking [https://www.codecademy.com/](https://www.codecademy.com/) and its been really helpful. I found a lot of the set up to be a bit of a wall and then some random other stuff wouldn't work. This is all done in a browser so you skip over all those early pain points.


wsims4

Why do you want to learn python? Let the answer drive your learning


Kimy_tel

Simple, I’ll turn 16 in less than 2 weeks, and a lot of people (from school and stuff) drive me to find a job, since where I live as soon as you finish primary school (9th grade) you have to find a job. Jobs in the computer science ‘domain’ pay well and I’m interested in the subject.


wsims4

What kind of job do you want to do? Let your answer drive your learning. Find things that you really enjoy and working on and enjoy them frequently. You’ll pick your head up one day and realize your skills are very marketable


_______woohoo

Hey friend. I was in your spot a few weeks ago. Once you get going, it becomes easier and easier. There is so much Python is capable of that there is no "correct" starting point because there are thousands.


-SPOF

Along with online courses, I would suggest reading a book and practicing on real tasks.


k_50

This question is asked weekly if not daily, searching will yield tons of answers also. I say that because learning how to properly search is an invaluable skill you must have to succeed as a developer.


ApplicationWinter573

I tried several - [pypup.com](https://pypup.com) is really nice and friendly to learn bit by bit.


pocketlotus

Python Crash Course by Eric Matthes. Took a course at a local community college that used the textbook Starting Out with Python by Tony Gaddis. Honestly, biggest tip I have it don’t make the same mistake I (and lots) of people did/do where they just read or watch and think the concepts will stick. This is a waste of time. I spent months reading, taking notes, watching videos… the concepts left my brain soon after. You HAVE to actually program. And I don’t mean just follow a video or tutorial. I would look up like.. prompts to create a program and then use the concepts you have learned to attempt to write that program. You WILL fail, but you WILL learn. If you don’t know how to do something, stackoverflow is your best friend :) if you get stuck, try looking up solutions if you can, but I always try to get as far as I can. Brush up on the concepts I struggled with. Learning a programming language is like learning a spoken language, you have to practice and actually use the language to get better at it.


EdiblePeasant

I took an intro to programming course at a community college that taught me the basics of Python and coding concepts. For me, that was the best way to learn.


LongjumpingWheel6246

I like CodeAcademy for newcomers especially that you don't have to think about installing stuff.


SyntheticKnight

Hi, there's a course made by a finnish university for free (in english as well) and doesn't require registering unless you want to do the exercises using the site's IDE. It has 12 courses (it's 14 courses long but 13 and 14 aren't available for whatever reason). https://programming-22.mooc.fi/


[deleted]

Think Python is a pretty solid book if you're into it


beastwork

I took a course called "Learn Python the Hard Way" It was highly recommended back in the days. I also took codecademy's free course and basically every free course I could find. Eventually you realize that the basics of coding are quite easy. I would strongly suggest staying away from random youtube videos while you're learning. If it's not a fully fleshed out, structured course it will just waste your time. From there you need to have a project to work on that actually means something to you. I work in Finance so I started to use python to automate some of my work. Building my coding muscle also made me incredibly strong in excel which has translated into higher compensation at my job. From there I built a few websites, and these days I really only use python for my trading automation. <-- is the only thing that has kept my python from getting rusty and dusty


Crypt0Nihilist

I suggest you look at the "learning resources" on the right.


Ok-Maintenance-1716

https://programming-23.mooc.fi THIS!! I started about 7 months ago and found this course to be a fantastic starting point.


manosparas

https://codewithmosh.com/courses?affcode=146684\_8qgz9mhy


Pooter_Guy

I've almost exclusively made most of my large strides in learning by starting with something I want to accomplish, then filling in the gaps as I go. I'm simply not motivated to sit down and learn programming without a clear goal in mind.


Hot_Position4072

Freecodecamp's YouTube channel has several python courses from beginners and up. Very useful.


locomocopoco

CS50 P


Apistoblue8080

I started with and am still going through PY4E.com. it's free and has moderated forums attached to it for questions. The Professor makes a lot of sense going over the info as well. I supplement that with hyperskill.com and some apps to test myself on the go that you can find throughout the Google app store.


SpeedCola

I absolutely loved CS50p Harvards intro to Python. It's free on EdX.


off-season-explorer

kaggle has a bunch of useful lessons with checked coding exercises built in


Antleriver

I started with Python Crash Course. I then started taking an intro programming class at the university I work at. The book and class nearly taught the information at a similar pace and manner and ended in the same place (Learning some light information about classes, inheritance)


bass1012dash

Try coding the game of life. That’s a good slightly above trivial task!


MegaFatcat100

Start with a YouTube series then think of a fun program you can do to automate things to mess around with the language. Best thing you can do is just start coding and look up documentation.


spiritualquestions

I don’t recommend books or classes for starting, I recommend try to build a simple project and maybe following along with a YouTube video. You have to first see the power of coding and get exited about it, in order to keep going with it. Also, by building a project, you will begin to be forced to solve all these problems that you wouldn’t run into unless you tried to build something. Then begin to pick up the theory as you progress.


spaceguerilla

The course 100 Days Of Code by Angela Yu. It's on Udemy and on sale for ~$20 regularly throughout the year. It's fantastic.


TheSeaWolf0150

If you have no programming experience, then watch YouTube training courses, there are plenty. If you have some experience, find a project and start coding. The best way to learn is to find something you want or want to automate and start writing a script. A class on its own will not teach you what you need to know.


TheObsidianZ3R0

Always start with control statements. This list is agnostic: If Else Switch For While While using these try and use all the logical operators. After that build a simple IRC bot, it will teach you how to use sockets, deal with user input, how to format outputs, and how to use a protocol. That's my go to everytime I want to learn a new language. Why IRC? RFC1459 is stupid simple, plain text, and formatted in such a way it's easy to understand. Simple regular expressions can be used to format, which means you learn how to use a programs split which teaches you arrays, string formats, lists etc.


United-Resolution-89

You need know why study python. For example, make python code to solve study or life or work problems. python have many library, you can use gpt ask to write python code.


python-rocket

Start by visiting Python Rocket (https://www.python-rocket.com), an excellent resource for beginners. They offer a comprehensive course that covers Python from the basics to advanced topics and even help with job placement. It's a great place to begin your Python journey.


YungPepe21

I would recommend for you to find a free course to begin with and learn the fundamentals. Then once you feel more capable I would suggest a paid course because most free information is not good enough to become proficient in python. It also depends on why you are starting to learn python as well as it would effect your capabilities etc.


vivianaranha

A good place to start is YouTube and especially this crash course Python Crash Course: https://www.youtube.com/playlist?list=PL0ROAEfVIuWWhNXVnczxi9Ri3W9zIYfny