SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
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.’)

組內報告

Contenu connexe

Tendances

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 EngineersBoey 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 Worlde8xu
 
Python course syllabus
Python course syllabusPython course syllabus
Python course syllabusSugantha T
 
Introduction to python programming
Introduction to python programmingIntroduction to python programming
Introduction to python programmingKiran Vadakkath
 
First python project
First python projectFirst python project
First python projectNeetu 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 LanguageEdureka!
 
Python for Android
Python for AndroidPython for Android
Python for Androidphlax
 
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 linguistsshukaihsieh
 
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 pythonAgung Wahyudi
 

Tendances (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 |...
 
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...
 
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
 
Python vs c++ ppt
Python vs c++ pptPython vs c++ ppt
Python vs c++ ppt
 
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.
 
SWIG Hello World
SWIG Hello WorldSWIG Hello World
SWIG Hello World
 
Basics of python
Basics of pythonBasics of python
Basics of python
 
Python course syllabus
Python course syllabusPython course syllabus
Python course syllabus
 
Introduction to python programming
Introduction to python programmingIntroduction to python programming
Introduction to python programming
 
First python project
First python projectFirst python project
First python project
 
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
 
Python for Android
Python for AndroidPython for Android
Python for Android
 
Comparison between python and c++
Comparison between python and c++Comparison between python and c++
Comparison between python and c++
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Top 10 python ide
Top 10 python ideTop 10 python ide
Top 10 python ide
 
python for linguists
python for linguistspython for linguists
python for linguists
 
Introduction to python for Beginners
Introduction to python for Beginners Introduction to python for Beginners
Introduction to python for Beginners
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Python tutorial
Python tutorialPython tutorial
Python tutorial
 
C++ vs python
C++ vs pythonC++ vs python
C++ vs python
 

Similaire à Python for Application Integration and Development

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.pdfbhagyashri686896
 
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).pdfrupaliakhute
 
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.pdfsannykhopade
 
Python_vision_academy notes
Python_vision_academy notes Python_vision_academy notes
Python_vision_academy notes rajaniraut
 
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.pdfVisionAcademyProfSac
 
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 PythonInsuk (Chris) Cho
 
Python and its applications
Python and its applicationsPython and its applications
Python and its applicationsmohakmishra97
 
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 DeveloperSarah Dutkiewicz
 
POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE teachersduniya.com
 
Mastering the Interview: 50 Common Interview Questions Demystified
Mastering the Interview: 50 Common Interview Questions DemystifiedMastering the Interview: 50 Common Interview Questions Demystified
Mastering the Interview: 50 Common Interview Questions DemystifiedMalcolmDupri
 
Возможности интерпретатора Python в NX-OS
Возможности интерпретатора Python в NX-OSВозможности интерпретатора Python в NX-OS
Возможности интерпретатора Python в NX-OSCisco Russia
 
CHX PYTHON INTRO
CHX PYTHON INTROCHX PYTHON INTRO
CHX PYTHON INTROKai Liu
 

Similaire à Python for Application Integration and Development (20)

Summer Training Project.pdf
Summer Training Project.pdfSummer Training Project.pdf
Summer Training Project.pdf
 
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
 
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
 
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
 
Python_vision_academy notes
Python_vision_academy notes Python_vision_academy notes
Python_vision_academy notes
 
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
 
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
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 
Why learn python in 2017?
Why learn python in 2017?Why learn python in 2017?
Why learn python in 2017?
 
Python and its applications
Python and its applicationsPython and its applications
Python and its applications
 
Python Programming Draft PPT.pptx
Python Programming Draft PPT.pptxPython Programming Draft PPT.pptx
Python Programming Draft PPT.pptx
 
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
 
what is python ?
what is python ? what is python ?
what is python ?
 
Pyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdfPyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdf
 
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)?
 
Python 101 For The Net Developer
Python 101 For The Net DeveloperPython 101 For The Net Developer
Python 101 For The Net Developer
 
POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE
 
Mastering the Interview: 50 Common Interview Questions Demystified
Mastering the Interview: 50 Common Interview Questions DemystifiedMastering the Interview: 50 Common Interview Questions Demystified
Mastering the Interview: 50 Common Interview Questions Demystified
 
Возможности интерпретатора Python в NX-OS
Возможности интерпретатора Python в NX-OSВозможности интерпретатора Python в NX-OS
Возможности интерпретатора Python в NX-OS
 
CHX PYTHON INTRO
CHX PYTHON INTROCHX PYTHON INTRO
CHX PYTHON INTRO
 

Plus de TsungWei Hu

Odoo Development
Odoo DevelopmentOdoo Development
Odoo DevelopmentTsungWei Hu
 
開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRM開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRMTsungWei 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 TaleTsungWei Hu
 
from passion import profession
from passion import professionfrom passion import profession
from passion import professionTsungWei Hu
 
Computer Programming For Everyone
Computer Programming For EveryoneComputer Programming For Everyone
Computer Programming For EveryoneTsungWei Hu
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch IntroductionTsungWei 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 MapsTsungWei Hu
 
The Zen of Language Choice
The Zen of Language ChoiceThe Zen of Language Choice
The Zen of Language ChoiceTsungWei Hu
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersTsungWei Hu
 
CMS Showdown For NPO
CMS Showdown For NPOCMS Showdown For NPO
CMS Showdown For NPOTsungWei Hu
 
Build Python CMS The Plone Way
Build Python CMS The Plone WayBuild Python CMS The Plone Way
Build Python CMS The Plone WayTsungWei Hu
 
Plone -- Evolving Python CMS
Plone -- Evolving Python CMSPlone -- Evolving Python CMS
Plone -- Evolving Python CMSTsungWei Hu
 
World Plone Day 2012 Taipei
World Plone Day 2012 TaipeiWorld Plone Day 2012 Taipei
World Plone Day 2012 TaipeiTsungWei Hu
 
Workteam with oDesk
Workteam with oDeskWorkteam with oDesk
Workteam with oDeskTsungWei Hu
 
Proud Plone on Cloud
Proud Plone on CloudProud Plone on Cloud
Proud Plone on CloudTsungWei Hu
 
Sahana Taiwan Development
Sahana Taiwan DevelopmentSahana Taiwan Development
Sahana Taiwan DevelopmentTsungWei Hu
 
Python - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguagePython - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguageTsungWei Hu
 
Plone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionPlone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionTsungWei Hu
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python ProgrammingTsungWei Hu
 

Plus de TsungWei Hu (20)

Odoo Development
Odoo DevelopmentOdoo Development
Odoo Development
 
開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRM開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRM
 
Plone Zwiki
Plone ZwikiPlone Zwiki
Plone Zwiki
 
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
 
from passion import profession
from passion import professionfrom passion import profession
from passion import profession
 
Computer Programming For Everyone
Computer Programming For EveryoneComputer Programming For Everyone
Computer Programming For Everyone
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch Introduction
 
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
 
The Zen of Language Choice
The Zen of Language ChoiceThe Zen of Language Choice
The Zen of Language Choice
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
CMS Showdown For NPO
CMS Showdown For NPOCMS Showdown For NPO
CMS Showdown For NPO
 
Build Python CMS The Plone Way
Build Python CMS The Plone WayBuild Python CMS The Plone Way
Build Python CMS The Plone Way
 
Plone -- Evolving Python CMS
Plone -- Evolving Python CMSPlone -- Evolving Python CMS
Plone -- Evolving Python CMS
 
World Plone Day 2012 Taipei
World Plone Day 2012 TaipeiWorld Plone Day 2012 Taipei
World Plone Day 2012 Taipei
 
Workteam with oDesk
Workteam with oDeskWorkteam with oDesk
Workteam with oDesk
 
Proud Plone on Cloud
Proud Plone on CloudProud Plone on Cloud
Proud Plone on Cloud
 
Sahana Taiwan Development
Sahana Taiwan DevelopmentSahana Taiwan Development
Sahana Taiwan Development
 
Python - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguagePython - A Comprehensive Programming Language
Python - A Comprehensive Programming Language
 
Plone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionPlone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management Solution
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python Programming
 

Dernier

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Dernier (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

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