- Is Python a good language for beginning programmers?
- ----------------------------------------------------
- Yes. It's relatively easy to learn compared to some other languages like Java.
- It is still common to start students with a procedural and statically
- typed language such as Pascal, C, or a subset of C++ or Java.
- Students may be better served by learning Python as their first
- language. Python has a very simple and consistent syntax and a large
- standard library and, most importantly, using Python in a beginning
- programming course lets students concentrate on important programming
- skills such as problem decomposition and data type design. With
- Python, students can be quickly introduced to basic concepts such as
- loops and procedures. They can probably even work with user-defined
- objects in their very first course.
- For a student who has never programmed before, using a statically
- typed language seems unnatural. It presents additional complexity
- that the student must master and slows the pace of the course. The
- students are trying to learn to think like a computer, decompose
- problems, design consistent interfaces, and encapsulate data. While
- learning to use a statically typed language is important in the long
- term, it is not necessarily the best topic to address in the students'
- first programming course.
- Many other aspects of Python make it a good first language. Like
- Java, Python has a large standard library so that students can be
- assigned programming projects very early in the course that *do*
- something. Assignments aren't restricted to the standard four-
- function calculator and check balancing programs. By using the
- standard library, students can gain the satisfaction of working on
- realistic applications as they learn the fundamentals of programming.
- Using the standard library also teaches students about code reuse.
- Third-party modules such as PyGame are also helpful in extending the
- students' reach.
- Python's interactive interpreter enables students to test language
- features while they're programming. They can keep a window with the
- interpreter running while they enter their program's source in another
- window. If they can't remember the methods for a list, they can do
- something like this:
- >>> L = []
- >>> dir(L)
- ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
- '__dir__', '__doc__', '__eq__', '__format__', '__ge__',
- '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__',
- '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__',
- '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
- '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__',
- '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear',
- 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove',
- 'reverse', 'sort']
- >>> [d for d in dir(L) if '__' not in d]
- ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
- >>> help(L.append)
- Help on built-in function append:
- append(...)
- L.append(object) -> None -- append object to end
- >>> L.append(1)
- >>> L
- [1]
- With the interpreter, documentation is never far from the student as
- they are programming.
- There are also good IDEs for Python. IDLE is a cross-platform IDE for
- Python that is written in Python using Tkinter. Emacs users will be
- happy to know that there is a very good Python mode for Emacs. All of
- these programming environments provide syntax highlighting, auto-
- indenting, and access to the interactive interpreter while coding.
- Consult the Python wiki for a full list of Python editing
- environments.
- Recommended video:
- Mastering Python - Everything You Need To Know To Become a Python Master
- https://www.youtube.com/watch?v=p15xzjzR9j0
Python software and documentation are licensed under the PSF License Agreement.
Starting with Python 3.8.6, examples, recipes, and other code in the documentation are dual licensed under the PSF License Agreement and the Zero-Clause BSD license.
Some software incorporated into Python is under different licenses. The licenses are listed with code falling under that license. See Licenses and Acknowledgements for Incorporated Software for an incomplete list of these licenses.
Python and it's documentation is:
Copyright © 2001-2022 Python Software Foundation. All rights reserved.
Copyright © 2000 BeOpen.com. All rights reserved.
Copyright © 1995-2000 Corporation for National Research Initiatives. All rights reserved.
Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved.
See History and License for complete license and permissions information:
https://docs.python.org/3/license.html#psf-license