Professional Documents
Culture Documents
Department
of Computer
Science
E • "What is Python?"
• "Python's Future"
• conclusion 2
0 9 / 11 / 2 0 2 3
History of Python
F R O M G U I D O VA N R O S S U M ' S C R E AT I O N TO
3
A Brief History of Python
0 9 / 11 / 2 0 2 3
•a brief history of Python, one of the most popular and versatile programming languages:
• Late 1980s: Beginnings at CWI:
• Python's story begins in the late 1980s when Guido van Rossum, a Dutch programmer,
worked at the Centrum Wiskunde & Informatica (CWI) in the Netherlands.
• He was involved in the development of the ABC programming language, and his
experiences with ABC influenced his vision for a more user-friendly and versatile
language.
• December 1989: Python's Inception:
• Guido van Rossum started working on Python as a side project during his Christmas
holidays in December 1989.
• His goal was to create a language that was easy to read and write, with a clear and
consistent syntax, emphasizing simplicity and productivity.
• February 20, 1991: Python 0.9.0 Released:
• The first official release of Python, Python 0.9.0, was made available on February 20,
1991. This date is considered Python's birthday.
4
A Brief History of Python
0 9 / 11 / 2 0 2 3
5
0 9 / 11 / 2 0 2 3
9
0 9 / 11 / 2 0 2 3
10
0 9 / 11 / 2 0 2 3
11
Python as a high-
0 9 / 11 / 2 0 2 3
12
• Python's extensive standard library provides
Python as a high-
0 9 / 11 / 2 0 2 3
13
0 9 / 11 / 2 0 2 3
15
0 9 / 11 / 2 0 2 3
• Creation of Python:
• In the late 1980s, while working at
CWI, Guido van Rossum started working
on Python as a personal project. He
wanted to create a programming language
that was easy to read and write, with a
clear and consistent syntax.
17
0 9 / 11 / 2 0 2 3
18
0 9 / 11 / 2 0 2 3
19
0 9 / 11 / 2 0 2 3
Python's 1. Readability:
23
0 9 / 11 / 2 0 2 3
• 2. Simplicity:
• Simple and Consistent Syntax: Python's
syntax is designed to be simple and
Python's consistent. This means that the language
Design Philosophy avoids unnecessary complexity and provides
a straightforward way to express concepts.
It's often said that there should be one, and
preferably only one, obvious way to do
something in Python.
• Minimalistic Design: Python includes a
minimalistic and essential set of features in
its core language. Additional functionality is
provided through libraries and
24
• 3. Ease of Use:
• Ease of Learning: Python is known for its gentle
0 9 / 11 / 2 0 2 3
Design Philosophy
clean and readable syntax reduces the cognitive load
on developers, making it easier to understand
and learn.
• Rich Standard Library: Python comes with a rich
standard library that includes modules and packages
for a wide range of tasks, from working with data to
network communication. This means that developers
don't have to reinvent the wheel for common
programming tasks, making their jobs easier.
• Interpreted Language: Python is an interpreted
language, which means that code can be executed
without the need for complex compilation steps. This
makes development and testing more straightforward
and accessible.
• These design principles have contributed to Python's
popularity in various domains, including web
25
Python's
0 9 / 11 / 2 0 2 3
26
Python's
0 9 / 11 / 2 0 2 3
27
Python's
0 9 / 11 / 2 0 2 3
Design Philosophy
• Collaboration and Code Review:
• When multiple developers collaborate on a
Python project or conduct code reviews,
consistent indentation makes it easier
to understand, review, and modify each
other's code. It fosters collaboration and
reduces friction.
• In summary, indentation is a core aspect of
Python's design, and it serves both practical
and aesthetic purposes. It enhances
T H E T R A N S I T I O N F R O M P Y T H O N 2 T O P Y T H O N 3 WA S A
SIGNIFICANT MILESTONE IN THE EVOLUTION OF THE PYTHON
PROGRAMMING LANGUAGE. PYTHON 3 WA S DESIGNED TO
A D D R E S S C E R TA I N L I M I TAT I O N S A N D I N C O N S I S T E N C I E S I N
PYTHON 2 WHILE INTRODUCING NEW F E AT U R E S AND
IMPROVEMENTS. HERE ARE SOME KEY HIGHLIGHTS OF THE
TRANSITION AND THE DIFFERENCES BETWEEN PYTHON 2 AND
PYTHON 3:
1 . P R I N T S TAT E M E N T V S . P R I N T F U N C T I O N :
• P Y T H O N 2 U S E D T H E P R I N T S TA T E M E N T F O R P R I N T I N G T O T H E
CONSOLE, WHILE PYTHON 3 INTRODUCED THE PRINT()
FUNCTION, MAKING IT MORE CONSISTENT WITH OTHER
FUNCTION CALLS.
2 . U N I C O D E S U P P O R T:
3. INTEGER DIVISION:
• I N P Y T H O N 3 , D I V I S I O N B E T W E E N T W O I N T E G E R S A LWAY S
R E S U LT S I N A F L O AT, W H I L E P Y T H O N 2 U S E D I N T E G E R
DIVISION WHEN BOTH OPERANDS WERE INTEGERS. TO
ACHIEVE INTEGER DIVISION IN PYTHON 3, YOU CAN USE //.
29
Python 2 vs. Python 3
0 9 / 11 / 2 0 2 3
5. INPUT():
• I N P Y T H O N 2 , T H E I N P U T ( ) F U N C T I O N E VA L U AT E D T H E U S E R ' S
I N P U T A S A P Y T H O N E X P R E S S I O N , P O T E N T I A L LY L E A D I N G T O
SECURITY ISSUES. PYTHON 3 INTRODUCED INPUT() AS A SAFER
A LT E R N A T I V E , W H I L E R AW _ I N P U T ( ) F R O M P Y T H O N 2 WA S
REMOVED.
6. EXCEPTION HANDLING:
• T H E A S K E Y W O R D WA S I N T R O D U C E D I N P Y T H O N 3 T O H A N D L E
E X C E P T I O N S M O R E C L E A N LY. I N P Y T H O N 2 , Y O U W O U L D U S E A
C O M M A T O C AT C H A N E X C E P T I O N A N D A S S I G N I T T O A
VA R I A B L E .
• T H E Z I P ( ) F U N C T I O N I N P Y T H O N 3 R E T U R N S A N I T E R AT O R ,
W H E R E A S I N P Y T H O N 2 , I T R E T U R N E D A L I S T. T H E R A N G E ( )
F U N C T I O N I N P Y T H O N 3 A L S O R E T U R N S A N I T E R AT O R .
30
Python 2 vs. Python 3
0 9 / 11 / 2 0 2 3
9 . D I V I S I O N O P E R AT O R ( / ) :
• I N P Y T H O N 3 , T H E D I V I S I O N O P E R A T O R / A LWAY S P E R F O R M S F L O AT D I V I S I O N ,
WHEREAS IN PYTHON 2, IT PERFORMS INTEGER DIVISION WHEN BOTH
OPERANDS ARE INTEGERS.
10. FILENOTFOUNDERROR:
• PYTHON 3 INTRODUCED THE FILENOTFOUNDERROR EXCEPTION FOR CASES
W H E N A F I L E I S N O T F O U N D . I N P Y T H O N 2 , T H I S WA S O F T E N R E P R E S E N T E D A S
IOERROR.
1 1 . M E TA C L A S S :
• P Y T H O N 3 I N T R O D U C E D A M E TA C L A S S C A L L E D O B J E C T, W H I C H I S T H E B A S E
F O R A L L C L A S S E S . I N P Y T H O N 2 , I T WA S C O M M O N T O D E F I N E C L A S S E S W I T H O U T
S P E C I F Y I N G A M E TA C L A S S E X P L I C I T LY.
1 2 . P R I N T F U N C T I O N ' S E N D PA R A M E T E R :
• I N P Y T H O N 3 , Y O U C A N S P E C I F Y T H E E N D PA R A M E T E R F O R T H E P R I N T ( )
F U N C T I O N T O C O N T R O L W H AT C H A R A C T E R I S P R I N T E D AT T H E E N D O F T H E
IT'S I M P O R TA N T T O N O T E T H AT W H I L E P Y T H O N 3 A D D R E S S E D T H E S E D I F F E R E N C E S
A N D I N T R O D U C E D I M P R O V E M E N T S , I T WA S N O T B A C K WA R D - C O M P A T I B L E W I T H
P Y T H O N 2 . T H I S M E A N T T H AT C O D E W R I T T E N I N P Y T H O N 2 N E E D E D TO B E
M O D I F I E D T O R U N I N P Y T H O N 3 . T H E T R A N S I T I O N P R O C E S S I N V O LV E D U P D AT I N G
L I B R A R I E S , M O D I F Y I N G C O D E , A N D E N S U R I N G C O M PAT I B I L I T Y W I T H T H E N E W
V E R S I O N . A S O F M Y L A S T K N O W L E D G E U P D AT E I N S E P T E M B E R 2 0 2 1 , P Y T H O N 2
H A D R E A C H E D I T S E N D O F L I F E , A N D T H E P Y T H O N C O M M U N I T Y S T R O N G LY
RECOMMENDED USING PYTHON 3 FOR ALL NEW PROJECTS. THEREFORE, IT'S
E S S E N T I A L F O R D E V E L O P E R S T O B E FA M I L I A R W I T H T H E D I F F E R E N C E S B E T W E E N 31
PYTHON 2 AND PYTHON 3 AND TO USE PYTHON 3 FOR ONGOING DEVELOPMENT .
"Python's Popularity"
• Django Framework:
• Django is a high-level Python web framework known for its
"batteries-included" philosophy.
This Photo by Unknown author is licensed under CC BY-SA-NC.
• Offers a robust set of tools, including an ORM (Object-Relational
Mapping) system, authentication, routing, and templating.
• Emphasizes the "Don't Repeat Yourself" (DRY) and "Convention
over Configuration" principles, streamlining development.
Python in Web Development
• Flask Framework:
• Flask is a lightweight micro-framework for Python web development.
• Provides essential components for building web applications, giving
developers more control and flexibility.
• Known for its simplicity and minimalism, allowing developers to
choose and add components as needed.
• Frameworks Comparison:
• Django is suitable for larger, more feature-rich applications with a built-in
admin panel.
This Photo by Unknown author is licensed under CC BY-SA-NC.
• Flask is preferred for smaller, more customizable projects where developers
have more control over components.
• Python's use in web development, combined with the versatility of
frameworks like Django and Flask, has made it a popular choice for
developers building web applications across a wide spectrum of industries
0 9 / 11 / 2 0 2 3
41
Science • Open Source Tools: Many of the most popular data science
and machine learning tools in Python are open source,
fostering innovation, collaboration, and accessibility.
• Data Visualization: Python offers powerful data visualization
42
0 9 / 11 / 2 0 2 3
43
Python in Data Science
• .
• 1. Automation:
• 2. Scripting:
• 3. DevOps:
• Cross-Platform Compatibility:
• Games developed with Pygame are cross-platform, running on
Windows, macOS, and Linux.
Python in Game Development
Python in Game
Development • Educational Use:
• Pygame is frequently used in
educational settings to teach
programming and game development
concepts.
• It helps students learn programming
while making their own games.
59
Python in Game Development
• Future of Pygame:
• Pygame continues to evolve, with updates and new features
being added by the community.
• It remains a valuable tool for hobbyist and indie game
developers.
• Conclusion:
• Python, with libraries like Pygame, offers an accessible and
enjoyable way to enter the world of game development,
whether for fun, learning, or even commercial game creation.
• These bullet points can serve as the main content for your
PowerPoint presentation on Python's use in creating games
with the Pygame library..
"Python's Future"
• "Please don't hesitate to ask about Python's libraries and frameworks, such as
NumPy, Pandas, or Pygame."
• "Feel free to share any challenges or experiences you've had while working
with Python."
"Questions & Answers"
"Thank you all for your attention and participation in today's presentation on
Python. I hope you found the information valuable and insightful. If you have any
further questions or would like to continue the discussion, please don't hesitate to
reach out. You can contact me through the following channels:
• Email: seenugowda2008@gmail.com
• LinkedIn:www.linkedin.com/in/drsrinivasagowdagk
I'm here to assist and support your Python journey in any way I can. Once again,
thank you for your time, and I look forward to staying connected with you."