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.’)

組內報告
Ad

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)

Summer Training Project.pdf
Summer Training Project.pdfSummer Training Project.pdf
Summer Training Project.pdf
Lovely professinal university
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdf
muzegharjanahai
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdf
sannykhopade
 
Python_final_print_batch_II_vision_academy (1).pdf
Python_final_print_batch_II_vision_academy (1).pdfPython_final_print_batch_II_vision_academy (1).pdf
Python_final_print_batch_II_vision_academy (1).pdf
rupaliakhute
 
Python_vision_academy notes
Python_vision_academy notes Python_vision_academy notes
Python_vision_academy notes
rajaniraut
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdf
bhagyashri686896
 
Python_final_print_vison_academy_9822506209.pdf
Python_final_print_vison_academy_9822506209.pdfPython_final_print_vison_academy_9822506209.pdf
Python_final_print_vison_academy_9822506209.pdf
VisionAcademyProfSac
 
Samsung SDS OpeniT - The possibility of Python
Samsung SDS OpeniT - The possibility of PythonSamsung SDS OpeniT - The possibility of Python
Samsung SDS OpeniT - The possibility of Python
Insuk (Chris) Cho
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
Biswajeet Dasmajumdar
 
Why learn python in 2017?
Why learn python in 2017?Why learn python in 2017?
Why learn python in 2017?
Karolis Ramanauskas
 
Python and its applications
Python and its applicationsPython and its applications
Python and its applications
mohakmishra97
 
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
 
silver gemstone sun pendant silver pendant gemstones
silver gemstone sun pendant silver pendant gemstonessilver gemstone sun pendant silver pendant gemstones
silver gemstone sun pendant silver pendant gemstones
silver gemstone sun pendant
 
Python Programming Draft PPT.pptx
Python Programming Draft PPT.pptxPython Programming Draft PPT.pptx
Python Programming Draft PPT.pptx
LakshmiNarayanaReddy48
 
Interfacing C/C++ and Python with SWIG
Interfacing C/C++ and Python with SWIGInterfacing C/C++ and Python with SWIG
Interfacing C/C++ and Python with SWIG
David Beazley (Dabeaz LLC)
 
what is python ?
what is python ? what is python ?
what is python ?
NetmaxTechnologies1
 
Pyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdfPyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdf
Mattupallipardhu
 
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Jonas Hecht
 
Python 101 For The Net Developer
Python 101 For The Net DeveloperPython 101 For The Net Developer
Python 101 For The Net Developer
Sarah Dutkiewicz
 
POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE
teachersduniya.com
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdf
muzegharjanahai
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdf
sannykhopade
 
Python_final_print_batch_II_vision_academy (1).pdf
Python_final_print_batch_II_vision_academy (1).pdfPython_final_print_batch_II_vision_academy (1).pdf
Python_final_print_batch_II_vision_academy (1).pdf
rupaliakhute
 
Python_vision_academy notes
Python_vision_academy notes Python_vision_academy notes
Python_vision_academy notes
rajaniraut
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdf
bhagyashri686896
 
Python_final_print_vison_academy_9822506209.pdf
Python_final_print_vison_academy_9822506209.pdfPython_final_print_vison_academy_9822506209.pdf
Python_final_print_vison_academy_9822506209.pdf
VisionAcademyProfSac
 
Samsung SDS OpeniT - The possibility of Python
Samsung SDS OpeniT - The possibility of PythonSamsung SDS OpeniT - The possibility of Python
Samsung SDS OpeniT - The possibility of Python
Insuk (Chris) Cho
 
Python and its applications
Python and its applicationsPython and its applications
Python and its applications
mohakmishra97
 
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
 
silver gemstone sun pendant silver pendant gemstones
silver gemstone sun pendant silver pendant gemstonessilver gemstone sun pendant silver pendant gemstones
silver gemstone sun pendant silver pendant gemstones
silver gemstone sun pendant
 
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Jonas Hecht
 
Python 101 For The Net Developer
Python 101 For The Net DeveloperPython 101 For The Net Developer
Python 101 For The Net Developer
Sarah Dutkiewicz
 
POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE
teachersduniya.com
 
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)

IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Mastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdfMastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdf
Spiral Mantra
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Vaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without HallucinationsVaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without Hallucinations
john409870
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Mastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdfMastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdf
Spiral Mantra
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Vaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without HallucinationsVaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without Hallucinations
john409870
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
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.’) 組內報告