The Python programming language lies behind an enormous variety of software applications today, many of which affect our daily lives in ways both large and small. First released by its creator Guido van Rossum in 1991, Python has undergone continual improvement and has become a powerful yet flexible and easy-to- learn “Swiss Army knife” for programmers. Computer system administrators use it to solve daily problems quickly and developers can use it to build massive enterprise-scale websites. It is used in machine learning, banking, scientific computing, education, video games, math, physics, engineering, and for fast software prototyping by thousands of entities, including Autodesk, Google,Facebook, Microsoft, Dropbox, Alibaba, NASA, IBM, and hundreds of universities around the world. UC Berkeley and MIT are known to use it in their undergraduate programming courses.|
Guido van Rossum - 2018 Fellow - Computer History Museum
Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java. The language provides constructs intended to enable clear programs on both a small and large scale.1
Python is an Object-Oriented Programming Language.
The Twelve-Factor App - In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service. The twelve-factor app is a methodology for building software-as-a-service apps that...
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let's do more of those!
- Python is powerful... and fast; plays well with others; runs everywhere; is friendly & easy to learn; is Open.
- Introduction to Computer Science and Programming Using Python
- Video Lectures - This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python™ programming language.
- Practice Python - There are over 30 beginner Python exercises just waiting to be solved. Each exercise comes with a small discussion of a topic and a link to a solution.
- The Python Tutorial - 3.x - Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.
- CodingBat code practice
- Python 3.x documentation
- Think Python: How to Think Like a Computer Scientist
- Python Programming
- The Hitchhiker’s Guide to Python
|Automate the Boring Stuff with Python: Practical Programming for Total Beginners - If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?|
|Think Python: How to Think Like a Computer Scientist - If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language a step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design. This second edition and its supporting code have been updated for Python 3.|
|Learning Python - Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs and scripting applications. Python is considered easy to learn, but there's no quicker way to mastery of the language than learning from an expert teacher. This edition of "Learning Python" puts you in the hands of two expert teachers, Mark Lutz and David Ascher, whose friendly, well-structured prose has guided many a programmer to proficiency with the language. "Learning Python," Second Edition, offers programmers a comprehensive learning tool for Python and object-oriented programming.|
|Fluent Python: Clear, Concise, and Effective Programming - Python's simplicity lets you become productive quickly, but this often means you aren't using everything it has to offer. With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.|
|The Hitchhiker's Guide to Python: Best Practices for Development - The Hitchhiker's Guide to Python takes the journeyman Pythonista to true expertise. More than any other language, Python was created with the philosophy of simplicity and parsimony. Now 25 years old, Python has become the primary or secondary language (after SQL) for many business users. With popularity comes diversity--and possibly dilution.|