Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Python for ApplicationIntegration and Development        Python        for Application        Integration and Development ...
Agenda      History of Python      Python Features      Python as Research Workbench      Python for Web Development ...
70s,In theXerox 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    ...
Python Chronology          CP4E                                        2009  Programming as                               ...
The Year When My Script Looks Like… use CGI; my $q = CGI->new(); say $q->header(), $q->start_html(); say "<h1>Parameters</...
My Brain Just Hardly Fits Them…my $q%&*#@->{~(,)};Even Worse…inconsistent coding style?組內報告   2012/10/30   8
Python Features: Easy to Learnif ’smiths’ in RegisterList:    sendNote(‘VIP registered’)elif ’doe’ not in RegisterList:   ...
Python Features: Indentationif ’smiths’ in RegisterList:    sendNote(‘VIP registered’)elif ’doe’ not in RegisterList:    s...
Readability counts  Programs are meant to be  read by humans and only  incidentally for computers  to execute -- Donald Kn...
The Zen of Python, by Tim Peters  There should be one –  and preferably only one –  obvious way to do it.Toward           ...
Python as Research Workbench Pythonmakes it easy to balance high-level programming with low-level optimization. Python  ...
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                  ...
GIS and SQL Tools                                  Shapely                         PyPROJ                               ge...
Python for Web DevelopmentCommon Ways to Have Your Web Sites:• Building Them with Frameworks• Building Them with CMSes    ...
Plone, a Python based CMSCMS = Contents Stored in Database      Added/Edited by User/Group      Managed with Workflow     ...
Form ElementsCMS = Contents Stored in Database      Added/Edited by User/Group      Managed with Workflow      Searchable ...
Dexterity Content Types組內報告   2012/10/30   20
Form BehaviorsCMS = Contents Stored in Database      Added/Edited by User/Group      Managed with Workflow      Searchable...
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...
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 ...
Conclusion   Python serves well as the first language to    learn, even better as the glue when    working with other lan...
Python Style Ending  if questions:      try:           answer()      except RuntimeError:           pass  else:      print...
Upcoming SlideShare
Loading in …5
×

Python for Application Integration and Development

1,375 views

Published on

Python Introduction in the Group Meeting on 2012/10/30.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Python for Application Integration and Development

  1. 1. Python for ApplicationIntegration and Development Python for Application Integration and Development 胡崇偉 marr 2012/10/30 組內報告Copyright © Elitegroup Computer Systems. All Rights Reserved Page1
  2. 2. Agenda History of Python Python Features Python as Research Workbench Python for Web Development Python Community Conclusion組內報告 2012/10/30 2
  3. 3. 70s,In theXerox PARC asked: Can we have a computer on every desk?組內報告 2012/10/30 3
  4. 4. A follow-up Question: What will happen if users can program their own computer?組內報告 2012/10/30 4
  5. 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. 6. Python Chronology CP4E 2009 Programming as Education a Literacy 2004 2001 CNRI Commercial 1995 1994CWI 1989 comp.lang.python Research 組內報告 2012/10/30 6
  7. 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. 8. My Brain Just Hardly Fits Them…my $q%&*#@->{~(,)};Even Worse…inconsistent coding style?組內報告 2012/10/30 8
  9. 9. Python Features: Easy to Learnif ’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. 10. Python Features: Indentationif ’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. 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. 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. 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. 14. reStructuredText Example.. math:: Gamma(z) = int_0^infty x^{z-1}e^{-x},dx 組內報告 2012/10/30 14
  15. 15. Research Libraries Fortran to Python interface generator ctypes組內報告 2012/10/30 15
  16. 16. GIS and SQL Tools Shapely PyPROJ geopy Fiona ArcPy組內報告 2012/10/30 16
  17. 17. Python for Web DevelopmentCommon 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. 18. Plone, a Python based CMSCMS = 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. 19. Form ElementsCMS = Contents Stored in Database Added/Edited by User/Group Managed with Workflow Searchable via Index/Catalog組內報告 2012/10/30 19
  20. 20. Dexterity Content Types組內報告 2012/10/30 20
  21. 21. Form BehaviorsCMS = Contents Stored in Database Added/Edited by User/Group Managed with Workflow Searchable via Index/Catalog組內報告 2012/10/30 21
  22. 22. Form Behaviors: Maps Enabled組內報告 2012/10/30 22
  23. 23. More Packages Needed? Python Packages are distributed as Eggs and listed on http://pypi.python.org/組內報告 2012/10/30 23
  24. 24. Community 組內報告 2012/10/30 24
  25. 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, theyll be able to hire better programmers, because theyll 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 dont learn merely to get a job. 組內報告 2012/10/30 25
  26. 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. 27. Python Style Ending if questions: try: answer() except RuntimeError: pass else: print(‘Thank You.’)組內報告

×