SlideShare a Scribd company logo
Introduction to
Python
Delft, 19 Aug 2019
What is Python?
❏ Multi-purpose (Web, GUI, Scripting, etc.)
❏ Object Oriented
❏ Interpreted
❏ Both strongly typed and dynamically typed
❏ Focus on readability and productivity
Features
❏ Batteries Included
❏ Everything is an Object
❏ Interactive Shell
❏ Strong Introspection
❏ Cross Platform
❏ CPython, Jython, IronPython, PyPy
Releases
❏ Created in 1989 by Guido Van Rossum
❏ Python 1.0 released in 1994
❏ Python 2.0 released in 2000
❏ Python 3.0 released in 2008
❏ Python 2.7 is the recommended version
❏ 3.0 adoption will take a few years
Python popularity among other
languages
TIOBE, Jan 2019 PyPL, Jan 2019
Python among other programming
languages (benchmark)
❏ https://en.wikipedia.org/wiki/List_of_programm
ing_languages_by_type
❏ https://attractivechaos.github.io/plb/
❏ http://www.bioinformatics.org/benchmark/resu
lts.html
❏ https://github.com/kostya/benchmarks
❏ End-users just don’t care: 0.001 vs. 0.01
seconds no matter; horizontal scalability used
❏ More productive: more concise and expressive language and
requires less time, effort, and lines of code to perform the same operations
❏ Execution Speed does not matter as much as
Business Speed
❏ Rich set of standard libraries and frameworks
❏ Large community (packages, Q/A, discussions)
Despite being slow, why is Python still
popular?
How readable is Python?
How readable is Python?
How readable is Python?
How readable is Python?
How readable is Python?
When use and not use Python?
Use
❏ Execution speed does
not matter
❏ Everyone is new to
programming
❏ Readability is more
important
Not use
❏ Speed-intensive
applications including
games that require
high-performance
❏ OS or system-level
applications (e.g.,
memory manipulation)
How to run a Python program
❏ Using embedded interpreter in IDE/Notebook
❏ Using stand-alone interpreter
❏ Using the interactive shell
How to write a Python program
❏ IDE: Eclipse + PyDev, Visual Studio, PyCharm,
Spyder, Thonny
❏ Code editor: Sublime Text, Atom, GNU Emacs,
Vi / Vim / Nano, Visual Studio Code, ...
❏ Notebook: Jupyter, Zeppelin
How to write a Python program
❏ Use IDE: write a complex program,
collaboration in a team, many
dependencies/libraries/binaries
❏ Use code editor: write a simple program
❏ Notebook: interactive, reporting-like
deliverable
Most popular Python IDE/Code Editor
https://insights.stackoverflow.com/survey/201
9#development-environments-and-tools
Python package installer (pip)
❏ pip is the recommended tool to install python package from
python package public repos (such as public PyPI - and its
mirrors) and private repos
❏ pip can install from either Source Distributions (sdist) or
wheels, but if both are present on PyPI, pip will prefer a
compatible wheel (pre-built).
Python public packages (category) [1/2]
❏ Admin Panels
❏ Algorithms and Design Patterns
❏ Audio
❏ Authentication
❏ Build Tools
❏ Built-in Classes Enhancement
❏ Caching
❏ ChatOps Tools
❏ CMS
❏ Code Analysis
❏ Command-line Interface Development
❏ Command-line Tools
❏ Compatibility
❏ Computer Vision
❏ Concurrency and Parallelism
❏ Configuration
❏ Cryptography
❏ Data Analysis
❏ Data Validation
❏ Data Visualization
❏ Database
❏ Database Drivers
❏ Date and Time
❏ Debugging Tools
❏ Deep Learning
❏ DevOps Tools
❏ Distributed Computing
❏ Distribution
❏ Documentation
❏ Downloader
❏ E-commerce
❏ Editor Plugins and IDEs
❏ Email
❏ Environment Management
❏ Files
❏ Foreign Function Interface
❏ Forms
❏ Functional Programming
❏ Game Development
❏ Geolocation
❏ GUI Development
❏ Hardware
❏ HTML Manipulation
❏ HTTP Clients
❏ Image Processing
❏ Implementations
❏ Interactive Interpreter
❏ Internationalization
❏ Job Scheduler
❏ Logging
❏ Machine Learning
Total: 63595 packages
Python public packages (category) [2/2]
❏ Miscellaneous
❏ Natural Language Processing
❏ Network Virtualization
❏ Networking
❏ News Feed
❏ ORM
❏ Package Management
❏ Package Repositories
❏ Permissions
❏ Processes
❏ Queue
❏ Recommender Systems
❏ RESTful API
❏ Robotics
❏ RPC Servers
❏ Science
❏ Search
❏ Serialization
❏ Serverless Frameworks
❏ Specific Formats Processing
❏ Static Site Generator
❏ Tagging
❏ Template Engine
❏ Testing
❏ Text Processing
❏ Third-party APIs
❏ URL Manipulation
❏ Video
❏ Web Asset Management
❏ Web Content Extracting
❏ Web Crawling
❏ Web Frameworks
❏ WebSocket
❏ WSGI Servers
Total: 63595 packages
https://github.com/vinta/awesome-python
Python public package popularity
https://stackoverflow.blog/2017/09/14/python-
growing-quickly/
Python public package popularity
Python modularity
Anaconda
(app+
libraries+
binaries)
*Miniconda is the light
version of Anaconda (less
packages)
Python modularity: conda vs pip
pip installs only Python packages, but conda installs
also the system binaries needed by the Python
packages.
Very important for a non-sudo user to leverage the
server capability
Python modularity in practice
Basic Python Tutorial
❏ We’re using Anaconda
❏ Clone:
https://gitlab.erc.monash.edu.au/andrease/Python4Maths

More Related Content

PPTX
Python presentation by Monu Sharma
PPTX
Python programming
PPTX
Python PPT
PPTX
Introduction to python
PPTX
Intro to Python Programming Language
PPTX
Python | What is Python | History of Python | Python Tutorial
PPTX
Python Tutorial Part 1
PDF
Python course syllabus
Python presentation by Monu Sharma
Python programming
Python PPT
Introduction to python
Intro to Python Programming Language
Python | What is Python | History of Python | Python Tutorial
Python Tutorial Part 1
Python course syllabus

What's hot (20)

PPT
Python ppt
PDF
Introduction To Python
PPTX
Introduction to python
PDF
Python libraries
PPTX
Python programming
PPTX
Basics of python
PDF
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
PPTX
Beginning Python Programming
PPTX
Introduction to the basics of Python programming (part 1)
PPTX
Python programming introduction
PDF
Python Tutorial For Beginners | Python Crash Course - Python Programming Lang...
PDF
Python Programming Language | Python Classes | Python Tutorial | Python Train...
PDF
Intro to Python for Non-Programmers
PDF
Python Programming Tutorial | Edureka
PDF
Introduction To Python | Edureka
PDF
Python Basics
PPT
Intro to Python
PPTX
Python Course for Beginners
PDF
Teach your kids how to program with Python and the Raspberry Pi
Python ppt
Introduction To Python
Introduction to python
Python libraries
Python programming
Basics of python
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
Beginning Python Programming
Introduction to the basics of Python programming (part 1)
Python programming introduction
Python Tutorial For Beginners | Python Crash Course - Python Programming Lang...
Python Programming Language | Python Classes | Python Tutorial | Python Train...
Intro to Python for Non-Programmers
Python Programming Tutorial | Edureka
Introduction To Python | Edureka
Python Basics
Intro to Python
Python Course for Beginners
Teach your kids how to program with Python and the Raspberry Pi
Ad

Similar to Introduction to python (20)

PPTX
Introduction to Python Programming in Civil Engineering
PDF
Python. Why to learn?
PDF
Mastering the Interview: 50 Common Interview Questions Demystified
PDF
Python, the Language of Science and Engineering for Engineers
PPTX
Python-History.pptx
PPTX
Introduction-to-Python-Programming-Language (1).pptx
PPTX
Introduction of python programming
PPTX
Python Mastery: A Comprehensive Guide to Setting Up Your Development Environment
PPTX
Python Basics for python understanding.pptx
PDF
Introduction-To-Python- a guide to master
PDF
Python: The Versatile Programming Language - Introduction
PPTX
UNIT 1 PYTHON introduction and basic level
PPTX
Python a Versatile Programming Language - Introduction
PPT
Python_basics_tuples_sets_lists_control_loops.ppt
PDF
Why learn python in 2017?
PDF
Is Python the Future of Programming
PPTX
Future of Python Certified Professionals in Data Science and Artificial Intel...
PDF
session5-Getting stated with Python.pdf
PPTX
Best Python IDE in AI and Data Analytics
PDF
Introduction to Python and how to use python
Introduction to Python Programming in Civil Engineering
Python. Why to learn?
Mastering the Interview: 50 Common Interview Questions Demystified
Python, the Language of Science and Engineering for Engineers
Python-History.pptx
Introduction-to-Python-Programming-Language (1).pptx
Introduction of python programming
Python Mastery: A Comprehensive Guide to Setting Up Your Development Environment
Python Basics for python understanding.pptx
Introduction-To-Python- a guide to master
Python: The Versatile Programming Language - Introduction
UNIT 1 PYTHON introduction and basic level
Python a Versatile Programming Language - Introduction
Python_basics_tuples_sets_lists_control_loops.ppt
Why learn python in 2017?
Is Python the Future of Programming
Future of Python Certified Professionals in Data Science and Artificial Intel...
session5-Getting stated with Python.pdf
Best Python IDE in AI and Data Analytics
Introduction to Python and how to use python
Ad

Recently uploaded (20)

PPTX
Understanding Prototyping in Design and Development
PPTX
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
PPTX
LESSON-1-NATURE-OF-MATHEMATICS.pptx patterns
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PDF
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
PPTX
Computer network topology notes for revision
PPTX
batch data Retailer Data management Project.pptx
PDF
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
PPTX
IB Computer Science - Internal Assessment.pptx
PDF
Master Databricks SQL with AccentFuture – The Future of Data Warehousing
PPTX
Business Acumen Training GuidePresentation.pptx
PPTX
咨询新西兰毕业证(UCOL毕业证书)联合理工学院毕业证国外毕业证
PDF
Taxes Foundatisdcsdcsdon Certificate.pdf
PPTX
Data-Driven-Credit-Card-Launch-A-Wells-Fargo-Case-Study.pptx
PPTX
Extract Transformation Load (3) (1).pptx
PPTX
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
PPTX
Moving the Public Sector (Government) to a Digital Adoption
PPTX
1intro to AI.pptx AI components & composition
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PDF
Foundation of Data Science unit number two notes
Understanding Prototyping in Design and Development
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
LESSON-1-NATURE-OF-MATHEMATICS.pptx patterns
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
Computer network topology notes for revision
batch data Retailer Data management Project.pptx
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
IB Computer Science - Internal Assessment.pptx
Master Databricks SQL with AccentFuture – The Future of Data Warehousing
Business Acumen Training GuidePresentation.pptx
咨询新西兰毕业证(UCOL毕业证书)联合理工学院毕业证国外毕业证
Taxes Foundatisdcsdcsdon Certificate.pdf
Data-Driven-Credit-Card-Launch-A-Wells-Fargo-Case-Study.pptx
Extract Transformation Load (3) (1).pptx
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
Moving the Public Sector (Government) to a Digital Adoption
1intro to AI.pptx AI components & composition
STUDY DESIGN details- Lt Col Maksud (21).pptx
Foundation of Data Science unit number two notes

Introduction to python

  • 2. What is Python? ❏ Multi-purpose (Web, GUI, Scripting, etc.) ❏ Object Oriented ❏ Interpreted ❏ Both strongly typed and dynamically typed ❏ Focus on readability and productivity
  • 3. Features ❏ Batteries Included ❏ Everything is an Object ❏ Interactive Shell ❏ Strong Introspection ❏ Cross Platform ❏ CPython, Jython, IronPython, PyPy
  • 4. Releases ❏ Created in 1989 by Guido Van Rossum ❏ Python 1.0 released in 1994 ❏ Python 2.0 released in 2000 ❏ Python 3.0 released in 2008 ❏ Python 2.7 is the recommended version ❏ 3.0 adoption will take a few years
  • 5. Python popularity among other languages TIOBE, Jan 2019 PyPL, Jan 2019
  • 6. Python among other programming languages (benchmark) ❏ https://en.wikipedia.org/wiki/List_of_programm ing_languages_by_type ❏ https://attractivechaos.github.io/plb/ ❏ http://www.bioinformatics.org/benchmark/resu lts.html ❏ https://github.com/kostya/benchmarks
  • 7. ❏ End-users just don’t care: 0.001 vs. 0.01 seconds no matter; horizontal scalability used ❏ More productive: more concise and expressive language and requires less time, effort, and lines of code to perform the same operations ❏ Execution Speed does not matter as much as Business Speed ❏ Rich set of standard libraries and frameworks ❏ Large community (packages, Q/A, discussions) Despite being slow, why is Python still popular?
  • 8. How readable is Python?
  • 9. How readable is Python?
  • 10. How readable is Python?
  • 11. How readable is Python?
  • 12. How readable is Python?
  • 13. When use and not use Python? Use ❏ Execution speed does not matter ❏ Everyone is new to programming ❏ Readability is more important Not use ❏ Speed-intensive applications including games that require high-performance ❏ OS or system-level applications (e.g., memory manipulation)
  • 14. How to run a Python program ❏ Using embedded interpreter in IDE/Notebook ❏ Using stand-alone interpreter ❏ Using the interactive shell
  • 15. How to write a Python program ❏ IDE: Eclipse + PyDev, Visual Studio, PyCharm, Spyder, Thonny ❏ Code editor: Sublime Text, Atom, GNU Emacs, Vi / Vim / Nano, Visual Studio Code, ... ❏ Notebook: Jupyter, Zeppelin
  • 16. How to write a Python program ❏ Use IDE: write a complex program, collaboration in a team, many dependencies/libraries/binaries ❏ Use code editor: write a simple program ❏ Notebook: interactive, reporting-like deliverable
  • 17. Most popular Python IDE/Code Editor https://insights.stackoverflow.com/survey/201 9#development-environments-and-tools
  • 18. Python package installer (pip) ❏ pip is the recommended tool to install python package from python package public repos (such as public PyPI - and its mirrors) and private repos ❏ pip can install from either Source Distributions (sdist) or wheels, but if both are present on PyPI, pip will prefer a compatible wheel (pre-built).
  • 19. Python public packages (category) [1/2] ❏ Admin Panels ❏ Algorithms and Design Patterns ❏ Audio ❏ Authentication ❏ Build Tools ❏ Built-in Classes Enhancement ❏ Caching ❏ ChatOps Tools ❏ CMS ❏ Code Analysis ❏ Command-line Interface Development ❏ Command-line Tools ❏ Compatibility ❏ Computer Vision ❏ Concurrency and Parallelism ❏ Configuration ❏ Cryptography ❏ Data Analysis ❏ Data Validation ❏ Data Visualization ❏ Database ❏ Database Drivers ❏ Date and Time ❏ Debugging Tools ❏ Deep Learning ❏ DevOps Tools ❏ Distributed Computing ❏ Distribution ❏ Documentation ❏ Downloader ❏ E-commerce ❏ Editor Plugins and IDEs ❏ Email ❏ Environment Management ❏ Files ❏ Foreign Function Interface ❏ Forms ❏ Functional Programming ❏ Game Development ❏ Geolocation ❏ GUI Development ❏ Hardware ❏ HTML Manipulation ❏ HTTP Clients ❏ Image Processing ❏ Implementations ❏ Interactive Interpreter ❏ Internationalization ❏ Job Scheduler ❏ Logging ❏ Machine Learning Total: 63595 packages
  • 20. Python public packages (category) [2/2] ❏ Miscellaneous ❏ Natural Language Processing ❏ Network Virtualization ❏ Networking ❏ News Feed ❏ ORM ❏ Package Management ❏ Package Repositories ❏ Permissions ❏ Processes ❏ Queue ❏ Recommender Systems ❏ RESTful API ❏ Robotics ❏ RPC Servers ❏ Science ❏ Search ❏ Serialization ❏ Serverless Frameworks ❏ Specific Formats Processing ❏ Static Site Generator ❏ Tagging ❏ Template Engine ❏ Testing ❏ Text Processing ❏ Third-party APIs ❏ URL Manipulation ❏ Video ❏ Web Asset Management ❏ Web Content Extracting ❏ Web Crawling ❏ Web Frameworks ❏ WebSocket ❏ WSGI Servers Total: 63595 packages https://github.com/vinta/awesome-python
  • 21. Python public package popularity https://stackoverflow.blog/2017/09/14/python- growing-quickly/
  • 22. Python public package popularity
  • 23. Python modularity Anaconda (app+ libraries+ binaries) *Miniconda is the light version of Anaconda (less packages)
  • 24. Python modularity: conda vs pip pip installs only Python packages, but conda installs also the system binaries needed by the Python packages. Very important for a non-sudo user to leverage the server capability
  • 26. Basic Python Tutorial ❏ We’re using Anaconda ❏ Clone: https://gitlab.erc.monash.edu.au/andrease/Python4Maths