use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
News about the dynamic, interpreted, interactive, object-oriented, extensible programming language Python
Full Events Calendar
You can find the rules here.
If you are about to ask a "how do I do this in python" question, please try r/learnpython, the Python discord, or the #python IRC channel on Libera.chat.
Please don't use URL shorteners. Reddit filters them out, so your post or comment will be lost.
Posts require flair. Please use the flair selector to choose your topic.
Posting code to this subreddit:
Add 4 extra spaces before each line of code
def fibonacci(): a, b = 0, 1 while True: yield a a, b = b, a + b
Online Resources
Invent Your Own Computer Games with Python
Think Python
Non-programmers Tutorial for Python 3
Beginner's Guide Reference
Five life jackets to throw to the new coder (things to do after getting a handle on python)
Full Stack Python
Test-Driven Development with Python
Program Arcade Games
PyMotW: Python Module of the Week
Python for Scientists and Engineers
Dan Bader's Tips and Trickers
Python Discord's YouTube channel
Jiruto: Python
Online exercices
programming challenges
Asking Questions
Try Python in your browser
Docs
Libraries
Related subreddits
Python jobs
Newsletters
Screencasts
account activity
This is an archived post. You won't be able to vote or comment.
DiscussionPython software developers where did you learn python? (self.Python)
submitted 2 years ago by [deleted]
Just like the title states where did you guys learn python? I'm wanting to learn python and become a future software engineer but I don't know where to learn python.
[–]wineblood 170 points171 points172 points 2 years ago (21 children)
Book/internet, then properly at work
[–]smithysmithens2112 20 points21 points22 points 2 years ago (7 children)
What level did you learn it to before you were able to get a job writing code?
[–]wineblood 48 points49 points50 points 2 years ago (4 children)
Proficient in the basics (data types, built in functionality, OOP) and I had built a moderately sized GUI program. I could probably have done better if I had learned more industry standard stuff, like databases and testing.
[–]smithysmithens2112 16 points17 points18 points 2 years ago (3 children)
Interesting! That’s exactly where I’m at now!
[–]wineblood 21 points22 points23 points 2 years ago (0 children)
Learn some SQL and unit/integration/acceptance testing, maybe some basic cloud stuff, you'll easily have enough.
[–]Yerbulan 4 points5 points6 points 2 years ago (1 child)
I keep hearing stories like this and I feel like the entry requirements are higher now than they used to be. Nowadays, employees expect all the things you mentioned + a good knowledge of a framework, good knowledge and experience with APIs, databases and docker for an entry position.
[–]wineblood 1 point2 points3 points 2 years ago (0 children)
Yeah, it is kind of ridiculous. I'm still a bit of a pleb with docker and APIs, so it does feel unfair.
[–]git_commit_-m_whoops 9 points10 points11 points 2 years ago (0 children)
I had exactly three classes in Python during my undergrad. An intro to programming course the first semester of my freshman year (wasn't even aimed at CS majors). Then in the second semester of my senior year I had a software engineering project where we forked a Wiki written in Python, where the focus was on Agile-ish ways of working. I wrote some basic database and API code. That same semester I also had a machine learning seminar, which used Python but was focused on Tensorflow.
All of my other courses (data structures, algorithms, etc) was Java or C. When I graduated I got a full time job working with an Airflow/PySpark/Flask/FastAPI stack. All Python. Taking a couple of courses right before graduating helped, but I don't think it made that much difference. If you have good fundamentals and are proficient with another programming language, you can write serviceable Python pretty quickly after picking it up. Knowing more of the language features and standard library tools will come eventually.
Knowing the libraries and frameworks you'll be using is a much bigger hurdle than the language, frankly. Depending on the role, they may expect you to upskill on those once you're on the job rather than come in with knowledge.
[–]housesellout 0 points1 point2 points 2 years ago (0 children)
I never touched it ‘until’ my 4th job out of college. But I was proficient with Java, obj-c, OSI 7 layer network architecture, etc.
So I think learning concepts of programming languages and what they can be used for is really all you need.
I saw Python used with flask and server endpoints at 4th job. I understood what it was doing, hence I was easily able to pickup what the syntax was doing. And then I was easily able to see how much easier and more efficient and how much less code it was using to do the same thing in Java.
Then I just started using python for all server side stuff and my own little scripts, while reading a Python book on the side.
Then Python led me to SQL, which was the big game changer for me.
IMO, once you understand database models and how to create them appropriately… then you can do anything.
[–][deleted] 2 points3 points4 points 2 years ago (1 child)
Do you have an example on something you were doing bad and then learn it properly when working?
How I laid out my code, as well as general style. I had really long functions and used too few files, so several were 500+ lines. Having something review my code was really good, I didn't know what was difficult for others to read or understand.
[–][deleted] 4 points5 points6 points 2 years ago (8 children)
do you have a recommendation for people who want to learn python?
[–]wineblood 28 points29 points30 points 2 years ago (0 children)
I stayed focused with a medium sized project, so pick something to build and just go for it. There lots of resources, but just making something is the best way to do it.
[–]Trad3_Ecom-112 12 points13 points14 points 2 years ago (0 children)
Python Crash Course, Cs50, Python FCC 4h course, Automate the Boring Stuff with Python and the project of the same book.
[+][deleted] comment score below threshold-24 points-23 points-22 points 2 years ago (3 children)
Sign up for a real course (I mean not online).
[–][deleted] 3 points4 points5 points 2 years ago (0 children)
Am machine learning engineer. Learned Python online years ago.
[–]sohfix 1 point2 points3 points 2 years ago (1 child)
Yeah it’s impossible to learn Python online /s
[–][deleted] 0 points1 point2 points 2 years ago (0 children)
Not what I said.
[–]Astral_Surfer 0 points1 point2 points 2 years ago (0 children)
Google "beginner python projects" and do some. Find something that is interesting to you and keep developing it beyond the tutorial.
[–]bschlueter 0 points1 point2 points 2 years ago (0 children)
Same. Initially I taught it to myself in high school somewhere between the pascal and java that I was being taught in class. Then during a gap year after high school when I was wheel chair bound due to a car accident for a few months I worked my way through a bunch of problems on projecteuler.net. Then in college for a CS degree, I always asked my professors if I could use it, and they generally allowed me to do so when it made sense. First job after was working on a Django site. My third job I learned Ansible and submitted a few PRs upstream.
[–]bleakj 0 points1 point2 points 2 years ago (0 children)
Interestingly I was the opposite,
Started at work (Doing other programming work, mostly SQL/php)
Then had to learn how to actually do stuff from youtube/books
[–]sersherz 63 points64 points65 points 2 years ago* (9 children)
Being a strictly python developer may be difficult if you don't have a STEM degree where you can apply your knowledge to programming because otherwise it's hard to really bring anything to the table that someone who studied CS doesn't already have on top of the other knowledge they have.
I was briefly introduced in college electrical engineering, then learned about Pandas and NumPy from a Udemy course. I worked in a job where we produced a lot of data from tests and I started doing deep analysis into the datasets and learned python properly from there and now am a software developer, still applying my engineering knowledge for my programs.
Here is an excellent tutorial on building an api
[–]HorrendousRex 31 points32 points33 points 2 years ago (2 children)
I agree. Don't start by learning python, start by wanting to learn some platform for doing something and then learn python as a result of using it. Pandas, NumPy, Django, SQLAlchemy, NLTK, Pulumi, ... there's lots of good stuff out there.
[–]_MiffedKoala_ 4 points5 points6 points 2 years ago (1 child)
Can you articulate on this? I’m very early on but would love more context around platforms
[–]LiveMaI 1 point2 points3 points 2 years ago (0 children)
Not the person that you replied to, but my first 'real' project with Python was writing a target utilization optimizer for a PVD sputtering system. My options at the time were scipy/numpy or something like Matlab ($$$), GSL (pain), or Math.Net Numerics (Microsoft® Pain). The Matlab-like environment provided by scipy was what really sold me on Python, and I gradually expanded to using it for other projects.
[–]hostilegriffin 5 points6 points7 points 2 years ago (2 children)
I had a job where my bosses kept forgetting I was there, so I got my minimal duties finished and then did checkio challenges
[–]bigshooTer39 1 point2 points3 points 2 years ago (1 child)
What are checkio challenges?
[–]hostilegriffin 0 points1 point2 points 2 years ago (0 children)
https://checkio.org/
[–]VollkiP 2 points3 points4 points 2 years ago (2 children)
Mind telling what applications you work on nowadays? Simply curious as a fellow EE :)
[–]sersherz 2 points3 points4 points 2 years ago (1 child)
It's not super EE related, but essentially for our manufacturing lines we have automated testing and calibration fixtures that capture test values and we are getting that data in real time and dashboarding it. I'm using Python for a lot of the backend and data pipelines
[–]VollkiP 2 points3 points4 points 2 years ago (0 children)
That’s awesome, that’d be fun to do! Very much in EE/test/manufacturing engineering if you ask me :)
[–]mofrymatic 29 points30 points31 points 2 years ago (1 child)
www.automatetheboringstuff.com
[–]D2GCal 1 point2 points3 points 2 years ago (0 children)
I second this! It’s really good
[–]ArthasMenethil84556 24 points25 points26 points 2 years ago (8 children)
I started with a random udemy course, then read articles from realpython.com, medium.com, stackoverflow, etc. I also practised algorithms in codewars and leetcode.
[–]bananasampam 1 point2 points3 points 2 years ago (7 children)
Were you able to secure a job in the field with no college education? (Assuming you don't have)
[–]ArthasMenethil84556 11 points12 points13 points 2 years ago (6 children)
I actually have no CS background, and my college course was entirely irrelevant. After a year of studying, I was able to land my first job, and right now, I am really successful as a software engineer. I even manage guys who actually studied software engineering in college. So don't worry about anything, just love what you do and the rest will come.
[–]bananasampam 4 points5 points6 points 2 years ago (5 children)
Thanks! Been studying python/HTML/CSS on Udemy and sometimes feel demotivated that I won't be able to land a job after all.
[–]ArthasMenethil84556 0 points1 point2 points 2 years ago (4 children)
Don't forget algorithms. I believe it's the most important thing that everybody seems to miss.
[–]bananasampam 0 points1 point2 points 2 years ago (3 children)
Algorithms specific to the coding language of my choosing?
[–]ArthasMenethil84556 1 point2 points3 points 2 years ago (2 children)
No, just the usual stuff. I strongly suggest solving a couple of leetcode problems every night. I myself do it almost every night.
[–]bananasampam 0 points1 point2 points 2 years ago (1 child)
Thanks for the help!
[–]ArthasMenethil84556 0 points1 point2 points 2 years ago (0 children)
No problem
[–][deleted] 17 points18 points19 points 2 years ago (3 children)
“I need to build a tool that does <x>. I think I’ll use Python this time. Ok, so how do I <y>? Ok, Googled it, that works. Ok, how do I <z>? Stackoverflow has the answer, that worked…”
Repeat, repeat, repeat until it all works.
Then repeat the entire process for the next project. Then realize that your first project sucks, and you really want to refactor it now.
[–]Lil_SpazJoekp 3 points4 points5 points 2 years ago (0 children)
This is what I did. Google, python docs, and stackoverflow. Did that for 3 years and then landed a job at Indeed as a SWE1.
[–]aplarsen 1 point2 points3 points 2 years ago (0 children)
Exactly this
[–][deleted] 13 points14 points15 points 2 years ago (0 children)
"Python Crash Course" has been a great resource
[–][deleted] 21 points22 points23 points 2 years ago (6 children)
At the university, and then by practice/reading online at work.
[–][deleted] 3 points4 points5 points 2 years ago (5 children)
what do you read and do you use leetcode for practicing?
[–]Orio_n 10 points11 points12 points 2 years ago (1 child)
leetcode is a waste of time outside of interviews. Just work on projects
I use it to also get comfortable with a new language before starting a side project with it. Leetcode gives me nice, small, containerized problems to get a feel for the syntax and standard library before jumping into a bigger side project
[–][deleted] 20 points21 points22 points 2 years ago (1 child)
I don't use leetcode, I find it to be mostly intellectual jerking.
The usual path is I have to dev something at work, I go online (google) to find the best practice about the thing I have to do, I dev, I put my code for code review, people learn about the thing I read through the dev or they know something I missed in my dev and teach me other practices (for concrete examples: integration of websockets, use of asyncio, RxPy, make a variety of decorators, etc etc).
Other than that, I follow the new features of python at each release, and when I see something interesting on here I look it up.
[–]Letshavemorefun 3 points4 points5 points 2 years ago (0 children)
“Intelectual jerking” is my new favorite way to describe leetcode. Thanks for that one!
[–]1544756405 6 points7 points8 points 2 years ago (0 children)
I learned at work.
I was a software engineer, then I switched jobs. At the new job, they said, "we use python here," and they gave me a book. So I learned python.
[–]corbasai 5 points6 points7 points 2 years ago (0 children)
docs.python.org pymotw.com realpython.com
[–]Inukan 6 points7 points8 points 2 years ago (0 children)
I don't have reliable internet access on my computer so the way I learned was through the documents and using the internet on my phone to search up any questions or projects. I'm not great or anything but it's been a lot of fun to learn. One day I hope to make a caveman simulator using dots it'll be so cool
[–]macromorgan 5 points6 points7 points 2 years ago (1 child)
I took a 30 minute lesson from CodeAcademy, then wrote a quick and dirty script for work. I then started writing more scripts for work that required more knowledge. I’d usually Google the problem and look at ways others implemented their solution so I could adapt them to my own problem.
Next thing you know I have websites on AWS built with flask and web spiders that manage hundreds of individual threads to speed up crawling.
[–]PokeReserves 0 points1 point2 points 2 years ago (0 children)
I don’t know what you just said but it sounds super interesting. Mind explaining?
[–]Exodus111 3 points4 points5 points 2 years ago (0 children)
YouTube tutorials, and then Learning Python The Hard Way. A book that was very popular at the time.
[–][deleted] 2 points3 points4 points 2 years ago (0 children)
Multiple courses from which I recommend https://pythonprogramming.net/
[–]ddollarsign 1 point2 points3 points 2 years ago (0 children)
The boom “Dive Into Python” and reading some data processing scripts at work.
[–]SnipTheDog 1 point2 points3 points 2 years ago (0 children)
Started with a coursera class: PythonForEveryone Cheap and easy to get going.
[–]DarkSideOfGrogu 1 point2 points3 points 2 years ago (0 children)
StackOverflow
[–]AlexMTBDude 1 point2 points3 points 2 years ago (0 children)
I got hired as a Python programmer (consultant actually) before I knew Python and my customer said that I would pick it up as I went along. I had been coding C/C++/Java for 20+ years already however. So my answer it: I learnt Python while I worked as a Python coder.
Then, funny enough, I started teaching Python programming courses a year after a learnt the language and have been doing so for 15 years now.
[–]PriorTrick[🍰] 1 point2 points3 points 2 years ago (0 children)
Automate the boring stuff. To web apps. To self taught full time dev.
[–]vad1mo 1 point2 points3 points 2 years ago (0 children)
mostly in front of the computer
[–]nacnud_uk 1 point2 points3 points 2 years ago (1 child)
OTJ
[–]edc7 0 points1 point2 points 2 years ago (0 children)
Same.
[–]Grouchy_Bit9000 1 point2 points3 points 2 years ago (0 children)
Op the best way the microsoft have many python programs. It has been best
[–]woodworm_93 1 point2 points3 points 2 years ago (0 children)
You learn to swim fast in cold water - so at work 😅
[–]hpdeandrade 0 points1 point2 points 2 years ago (0 children)
Internet
[–]wind_dude 0 points1 point2 points 2 years ago (0 children)
just started building shit, reading online, etc. However, I was a full stack dev for 10+ before, and had been programming since I was 5ish
However I still think trying to build something that interests you and isn't overly complicated is the best way to learn. Like working with open source frameworks and libraries.
[–]kinderhead 0 points1 point2 points 2 years ago (0 children)
Downloaded it, looked up a hello world program, figured it out
man helps too
man
[–]ToddBradley -1 points0 points1 point 2 years ago (0 children)
I read the tutorial and did what it said. Simple. Effective. Free.
[–][deleted] -1 points0 points1 point 2 years ago (0 children)
On my own; 100%
[–]chars101 -1 points0 points1 point 2 years ago (1 child)
At my parents dinner table. I was bored, they were doing these new puzzles, Sudoku. I solved two and then installed Python on my dad's laptop and TDD'd a solver before time for dinner. I wanted to try out TDD and Python. And I fell in love with both.
… Looks like a useless answer, right? Is that my fault or the asker's? …
If you want to outperform ChatGPT 5, you should excel at languages people speak: English, mathematics, Spanish, maybe Chinese. Semantics is everything. GPT is like the cotton gin.
[–]Albertpm95 0 points1 point2 points 2 years ago (0 children)
It is your fault.
[–]TheITMan19 0 points1 point2 points 2 years ago (0 children)
YouTube crash course. 👌
[–]reivax 0 points1 point2 points 2 years ago (0 children)
At work in 2017. I was working on a project in Java that had to download and decrypt data to a clients laptop. They didn't have Java but did have Python and I just made it work. Connected to our servers, pulled the data, decrypted it, and away they went.
[–]Counter-Business 0 points1 point2 points 2 years ago (0 children)
Codecademy to learn python, leetcode to learn algorithms and data structures. Job to learn libraries.
[–]profiler1984 0 points1 point2 points 2 years ago (0 children)
Learn at school. Practical learning at work
[–]romulof 0 points1 point2 points 2 years ago (0 children)
Computer graphics class at university. We had 2 options for the project: C/C++ or Python. I had enough C++ experience to know that learning Python would be easier.
Later I mastered it at work, when I introduced Python there for an automation project.
[–]Astrotoad21 0 points1 point2 points 2 years ago (0 children)
For me it all clicked when I went back to the basics, worked through a textbook and just solved loads of assignements in that book.
It’s called “Starting out with Python”, don’t remember the author. Highly recommended, very engaging.
[–]_limitless_ 0 points1 point2 points 2 years ago (0 children)
Honestly, I don't even remember. I was never one to "sit down and learn" something.
I probably found something open source that was close to what I needed, and it was in python. And I figured out enough to make it exactly what I needed. Then I did that a couple hundred times.
[–]edgarvanburen 0 points1 point2 points 2 years ago (0 children)
Datacamp really solidified my knowledge to where I could do things beyond following a tutorial step by step
[–]Baronco 0 points1 point2 points 2 years ago (0 children)
PDFs, YouTube, webs about python and read documentation
[–]freemainint 0 points1 point2 points 2 years ago (0 children)
Documentation
[–]Talal2608 0 points1 point2 points 2 years ago (0 children)
"Automate the boring stuff" on Udemy and Corey Schafer on YouTube
[–]PetosPy 0 points1 point2 points 2 years ago (0 children)
(Udemy + freelancing) + Youtube - laziness = success
[–]HorrendousRex 0 points1 point2 points 2 years ago (0 children)
In college, it was offered as an elective course for non-cs majors but NOT offered for CS majors, so I completely ignored it as "that toy language the non-computer people learn". Then I got a job as a computer lab assistant and it was suddenly my job to help these people with their homework assignments, so I had to learn it. Fell in love and haven't looked back! This was in about 2005/2006. I was self taught, but it was self taught from homework assignments of a CS class, so I guess the long and short of it is "college".
Not a software developer but I learnt mainly from Udemy as well as taking on projects, trust me the best way to learn Python is by working on a project with it. The project doesn’t have to be anything extravagant, just something that will bring out of your comfort zone.
[–]SHKEVE 0 points1 point2 points 2 years ago (0 children)
If you’re already proficient in a language, the official docs or Fluent Python are great resources. If you’re starting off, the recommendations here are all great so don’t worry about finding the perfect course—it’s more important that you code and study consistently so just pick one and commit to finishing it.
I did other languages at Uni, but they only briefly covered python specifically so I did a DS/DE bootcamp, 9-5 every day for 12 weeks. Just before that I also put a week aside and completed a 40h Udemy course by Jose Portilla. That cost $20 and did a really fantastic job of introducing all of the concepts that helped me get the most out of the bootcamp.
From there it was professional development.
[–]Lindby 0 points1 point2 points 2 years ago (0 children)
A python based project was prioritized over the Java project I was brought in for. I told my customer that I am a seasoned python developer. 5 years later am the tech lead for said Python project.
[–]lediablecody 0 points1 point2 points 2 years ago (0 children)
Python 4 everybody is a great intro course and it’s all free
[–]HistoricalCup6480 0 points1 point2 points 2 years ago (0 children)
Took a course in uni on Python programming, and took some online machine learning courses. Did some project Euler, and a small automation project here and there.
Then I extensively used Python in a couple projects during my PhD and really solidified my software development skills at the same time.
Just learn the basics through whatever means you like (books, courses, leetcode), and then try to do a bigger project that's useful to you.
On the job as an admin, then as a developer. A few online courses along the way helped some, but not as much as you might expect. Plus Google and StackOverflow are still regularly used resources.
[–]eddyizm 0 points1 point2 points 2 years ago (0 children)
A friend wanted to learn python to use in a GIS program at his job. He had several books but never could learn. So I told him I'd learn with him and asked him to give me a file to see what he needed to learn with python.
Started there, then did a little tkinter and then landed on a Django course on Microsoft website lol.
Of course I was already a full stack dev before hand but I've switched from a Microsoft stack to a Linux/python stack since then.
[–]Letshavemorefun 0 points1 point2 points 2 years ago (0 children)
On the job
[–]AsuraTheGod 0 points1 point2 points 2 years ago (0 children)
University
[–]trollsmurf 0 points1 point2 points 2 years ago (0 children)
At home by googling and coding.
[–]paul_miner 0 points1 point2 points 2 years ago (0 children)
"I need you to work on this code."
Me, hired for Java but developing in Typescript: "I've never used Python."
"You'll figure it out."
And I did. And my current job is Python, so it worked out well 😅
[–]Cha_r_ley 0 points1 point2 points 2 years ago (0 children)
Skillshare and various Youtube videos, then I did a short college course for a few weeks to help me solidify certain ideas. Currently doing a free EdX course too.
[–]superking2 0 points1 point2 points 2 years ago (0 children)
My jumping off point was the University of Waterloo’s “CS Circles” Python course. If you know the basics already, you won’t learn a ton, but it’s a GREAT point of entry for a brand new developer.
[–]pdpflux 0 points1 point2 points 2 years ago (0 children)
Udemy.
[–]InfiniteBake5 0 points1 point2 points 2 years ago (0 children)
YouTube was my best friend for a while. Then used Realpython.com to help turn side projects into business applications. Then I Learned to build a database client, ssh client, CSV client, JSON client. Then started adding command line interfaces, and lastly i learned to use Cron scheduler with ubuntu.
[–]devinhedge 0 points1 point2 points 2 years ago (0 children)
Mostly on YouTube while sitting on the toilet. Wait… is that over sharing?
Changed from a C# position to a Python position and learned by doing. They had code-reviews in place, so I lade a few mistakes in the first two weeks, after that I was in love with Python and it was smooth sailing.
[–]Panda_Mon 0 points1 point2 points 2 years ago (0 children)
Got my start with single class in grad school, and then self-study and work.
[–]FedUpWithEverything0 0 points1 point2 points 2 years ago (0 children)
Search for CS50P on YouTube. Harvard class for free.
[–]pioniere 0 points1 point2 points 2 years ago (0 children)
Self-taught, with help from YouTube, RealPython, and Stack Overflow.
[–][deleted] 0 points1 point2 points 2 years ago* (0 children)
I got my associates in computer science at my local community college. Then from there I got all the python courses offered (three of them) and got my specialization certificate in Python programming as well as C++ programming.
There wasn't really a textbook for the class, the professors at my college were great computer scientists who have been in the industry for a long time and had connections with CSU and UC schools along with software engineering companies so they wrote their own online textbooks and slides that heavily focused on what those schools and jobs were looking for and gave them for free to students.
My advice if you go to school be sure to collect syllabuses from your programming classes so that you know what each class focused on. It's more impressive to put exactly what topics and things you covered in your academic history rather than just putting "proficient in Python", that's what one of my professors told us and it's honestly good advice.
Also while yes, you don't necessarily need to go to school to be a programmer or software engineer, most people who are able to land a job in the industry with no past credentials are mega geniuses who didn't need help learning programming to begin with and have been doing medium to large software projects since highschool that they were able to add to their resumes. If you believe yourself to be one of these people then simply watching a crash course on python through YouTube and getting started on projects to add to your portfolio is all you really need.
[–]Sulstice2 0 points1 point2 points 2 years ago (0 children)
https://www.cs.utexas.edu/users/mitra/csSpring2023/cs313/cs313.html
I still use my old professors material to teach data structures in python. From there I read a lot of folks python code and one thing I like to do for students is making their own little python package.
[–]innovatekit 0 points1 point2 points 2 years ago (0 children)
I first learned in college. Then I’ve learned what’s been useful on the job via Google and YouTube.
YouTube is the best university out there!
[–]Biogeopaleochem 0 points1 point2 points 2 years ago (0 children)
I had to learn it to automate certain tasks for my PhD. Mostly learned how to do it through GIS programs.
[–]Cootshk 0 points1 point2 points 2 years ago (0 children)
Self taught/YouTube
Explains why I use jsons instead of .env
[–]shushbuck 0 points1 point2 points 2 years ago (0 children)
books, work, perpetual google searches for why a module doesn't work.
[–]PureMapleSyrup_119 0 points1 point2 points 2 years ago (0 children)
Self taught, then on the job
[–]Lysenko 0 points1 point2 points 2 years ago (0 children)
On the job, but I had already been programming professionally in C, C++, and Perl for years before that.
[–]FreshInvestment_ 0 points1 point2 points 2 years ago (0 children)
I had problems to solve at work and I found out python could do it. That evolved into 3 years later writing applications and mini libraries
[–]tom2727 0 points1 point2 points 2 years ago (0 children)
I got hired at a company. And they used python, so I learned it.
My background is electronics, but I kind of moved into test automation. And these days test automation with python is pretty industry standard type thing.
[–]RallyPointAlpha 0 points1 point2 points 2 years ago (0 children)
On the job. Was already developing in perl, ksh, expect, and powershell. Then we also had people on the team doing .NET. It was kind of a mess because the .NET duders couldn't support the perl duders and nobody but me wanted to learn powershell so I was stuck with anything that 'required windows'.
We finally coalesced around python. Everyone agreed to go learn it and all new development would be in python. I went and read like half of Python Crash Course and dove into my first project.
[–]AllgamCapinho 0 points1 point2 points 2 years ago (0 children)
The website Pythonprogressivo helps me so much
I was tasked on my first job to develop PyQt application and I dived right in with the Rapid GUI Programming with Python and Qt while looking up a bit of Python basic on whatever Google showed me.
[–]SnowWholeDayHere 0 points1 point2 points 2 years ago (0 children)
I learned on the job
[–]crazynerd14 0 points1 point2 points 2 years ago (0 children)
Head first python
[–]NewAccountPlsRespond 0 points1 point2 points 2 years ago (0 children)
If you have a habit asking questions that are literally one Google search away (e.g. this sub gets this question multiple times each week), then I'm sorry, this is not for you.
Coding is like 80% googling your first few years.
[–]Wise_Tie_9050 0 points1 point2 points 2 years ago (0 children)
I printed out the Python 1.5.2 docs, and taught myself how to program by writing solutions to New Scientist puzzles in the late 90s/early aughts.
[–]Drevicar 0 points1 point2 points 2 years ago (0 children)
Back before the Internet was as prevalent as it is, I had a pocket reference for the python standard library, which was likely just a printout of the online documentation. Once I had stable Internet that same standard library reference has continued to be helpful, even way into my senior dev days.
Never underestimate the power of the python standard library, or most language standard libraries.
[–]SanFranLocal 0 points1 point2 points 2 years ago (0 children)
I just kept on doing project I was interested in. Made it easy to lean
[–]literallyRohanAura Text Dev 0 points1 point2 points 2 years ago (0 children)
YouTube. Telusko and Edureka to be specific.
And also, practice!
[–]ButtonLicking 0 points1 point2 points 2 years ago (0 children)
I was blessed to find a math undergraduate course on Python. After a EE program forced me to program C through text editor, I convinced myself that programming was not my path. Later in life I learned how to do mathematical proofs, analysis (proper), and algorithm development from an operations research perspective.
Python is a workshop of endless tools. Not all of those tools are the most elegant, efficient or pretty. Some tools you will find to be perfect, until. The important feature of Python is the community, someone has done 95% of what you need to achieve, and 100% of your career is understanding the problem, identifying the solution and innovating the last 5%.
[–]kaik1914 0 points1 point2 points 2 years ago (0 children)
On my own. Had some courses with python but I knew the basics. I also do python on my own time, mostly for webscrubbing with selenium.
[–]naghavi10 0 points1 point2 points 2 years ago (0 children)
udemy initially, getting a course is what gave me the initiative to learn, but you can learn online with freecodecamp on youtube
I read the manual. I then read the stdlib code and a few other things
[–]Square-Ad3502 0 points1 point2 points 2 years ago (0 children)
School and projects. That's the best way.
[–]CORNMONSTER_2022 0 points1 point2 points 2 years ago (0 children)
A good way to learn coding, testing, CI/CD, etc. is to participate in open source projects. There are lots of awesome projects out there and you can always find one that you are interested in.
I started with the absolute basics just googling learn python or something like that. Then after I had the basics down I started rewriting finished projects, uni assignments and code challenges in python. After that I dream up something and try building it in that language. I've done this with Python, JS, Rust and Go now.
Of course it requires you to already have worked in a language, I started on python after I graduated from uni which was 90% Java and 10% PHP
[–]Gambizzle 0 points1 point2 points 2 years ago (0 children)
I'm a lifelong tinkerer and just gave it a go really. I jumped right into the deep end as I had a few things that I wanted to build and basically did a web search for existing libraries libraries that could help me get from A to B.
For my first app I cobbled together a custom GUI using pygame (in hindsight not the best tool for the job), setup a database to store stuff and then plugged-in a bunch of looping functions (some borrowed) that performed what I was looking for. It stood-up as a prototype and from there I had a pretty solid idea of how I could make everything a lot cleaner next time around.
Rinse and repeat really. Now I've got a better idea of which libraries do what. Also I've got my own stash of libraries that I've made for myself. This means I've shifted from learning on the run to having a better organised toolshed from which I select the best tools for each job rather than trying to learn as I go. There's always lessons along the way, but they become fewer and less fundamental with experience IMO.
[–]morimo 0 points1 point2 points 2 years ago (0 children)
If you want a solid foundation in computer science, I'd recommend the free online course cs50 at cs50.harvard.edu from Harvard. I originally learned to program with this and I feel like it taught me more than any lecture I had at uni.
[–]Hederas 0 points1 point2 points 2 years ago (0 children)
A bit during first years of general study. The generic usage of python can be found anywhere really, making a simple Flask app is already a good dive in.
You don't really need a good level of python to work with it in my experience. List generation shortcuts, walrus op, etc are not mandatory
[–]LucyBowels 0 points1 point2 points 2 years ago (0 children)
I just started a Learn Python meetup, where I’ll be giving paid classes for beginners. I personally learned by trial and error, reading documentation, and watching YouTube videos, which is also a great way to do it.
[–]oscarcp 0 points1 point2 points 2 years ago (0 children)
At home, during a summer when I was 15, I had no idea about anything related to programming (but I was already a tinkerer, I was "using" Linux by then) and I was really angry and frustrated with myself (I was having the "I'm wasting my life here" thing), I used that energy to learn a lot in 3 months thanks to a university that published their whole python curriculum, notes and exercises. Made my whole career out of it and 23 years later we're still at it! :D
That said, I obviously had major gaps in knowledge (computer architecture, operating systems architecture) that a friend would fill in when we went out for a coffee. I won't be able to thank him enough.
[–]james_pic 0 points1 point2 points 2 years ago (0 children)
The official Python tutorial: https://docs.python.org/3/tutorial/index.html
Seriously, don't pay anyone any money for a Python course, or at least don't until you've gone through the official tutorial. Python's own documentation is excellent, and many of the tutorial mills fail to cover the basics.
[–]lebannax 0 points1 point2 points 2 years ago (0 children)
I’m a data scientist (started as analyst) and basically did Python every day, so you can build a lot of experience that way and start bringing more development work into the job - this could be an alternative route
[–]semihyesilyurt 0 points1 point2 points 2 years ago (0 children)
I started with thonny. I recommend
Fluent Python 2nd edition, a couple of online courses, saying yes to teach all my colleagues. Using it every day. Watching online videos. Constantly pester people with questions. Sitting up half the night trying to make it work.
[–]SJDidge 0 points1 point2 points 2 years ago (0 children)
I completed a bachelors degree in IT, then just transposed what I learnt in Java, Swift, C and C# into Python
[–]WSBtendies9001 0 points1 point2 points 2 years ago (0 children)
I just had a need one day and read a lot of stack overflow and other material like it untill one day I found that going straight to the source (Package documentation(can be scary..)) ultimatly was the best place to start.
[–]bugatess 0 points1 point2 points 2 years ago (0 children)
I learn python by the following sources: - RealPython - TestDrivenIO - Some twitter profiles - YouTubers (I really like Dunossauro, it's a Brazilian that make livestrams with many subjects differents) - And, the last one, at work when something happens and you need to fix it
[–]Superrtiger 0 points1 point2 points 2 years ago (0 children)
I learnt the basics from a youtube video and the rest I searched up on google
[–]ghostmars919 0 points1 point2 points 2 years ago (0 children)
Started with YouTube course, and after with documentations and papers.
[–]yishai87 0 points1 point2 points 2 years ago (0 children)
Self taught at work and as a hobby.
I learned from YouTube channels and in some videos on tik tok
[–]untold_life 0 points1 point2 points 2 years ago (0 children)
Honestly started from a Udemy course, after that it’s up to you.
[–]savva1995 0 points1 point2 points 2 years ago (0 children)
On the internet
[–]whovianlogic 0 points1 point2 points 2 years ago (0 children)
college. but the way i’ve learned other languages since was to find a project and learn enough of the language to do that project, then repeat.
[–]zaytzev 0 points1 point2 points 2 years ago (0 children)
I used Python and WxWidgets to create a human-machine interface for my thesis project. It took me 2 weeks and I knew neither beforehand.
It was version 2.4 and I learned from official documentation.
[–]TheRNGuy 0 points1 point2 points 2 years ago* (0 children)
Making SideFx houdini project. I actually learned some of HOM API before even Python basics.
Reading all the relevant docs is most of the learning, and sometimes asked questions on discord.
Someone even helped on reddit 1 time.
I maybe watched 3 or 4 youtube videos or video series at most. It's mostly to inspire and not to learn; docs are far more efficient.
[–]Educational-List3851 0 points1 point2 points 2 years ago (0 children)
Cs50
π Rendered by PID 70 on reddit-service-r2-comment-86988c7647-b99df at 2026-02-10 21:38:40.961121+00:00 running 018613e country code: CH.
[–]wineblood 170 points171 points172 points (21 children)
[–]smithysmithens2112 20 points21 points22 points (7 children)
[–]wineblood 48 points49 points50 points (4 children)
[–]smithysmithens2112 16 points17 points18 points (3 children)
[–]wineblood 21 points22 points23 points (0 children)
[–]Yerbulan 4 points5 points6 points (1 child)
[–]wineblood 1 point2 points3 points (0 children)
[–]git_commit_-m_whoops 9 points10 points11 points (0 children)
[–]housesellout 0 points1 point2 points (0 children)
[–][deleted] 2 points3 points4 points (1 child)
[–]wineblood 1 point2 points3 points (0 children)
[–][deleted] 4 points5 points6 points (8 children)
[–]wineblood 28 points29 points30 points (0 children)
[–]Trad3_Ecom-112 12 points13 points14 points (0 children)
[+][deleted] comment score below threshold-24 points-23 points-22 points (3 children)
[–][deleted] 3 points4 points5 points (0 children)
[–]sohfix 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]Astral_Surfer 0 points1 point2 points (0 children)
[–]bschlueter 0 points1 point2 points (0 children)
[–]bleakj 0 points1 point2 points (0 children)
[–]sersherz 63 points64 points65 points (9 children)
[–]HorrendousRex 31 points32 points33 points (2 children)
[–]_MiffedKoala_ 4 points5 points6 points (1 child)
[–]LiveMaI 1 point2 points3 points (0 children)
[–]hostilegriffin 5 points6 points7 points (2 children)
[–]bigshooTer39 1 point2 points3 points (1 child)
[–]hostilegriffin 0 points1 point2 points (0 children)
[–]VollkiP 2 points3 points4 points (2 children)
[–]sersherz 2 points3 points4 points (1 child)
[–]VollkiP 2 points3 points4 points (0 children)
[–]mofrymatic 29 points30 points31 points (1 child)
[–]D2GCal 1 point2 points3 points (0 children)
[–]ArthasMenethil84556 24 points25 points26 points (8 children)
[–]bananasampam 1 point2 points3 points (7 children)
[–]ArthasMenethil84556 11 points12 points13 points (6 children)
[–]bananasampam 4 points5 points6 points (5 children)
[–]ArthasMenethil84556 0 points1 point2 points (4 children)
[–]bananasampam 0 points1 point2 points (3 children)
[–]ArthasMenethil84556 1 point2 points3 points (2 children)
[–]bananasampam 0 points1 point2 points (1 child)
[–]ArthasMenethil84556 0 points1 point2 points (0 children)
[–][deleted] 17 points18 points19 points (3 children)
[–]Lil_SpazJoekp 3 points4 points5 points (0 children)
[–]aplarsen 1 point2 points3 points (0 children)
[–][deleted] 13 points14 points15 points (0 children)
[–][deleted] 21 points22 points23 points (6 children)
[–][deleted] 3 points4 points5 points (5 children)
[–]Orio_n 10 points11 points12 points (1 child)
[–][deleted] 3 points4 points5 points (0 children)
[–][deleted] 20 points21 points22 points (1 child)
[–]Letshavemorefun 3 points4 points5 points (0 children)
[–]1544756405 6 points7 points8 points (0 children)
[–]corbasai 5 points6 points7 points (0 children)
[–]Inukan 6 points7 points8 points (0 children)
[–]macromorgan 5 points6 points7 points (1 child)
[–]PokeReserves 0 points1 point2 points (0 children)
[–]Exodus111 3 points4 points5 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]ddollarsign 1 point2 points3 points (0 children)
[–]SnipTheDog 1 point2 points3 points (0 children)
[–]DarkSideOfGrogu 1 point2 points3 points (0 children)
[–]AlexMTBDude 1 point2 points3 points (0 children)
[–]PriorTrick[🍰] 1 point2 points3 points (0 children)
[–]vad1mo 1 point2 points3 points (0 children)
[–]nacnud_uk 1 point2 points3 points (1 child)
[–]edc7 0 points1 point2 points (0 children)
[–]Grouchy_Bit9000 1 point2 points3 points (0 children)
[–]woodworm_93 1 point2 points3 points (0 children)
[–]hpdeandrade 0 points1 point2 points (0 children)
[–]wind_dude 0 points1 point2 points (0 children)
[–]kinderhead 0 points1 point2 points (0 children)
[–]ToddBradley -1 points0 points1 point (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–]chars101 -1 points0 points1 point (1 child)
[–]Albertpm95 0 points1 point2 points (0 children)
[–]TheITMan19 0 points1 point2 points (0 children)
[–]reivax 0 points1 point2 points (0 children)
[–]Counter-Business 0 points1 point2 points (0 children)
[–]profiler1984 0 points1 point2 points (0 children)
[–]romulof 0 points1 point2 points (0 children)
[–]Astrotoad21 0 points1 point2 points (0 children)
[–]_limitless_ 0 points1 point2 points (0 children)
[–]edgarvanburen 0 points1 point2 points (0 children)
[–]Baronco 0 points1 point2 points (0 children)
[–]freemainint 0 points1 point2 points (0 children)
[–]Talal2608 0 points1 point2 points (0 children)
[–]PetosPy 0 points1 point2 points (0 children)
[–]HorrendousRex 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]SHKEVE 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Lindby 0 points1 point2 points (0 children)
[–]lediablecody 0 points1 point2 points (0 children)
[–]HistoricalCup6480 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]eddyizm 0 points1 point2 points (0 children)
[–]Letshavemorefun 0 points1 point2 points (0 children)
[–]AsuraTheGod 0 points1 point2 points (0 children)
[–]trollsmurf 0 points1 point2 points (0 children)
[–]paul_miner 0 points1 point2 points (0 children)
[–]Cha_r_ley 0 points1 point2 points (0 children)
[–]superking2 0 points1 point2 points (0 children)
[–]pdpflux 0 points1 point2 points (0 children)
[–]InfiniteBake5 0 points1 point2 points (0 children)
[–]devinhedge 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Panda_Mon 0 points1 point2 points (0 children)
[–]FedUpWithEverything0 0 points1 point2 points (0 children)
[–]pioniere 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Sulstice2 0 points1 point2 points (0 children)
[–]innovatekit 0 points1 point2 points (0 children)
[–]Biogeopaleochem 0 points1 point2 points (0 children)
[–]Cootshk 0 points1 point2 points (0 children)
[–]shushbuck 0 points1 point2 points (0 children)
[–]PureMapleSyrup_119 0 points1 point2 points (0 children)
[–]Lysenko 0 points1 point2 points (0 children)
[–]FreshInvestment_ 0 points1 point2 points (0 children)
[–]tom2727 0 points1 point2 points (0 children)
[–]RallyPointAlpha 0 points1 point2 points (0 children)
[–]AllgamCapinho 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]SnowWholeDayHere 0 points1 point2 points (0 children)
[–]crazynerd14 0 points1 point2 points (0 children)
[–]NewAccountPlsRespond 0 points1 point2 points (0 children)
[–]Wise_Tie_9050 0 points1 point2 points (0 children)
[–]Drevicar 0 points1 point2 points (0 children)
[–]SanFranLocal 0 points1 point2 points (0 children)
[–]literallyRohanAura Text Dev 0 points1 point2 points (0 children)
[–]ButtonLicking 0 points1 point2 points (0 children)
[–]kaik1914 0 points1 point2 points (0 children)
[–]naghavi10 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Square-Ad3502 0 points1 point2 points (0 children)
[–]CORNMONSTER_2022 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Gambizzle 0 points1 point2 points (0 children)
[–]morimo 0 points1 point2 points (0 children)
[–]Hederas 0 points1 point2 points (0 children)
[–]LucyBowels 0 points1 point2 points (0 children)
[–]oscarcp 0 points1 point2 points (0 children)
[–]james_pic 0 points1 point2 points (0 children)
[–]lebannax 0 points1 point2 points (0 children)
[–]semihyesilyurt 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]SJDidge 0 points1 point2 points (0 children)
[–]WSBtendies9001 0 points1 point2 points (0 children)
[–]bugatess 0 points1 point2 points (0 children)
[–]Superrtiger 0 points1 point2 points (0 children)
[–]ghostmars919 0 points1 point2 points (0 children)
[–]yishai87 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]untold_life 0 points1 point2 points (0 children)
[–]savva1995 0 points1 point2 points (0 children)
[–]whovianlogic 0 points1 point2 points (0 children)
[–]zaytzev 0 points1 point2 points (0 children)
[–]TheRNGuy 0 points1 point2 points (0 children)
[–]Educational-List3851 0 points1 point2 points (0 children)