For mastering python should I learn other programming languages like c?
Python is an excellent language to start with, no need to start with C.
- The syntax is simple and straightforward.
- Python forces you write pretty code, because the indenting is functional.
- Python is a higher level language, a lot of the work is already done for you.
- Python is interpreted, so you don't have to compile it.
Python is clean and fast. It's a great place to start.
No, you don't need any other knowledge to start with python. Just get python and you're ready to go.
A good place to start (which helped me a lot along with the python docs) is http://diveintopython.org/
Learning C will definitely give you an appreciation for Python, and the more you know always helps. But knowing C is definitely not needed to be a great Python developer.
Learning C will teach you more about how programming works at a lower level.
One advantage to knowing C or C++ is that you can create highly optimized python modules.
If you're looking on a good book on Python stackoverflow's very own S. Lott has a lot of good Python material that you can read here for free.
Python is one of the easiest languages to learn that I know of, so you're probably fine without much experience with other languages like C.
However, experimenting with lower level languages like C can help you understand and appreciate some of the magic which Python hides from you. It can also teach you programming techniques which you might not have otherwise thought of.
Some nice resources for learning Python:
- For people new to programming: A Byte of Python
- For programmers: see "Dive into Python" (a quick google search will get you there)
Have fun!
To get really good at Python you do not need to know any other language. I would argue to truly master Python (or any other language really) it probably do need to learn 2 or 3 others. If you're new to programming, Python is a great place to start. To truly master the craft you'll need a great deal more in your tool-belt than any one language.
Learning multiple languages lets you see different ways to perform various tasks. Sometimes that has direct impact on how you use a language like Python (for example when you import modules that wrapped around C++ libraries and behave more like their parents than typical Python modules). Sometimes it's just about helping you better understand programming styles and techniques, and showing you more elegant ways to solve the problem than were initially obvious.
Python was my first language and it's a fantastic way to start.
The smaller emphasis on confusing syntax and vocab lets you get straight to focusing on the actual logic and structure of code. While going on to learn the lower level operations that are routine in languages such as C is a good idea if you're interested, you can still become a great python programmer without them.