SlideShare a Scribd company logo
1 of 13
24/03/2014 Kevin Van Wilder - Django & Python 1
Python
24-03-2014
Kevin Van Wilder
24/03/2014 Kevin Van Wilder - Django & Python 2
Archeological finds
suggest...
● 1991 Python 1.0
– Guido van Rossum
● 2000 Python 2.0
– Scripting in Operating Systems
– Recent years: Endorsed by Google
● 2005 Django
● 2008 Python 3.0
– Backwards Incompatible
● 2009 MIT switches to Python to teach Computer Science to
students (6.001)
24/03/2014 Kevin Van Wilder - Django & Python 3
Python is used for...
● Rapid Prototyping
● Web application development
● Scientific calculations
● XML Processing
● Database applications
● GUI applications
● Glue language for different systems
24/03/2014 Kevin Van Wilder - Django & Python 4
What is Python?
● Easy to learn and master
– Clean and clear syntax
– Very few keywords
– High Level data types
– Compact
● Highly portable
– Runs everywhere
● Highly extensible
– Libraries may be written in python or C/C++
24/03/2014 Kevin Van Wilder - Django & Python 5
What is Python?
● High Level Programming Language
● Interpreted Language
– Works “similar to Java” behind the scenes
● Source compiles to Bytecode (.pyc files)
● Bytecode is translated on a “virtual machine” as machine code.
– Different implementations of the interpreter:
● CPython (reference implementation)
● Jython (Java-based implementation)
● PyPy (JIT implementation)
● Read-Eval-Print Loop (REPL)
24/03/2014 Kevin Van Wilder - Django & Python 6
Variables & Types
● No declaration
● Everything has an object type
● Integer division like in C
● High level data types
– Collections, Lists vs Tuples, Dicts
– Auto unpacking
>>> a = 1
>>> a
1
>>> type(a)
<type 'int'>
>>> a = “Hello”
>>> type(a)
<type 'string'>
>>> 5/2
2
>>> 5.0/2
2.5
>>> x, y = 2, 3
>>> x
2
>>> y
3
24/03/2014 Kevin Van Wilder - Django & Python 7
Logic Flow
● For, while loops
● Generators
● Exception Handling
>>> for ch in “Hello”:
… print ch
…
H
e
l
l
o
>>> for i in range(3):
… print i
…
0
1
2
>>>
>>> try:
… connect_to_a_broken_server()
… except ConnectionError as e:
… print “Stuff is broken!”
… finally:
… print “End of the line”
Stuff is broken!
End of the line
>>>
24/03/2014 Kevin Van Wilder - Django & Python 8
Classes
● Class statement
● First class citizen
use as:
– Parameter
– Return value
– Variable assignment
>>> class Foo(object):
…. def __init__(self):
…. self.member = 1
…. def get_member(self):
…. return self.member
….
>>> Foo
<class __main__.Foo at 1000960>
>>> f = Foo()
>>> f
<type 'Foo'>
>>> f.get_member()
1
>>>
24/03/2014 Kevin Van Wilder - Django & Python 9
The Language
● Object-Oriented
– Everything is internally an object, even integers and strings
– Supports imperative, functional and procedural development
● Minimalistic
– Indentation defines scoping
– No line delimiters
● Dynamically and Strongly Typed
● Packages, Modules
24/03/2014 Kevin Van Wilder - Django & Python 10
Standard Library
● Very large set of modules with diverse
functionality:
– All internet protocols, sockets, cgi, os services
– GUI, database, calendar, file operations
– Debugging, profiling
– Threading, synchronization
● http://docs.python.org/2/library/
24/03/2014 Kevin Van Wilder - Django & Python 11
Third party libraries
● Awesome python libraries
– Requests
http://docs.python-requests.org
– Pillow
http://pillow.readthedocs.org
– Dateutil
https://pypi.python.org/pypi/python-dateutil
– DocOpt
https://pypi.python.org/pypi/docopt
● But also:
– And about 40.000+ more!
– Numerical analysis, sql databases, fortran, xml, win32, serial connections, qt,
tkinter, etc etc etc etc etc
24/03/2014 Kevin Van Wilder - Django & Python 12
Python is...
● The syntax
● The standard library
● The external library
● The community
24/03/2014 Kevin Van Wilder - Django & Python 13
Learning Resources
● “Learn Python The Hard Way” (not really) -
http://learnpythonthehardway.org/
● “Crash Into Python” -
http://www.learnpython.org/
● Read The Fine Manual
http://docs.python.org/

More Related Content

Similar to Django and Python Introduction @ UGent

Interop 2015: Hardly Enough Theory, Barley Enough Code
Interop 2015: Hardly Enough Theory, Barley Enough CodeInterop 2015: Hardly Enough Theory, Barley Enough Code
Interop 2015: Hardly Enough Theory, Barley Enough CodeJeremy Schulman
 
Python bootcamp - C4Dlab, University of Nairobi
Python bootcamp - C4Dlab, University of NairobiPython bootcamp - C4Dlab, University of Nairobi
Python bootcamp - C4Dlab, University of Nairobikrmboya
 
What Your Tech Lead Thinks You Know (But Didn't Teach You)
What Your Tech Lead Thinks You Know (But Didn't Teach You)What Your Tech Lead Thinks You Know (But Didn't Teach You)
What Your Tech Lead Thinks You Know (But Didn't Teach You)Chris Riccomini
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - BasicMosky Liu
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine ProjectDaniel Lima
 
SouthEast LinuxFest 2015 - Managing linux in a engineering college
SouthEast LinuxFest 2015 -  Managing linux in a engineering collegeSouthEast LinuxFest 2015 -  Managing linux in a engineering college
SouthEast LinuxFest 2015 - Managing linux in a engineering collegeedgester
 
Pentester++
Pentester++Pentester++
Pentester++CTruncer
 
Go Is Your Next Language — Sergii Shapoval
Go Is Your Next Language — Sergii ShapovalGo Is Your Next Language — Sergii Shapoval
Go Is Your Next Language — Sergii ShapovalGlobalLogic Ukraine
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Valeriy Kravchuk
 
The New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by PythonThe New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by PythonAll Things Open
 
Python in programming competitions
Python in programming competitionsPython in programming competitions
Python in programming competitionsSergey Dymchenko
 
PhpStorm: Symfony2 Plugin
PhpStorm: Symfony2 PluginPhpStorm: Symfony2 Plugin
PhpStorm: Symfony2 PluginHaehnchen
 
IT talk "Python language evolution"
IT talk "Python language evolution"IT talk "Python language evolution"
IT talk "Python language evolution"DataArt
 
PyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 TutorialPyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 TutorialJustin Lin
 
Python for PHP developers
Python for PHP developersPython for PHP developers
Python for PHP developersbennuttall
 
Symfony2 - A Short Introduction
Symfony2 - A Short IntroductionSymfony2 - A Short Introduction
Symfony2 - A Short IntroductionAndy Grunwald
 

Similar to Django and Python Introduction @ UGent (20)

C Sharp Crash Course
C Sharp Crash CourseC Sharp Crash Course
C Sharp Crash Course
 
Interop 2015: Hardly Enough Theory, Barley Enough Code
Interop 2015: Hardly Enough Theory, Barley Enough CodeInterop 2015: Hardly Enough Theory, Barley Enough Code
Interop 2015: Hardly Enough Theory, Barley Enough Code
 
Python bootcamp - C4Dlab, University of Nairobi
Python bootcamp - C4Dlab, University of NairobiPython bootcamp - C4Dlab, University of Nairobi
Python bootcamp - C4Dlab, University of Nairobi
 
What Your Tech Lead Thinks You Know (But Didn't Teach You)
What Your Tech Lead Thinks You Know (But Didn't Teach You)What Your Tech Lead Thinks You Know (But Didn't Teach You)
What Your Tech Lead Thinks You Know (But Didn't Teach You)
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - Basic
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine Project
 
SouthEast LinuxFest 2015 - Managing linux in a engineering college
SouthEast LinuxFest 2015 -  Managing linux in a engineering collegeSouthEast LinuxFest 2015 -  Managing linux in a engineering college
SouthEast LinuxFest 2015 - Managing linux in a engineering college
 
Pentester++
Pentester++Pentester++
Pentester++
 
Python lecture 01
Python lecture 01Python lecture 01
Python lecture 01
 
A Python Tutorial
A Python TutorialA Python Tutorial
A Python Tutorial
 
Go Is Your Next Language — Sergii Shapoval
Go Is Your Next Language — Sergii ShapovalGo Is Your Next Language — Sergii Shapoval
Go Is Your Next Language — Sergii Shapoval
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
 
The New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by PythonThe New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by Python
 
Python_intro.ppt
Python_intro.pptPython_intro.ppt
Python_intro.ppt
 
Python in programming competitions
Python in programming competitionsPython in programming competitions
Python in programming competitions
 
PhpStorm: Symfony2 Plugin
PhpStorm: Symfony2 PluginPhpStorm: Symfony2 Plugin
PhpStorm: Symfony2 Plugin
 
IT talk "Python language evolution"
IT talk "Python language evolution"IT talk "Python language evolution"
IT talk "Python language evolution"
 
PyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 TutorialPyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 Tutorial
 
Python for PHP developers
Python for PHP developersPython for PHP developers
Python for PHP developers
 
Symfony2 - A Short Introduction
Symfony2 - A Short IntroductionSymfony2 - A Short Introduction
Symfony2 - A Short Introduction
 

Recently uploaded

Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Django and Python Introduction @ UGent

  • 1. 24/03/2014 Kevin Van Wilder - Django & Python 1 Python 24-03-2014 Kevin Van Wilder
  • 2. 24/03/2014 Kevin Van Wilder - Django & Python 2 Archeological finds suggest... ● 1991 Python 1.0 – Guido van Rossum ● 2000 Python 2.0 – Scripting in Operating Systems – Recent years: Endorsed by Google ● 2005 Django ● 2008 Python 3.0 – Backwards Incompatible ● 2009 MIT switches to Python to teach Computer Science to students (6.001)
  • 3. 24/03/2014 Kevin Van Wilder - Django & Python 3 Python is used for... ● Rapid Prototyping ● Web application development ● Scientific calculations ● XML Processing ● Database applications ● GUI applications ● Glue language for different systems
  • 4. 24/03/2014 Kevin Van Wilder - Django & Python 4 What is Python? ● Easy to learn and master – Clean and clear syntax – Very few keywords – High Level data types – Compact ● Highly portable – Runs everywhere ● Highly extensible – Libraries may be written in python or C/C++
  • 5. 24/03/2014 Kevin Van Wilder - Django & Python 5 What is Python? ● High Level Programming Language ● Interpreted Language – Works “similar to Java” behind the scenes ● Source compiles to Bytecode (.pyc files) ● Bytecode is translated on a “virtual machine” as machine code. – Different implementations of the interpreter: ● CPython (reference implementation) ● Jython (Java-based implementation) ● PyPy (JIT implementation) ● Read-Eval-Print Loop (REPL)
  • 6. 24/03/2014 Kevin Van Wilder - Django & Python 6 Variables & Types ● No declaration ● Everything has an object type ● Integer division like in C ● High level data types – Collections, Lists vs Tuples, Dicts – Auto unpacking >>> a = 1 >>> a 1 >>> type(a) <type 'int'> >>> a = “Hello” >>> type(a) <type 'string'> >>> 5/2 2 >>> 5.0/2 2.5 >>> x, y = 2, 3 >>> x 2 >>> y 3
  • 7. 24/03/2014 Kevin Van Wilder - Django & Python 7 Logic Flow ● For, while loops ● Generators ● Exception Handling >>> for ch in “Hello”: … print ch … H e l l o >>> for i in range(3): … print i … 0 1 2 >>> >>> try: … connect_to_a_broken_server() … except ConnectionError as e: … print “Stuff is broken!” … finally: … print “End of the line” Stuff is broken! End of the line >>>
  • 8. 24/03/2014 Kevin Van Wilder - Django & Python 8 Classes ● Class statement ● First class citizen use as: – Parameter – Return value – Variable assignment >>> class Foo(object): …. def __init__(self): …. self.member = 1 …. def get_member(self): …. return self.member …. >>> Foo <class __main__.Foo at 1000960> >>> f = Foo() >>> f <type 'Foo'> >>> f.get_member() 1 >>>
  • 9. 24/03/2014 Kevin Van Wilder - Django & Python 9 The Language ● Object-Oriented – Everything is internally an object, even integers and strings – Supports imperative, functional and procedural development ● Minimalistic – Indentation defines scoping – No line delimiters ● Dynamically and Strongly Typed ● Packages, Modules
  • 10. 24/03/2014 Kevin Van Wilder - Django & Python 10 Standard Library ● Very large set of modules with diverse functionality: – All internet protocols, sockets, cgi, os services – GUI, database, calendar, file operations – Debugging, profiling – Threading, synchronization ● http://docs.python.org/2/library/
  • 11. 24/03/2014 Kevin Van Wilder - Django & Python 11 Third party libraries ● Awesome python libraries – Requests http://docs.python-requests.org – Pillow http://pillow.readthedocs.org – Dateutil https://pypi.python.org/pypi/python-dateutil – DocOpt https://pypi.python.org/pypi/docopt ● But also: – And about 40.000+ more! – Numerical analysis, sql databases, fortran, xml, win32, serial connections, qt, tkinter, etc etc etc etc etc
  • 12. 24/03/2014 Kevin Van Wilder - Django & Python 12 Python is... ● The syntax ● The standard library ● The external library ● The community
  • 13. 24/03/2014 Kevin Van Wilder - Django & Python 13 Learning Resources ● “Learn Python The Hard Way” (not really) - http://learnpythonthehardway.org/ ● “Crash Into Python” - http://www.learnpython.org/ ● Read The Fine Manual http://docs.python.org/