SlideShare a Scribd company logo
Python for Application
Integration and Development



        Python
        for Application
        Integration and Development

           胡崇偉                  marr
           2012/10/30




           組內報告
Copyright © Elitegroup Computer Systems. All Rights Reserved   Page1
Agenda
      History of Python
      Python Features
      Python as Research Workbench
      Python for Web Development
      Python Community
      Conclusion
組內報告    2012/10/30   2
70s,
In the
Xerox PARC              asked:

       Can we have a
       computer on
        every desk?
組內報告   2012/10/30   3
A follow-up Question:

  What will happen
    if users can
   program their
  own computer?
組內報告   2012/10/30   4
History of Python
                        Guido van Rossum created
                        Python when he was working at
                        CWI (Centrum Wiskunde &
                        Informatica) during 1989 - 1991




組內報告   2012/10/30   5
Python Chronology

          CP4E                                        2009
  Programming as                                         Education
    a Literacy                                2004

                                       2001

                                CNRI     Commercial
                               1995
                        1994
CWI     1989

                    comp.lang.python
      Research


 組內報告      2012/10/30    6
The Year When My Script Looks Like…
 use CGI;
 my $q = CGI->new();
 say $q->header(), $q->start_html();
 say "<h1>Parameters</h1>";
 for my $param ($q->param()) {
     my $safe_param = $q->escapeHTML($param);
     say "<p><strong>$safe_param</strong>: ";
     for my $value ($q->param($param)) {
         say $q->escapeHTML($value);
     }
     say '</p>';
 }
 say $q->end_html();


 組內報告   2012/10/30   7
My Brain Just Hardly Fits Them…

my $q%&*#@->{~(,)};

Even Worse…

inconsistent coding style?



組內報告   2012/10/30   8
Python Features: Easy to Learn

if ’smiths’ in RegisterList:
    sendNote(‘VIP registered’)
elif ’doe’ not in RegisterList:
    startPlan(‘B’)
else:
    print len(RegisterList)


              length() will return # of elements
 組內報告   2012/10/30   9
Python Features: Indentation

if ’smiths’ in RegisterList:
    sendNote(‘VIP registered’)
elif ’doe’ not in RegisterList:
    startPlan(‘B’)
else:
    print(len(RegisterList))

           Indentation with white spaces

 組內報告   2012/10/30   10
Readability counts

  Programs are meant to be
  read by humans and only
  incidentally for computers
  to execute -- Donald Knuth



組內報告   2012/10/30   11
The Zen of Python, by Tim Peters
  There should be one –
  and preferably only one –
  obvious way to do it.
Toward              Pythonic   Thinking
• Having one way to do it is an advantage.
  Once the idioms are hardwired in your brain,
  you’d have instant recognition.

組內報告   2012/10/30    12
Python as Research Workbench
 Pythonmakes it easy to balance high-level
 programming with low-level optimization.
 Python        excels at gluing other languages.
 Numerous   libraries provide the needed
 functionality for scientific.
 Python incorporates documentation and
 testing directly into the language itself.



組內報告   2012/10/30   13
reStructuredText Example

.. math:: Gamma(z) =
          int_0^infty x^{z-1}e^{-x},dx




 組內報告   2012/10/30   14
Research Libraries




                         Fortran to Python
                         interface generator

                          ctypes


組內報告   2012/10/30   15
GIS and SQL Tools
                                  Shapely

                         PyPROJ
                               geopy
                              Fiona

                         ArcPy




組內報告   2012/10/30   16
Python for Web Development
Common Ways to Have Your Web Sites:
• Building Them with Frameworks
• Building Them with CMSes

                               Your
 You                          Website
  are                          here
 here

組內報告   2012/10/30   17
Plone, a Python based CMS
CMS = Contents Stored in Database
      Added/Edited by User/Group
      Managed with Workflow
      Searchable via Index/Catalog
                         or simply…
                          Forms in Database

組內報告   2012/10/30   18
Form Elements
CMS = Contents Stored in Database
      Added/Edited by User/Group
      Managed with Workflow
      Searchable via Index/Catalog




組內報告   2012/10/30   19
Dexterity Content Types




組內報告   2012/10/30   20
Form Behaviors
CMS = Contents Stored in Database
      Added/Edited by User/Group
      Managed with Workflow
      Searchable via Index/Catalog




組內報告   2012/10/30   21
Form Behaviors: Maps Enabled




組內報告   2012/10/30   22
More Packages Needed?
   Python Packages are distributed as Eggs and
    listed on http://pypi.python.org/




組內報告   2012/10/30   23
Community




 組內報告   2012/10/30   24
The Python Paradox, by Paul Graham
• You could get smarter programmers to work
  on a Python project than you could to work
  on a Java project.
• If a company chooses to write its software in
  a comparatively esoteric language, they'll be
  able to hire better programmers, because
  they'll attract only those who cared enough
  to learn it.
• The language to learn, if you want to get a
  good job, is a language that people don't
  learn merely to get a job.
 組內報告   2012/10/30   25
Conclusion
   Python serves well as the first language to
    learn, even better as the glue when
    working with other languages or tools.
   It helps to improve team productivity.
   Get more: Extending with C/C++ or
    Embedding in Applications
   Google Engineering Decision:
    Python where we can, C++ where we must


組內報告   2012/10/30   26
Python Style Ending
  if questions:
      try:
           answer()
      except RuntimeError:
           pass
  else:
      print(‘Thank You.’)

組內報告

More Related Content

What's hot (20)

PDF
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
Edureka!
 
PDF
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Edureka!
 
PDF
Python, the Language of Science and Engineering for Engineers
Boey Pak Cheong
 
PPTX
Python vs c++ ppt
AllProgrammingHelp
 
PPTX
What is Python? An overview of Python for science.
Nicholas Pringle
 
PPTX
SWIG Hello World
e8xu
 
PPTX
Basics of python
SurjeetSinghSurjeetS
 
PDF
Python course syllabus
Sugantha T
 
PDF
Introduction to python programming
Kiran Vadakkath
 
PPTX
First python project
Neetu Jain
 
PDF
Why Python Should Be Your First Programming Language
Edureka!
 
ODP
Python for Android
phlax
 
PDF
Comparison between python and c++
ssusera7faf41
 
PDF
Introduction to python
Rajesh Rajamani
 
PPTX
Top 10 python ide
Saravanakumar viswanathan
 
PDF
python for linguists
shukaihsieh
 
PPTX
Introduction to python for Beginners
Sujith Kumar
 
PDF
Introduction to python
Agung Wahyudi
 
PDF
Python tutorial
kshitij chaurasiya
 
PDF
C++ vs python
AbdulhameedMandili
 
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
Edureka!
 
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Edureka!
 
Python, the Language of Science and Engineering for Engineers
Boey Pak Cheong
 
Python vs c++ ppt
AllProgrammingHelp
 
What is Python? An overview of Python for science.
Nicholas Pringle
 
SWIG Hello World
e8xu
 
Basics of python
SurjeetSinghSurjeetS
 
Python course syllabus
Sugantha T
 
Introduction to python programming
Kiran Vadakkath
 
First python project
Neetu Jain
 
Why Python Should Be Your First Programming Language
Edureka!
 
Python for Android
phlax
 
Comparison between python and c++
ssusera7faf41
 
Introduction to python
Rajesh Rajamani
 
Top 10 python ide
Saravanakumar viswanathan
 
python for linguists
shukaihsieh
 
Introduction to python for Beginners
Sujith Kumar
 
Introduction to python
Agung Wahyudi
 
Python tutorial
kshitij chaurasiya
 
C++ vs python
AbdulhameedMandili
 

Similar to Python for Application Integration and Development (20)

PDF
Summer Training Project.pdf
Lovely professinal university
 
PDF
Python_vision_academy notes
rajaniraut
 
PDF
Python_final_print_batch_II_vision_academy.pdf
bhagyashri686896
 
PDF
Python_final_print_batch_II_vision_academy.pdf
muzegharjanahai
 
PDF
Python_final_print_batch_II_vision_academy.pdf
sannykhopade
 
PDF
Python_final_print_batch_II_vision_academy (1).pdf
rupaliakhute
 
PDF
Python_final_print_vison_academy_9822506209.pdf
VisionAcademyProfSac
 
PDF
Samsung SDS OpeniT - The possibility of Python
Insuk (Chris) Cho
 
PDF
Introduction To Python
Biswajeet Dasmajumdar
 
PDF
Why learn python in 2017?
Karolis Ramanauskas
 
PPTX
Python and its applications
mohakmishra97
 
PPTX
Chapter 2: Basics of programming pyton programming
biniyamtiktok
 
PDF
silver gemstone sun pendant silver pendant gemstones
silver gemstone sun pendant
 
PPTX
Python Programming Draft PPT.pptx
LakshmiNarayanaReddy48
 
PDF
Interfacing C/C++ and Python with SWIG
David Beazley (Dabeaz LLC)
 
PDF
what is python ?
NetmaxTechnologies1
 
PDF
Pyhton-1a-Basics.pdf
Mattupallipardhu
 
PDF
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Jonas Hecht
 
PPTX
Python 101 For The Net Developer
Sarah Dutkiewicz
 
PPTX
POWER OF PYTHON PROGRAMMING LANGUAGE
teachersduniya.com
 
Summer Training Project.pdf
Lovely professinal university
 
Python_vision_academy notes
rajaniraut
 
Python_final_print_batch_II_vision_academy.pdf
bhagyashri686896
 
Python_final_print_batch_II_vision_academy.pdf
muzegharjanahai
 
Python_final_print_batch_II_vision_academy.pdf
sannykhopade
 
Python_final_print_batch_II_vision_academy (1).pdf
rupaliakhute
 
Python_final_print_vison_academy_9822506209.pdf
VisionAcademyProfSac
 
Samsung SDS OpeniT - The possibility of Python
Insuk (Chris) Cho
 
Introduction To Python
Biswajeet Dasmajumdar
 
Why learn python in 2017?
Karolis Ramanauskas
 
Python and its applications
mohakmishra97
 
Chapter 2: Basics of programming pyton programming
biniyamtiktok
 
silver gemstone sun pendant silver pendant gemstones
silver gemstone sun pendant
 
Python Programming Draft PPT.pptx
LakshmiNarayanaReddy48
 
Interfacing C/C++ and Python with SWIG
David Beazley (Dabeaz LLC)
 
what is python ?
NetmaxTechnologies1
 
Pyhton-1a-Basics.pdf
Mattupallipardhu
 
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Jonas Hecht
 
Python 101 For The Net Developer
Sarah Dutkiewicz
 
POWER OF PYTHON PROGRAMMING LANGUAGE
teachersduniya.com
 
Ad

More from TsungWei Hu (20)

PDF
Odoo Development
TsungWei Hu
 
PDF
開源教 教我 Odoo 管理 ERP 和 CRM
TsungWei Hu
 
PDF
Plone Zwiki
TsungWei Hu
 
PDF
Ten Years After: An Integrator's Tale
TsungWei Hu
 
PPTX
from passion import profession
TsungWei Hu
 
PPTX
Computer Programming For Everyone
TsungWei Hu
 
PPTX
ElasticSearch Introduction
TsungWei Hu
 
PPTX
Open Source Technologies for Contents and Maps
TsungWei Hu
 
PPTX
The Zen of Language Choice
TsungWei Hu
 
PPTX
Diazo: Bridging Designers and Programmers
TsungWei Hu
 
PPT
CMS Showdown For NPO
TsungWei Hu
 
PPTX
Build Python CMS The Plone Way
TsungWei Hu
 
PDF
Plone -- Evolving Python CMS
TsungWei Hu
 
PPTX
World Plone Day 2012 Taipei
TsungWei Hu
 
PPTX
Workteam with oDesk
TsungWei Hu
 
PDF
Proud Plone on Cloud
TsungWei Hu
 
PDF
Sahana Taiwan Development
TsungWei Hu
 
PDF
Python - A Comprehensive Programming Language
TsungWei Hu
 
ODP
Plone - A Comprehensive Content Management Solution
TsungWei Hu
 
PPT
Introduction to Python Programming
TsungWei Hu
 
Odoo Development
TsungWei Hu
 
開源教 教我 Odoo 管理 ERP 和 CRM
TsungWei Hu
 
Plone Zwiki
TsungWei Hu
 
Ten Years After: An Integrator's Tale
TsungWei Hu
 
from passion import profession
TsungWei Hu
 
Computer Programming For Everyone
TsungWei Hu
 
ElasticSearch Introduction
TsungWei Hu
 
Open Source Technologies for Contents and Maps
TsungWei Hu
 
The Zen of Language Choice
TsungWei Hu
 
Diazo: Bridging Designers and Programmers
TsungWei Hu
 
CMS Showdown For NPO
TsungWei Hu
 
Build Python CMS The Plone Way
TsungWei Hu
 
Plone -- Evolving Python CMS
TsungWei Hu
 
World Plone Day 2012 Taipei
TsungWei Hu
 
Workteam with oDesk
TsungWei Hu
 
Proud Plone on Cloud
TsungWei Hu
 
Sahana Taiwan Development
TsungWei Hu
 
Python - A Comprehensive Programming Language
TsungWei Hu
 
Plone - A Comprehensive Content Management Solution
TsungWei Hu
 
Introduction to Python Programming
TsungWei Hu
 
Ad

Recently uploaded (20)

PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Biography of Daniel Podor.pdf
Daniel Podor
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 

Python for Application Integration and Development

  • 1. Python for Application Integration and Development Python for Application Integration and Development 胡崇偉 marr 2012/10/30 組內報告 Copyright © Elitegroup Computer Systems. All Rights Reserved Page1
  • 2. Agenda  History of Python  Python Features  Python as Research Workbench  Python for Web Development  Python Community  Conclusion 組內報告 2012/10/30 2
  • 3. 70s, In the Xerox PARC asked: Can we have a computer on every desk? 組內報告 2012/10/30 3
  • 4. A follow-up Question: What will happen if users can program their own computer? 組內報告 2012/10/30 4
  • 5. History of Python Guido van Rossum created Python when he was working at CWI (Centrum Wiskunde & Informatica) during 1989 - 1991 組內報告 2012/10/30 5
  • 6. Python Chronology CP4E 2009 Programming as Education a Literacy 2004 2001 CNRI Commercial 1995 1994 CWI 1989 comp.lang.python Research 組內報告 2012/10/30 6
  • 7. The Year When My Script Looks Like… use CGI; my $q = CGI->new(); say $q->header(), $q->start_html(); say "<h1>Parameters</h1>"; for my $param ($q->param()) { my $safe_param = $q->escapeHTML($param); say "<p><strong>$safe_param</strong>: "; for my $value ($q->param($param)) { say $q->escapeHTML($value); } say '</p>'; } say $q->end_html(); 組內報告 2012/10/30 7
  • 8. My Brain Just Hardly Fits Them… my $q%&*#@->{~(,)}; Even Worse… inconsistent coding style? 組內報告 2012/10/30 8
  • 9. Python Features: Easy to Learn if ’smiths’ in RegisterList: sendNote(‘VIP registered’) elif ’doe’ not in RegisterList: startPlan(‘B’) else: print len(RegisterList) length() will return # of elements 組內報告 2012/10/30 9
  • 10. Python Features: Indentation if ’smiths’ in RegisterList: sendNote(‘VIP registered’) elif ’doe’ not in RegisterList: startPlan(‘B’) else: print(len(RegisterList)) Indentation with white spaces 組內報告 2012/10/30 10
  • 11. Readability counts Programs are meant to be read by humans and only incidentally for computers to execute -- Donald Knuth 組內報告 2012/10/30 11
  • 12. The Zen of Python, by Tim Peters There should be one – and preferably only one – obvious way to do it. Toward Pythonic Thinking • Having one way to do it is an advantage. Once the idioms are hardwired in your brain, you’d have instant recognition. 組內報告 2012/10/30 12
  • 13. Python as Research Workbench  Pythonmakes it easy to balance high-level programming with low-level optimization.  Python excels at gluing other languages.  Numerous libraries provide the needed functionality for scientific.  Python incorporates documentation and testing directly into the language itself. 組內報告 2012/10/30 13
  • 14. reStructuredText Example .. math:: Gamma(z) = int_0^infty x^{z-1}e^{-x},dx 組內報告 2012/10/30 14
  • 15. Research Libraries Fortran to Python interface generator ctypes 組內報告 2012/10/30 15
  • 16. GIS and SQL Tools Shapely PyPROJ geopy Fiona ArcPy 組內報告 2012/10/30 16
  • 17. Python for Web Development Common Ways to Have Your Web Sites: • Building Them with Frameworks • Building Them with CMSes Your You Website are here here 組內報告 2012/10/30 17
  • 18. Plone, a Python based CMS CMS = Contents Stored in Database Added/Edited by User/Group Managed with Workflow Searchable via Index/Catalog or simply… Forms in Database 組內報告 2012/10/30 18
  • 19. Form Elements CMS = Contents Stored in Database Added/Edited by User/Group Managed with Workflow Searchable via Index/Catalog 組內報告 2012/10/30 19
  • 21. Form Behaviors CMS = Contents Stored in Database Added/Edited by User/Group Managed with Workflow Searchable via Index/Catalog 組內報告 2012/10/30 21
  • 22. Form Behaviors: Maps Enabled 組內報告 2012/10/30 22
  • 23. More Packages Needed?  Python Packages are distributed as Eggs and listed on http://pypi.python.org/ 組內報告 2012/10/30 23
  • 24. Community 組內報告 2012/10/30 24
  • 25. The Python Paradox, by Paul Graham • You could get smarter programmers to work on a Python project than you could to work on a Java project. • If a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it. • The language to learn, if you want to get a good job, is a language that people don't learn merely to get a job. 組內報告 2012/10/30 25
  • 26. Conclusion  Python serves well as the first language to learn, even better as the glue when working with other languages or tools.  It helps to improve team productivity.  Get more: Extending with C/C++ or Embedding in Applications  Google Engineering Decision: Python where we can, C++ where we must 組內報告 2012/10/30 26
  • 27. Python Style Ending if questions: try: answer() except RuntimeError: pass else: print(‘Thank You.’) 組內報告