Learning python together

Hello!
I am a very new Python student and I’m looking for

  • fellow students of Python and/or
  • a couple of helpful tutors

that would accompany me on this journey which I expect to be very beautiful.

I’d like to bounce ideas off each other and maybe read some problems new students might have so that we can grow faster together.
From tutors I know that there are many things you wish you’d known when you started studying Python. Will you be so kind to share those? :slight_smile:

Is anyone interested in this?

5 Likes

Hey @gatto!

… things you wish you’d known… Will you be so kind to share those?

I’ve done quite a bit of Python development and published a few packages to PyPi, but I’m learning new things every day. I’d love to share a few thoughts :smiley:

General software advice

  • The best way to learn any language is to use it.
  • If you’re starting out, I highly recommend using a light text editor: emacs/vim/sublime/atom. Integrated development interfaces (IDEs) like PyCharm/Eclipse/Spyder have fantastic features, but I usually find these cumbersome when I’m trying to focus on learning something new.
  • Clean Code” and “Clean Architecture” are primarily written with Java development in mind, but most of the advice applies to general software engineering.

Python conventions

Some languages require you follow specific patterns (looking at you, Java) and the compiler will reject your code otherwise. Python tends to leave you free to follow any object-oriented/functional/whatever design pattern you wish.

However, this freedom also leads to non-obvious things you have to learn along the way. Try to answer these two questions (hint: in Java the answers are obvious):

  • What is the difference between def _foo(): and def foo():?
  • What does “if __name__ == "__main__":” do and why is it at the bottom of a file?

Reading other people’s code and checking against styleguides (PEP8, Google) are the main two ways I picked up on these sort of conventions.

Tools to make development easier

  • black: Automatic code formatting.
  • pdb: Debug by dropping breakpoints in your code: import pdb; pdb.set_trace()
  • pylint: Help catch bad practices (unused variables, shadowing effects)
  • sphinx: Whenever you’re reading online Python documentation, it was probably generated with this tool. I’ve found that knowing some of the conventions of the generator have helped me better understand where to find documentation.
  • venv: Virtual environments for managing Python dependencies on your various projects.

Closing comments

This is extremely general advice, so there’s a lot this does not cover: libraries, import conventions, scripting vs. packaging, unit/integration/functional testing, CI systems, code coverage, version control, code optimization, C bindings. But many of these will also be specific to the problems you’re interested in solving.

If it’s helpful, I have a medium-sized Python library I’ve been hacking on in my free time. I’d be happy to answer questions about development choices, project organization, or any related questions on Python more generally.

Happy hacking!

4 Likes

There is a well Known Programming Platform Named “Codewar” . You can Practice Python Code and Build Logic Building for Coding .

Cheers :slight_smile:

Hello,interested in this very much.

You can learn basics of python from “w3 schools” which is a basically website of developers.

interested

hello i am also interested to learn Python with other people. The basics i want to learn with an online course. How do we learn together the stuff? with projects,or…?

Welcome
Aleksandar Milenkovic
to Python Family :slight_smile:

Youtube Video Tutorials : https://www.youtube.com/watch?v=_uQrJ0TkZlc

FreeCodeCamp is also a better Free option

Best Video Tutorial(PAID): https://codewithmosh.com/p/python-programming-course-beginners

Best Ebooks : SELECTED[Eric_Matthes]_Python_Crash_Course__A_Hands-On

My Doors Are Always Open For You If you need any Kind of help related with Python. Use Anaconda 3 With PyCharm Community Edition For Better Experienece. Take Care :slight_smile:

Hello Adil,
thank you very much for this information. I just start to learn Python,i hope in a view week we can work together on a project.
And thank you for the offer to help me in Python. Of course i will help you too if i can. I have just finished HTML and CSS, and next will be Python. Maybe my little Java knowledge will help me to learn it faster.

Yes , Because of Java you can learn python Faster and Less then Two weeks you can easily Develop Programs using Python .

hello .i like learning phyton

2 Likes
© 2017 GitHub, Inc.
with by
GitHub Education