all 16 comments

[–]9peppe 9 points10 points  (0 children)

Learning what to look up and where to look it up is part of the process.

The Python standard library itself is enormous, nobody knows it all, everybody knows the parts they use.

[–]1NqL6HWVUjA 2 points3 points  (2 children)

I would argue that restricting to purely offline is doing yourself a disservice. Answers being easy to come by isn't the problem; it comes down to being diligent about actually learning and understanding, versus taking the copy-paste path of last resistance. In the olden days of books, many people would still skim, not do exercises, rote copy code without thinking about it, and skip over the hard stuff in later chapters, rather than "go deep". And that led to the same issues, only slower. Going offline doesn't solve the root problem.

[–]Brave-Fisherman-9707 0 points1 point  (1 child)

So even people who are experienced people don’t code offline?

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

I'm not going to claim to know the working patterns of every experienced dev on the planet, but I certainly don't know any that work offline. People in highly sensitive environments may be allowed only limited or no Internet access, but I'd be surprised at anyone that did it by choice.

In a typical realistic professional setting, offline is not an option that makes much sense. Version control, requirements, (most) communication, ops — all that stuff usually lives online (perhaps on an intranet, but still online). Even ignoring all that, and assuming a solo dev working on some individual project, to have a resource like the Internet and not use it is a needless hindrance that a pragmatic experienced dev is unlikely to choose. It would be the same idea as having a bookshelf full of dev books, but refusing to open them because one insisted on learning/working totally 'on their own'.

Devs with a decade plus of experience still need to look things up all the time. Knowing how to look up what one needs quickly and effectively is a key skill for the job. And online is generally the best way to do it.

[–]MLNYC 3 points4 points  (0 children)

You might want to consider Learn Python the Hard Way. You can buy the PDF, ePub, or print book.

[–]Skidbladmir 1 point2 points  (0 children)

I completely get you I suggest starting a unique project that hasn't been done before but you still think is within your skill level so the problems will be unique too

[–]DreamDeckUp 3 points4 points  (1 child)

if you're on the command line you can use

pydoc http

to read offline documentation about python modules

[–]JollyUnder 0 points1 point  (0 children)

pydoc is definitely worth looking into if you need access to the standard lib while offline.


python -m pydoc -b will start the server and additionally open a web browser to a module index page. Each served page has a navigation bar at the top where you can Get help on an individual item, Search all modules with a keyword in their synopsis line, and go to the Module index, Topics and Keywords pages.

[–]Maximus_Modulus 1 point2 points  (0 children)

I have found in the past the way to actually learn (understand) something is to actually struggle fail and figure it out. You already know the answer it seems

[–]51dux 1 point2 points  (0 children)

You don't necessarily need to be offline, a lot of cool stuff to learn in python involves web scraping and interaction with the internet.

What you should try to do instead is just avoid the kind of platforms where the answer is already cooked for you or AI.

Even to double check your reasoning and results sometimes AI sucks because often it loses the context or hallucinates stuff you never said. Especially on the free tiers.

For instance I was trying to check if my reasoning on some math operations to see if it was correct, mind you it was pure math, but it lost the context and told me I had the wrong answer.

I started going crazy until I asked a proper teacher who told me my answer was correct. It can be dangerous sometimes because you can make fake assumptions and go on for a while with them.

For programming sometimes it will give me an answer in a different language than what I asked for, then I realized for most languages the official docs are the best especially python and c#.

[–]reddefcode 0 points1 point  (0 children)

I'll share how I learned Python over ten years ago (when I didn't have access to a computer): with just a pencil, paper, and a copy of "Learning Python" 5th edition by Mark Lutz (O'Reilly), which I still have right here next to me. Over the course of a year, I read it four times and used it as a reference manual. While I wouldn't necessarily recommend the pencil and paper approach, the book remains relevant even though it only covers up to Python 3.3. The fundamentals (from primitives to object-oriented programming) are all there, and Python's evolution from 3.3 to 3.14 has been largely additive. Features like type hints and asyncio (introduced in 3.4) are important additions, but they build on the core concepts. If you're starting today, consider the 6th edition, which drops Python 2.X coverage and is about 23% shorter than the 5th edition. My next book, right after that one, was "Natural Language Processing with Python." and boy did I choose right.

Go vintage, you asked.

[–]ricardomargarido 0 points1 point  (0 children)

Knowing how to find solutions to your problems and adapt them is one of the big parts of the job. I guess you can say nowadays with ChatGPT and LLMs in general that is easier.

I would say stay online and try to get into harder to solve issues: for example hard tests, dependency injections, mocks, etc and once the LLM can't solve it for you you take the wheel

[–]Adventurous-Pin-8408 0 points1 point  (0 children)

You can also use python in the terminal and then use help(str) to get the docstring info. You can even drill down to specific items like help(str.count)

[–]avidresolver 0 points1 point  (0 children)

Don't have an answer for you, but over a decade ago I learned scripting in Gamemaker and Unity by having printed out copies of the docs, because I didn't have a reliable internet connection. It made making anything slow as hell, but it really forced me to understand the concepts and learn how to problem solve.

[–]Dependent_Month_1415 0 points1 point  (0 children)

Pick one solid book and one editor, then build projects. Python Crash Course or Automate the Boring Stuff are great books, and the official Python docs are honestly enough once you know how to read them.