Answer: Python is a highlevel generalpurpose programming language that can be applied to many different classes of problemsThe language comes with a large standard library that covers areas such as string processing regular expressions Unicode calculating differences between files internet protocols HTTP FTP SMTP XMLRPC POP IMAP software engineering unit testing logging profiling parsing Python code and operating system interfaces system calls filesystems TCPIP sockets  Look at the table of contents forThe Python Standard Libraryto get an idea of whats available  A wide variety of thirdparty extensions are also available  Consultthe Python Package Indexto find packages of interest to you

Question: what-is-python-good-for


Answer: Heres averybrief summary of what started it all written by Guido van RossumI had extensive experience with implementing an interpreted language in the ABC group at CWI and from working with this group I had learned a lot about language design  This is the origin of many Python features including the use of indentation for statement grouping and the inclusion of veryhighlevel data types although the details are all different in PythonI had a number of gripes about the ABC language but also liked many of its features  It was impossible to extend the ABC language or its implementation to remedy my complaints  in fact its lack of extensibility was one of its biggest problems  I had some experience with using Modula2 and talked with the designers of Modula3 and read the Modula3 report Modula3 is the origin of the syntax and semantics used for exceptions and some other Python featuresI was working in the Amoeba distributed operating system group at CWI  We needed a better way to do system administration than by writing either C programs or Bourne shell scripts since Amoeba had its own system call interface which wasnt easily accessible from the Bourne shell  My experience with error handling in Amoeba made me acutely aware of the importance of exceptions as a programming language featureIt occurred to me that a scripting language with a syntax like ABC but with access to the Amoeba system calls would fill the need  I realized that it would be foolish to write an Amoebaspecific language so I decided that I needed a language that was generally extensibleDuring the 1989 Christmas holidays I had a lot of time on my hand so I decided to give it a try  During the next year while still mostly working on it in my own time Python was used in the Amoeba project with increasing success and the feedback from colleagues made me add many early improvementsIn February 1991 after just over a year of development I decided to post to USENET  The rest is in theMiscHISTORYfile

Question: why-was-python-created-in-the-first-place


Answer: Its probably best to cite your favorite book about PythonThevery first articleabout Python was written in 1991 and is now quite outdatedGuido van Rossum and Jelke de Boer Interactively Testing Remote Servers Using the Python Programming Language CWI Quarterly Volume 4 Issue 4 December 1991 Amsterdam pp 283303

Question: are-there-any-published-articles-about-python-that-i-can-reference


Answer: Seehttpspepspythonorgfor the Python Enhancement Proposals PEPs PEPs are design documents describing a suggested new feature for Python providing a concise technical specification and a rationale  Look for a PEP titled Python XY Release Schedule where XY is a version that hasnt been publicly released yetNew development is discussed onthe pythondev mailing list

Question: what-new-developments-are-expected-for-python-in-the-future


Answer: here are numerous tutorials and books available  The standard documentation includesThe Python TutorialConsultthe Beginners Guideto find information for beginning Python programmers including lists of tutorials

Question: i-ve-never-programmed-before-is-there-a-python-tutorial


Answer: When he began implementing Python Guido van Rossum was also reading the published scripts fromMonty Pythons Flying Circus a BBC comedy series from the 1970s  Van Rossum thought he needed a name that was short unique and slightly mysterious so he decided to call the language Python

Question: why-is-it-called-python


Answer: You can do anything you want with the source as long as you leave the copyrights in and display those copyrights in any documentation about Python that you produce  If you honor the copyright rules its OK to use Python for commercial use to sell copies of Python in source or binary form modified or unmodified or to sell products that incorporate Python in some form  We would still like to know about all commercial use of Python of courseSeethe license pageto find further explanations and the full text of the PSF LicenseThe Python logo is trademarked and in certain cases permission is required to use it  Consultthe Trademark Usage Policyfor more information

Question: are-there-copyright-restrictions-on-the-use-of-python


Answer: There are probably millions of users though its difficult to obtain an exact countPython is available for free download so there are no sales figures and its available from many different sites and packaged with many Linux distributions so download statistics dont tell the whole story eitherThe complangpython newsgroup is very active but not all Python users post to the group or even read it

Question: how-many-people-are-using-python


Answer: The Python Software Foundation is an independent nonprofit organization that holds the copyright on Python versions 21 and newer  The PSFs mission is to advance open source technology related to the Python programming language and to publicize the use of Python  The PSFs home page is athttpswwwpythonorgpsfDonations to the PSF are taxexempt in the US  If you use Python and find it helpful please contribute viathe PSF donation page

Question: what-is-the-python-software-foundation


Answer: In general no  There are already millions of lines of Python code around the world so any change in the language that invalidates more than a very small fraction of existing programs has to be frowned upon  Even if you can provide a conversion program theres still the problem of updating all documentation many books have been written about Python and we dont want to invalidate them all at a single strokeProviding a gradual upgrade path is necessary if a feature has to be changedPEP 5describes the procedure followed for introducing backwardincompatible changes while minimizing disruption for users

Question: is-it-reasonable-to-propose-incompatible-changes-to-python


Answer: Python versions are numbered ABC or ABAis the major version number  it is only incremented for really major changes in the languageBis the minor version number  it is incremented for less earthshattering changesCis the micro version number  it is incremented for each bugfix releaseSeePEP 6for more information about bugfix releasesNot all releases are bugfix releases  In the runup to a new feature release a series of development releases are made denoted as alpha beta or release candidate  Alphas are early releases in which interfaces arent yet finalized its not unexpected to see an interface change between two alpha releases Betas are more stable preserving existing interfaces but possibly adding new modules and release candidates are frozen making no changes except as needed to fix critical bugsAlpha beta and release candidate versions have an additional suffixThe suffix for an alpha version is aN for some small numberNThe suffix for a beta version is bN for some small numberNThe suffix for a release candidate version is rcN for some small numberNIn other words all versions labeled20aNprecede the versions labeled20bN which precede versions labeled20rcN andthoseprecede 20You may also find version numbers with a  suffix eg 22  These are unreleased versions built directly from the CPython development repository  In practice after a final minor release is made the version is incremented to the next minor version which becomes the a0 version eg 24a0See also the documentation forsysversionsyshexversion andsysversioninfo

Question: how-does-the-python-version-numbering-scheme-work


Answer: To report a bug or submit a patch use the issue tracker athttpsgithubcompythoncpythonissuesFor more information on how Python is developed consultthe Python Developers Guide

Question: how-do-i-submit-bug-reports-and-patches-for-python


Answer: Seehttpswwwpythonorgaboutsuccessfor a list of projects that use Python Consulting the proceedings forpast Python conferenceswill reveal contributions from many different companies and organizationsHighprofile Python projects includethe Mailman mailing list managerandthe Zope application server  Several Linux distributions most notablyRed Hat have written part or all of their installer and system administration software in Python  Companies that use Python internally include Google Yahoo and Lucasfilm Ltd

Question: have-any-significant-projects-been-done-in-python


Answer: YesIt 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 userdefined objects in their very first courseFor 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 courseMany 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 thatdosomething  Assignments arent restricted to the standard fourfunction 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  Thirdparty modules such as PyGame are also helpful in extending the students reachPythons interactive interpreter enables students to test language features while theyre programming  They can keep a window with the interpreter running while they enter their programs source in another window  If they cant remember the methods for a list they can do something like thisLdirLadd class contains delattr delitemdir doc eq format gegetattribute getitem gt hash iaddimul init iter le len ltmul ne new reduce reduceexrepr reversed rmul setattr setitemsizeof str subclasshook append clearcopy count extend index insert pop removereverse sortdfordindirLifnotindappend clear copy count extend index insert pop remove reverse sorthelpLappendHelp on builtin function appendappendLappendobject  None  append object to endLappend1L1With the interpreter documentation is never far from the student as they are programmingThere are also good IDEs for Python  IDLE is a crossplatform 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 autoindenting and access to the interactive interpreter while coding  Consultthe Python wikifor a full list of Python editing environmentsIf you want to discuss Pythons use in education you may be interested in joiningthe edusig mailing list

Question: is-python-a-good-language-for-beginning-programmers


Answer: There is a newsgroupcomplangpython and a mailing listpythonlist  The newsgroup and mailing list are gatewayed into each other  if you can read news its unnecessary to subscribe to the mailing listcomplangpythonis hightraffic receiving hundreds of postings every day and Usenet readers are often more able to cope with this volumeAnnouncements of new software releases and events can be found in complangpythonannounce a lowtraffic moderated list that receives about five postings per day  Its available asthe pythonannounce mailing listMore info about other mailing lists and newsgroups can be found athttpswwwpythonorgcommunitylists

Question: is-there-a-newsgroup-or-mailing-list-devoted-to-python


Answer: Yes there are many and more are being published  See the pythonorg wiki athttpswikipythonorgmoinPythonBooksfor a listYou can also search online bookstores for Python and filter out the Monty Python references or perhaps search for Python and language

Question: are-there-any-books-on-python


Answer: The latest Python source distribution is always available from pythonorg athttpswwwpythonorgdownloads  The latest development sources can be obtained athttpsgithubcompythoncpythonThe source distribution is a gzipped tar file containing the complete C source Sphinxformatted documentation Python library modules example programs and several useful pieces of freely distributable software  The source will compile and run out of the box on most UNIX platformsConsult theGetting Started section of the Python Developers Guidefor more information on getting the source code and compiling it

Question: how-do-i-obtain-a-copy-of-the-python-source


Answer: Alpha and beta releases are available fromhttpswwwpythonorgdownloads  All releases are announced on the complangpython and complangpythonannounce newsgroups and on the Python home page athttpswwwpythonorg an RSS feed of news is availableYou can also access the development version of Python through Git  SeeThe Python Developers Guidefor details

Question: how-do-i-get-a-beta-test-version-of-python


Answer: Very stable  New stable releases have been coming out roughly every 6 to 18 months since 1991 and this seems likely to continue  As of version 39 Python will have a new feature release every 12 months PEP 602The developers issue bugfix releases of older versions so the stability of existing releases gradually improves  Bugfix releases indicated by a third component of the version number eg 353 362 are managed for stability only fixes for known problems are included in a bugfix release and its guaranteed that interfaces will remain the same throughout a series of bugfix releasesThe latest stable releases can always be found on thePython download page  There are two productionready versions of Python 2x and 3x The recommended version is 3x which is supported by most widely used libraries  Although 2x is still widely usedit is not maintained anymore

Question: how-stable-is-python


Answer: Python is an interpreted interactive objectoriented programming language  It incorporates modules exceptions dynamic typing very high level dynamic data types and classes  It supports multiple programming paradigms beyond objectoriented programming such as procedural and functional programming Python combines remarkable power with very clear syntax It has interfaces to many system calls and libraries as well as to various window systems and is extensible in C or C  It is also usable as an extension language for applications that need a programmable interface Finally Python is portable it runs on many Unix variants including Linux and macOS and on WindowsTo find out more start withThe Python Tutorial  TheBeginners Guide to Pythonlinks to other introductory tutorials and resources for learning Python

Question: what-is-python


Answer: o but it helps

Question: do-i-have-to-like-monty-python-s-flying-circus


Answer: e Python projects infrastructure is located all over the world and is managed by the Python Infrastructure Team Detailshere

Question: where-in-the-world-is-www-python-org-located


Answer: The standard documentation for the current stable version of Python is available athttpsdocspythonorg3  PDF plain text and downloadable HTML versions are also available athttpsdocspythonorg3downloadhtmlThe documentation is written in reStructuredText and processed bythe Sphinx documentation tool  The reStructuredText source for the documentation is part of the Python source distribution

Question: how-do-i-get-documentation-on-python