Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Itts high-level built in data structures, combined with dynamic typing and dynamic binding are useful for Rapid Application Development, as well as for use as a scripting language.

Sources for Further Information

  • Getting Started - A beginner’s guide to installing and learning Python

  • - This is the official page for Python

  • Exploring Data in Python 3 - This free ebook focuses on using Python to solve data analysis problems common in the world of informatics

  • Python Best Practices - This web guide by Data Flair will help you write more readable and standardized Python code

  • Creating Python Packages - Organize your .py files (aka "modules" or "classes") into packages

  • Structuring Your Python Project - Learn how to best organize your python projects (Which functions should go into which files? How does data flow through the project?) and see sample repositories (aka project level file organization structures)

Tools and Software

  • PyCharm - PyCharm is an integrated development environment for Python. The Community Edition of PyCharm is free

  • Jupyter Notebook - An open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.


  • The Python Tutorial - This tutorial follows Python’s official documentation and was created by the Python Software Foundation

  • Codeacademy  - Codecademy makes available its introductory self-guided, hands-on course content for free

  • Python for Everybody - This site provides a series of detailed videos you can follow along with as you read Exploring Data in Python 3

Library Support

Further Support at Yale