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)

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

Similar to Python for Application Integration and Development (20)

2010 08-19-30 minutes of python
2010 08-19-30 minutes of python2010 08-19-30 minutes of python
2010 08-19-30 minutes of python
Kang-Min Wang
 
PyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 TutorialPyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 Tutorial
Justin Lin
 
Python Intro
Python IntroPython Intro
Python Intro
Tim Penhey
 
Python for PHP developers
Python for PHP developersPython for PHP developers
Python for PHP developers
bennuttall
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - Basic
Mosky Liu
 
presentation_intro_to_python
presentation_intro_to_pythonpresentation_intro_to_python
presentation_intro_to_python
gunanandJha2
 
presentation_intro_to_python_1462930390_181219.ppt
presentation_intro_to_python_1462930390_181219.pptpresentation_intro_to_python_1462930390_181219.ppt
presentation_intro_to_python_1462930390_181219.ppt
MohitChaudhary637683
 
Python-GTK
Python-GTKPython-GTK
Python-GTK
Yuren Ju
 
W1-Intro to python.pptx
W1-Intro to python.pptxW1-Intro to python.pptx
W1-Intro to python.pptx
NaziaPerwaiz2
 
unit (1)INTRODUCTION TO PYTHON course.pptx
unit (1)INTRODUCTION TO PYTHON course.pptxunit (1)INTRODUCTION TO PYTHON course.pptx
unit (1)INTRODUCTION TO PYTHON course.pptx
usvirat1805
 
core python.pdf
core python.pdfcore python.pdf
core python.pdf
UmmeHabibaMAGINMANI
 
MODULE 1.pptx
MODULE 1.pptxMODULE 1.pptx
MODULE 1.pptx
KPDDRAVIDIAN
 
Learning Python from Data
Learning Python from DataLearning Python from Data
Learning Python from Data
Mosky Liu
 
Chapter 2: Basics of programming pyton programming
Chapter 2: Basics of programming pyton programmingChapter 2: Basics of programming pyton programming
Chapter 2: Basics of programming pyton programming
biniyamtiktok
 
Python_intro.ppt
Python_intro.pptPython_intro.ppt
Python_intro.ppt
Mariela Gamarra Paredes
 
Python and its Applications
Python and its ApplicationsPython and its Applications
Python and its Applications
Abhijeet Singh
 
Pythonanditsapplications 161121160425
Pythonanditsapplications 161121160425Pythonanditsapplications 161121160425
Pythonanditsapplications 161121160425
Sapna Tyagi
 
Python Class 1
Python Class 1Python Class 1
Python Class 1
arijit banerjee
 
what is python ?
what is python ? what is python ?
what is python ?
NetmaxTechnologies1
 
Python | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python TutorialPython | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python Tutorial
QA TrainingHub
 
2010 08-19-30 minutes of python
2010 08-19-30 minutes of python2010 08-19-30 minutes of python
2010 08-19-30 minutes of python
Kang-Min Wang
 
PyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 TutorialPyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 Tutorial
Justin Lin
 
Python for PHP developers
Python for PHP developersPython for PHP developers
Python for PHP developers
bennuttall
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - Basic
Mosky Liu
 
presentation_intro_to_python
presentation_intro_to_pythonpresentation_intro_to_python
presentation_intro_to_python
gunanandJha2
 
presentation_intro_to_python_1462930390_181219.ppt
presentation_intro_to_python_1462930390_181219.pptpresentation_intro_to_python_1462930390_181219.ppt
presentation_intro_to_python_1462930390_181219.ppt
MohitChaudhary637683
 
Python-GTK
Python-GTKPython-GTK
Python-GTK
Yuren Ju
 
W1-Intro to python.pptx
W1-Intro to python.pptxW1-Intro to python.pptx
W1-Intro to python.pptx
NaziaPerwaiz2
 
unit (1)INTRODUCTION TO PYTHON course.pptx
unit (1)INTRODUCTION TO PYTHON course.pptxunit (1)INTRODUCTION TO PYTHON course.pptx
unit (1)INTRODUCTION TO PYTHON course.pptx
usvirat1805
 
Learning Python from Data
Learning Python from DataLearning Python from Data
Learning Python from Data
Mosky Liu
 
Chapter 2: Basics of programming pyton programming
Chapter 2: Basics of programming pyton programmingChapter 2: Basics of programming pyton programming
Chapter 2: Basics of programming pyton programming
biniyamtiktok
 
Python and its Applications
Python and its ApplicationsPython and its Applications
Python and its Applications
Abhijeet Singh
 
Pythonanditsapplications 161121160425
Pythonanditsapplications 161121160425Pythonanditsapplications 161121160425
Pythonanditsapplications 161121160425
Sapna Tyagi
 
Python | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python TutorialPython | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python Tutorial
QA TrainingHub
 
Ad

More from TsungWei Hu (20)

Odoo Development
Odoo DevelopmentOdoo Development
Odoo Development
TsungWei Hu
 
開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRM開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRM
TsungWei Hu
 
Plone Zwiki
Plone ZwikiPlone Zwiki
Plone Zwiki
TsungWei Hu
 
Ten Years After: An Integrator's Tale
Ten Years After: An Integrator's TaleTen Years After: An Integrator's Tale
Ten Years After: An Integrator's Tale
TsungWei Hu
 
from passion import profession
from passion import professionfrom passion import profession
from passion import profession
TsungWei Hu
 
Computer Programming For Everyone
Computer Programming For EveryoneComputer Programming For Everyone
Computer Programming For Everyone
TsungWei Hu
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch Introduction
TsungWei Hu
 
Open Source Technologies for Contents and Maps
Open Source Technologies for Contents and MapsOpen Source Technologies for Contents and Maps
Open Source Technologies for Contents and Maps
TsungWei Hu
 
The Zen of Language Choice
The Zen of Language ChoiceThe Zen of Language Choice
The Zen of Language Choice
TsungWei Hu
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
TsungWei Hu
 
CMS Showdown For NPO
CMS Showdown For NPOCMS Showdown For NPO
CMS Showdown For NPO
TsungWei Hu
 
Build Python CMS The Plone Way
Build Python CMS The Plone WayBuild Python CMS The Plone Way
Build Python CMS The Plone Way
TsungWei Hu
 
Plone -- Evolving Python CMS
Plone -- Evolving Python CMSPlone -- Evolving Python CMS
Plone -- Evolving Python CMS
TsungWei Hu
 
World Plone Day 2012 Taipei
World Plone Day 2012 TaipeiWorld Plone Day 2012 Taipei
World Plone Day 2012 Taipei
TsungWei Hu
 
Workteam with oDesk
Workteam with oDeskWorkteam with oDesk
Workteam with oDesk
TsungWei Hu
 
Proud Plone on Cloud
Proud Plone on CloudProud Plone on Cloud
Proud Plone on Cloud
TsungWei Hu
 
Sahana Taiwan Development
Sahana Taiwan DevelopmentSahana Taiwan Development
Sahana Taiwan Development
TsungWei Hu
 
Python - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguagePython - A Comprehensive Programming Language
Python - A Comprehensive Programming Language
TsungWei Hu
 
Plone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionPlone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management Solution
TsungWei Hu
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python Programming
TsungWei Hu
 
Odoo Development
Odoo DevelopmentOdoo Development
Odoo Development
TsungWei Hu
 
開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRM開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRM
TsungWei Hu
 
Ten Years After: An Integrator's Tale
Ten Years After: An Integrator's TaleTen Years After: An Integrator's Tale
Ten Years After: An Integrator's Tale
TsungWei Hu
 
from passion import profession
from passion import professionfrom passion import profession
from passion import profession
TsungWei Hu
 
Computer Programming For Everyone
Computer Programming For EveryoneComputer Programming For Everyone
Computer Programming For Everyone
TsungWei Hu
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch Introduction
TsungWei Hu
 
Open Source Technologies for Contents and Maps
Open Source Technologies for Contents and MapsOpen Source Technologies for Contents and Maps
Open Source Technologies for Contents and Maps
TsungWei Hu
 
The Zen of Language Choice
The Zen of Language ChoiceThe Zen of Language Choice
The Zen of Language Choice
TsungWei Hu
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
TsungWei Hu
 
CMS Showdown For NPO
CMS Showdown For NPOCMS Showdown For NPO
CMS Showdown For NPO
TsungWei Hu
 
Build Python CMS The Plone Way
Build Python CMS The Plone WayBuild Python CMS The Plone Way
Build Python CMS The Plone Way
TsungWei Hu
 
Plone -- Evolving Python CMS
Plone -- Evolving Python CMSPlone -- Evolving Python CMS
Plone -- Evolving Python CMS
TsungWei Hu
 
World Plone Day 2012 Taipei
World Plone Day 2012 TaipeiWorld Plone Day 2012 Taipei
World Plone Day 2012 Taipei
TsungWei Hu
 
Workteam with oDesk
Workteam with oDeskWorkteam with oDesk
Workteam with oDesk
TsungWei Hu
 
Proud Plone on Cloud
Proud Plone on CloudProud Plone on Cloud
Proud Plone on Cloud
TsungWei Hu
 
Sahana Taiwan Development
Sahana Taiwan DevelopmentSahana Taiwan Development
Sahana Taiwan Development
TsungWei Hu
 
Python - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguagePython - A Comprehensive Programming Language
Python - A Comprehensive Programming Language
TsungWei Hu
 
Plone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionPlone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management Solution
TsungWei Hu
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python Programming
TsungWei Hu
 
Ad

Recently uploaded (20)

SDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhereSDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhere
Adtran
 
Cyber Security Legal Framework in Nepal.pptx
Cyber Security Legal Framework in Nepal.pptxCyber Security Legal Framework in Nepal.pptx
Cyber Security Legal Framework in Nepal.pptx
Ghimire B.R.
 
New Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDBNew Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDB
ScyllaDB
 
Contributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptxContributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptx
Patrick Lumumba
 
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure ModesCognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Dr. Tathagat Varma
 
Gihbli AI and Geo sitution |use/misuse of Ai Technology
Gihbli AI and Geo sitution |use/misuse of Ai TechnologyGihbli AI and Geo sitution |use/misuse of Ai Technology
Gihbli AI and Geo sitution |use/misuse of Ai Technology
zainkhurram1111
 
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
James Anderson
 
Introducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRCIntroducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRC
Adtran
 
Maxx nft market place new generation nft marketing place
Maxx nft market place new generation nft marketing placeMaxx nft market place new generation nft marketing place
Maxx nft market place new generation nft marketing place
usersalmanrazdelhi
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
Fortinet Certified Associate in Cybersecurity
Fortinet Certified Associate in CybersecurityFortinet Certified Associate in Cybersecurity
Fortinet Certified Associate in Cybersecurity
VICTOR MAESTRE RAMIREZ
 
6th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 20256th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 2025
DanBrown980551
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Dev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API WorkflowsDev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API Workflows
UiPathCommunity
 
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Nikki Chapple
 
Create Your First AI Agent with UiPath Agent Builder
Create Your First AI Agent with UiPath Agent BuilderCreate Your First AI Agent with UiPath Agent Builder
Create Your First AI Agent with UiPath Agent Builder
DianaGray10
 
Introducing FME Realize: A New Era of Spatial Computing and AR
Introducing FME Realize: A New Era of Spatial Computing and ARIntroducing FME Realize: A New Era of Spatial Computing and AR
Introducing FME Realize: A New Era of Spatial Computing and AR
Safe Software
 
The case for on-premises AI
The case for on-premises AIThe case for on-premises AI
The case for on-premises AI
Principled Technologies
 
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptxECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
Jasper Oosterveld
 
UiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build PipelinesUiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build Pipelines
UiPathCommunity
 
SDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhereSDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhere
Adtran
 
Cyber Security Legal Framework in Nepal.pptx
Cyber Security Legal Framework in Nepal.pptxCyber Security Legal Framework in Nepal.pptx
Cyber Security Legal Framework in Nepal.pptx
Ghimire B.R.
 
New Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDBNew Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDB
ScyllaDB
 
Contributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptxContributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptx
Patrick Lumumba
 
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure ModesCognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Dr. Tathagat Varma
 
Gihbli AI and Geo sitution |use/misuse of Ai Technology
Gihbli AI and Geo sitution |use/misuse of Ai TechnologyGihbli AI and Geo sitution |use/misuse of Ai Technology
Gihbli AI and Geo sitution |use/misuse of Ai Technology
zainkhurram1111
 
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
James Anderson
 
Introducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRCIntroducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRC
Adtran
 
Maxx nft market place new generation nft marketing place
Maxx nft market place new generation nft marketing placeMaxx nft market place new generation nft marketing place
Maxx nft market place new generation nft marketing place
usersalmanrazdelhi
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
Fortinet Certified Associate in Cybersecurity
Fortinet Certified Associate in CybersecurityFortinet Certified Associate in Cybersecurity
Fortinet Certified Associate in Cybersecurity
VICTOR MAESTRE RAMIREZ
 
6th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 20256th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 2025
DanBrown980551
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Dev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API WorkflowsDev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API Workflows
UiPathCommunity
 
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Nikki Chapple
 
Create Your First AI Agent with UiPath Agent Builder
Create Your First AI Agent with UiPath Agent BuilderCreate Your First AI Agent with UiPath Agent Builder
Create Your First AI Agent with UiPath Agent Builder
DianaGray10
 
Introducing FME Realize: A New Era of Spatial Computing and AR
Introducing FME Realize: A New Era of Spatial Computing and ARIntroducing FME Realize: A New Era of Spatial Computing and AR
Introducing FME Realize: A New Era of Spatial Computing and AR
Safe Software
 
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptxECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
Jasper Oosterveld
 
UiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build PipelinesUiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build Pipelines
UiPathCommunity
 

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.’) 組內報告