SlideShare a Scribd company logo
Introduction to
Python
Prof. Rushikesh V. Kolhe
Phd Pursuing, M.Tech Civil CM
Assistant Professor
Department of Civil Engineering
Sanjivani College of Engineering, Kopargaon
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 ❏ Data Analysis ❏ Files
❏ Algorithms and Design Patterns ❏ Data Validation ❏ Foreign Function Interface
❏ Audio ❏ Data Visualization ❏ Forms
❏ Authentication ❏ Database ❏ Functional Programming
❏ Build Tools ❏ Database Drivers ❏ Game Development
❏ Built-in Classes Enhancement ❏ Date and Time ❏ Geolocation
❏ Caching ❏ Debugging Tools ❏ GUI Development
❏ ChatOps Tools ❏ Deep Learning ❏ Hardware
❏ CMS ❏ DevOps Tools ❏ HTML Manipulation
❏ Code Analysis ❏ Distributed Computing ❏ HTTP Clients
❏ Command-line Interface Development ❏ Distribution ❏ Image Processing
❏ Command-line Tools ❏ Documentation ❏ Implementations
❏ Compatibility ❏ Downloader ❏ Interactive Interpreter
❏ Computer Vision ❏ E-commerce ❏ Internationalization
❏ Concurrency and Parallelism ❏ Editor Plugins and IDEs ❏ Job Scheduler
❏ Configuration ❏ Email ❏ Logging
❏ Cryptography ❏ Environment Management ❏ Machine Learning
Total: 63595 packages
Python public packages (category) [2/2]
❏ Miscellaneous ❏ Serialization
❏ Natural Language Processing ❏ Serverless Frameworks
❏ Network Virtualization ❏ Specific Formats Processing
❏ Networking ❏ Static Site Generator
❏ News Feed ❏ Tagging
❏ ORM ❏ Template Engine
❏ Package Management ❏ Testing
❏ Package Repositories ❏ Text Processing
❏ Permissions ❏ Third-party APIs
❏ Processes ❏ URL Manipulation
❏ Queue ❏ Video
❏ Recommender Systems ❏ Web Asset Management
❏ RESTful API ❏ Web Content Extracting
❏ Robotics ❏ Web Crawling
❏ RPC Servers ❏ Web Frameworks
❏ Science ❏ WebSocket
❏ Search ❏ 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
Ad

Recommended

Introduction to python
Introduction to python
Agung Wahyudi
 
Python. Why to learn?
Python. Why to learn?
Oleh Korkh
 
Mastering the Interview: 50 Common Interview Questions Demystified
Mastering the Interview: 50 Common Interview Questions Demystified
MalcolmDupri
 
Python Basics for python understanding.pptx
Python Basics for python understanding.pptx
ShubhamNain11
 
Python, the Language of Science and Engineering for Engineers
Python, the Language of Science and Engineering for Engineers
Boey Pak Cheong
 
Introduction-To-Python- a guide to master
Introduction-To-Python- a guide to master
ImadM4
 
Why learn python in 2017?
Why learn python in 2017?
Karolis Ramanauskas
 
First of all, what is Python? According t
First of all, what is Python? According t
bhatamith15
 
Python: The Versatile Programming Language - Introduction
Python: The Versatile Programming Language - Introduction
Jainul Musani
 
What is python
What is python
faizrashid1995
 
Python-History.pptx
Python-History.pptx
Aaaakash1
 
Python a Versatile Programming Language - Introduction
Python a Versatile Programming Language - Introduction
Jainul Musani
 
Introduction of python programming
Introduction of python programming
Nitin Kumar Kashyap
 
Python Mastery: A Comprehensive Guide to Setting Up Your Development Environment
Python Mastery: A Comprehensive Guide to Setting Up Your Development Environment
Python Devloper
 
Is Python the Future of Programming
Is Python the Future of Programming
Inexture Solutions
 
Python_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.ppt
VGaneshKarthikeyan
 
Future of Python Certified Professionals in Data Science and Artificial Intel...
Future of Python Certified Professionals in Data Science and Artificial Intel...
M M Nair
 
Introduction to python
Introduction to python
priyanshupanchal8
 
Lecture 1.pptx
Lecture 1.pptx
hemantmohite6
 
UNIT 1 PYTHON introduction and basic level
UNIT 1 PYTHON introduction and basic level
vasankarponnapalli2
 
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
IJPLAjournal
 
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
IJPLAjournal
 
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
ijpla
 
Published Paper of International journal of Programming Languages and applica...
Published Paper of International journal of Programming Languages and applica...
IJPLAjournal
 
Basic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptx
Aditya Patel
 
Introduction to python
Introduction to python
Nikhil Kapoor
 
Learn Python in Pragmatic Way
Learn Python in Pragmatic Way
Saroar Zahan Sojib
 
PYTHON CURRENT TREND APPLICATIONS- AN OVERVIEW
PYTHON CURRENT TREND APPLICATIONS- AN OVERVIEW
EditorIJAERD
 
Smart Cities Planning and Management UNIT6 NOTES
Smart Cities Planning and Management UNIT6 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT5 NOTES
Smart Cities Planning and Management UNIT5 NOTES
Rushikesh Kolhe
 

More Related Content

Similar to Introduction to Python Programming in Civil Engineering (20)

Python: The Versatile Programming Language - Introduction
Python: The Versatile Programming Language - Introduction
Jainul Musani
 
What is python
What is python
faizrashid1995
 
Python-History.pptx
Python-History.pptx
Aaaakash1
 
Python a Versatile Programming Language - Introduction
Python a Versatile Programming Language - Introduction
Jainul Musani
 
Introduction of python programming
Introduction of python programming
Nitin Kumar Kashyap
 
Python Mastery: A Comprehensive Guide to Setting Up Your Development Environment
Python Mastery: A Comprehensive Guide to Setting Up Your Development Environment
Python Devloper
 
Is Python the Future of Programming
Is Python the Future of Programming
Inexture Solutions
 
Python_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.ppt
VGaneshKarthikeyan
 
Future of Python Certified Professionals in Data Science and Artificial Intel...
Future of Python Certified Professionals in Data Science and Artificial Intel...
M M Nair
 
Introduction to python
Introduction to python
priyanshupanchal8
 
Lecture 1.pptx
Lecture 1.pptx
hemantmohite6
 
UNIT 1 PYTHON introduction and basic level
UNIT 1 PYTHON introduction and basic level
vasankarponnapalli2
 
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
IJPLAjournal
 
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
IJPLAjournal
 
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
ijpla
 
Published Paper of International journal of Programming Languages and applica...
Published Paper of International journal of Programming Languages and applica...
IJPLAjournal
 
Basic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptx
Aditya Patel
 
Introduction to python
Introduction to python
Nikhil Kapoor
 
Learn Python in Pragmatic Way
Learn Python in Pragmatic Way
Saroar Zahan Sojib
 
PYTHON CURRENT TREND APPLICATIONS- AN OVERVIEW
PYTHON CURRENT TREND APPLICATIONS- AN OVERVIEW
EditorIJAERD
 
Python: The Versatile Programming Language - Introduction
Python: The Versatile Programming Language - Introduction
Jainul Musani
 
Python-History.pptx
Python-History.pptx
Aaaakash1
 
Python a Versatile Programming Language - Introduction
Python a Versatile Programming Language - Introduction
Jainul Musani
 
Introduction of python programming
Introduction of python programming
Nitin Kumar Kashyap
 
Python Mastery: A Comprehensive Guide to Setting Up Your Development Environment
Python Mastery: A Comprehensive Guide to Setting Up Your Development Environment
Python Devloper
 
Is Python the Future of Programming
Is Python the Future of Programming
Inexture Solutions
 
Python_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.ppt
VGaneshKarthikeyan
 
Future of Python Certified Professionals in Data Science and Artificial Intel...
Future of Python Certified Professionals in Data Science and Artificial Intel...
M M Nair
 
UNIT 1 PYTHON introduction and basic level
UNIT 1 PYTHON introduction and basic level
vasankarponnapalli2
 
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
IJPLAjournal
 
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
IJPLAjournal
 
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
PYTHON- AN APPETITE FOR THE SOFTWARE INDUSTRY
ijpla
 
Published Paper of International journal of Programming Languages and applica...
Published Paper of International journal of Programming Languages and applica...
IJPLAjournal
 
Basic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptx
Aditya Patel
 
Introduction to python
Introduction to python
Nikhil Kapoor
 
PYTHON CURRENT TREND APPLICATIONS- AN OVERVIEW
PYTHON CURRENT TREND APPLICATIONS- AN OVERVIEW
EditorIJAERD
 

More from Rushikesh Kolhe (20)

Smart Cities Planning and Management UNIT6 NOTES
Smart Cities Planning and Management UNIT6 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT5 NOTES
Smart Cities Planning and Management UNIT5 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT4 NOTES
Smart Cities Planning and Management UNIT4 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT3 NOTES
Smart Cities Planning and Management UNIT3 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT2 NOTES
Smart Cities Planning and Management UNIT2 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT1 NOTES
Smart Cities Planning and Management UNIT1 NOTES
Rushikesh Kolhe
 
Programming in Civil Engineering_UNIT 3_NOTES
Programming in Civil Engineering_UNIT 3_NOTES
Rushikesh Kolhe
 
Programming in Civil Engineering_UNIT 2_NOTES
Programming in Civil Engineering_UNIT 2_NOTES
Rushikesh Kolhe
 
Programming in Civil Engineering_UNIT 1_NOTES
Programming in Civil Engineering_UNIT 1_NOTES
Rushikesh Kolhe
 
VARIABLES AND DATA TYPES IN PYTHON NEED TO STUDY
VARIABLES AND DATA TYPES IN PYTHON NEED TO STUDY
Rushikesh Kolhe
 
Why Python in required in Civil Engineering
Why Python in required in Civil Engineering
Rushikesh Kolhe
 
Smart city Developments in India
Smart city Developments in India
Rushikesh Kolhe
 
Framework for Smart City
Framework for Smart City
Rushikesh Kolhe
 
E governance.pptx
E governance.pptx
Rushikesh Kolhe
 
Human Resource Information System
Human Resource Information System
Rushikesh Kolhe
 
Introduction to TQM
Introduction to TQM
Rushikesh Kolhe
 
Fuzzy Logic
Fuzzy Logic
Rushikesh Kolhe
 
Human Resource Management: Training and Development (HRM)
Human Resource Management: Training and Development (HRM)
Rushikesh Kolhe
 
Work Breakdown Structure (WBS)
Work Breakdown Structure (WBS)
Rushikesh Kolhe
 
Materials Codification and Classification
Materials Codification and Classification
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT6 NOTES
Smart Cities Planning and Management UNIT6 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT5 NOTES
Smart Cities Planning and Management UNIT5 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT4 NOTES
Smart Cities Planning and Management UNIT4 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT3 NOTES
Smart Cities Planning and Management UNIT3 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT2 NOTES
Smart Cities Planning and Management UNIT2 NOTES
Rushikesh Kolhe
 
Smart Cities Planning and Management UNIT1 NOTES
Smart Cities Planning and Management UNIT1 NOTES
Rushikesh Kolhe
 
Programming in Civil Engineering_UNIT 3_NOTES
Programming in Civil Engineering_UNIT 3_NOTES
Rushikesh Kolhe
 
Programming in Civil Engineering_UNIT 2_NOTES
Programming in Civil Engineering_UNIT 2_NOTES
Rushikesh Kolhe
 
Programming in Civil Engineering_UNIT 1_NOTES
Programming in Civil Engineering_UNIT 1_NOTES
Rushikesh Kolhe
 
VARIABLES AND DATA TYPES IN PYTHON NEED TO STUDY
VARIABLES AND DATA TYPES IN PYTHON NEED TO STUDY
Rushikesh Kolhe
 
Why Python in required in Civil Engineering
Why Python in required in Civil Engineering
Rushikesh Kolhe
 
Smart city Developments in India
Smart city Developments in India
Rushikesh Kolhe
 
Framework for Smart City
Framework for Smart City
Rushikesh Kolhe
 
Human Resource Information System
Human Resource Information System
Rushikesh Kolhe
 
Human Resource Management: Training and Development (HRM)
Human Resource Management: Training and Development (HRM)
Rushikesh Kolhe
 
Work Breakdown Structure (WBS)
Work Breakdown Structure (WBS)
Rushikesh Kolhe
 
Materials Codification and Classification
Materials Codification and Classification
Rushikesh Kolhe
 
Ad

Recently uploaded (20)

System design handwritten notes guidance
System design handwritten notes guidance
Shabista Imam
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
 
Fundamentals of Digital Design_Class_21st May - Copy.pptx
Fundamentals of Digital Design_Class_21st May - Copy.pptx
drdebarshi1993
 
International Journal of Advanced Information Technology (IJAIT)
International Journal of Advanced Information Technology (IJAIT)
ijait
 
60 Years and Beyond eBook 1234567891.pdf
60 Years and Beyond eBook 1234567891.pdf
waseemalazzeh
 
Microwatt: Open Tiny Core, Big Possibilities
Microwatt: Open Tiny Core, Big Possibilities
IBM
 
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
resming1
 
Introduction to sensing and Week-1.pptx
Introduction to sensing and Week-1.pptx
KNaveenKumarECE
 
Deep Learning for Natural Language Processing_FDP on 16 June 2025 MITS.pptx
Deep Learning for Natural Language Processing_FDP on 16 June 2025 MITS.pptx
resming1
 
Introduction to Python Programming Language
Introduction to Python Programming Language
merlinjohnsy
 
Industrial internet of things IOT Week-3.pptx
Industrial internet of things IOT Week-3.pptx
KNaveenKumarECE
 
AI_Presentation (1). Artificial intelligence
AI_Presentation (1). Artificial intelligence
RoselynKaur8thD34
 
20CE404-Soil Mechanics - Slide Share PPT
20CE404-Soil Mechanics - Slide Share PPT
saravananr808639
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
 
Fatality due to Falls at Working at Height
Fatality due to Falls at Working at Height
ssuserb8994f
 
Cadastral Maps
Cadastral Maps
Google
 
Machine Learning - Classification Algorithms
Machine Learning - Classification Algorithms
resming1
 
Fundamentals of Digital Design_Class_12th April.pptx
Fundamentals of Digital Design_Class_12th April.pptx
drdebarshi1993
 
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
IJCNCJournal
 
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
System design handwritten notes guidance
System design handwritten notes guidance
Shabista Imam
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
 
Fundamentals of Digital Design_Class_21st May - Copy.pptx
Fundamentals of Digital Design_Class_21st May - Copy.pptx
drdebarshi1993
 
International Journal of Advanced Information Technology (IJAIT)
International Journal of Advanced Information Technology (IJAIT)
ijait
 
60 Years and Beyond eBook 1234567891.pdf
60 Years and Beyond eBook 1234567891.pdf
waseemalazzeh
 
Microwatt: Open Tiny Core, Big Possibilities
Microwatt: Open Tiny Core, Big Possibilities
IBM
 
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
resming1
 
Introduction to sensing and Week-1.pptx
Introduction to sensing and Week-1.pptx
KNaveenKumarECE
 
Deep Learning for Natural Language Processing_FDP on 16 June 2025 MITS.pptx
Deep Learning for Natural Language Processing_FDP on 16 June 2025 MITS.pptx
resming1
 
Introduction to Python Programming Language
Introduction to Python Programming Language
merlinjohnsy
 
Industrial internet of things IOT Week-3.pptx
Industrial internet of things IOT Week-3.pptx
KNaveenKumarECE
 
AI_Presentation (1). Artificial intelligence
AI_Presentation (1). Artificial intelligence
RoselynKaur8thD34
 
20CE404-Soil Mechanics - Slide Share PPT
20CE404-Soil Mechanics - Slide Share PPT
saravananr808639
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
 
Fatality due to Falls at Working at Height
Fatality due to Falls at Working at Height
ssuserb8994f
 
Cadastral Maps
Cadastral Maps
Google
 
Machine Learning - Classification Algorithms
Machine Learning - Classification Algorithms
resming1
 
Fundamentals of Digital Design_Class_12th April.pptx
Fundamentals of Digital Design_Class_12th April.pptx
drdebarshi1993
 
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
IJCNCJournal
 
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
Ad

Introduction to Python Programming in Civil Engineering

  • 1. Introduction to Python Prof. Rushikesh V. Kolhe Phd Pursuing, M.Tech Civil CM Assistant Professor Department of Civil Engineering Sanjivani College of Engineering, Kopargaon
  • 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 ❏ Data Analysis ❏ Files ❏ Algorithms and Design Patterns ❏ Data Validation ❏ Foreign Function Interface ❏ Audio ❏ Data Visualization ❏ Forms ❏ Authentication ❏ Database ❏ Functional Programming ❏ Build Tools ❏ Database Drivers ❏ Game Development ❏ Built-in Classes Enhancement ❏ Date and Time ❏ Geolocation ❏ Caching ❏ Debugging Tools ❏ GUI Development ❏ ChatOps Tools ❏ Deep Learning ❏ Hardware ❏ CMS ❏ DevOps Tools ❏ HTML Manipulation ❏ Code Analysis ❏ Distributed Computing ❏ HTTP Clients ❏ Command-line Interface Development ❏ Distribution ❏ Image Processing ❏ Command-line Tools ❏ Documentation ❏ Implementations ❏ Compatibility ❏ Downloader ❏ Interactive Interpreter ❏ Computer Vision ❏ E-commerce ❏ Internationalization ❏ Concurrency and Parallelism ❏ Editor Plugins and IDEs ❏ Job Scheduler ❏ Configuration ❏ Email ❏ Logging ❏ Cryptography ❏ Environment Management ❏ Machine Learning Total: 63595 packages
  • 20. Python public packages (category) [2/2] ❏ Miscellaneous ❏ Serialization ❏ Natural Language Processing ❏ Serverless Frameworks ❏ Network Virtualization ❏ Specific Formats Processing ❏ Networking ❏ Static Site Generator ❏ News Feed ❏ Tagging ❏ ORM ❏ Template Engine ❏ Package Management ❏ Testing ❏ Package Repositories ❏ Text Processing ❏ Permissions ❏ Third-party APIs ❏ Processes ❏ URL Manipulation ❏ Queue ❏ Video ❏ Recommender Systems ❏ Web Asset Management ❏ RESTful API ❏ Web Content Extracting ❏ Robotics ❏ Web Crawling ❏ RPC Servers ❏ Web Frameworks ❏ Science ❏ WebSocket ❏ Search ❏ 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