+ 1
Any suggestions to learn python more efficiently?
I got a book named Python for Beginners it was all easy at first but now I passed more than half of the book and it's teaching about learning to use different kind of modules such as: multyprocessing, numpy, socket etc. and I started to not understand what these all are about... Can anyone suggest anything for me? I really want to improve my programming knowladge but I couldn't go further than making some simple programs since I've started..
1 Answer
+ 3
Think of modules as extra tools for python to use. They are designed for your convenience, so you don't have have to code it yourself. This is one of the things that make Python powerful, especially since there are so many. Don't feel like you have to memorize each other modules off the bat.
numpy for example is a very useful module because it allows you to multi-dimension arrays. Python by default only lets you create single-array dimensions. Of course you can easily on your own change this, but the module automatically handles that for you. There are many more like matplot which lets you make graphs, and what not. Then there is of course the 'random' module that is useful for obvious reasons.
The fundamentals are finished once you learn:
>Data types (string, integer, etc)
>Variables
>operators
>expressions
>functions
>returning values
>conditional operators
>loops
>lists
>list comprehension
>dictionaries
>recursive functions
>lambda functions
>classes (objects and methods more in-depth)
Anything beyond basics is concepts and improving your skill in programming. Are they essential? Yes, they help you create faster, and more efficient programs. But only worry about that after you're done learning the basics and have a firm grasp on all of them. An example of this is learning to do searches, and the difference/effectiveness of different types of searching methods.
If you're struggling a bit. Remember to constantly practice, even if the practice looks dumb or feels silly (i know this already!), stuff like that. If you aren't sure what to make, either try challenges here, or request from us what you could make, and based on what area.
For example:
Lists:
Make a list that contains 100 integers, then sort the list so that only even values remain.