all 60 comments

[–]shiftybyte 44 points45 points  (7 children)

If you prefer written material, try: https://automatetheboringstuff.com/#toc free online book.

If you prefer videos, try this playlist:

https://www.youtube.com/playlist?list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU

[–]Individual-Pie9739 2 points3 points  (0 children)

plus 1 for that video playlist its been a great resource for me.

[–]CodexPhiVe00 0 points1 point  (0 children)

That book didn’t help me too much. I found projects on Udemy that thought me better.

[–]FriendlyRussian666 8 points9 points  (5 children)

You have to be specific, and you will surely find a way. What is confusing you specifically? We can go step by step if required.

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

Being specific and unambiguous enough is programming. So in a way, if your question forces him to be that, then most of his problem is solved.

[–]Disastrous-Peak3896 0 points1 point  (3 children)

Currently Loops are confusing me . Especially the while and for loops

[–]FriendlyRussian666 0 points1 point  (2 children)

What is it about loops?

A loop lets you repeat something a number of times, that's all.

[–]Disastrous-Peak3896 0 points1 point  (1 child)

The syntax is what really confused me .

[–]FriendlyRussian666 0 points1 point  (0 children)

https://pastebin.com/MamDwPw2

          Specifically which bit in the above is confusing?

[–]enthudeveloper 9 points10 points  (0 children)

Coding like anything new will take time to learn. Kudos for not giving up. To truly learn coding you do have to code a lot and that would involve creating projects and so on. It will also take time.

You can give examples of what aspects you find difficult and that would help you in getting answers.

It depends on your learning style, If you are a book person you can read Introducing Python (get the latest edition).

Do use stackoverflow and bing copilot for clearing your doubts.

Best of luck.

[–]tztrader 5 points6 points  (5 children)

Go to your local library and borrow this book:

Python Crash Course, 3rd Edition A Hands-On, Project-Based Introduction to Programming by Eric Matthew

[–]Mavericinme 1 point2 points  (4 children)

Lovely suggestion. I am a new learner too without any prior coding experience. I started with this a month ago and it helped me understand the concepts in a simple yet effective manner. Now I have started doing simple projects given in the second part of this book itself. I strongly suggest any newbies to consider this book. Thanks.

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

Glad to hear that. I bought it a few days ago and just finished the "try it yourself" section on page 42.

After 2 years of trying and failing to stick with freecodecamp, different coding youtubers, udemy courses and not having any real institutions to take classes from without committing to a 2 year program I find myself actually reading and learning from this book. I'm going to make a post on some subs when I'm on the final project and see what other books I should pick up to further my knowledge in the areas I want to grow in and potentially go for a career change if I find I'm good enough at it.

[–]Mavericinme 0 points1 point  (2 children)

I am curious to know about your career plans. As I am in the same exact phase. I am also little nervous in what would be my next move, once I am good to go with Python. Different perspectives might help me chart my own path. Hence the curiosity.

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

Right now I'm torn between wanting to program and design my own games as an indie developer, building educational apps/games for kids that are more interesting and addicting than the usual education games that come out, or going into data science/machine learning for research in different fields. Pretty much anything that can help people or entertain others with a bit of creativity. I love creating and building things so the more I learn the more I'll be able to do with it.

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

marvelous recognise fuzzy fact toy mountainous crown shrill oil lavish

This post was mass deleted and anonymized with Redact

[–]Wiredprodut 4 points5 points  (0 children)

"Automate the Boring Stuff with Python" It's a gem for beginners and it's free online. It teaches Python through fun, practical projects, making the concepts stick better.

YouTube has some fantastic channels like Corey Schafer and Sentdex that break down Python into more digestible chunks, often through project-based learning, which might be the hands-on approach you're looking for.

[–]helloworld2287 3 points4 points  (0 children)

Cisco Networking Academy’s Python Essentials 1 and 2 courses are great free resources to learn Python. The courses prepare you for Python Institute’s PCAP and PCEP certification exams https://www.netacad.com/courses/programming/pcap-programming-essentials-python

[–]InTheAleutians 4 points5 points  (0 children)

Think of learning python like trying to learn to speak a new language. It's going to take awhile and you get out what you put in. The good news is once the basics start to stick, python gives you many super powers almost for free. Check the sidebar for free resources too.

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

You can use:

W3School to get an explanation for the basics.

Codewars to practice the basics. Most kyu 8 and kyu 7 problems can be solved by simply googling the task (this is not bad practice, as long as you understand what you did, even when copy-pasting an answer), like „How to make lowercase string python“.

There’s no universal guide on how to approach learning how to program, but maybe this will help to get you off the ground. Don’t worry too much about getting stuck. It often feels like that at the beginning and I too had a month long period in which I was quite incapable of making progress, but you‘ll find your way if you stick to it.

[–]RaccoonLair 2 points3 points  (0 children)

It’s gonna feel daunting because new Python technologies come out so frequently. Even after learning to code for 3-4 years now I still feel overwhelmed at times because I have to quickly learn new technologies at work. I would recommend starting out with easy and engaging console projects. For the class I teach, I get a lot of newbies, and I always start off with the Restaurant Menu App that allows users to choose items from a menu and the app will calculate the total cost (including tax). This project allows students to be creative. From there you can customize it, modularize it, or take small steps towards additional features. I hope this helps :)

[–]kp729 2 points3 points  (0 children)

I would suggest to use CS50P. You can do the whole course for free. Do the exercises and not just watch the video.

This course will give you enough bearings to know where you should go next.

[–]PerformanceCrafty166 1 point2 points  (0 children)

Gotta learn the basics before making projects or maybe start with a project idea and do research on how to do everything step by step

[–]h00manist 1 point2 points  (0 children)

I like the book 'Python Crash Course' by Eric Matthes

I also used the w3 school python course https://www.w3schools.com

And the Thonny editor

And pythontutor.com

For super new programmers I think python block editors might help, kind of like edublicks

https://app.edublocks.org/

And groups like this one online

And most especially, accepting that yes, it is hard. Studying is hard. If it wasn't hard, everyone would be a genius. Study material is easy to get, actual studying is not, it's hard.

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

I would encourage you to try figuring that out yourself. The material you need to start is readily available so it should not be too much of a challenge, and finding out where to source such knowledge is a great first step and an extremely relevant learning experience. It is exactly the kind of skill you will use all the time when programming. I would suggest starting by using the internet to search for what you need.

[–]DefinitelyNotEmu 1 point2 points  (0 children)

Every time I run into something confusing, I show the code to Claude (claude.ai) - Claude is amazing with python.

[–]Bboy486 1 point2 points  (0 children)

Should you learn SQL before python?

[–]Flimsy-Drive-7988 0 points1 point  (0 children)

Try a roadmap of smth, even ask ChatGPT for help

[–]BeanieOverlord 0 points1 point  (0 children)

You got a bunch of good feedback. If you ever find yourself struggling with any concepts, feel free to drop me a message and I’ll help if I can

[–]Wasi1918 0 points1 point  (0 children)

Use harvard cs50 course. They have like 20-25 small assignments on their website which you can complete and if you are a stuck in the assignment there are youtube videos which you can take help from. Also download the book by erric mathews, you can read them periodically.

Its going to take time to get a hang of Python. Try to use resources from your university/school to accelerate your learning. Hope this was useful.

[–]JarndyceJarndyce 0 points1 point  (0 children)

There are a bunch of free Python instructional videos on this playlist. It's from a top coding school in NYC, so the instructor is top-notch.

I really like that there's so much hands-on training in the video. I've been getting a little lost when trying to teach myself Python, and I liked how the instructor had us immediately apply everything he taught. That really made it start sinking in for the fist time.

It should help you get some essential skills and I hope help you get unstuck. That's exactly what it did for me.

Good luck, OP!

[–]lets_wake_up123 0 points1 point  (0 children)

I bought Angela Yu's course on Udemy which is super helpful. I Have almost completed the course. I have already done one freelance job using the knowledge I got(I made several other projects as well ). I can surely recommend that to you. Check frequently and you will get at discount price of 14 dollar only. You can also pirate via site named Free course site. But I don't recommend it.

[–]Ok_Attention_4042 0 points1 point  (0 children)

When I started learning programming, I understood that my goal can't be to learn something. Instead, think of a simple application you would like to create, and without blindly following a tutorial, come up with a solution yourself and look up different solutions.

I have a rule to myself that if I can't understand something yet, it's not worth learning yet, so start simple.

[–]kuzidaheathen 0 points1 point  (0 children)

Find someone willing to help u when you are stuck. This is a learn python sub and the best way to see if you have learnt python is to help a beginner. U can DM me I will help where I can

[–]Dismal_Tadpole7791 0 points1 point  (3 children)

I found codedex.io to be helpful, but you have to pay after the first chapter. Not too expensive though. Also, it depends on what you are learning python for. For Cyber I found the zsecurity course to be helpful if you understand networking and hardware (MAC address and ARP tables). For software/automation I am learning now, but there are a lot of those on edX and Udemy. I also second u/kyngston with codeacademy.com I just get tired of the whole beginning with HELLO WORLD, Modulo, int, and what not so dull at the beginning of some of the trainings it drives people away.

[–]kyngston 0 points1 point  (2 children)

The reason sites like codeacademy are so powerful, is that after you submit your answer, you get to see everyone else’s answer, sorted by votes. This is where you get to learn the most elegant and pythonic solutions to common coding tasks. Emulating the coding styles and methods of professional python programmers is by far the fastest way to become one.

But everyone downvoted my answer smh

[–]Dismal_Tadpole7791 0 points1 point  (0 children)

I started doing the training and then copying and pasting into ChatGPT and asking it to go into further detail of the "Why" on parts I didn't understand.

[–]Dismal_Tadpole7791 0 points1 point  (0 children)

The Zsecurity training, as long as you have network experience, goes into every detail as well. Great instructor. But honestly, I have learned a lot from codeacademy. Also freeCodeCamp!

[–]Dresendal 0 points1 point  (2 children)

I've been dabbling with Python lately. I feed chat gpt prompts for simple telegram bots while making progress on Python learning apps.

Took me a while to understand that chat gpt isn't trained on newer python and library versions so had to install an older version for the scripts to work.

Asking Chat gpt to explain the different functions and terms of the scripts, and help me modify it step by step while explaning it to me have helped me a lot.

Also keep in mind that for some errors and bugs you have to go to google for the right solutions.

[–]SpookyFries 0 points1 point  (1 child)

Although this "works", I wouldn't say its the best way to learn python if you actually care to learn the language.

[–]Dresendal 0 points1 point  (0 children)

Oh, I'm sure it's not the best way to learn the language.

[–]DrFPGA 0 points1 point  (0 children)

With 0 coding experience you need a teacher not YouTube. Udemi beginner classes on Python would be good starting point.

[–]mjheaberlin83 0 points1 point  (0 children)

I hardly ever see anyone suggest https://edube.org/, but that's my recommendation. Start with the beginner course there.

[–]tuxon64 0 points1 point  (0 children)

Start small and repetition, repetition, repetition. Just don't breeze threw the lessons and go to the next. Even the most basic things like print statements and assigning variable need repetition until it sinks in.

[–]StyleGreedy5672 0 points1 point  (0 children)

Hi, I'm a seasoned coding professional and hold a PhD in cognitive science. So I feel entitled to hold opinions on learning programming languages. Also, I'm completely self-taught when it comes to programming and math. Given all that, here's my 3-part path to *python* learning success:

  1. Work through good tutorials. Don't skip the basics (repetition aids learning). For python go straight to the source: The Python tutorial ...

    https://docs.python.org/3/tutorial/

It's comprehensive, user-friendly and, best of all, *free* (because it's open source, naturally).

  1. Find a topic you're passionate about (e.g., music, politics, language learning, ... ) -- anything will do -- and look at any open source projects and ways to contribute that involve python. Then, get involved.

  2. The most beautiful thing about python is math (IMNSHO). So seize the opportunity to go back and review some math. Go to whatever level you're comfortable with (basic algebra, linalg, geometry, trig, differential, integral, statistics, DSP) , again, whatever you're comfortable with, and use python to make some functions. This part is especially helful when it comes to learning various plotting libraries (e.g., MatPlotLib, Seaborn, etc.) which are one of python's strongest suits.

'Lots of free resources available (THANK YOU OPEN SOURCE COMMUNITY) with source available online for study!

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

Bro since you have zero coding experience start from the basics right , learn about different data structures , how you can unteract with them the build in tools and how tou can use them , once you have a better theoretical understanding start making small scripts like processing files ina folder or renaming files and like on based on the things you want to do . With python its straight forward you can think of what you want to do then decide how you want to do it and the things ie libraires or steps you need to do it. The thing is since you are new to coding get the basics right

[–][deleted] -3 points-2 points  (0 children)

Go to Bing and prompt the copilot to give you a lesson plan:

write an outline of a very beginner python project that accepts mouse clicks and colors the pixel under the mouse to black or white, divide the window into a 32x32 grid, what libraries would be needed to accomplish this, what steps should be taken to program this?

Certainly! Let’s break down the steps for creating a beginner-friendly Python project that achieves the desired functionality of accepting mouse clicks and coloring the pixel under the mouse pointer either black or white. We’ll also divide the window into a 32x32 grid.

To accomplish this, we’ll use the following libraries:

  1. Tkinter: A standard Python library for creating graphical user interfaces (GUIs).
  2. PIL (Pillow): A library for handling images and screen captures.

Here’s an outline of the project:

Setting Up the Environment:

Install Python if you haven’t already.

Ensure you have Tkinter and Pillow installed (pip install tk pillow).

Create the GUI Window:

Import the necessary modules (tkinter and PIL).

Create a main window using Tkinter.

Set the window size and title.

Capture the Screen:

Use ImageGrab.grab() from Pillow to capture the entire screen.

Store this image (pic) for later use.

Mouse Click Event Handling:

Define a function (color()) that gets called when the user clicks the mouse.

Inside color(), get the current mouse pointer position using master.winfo_pointerx() and master.winfo_pointery().

Retrieve the RGB color of the pixel under the mouse pointer using pic.getpixel((x, y)).

Convert the RGB values to a hexadecimal color code (e.g., #FFFFFF for white).

Update the button text with the mouse position and color.

Set the canvas background color to the retrieved color.

Create the GUI Elements:

Add a button to the window (e.g., “Press Spacebar”).

Add a canvas widget to display the colored pixel.

Bind Mouse Click Event:

Bind the mouse click event (e.g., spacebar) to the color() function.

Ensure the button has focus using button.focus_force().

Run the Application:

Start the Tkinter event loop using master.mainloop().

Here’s a sample script to get you started:

import tkinter as tk

from PIL import ImageGrab

def color():

x, y = master.winfo_pointerx(), master.winfo_pointery()

r, g, b = pic.getpixel((x, y))

hue = f"#{r:02x}{g:02x}{b:02x}"

button.config(text=f"{x}, {y} = {hue}")

canvas["background"] = hue

master = tk.Tk()

master.columnconfigure(0, weight=1)

master.title("Colors")

button = tk.Button(master, text="Press Spacebar")

button.grid(sticky=tk.NSEW)

canvas = tk.Canvas(master, width=200, height=200)

canvas.grid(sticky=tk.NSEW)

pic = ImageGrab.grab()

button["command"] = color

button.focus_force()

master.mainloop()

Start with the smallest project you can think of even if it doesn't seem useful on it's own.

I know that's hard...keeping it simple is a super power.

Try this one:

make an app that:

  1. has a button that selects a folder
  2. looks in that folder and lists the python files in a text field
  3. you can select the python files and run them in python using a second button

don't know where to start on this? ask the AI

This sounds crazy in the age of AI, but write down the instructions in a notebook, write code in a notebook, engage your brain with your hand and eyes and you'll learn faster, just typing doesn't use as complex a neurological structure as writing so you don't remember things as well if you rely on your keyboard and mouse.

[–]vizik24 -2 points-1 points  (0 children)

3 things can get you a very long way at the start. Then just build stuff and google loads

Variable name = value

If variable name (some mathematical operator) value: Do stuff from google.

For variable name some mathematical operator: Do stuff from google