现在的位置: 首页 > 编程语言 > 正文

Introduction of python

2016年04月22日 编程语言 ⁄ 共 9278字 ⁄ 字号 评论关闭


"Life is short, you need Python!"




  Python (British pronunciation:/ˈpaɪθən/ American pronunciation:/ˈpaɪθɑːn/)), is an object-oriented computer programming language, literal translation, with nearly 20 years of development history. It contains a set of standard library function complete, easy for many common tasks. Its syntax is simple, and most other programming languages use curly braces, it USES indentation to define blocks.

  And Scheme, Ruby, Perl, Tcl and other dynamic languages, Python have recycling function, can use the automatic memory management. It is often cited as a scripting language for handling system administration tasks and network programming, however, it is also very suitable for all kinds of advanced task. The Python virtual machine itself can almost in all operating system to run. Use some tools such as py2exe, PyPy, PyInstaller Python source code can be converted into program can run from the Python interpreter.

  Official Python interpreter is retaining, the explanation is used C language to write, is a free software community driven, currently managed by the Python software foundation.

  Python supports imperative programming, object-oriented programming, functional programming, side oriented program design, a variety of generic programming programming paradigm.



  Python's founder of Guido van Luo Sum (Guido van Rossum). During Christmas 1989, guido van Luo Sum in order to pass the time in Amsterdam, determined to develop a new script interpreter, as an inheritance of the ABC language. Was selected to Python, as the name of the program, because he is the BBC TV series - Monty, parson's (the Monty Python Flying Circus' s Flying Circus). Participate in design of ABC is a kind of language of instruction. Guido himself seems, ABC this language is very beautiful and strong, is specially designed for non-professional programmers. But the ABC language did not succeed, investigate its reason, that is caused by the open. Guido determination in Python to avoid this error, and obtain the very good effect, the perfect combination of C and other languages.

  In this way, the Python in the hands of guido was born. In fact, the first implementation is in the Mac. Python, as it were, from ABC, mainly by the Modula - 3 (another very beautiful and powerful language, designed for small groups). And combined with the Unix shell and the habit of C.

  At present is still a Python of major developers, decide the development direction of the Python language. Python community often call he is benevolent dictator.

  Issued by the Python 2.0 on October 16, 2000, has added to achieve complete garbage collection, and support Unicode. At the same time, the whole development process more transparent, the community's influence on the development progress. Issued by the Python 3.0 on December 3, 2008, it is not fully compatible with the previous Python source code. However, many new features were later transplanted to the old 2.6/2.7 version of Python.

  Python is fully object-oriented language. Function, module, digital, strings are objects. And completely support inheritance, overloading, derivation, multiple inheritance, will boost the source code reusability. Python supports overloaded operators, so the Python also supports generic design. Compared with the traditional function of a Lisp programming language, Python provides only limited support for functional design. There are two Standard library (functools itertools) provides with Haskell and Standard ML in similar functional programming tools.

  Although Python can be roughly classified as "scripting language (script language), but in fact, some large-scale software development projects such as Zope, Mnet and BitTorrent, Google is also widely used it. Python's supporters prefer to call it an advanced dynamic programming language, the reason is "scripting language" refers to only a simple program design language, such as a shell script, VBScript programming languages can only handle a simple task, and can not be compared with Python.

  Therefore, there are a lot of people turn Python as a kind of "language" of glue (glue language) is used. Using the Python programs written in other languages for integration and encapsulation. Within Google's many projects, such as Google App Engine using c + + write high performance requirements of parts, and then use Python or Java/Go to invoke the corresponding module. [6] author of Python technical manuals, "(Alex Martelli) said:" it's hard to tell, but, in 2004, Python has been used inside Google, Google recruiting many Python, but before that has decided to use Python. Their goal is to use Python as far as possible, when forced to switch to c + +, in the case of controlling hardware using c + +, use Python when rapid development."


Why Python?

Python is powerful... and fast; 
plays well with others; 
runs everywhere; 
is friendly & easy to learn; 
is Open.

These are some
of the reasons people who use Python would rather not use anything else.


Quotes about Python

  Python is used successfully in thousands of real-world business applications around the world, including many large and mission critical systems. Here are some quotes from happy Python users:


  "Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers," said Cuong Do, Software Architect, YouTube.com.

Industrial Light & Magic

  "Python plays a key role in our production pipeline. Without it a project the size of Star Wars: Episode II would have been very difficult to pull off. From crowd rendering to batch processing to compositing, Python binds all things together," said Tommy Burnette, Senior Technical Director, Industrial Light & Magic.

  "Python is everywhere at ILM. It's used to extend the capabilities of our applications, as well as providing the glue between them. Every CG image we create has involved Python somewhere in the process," said Philip Peterson, Principal Engineer, Research & Development, Industrial Light & Magic.


  "Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we're looking for more people with skills in this language." said Peter Norvig, director of search quality at Google, Inc.


  "Journyx technology, from the source code of our software to the code that maintains our Web site and ASP sites, is entirely based on Python. It increases our speed of development and keeps us several steps ahead of competitors while remaining easy to read and use. It's as high level of a language as you can have without running into functionality problems. I estimate that Python makes our coders 10 times more productive than Java programmers, and 100 times more than C programmers." -- Curt Finch, CEO, Journyx


  "IronPort email gateway appliances are used by the largest corporations and ISPs in the world," said Mark Peek, Sr. Director of Engineering at IronPort Systems. "Python is a critical ingredient in this high performance system. IronPort's suite of products contains over a million lines of Python. The PSF is an invaluable resource that helps keep Python on the cutting edge."

EVE Online

  "Python enabled us to create EVE Online, a massive multiplayer game, in record time. The EVE Online server cluster runs over 50,000 simultaneous players in a shared space simulation, most of which is created in Python. The flexibilities of Python have enabled us to quickly improve the game experience based on player feedback" said Hilmar Veigar Petursson of CCP Games.


  "HomeGain maintains its commitment to continual improvement through rapid turnaround of new features and enhancements. Python supports this short time-to-market philosophy with concise, clear syntax and a powerful standard library. New development proceeds rapidly, and maintenance of existing code is straightforward and fast," said Geoff Gerrietts, Software Engineer, HomeGain.com.

Thawte Consulting

  "Python makes us extremely productive, and makes maintaining a large and rapidly evolving codebase relatively simple," said Mark Shuttleworth.

University of Maryland

  "I have the students learn Python in our undergraduate and graduate Semantic Web courses. Why? Because basically there's nothing else with the flexibility and as many web libraries," said Prof. James A. Hendler.


  "The travel industry is made up of a myriad supplier data feeds all of which are proprietary in some way and are constantly changing. Python repeatedly has allowed us to access, build and test our in-house communications with hundreds of travel suppliers around the world in a matter of days rather then the months it would have taken using other languages. Since adopting Python 2 years ago, Python has provided us with a measurable productivity gain that allows us to stay competitive in the online travel space," said Michael Engelhart, CTO of EZTrip.com.


  "Python in conjunction with PHP has repeatedly allowed us to develop fast and proficient applications that permit Real Estate Agent .com to operate with minimal resources. Python is a critical part of our dynamically growing cluster directory of real estate agents." said Gadi Hus, Webmaster, Volico Web Consulting

Firaxis Games

  "Like XML, scripting was extremely useful as both a mod tool and an internal development tool. If you don't have any need to expose code and algorithms in a simple and safe way to others, you can argue that providing a scripting language is not worth the effort. However, if you do have that need, as we did, scripting is a no brainer, and it makes complete sense to use a powerful, documented, cross-platform standard such as Python." -- Mustafa Thamer of Firaxis Games, talking about Civilization IV. Quoted on page 18 of the August 2005 Game Developer Magazine.

  "Python, like many good technologies, soon spreads virally throughout your development team and finds its way into all sorts of applications and tools. In other words, Python begins to feel like a big hammer and coding tasks look like nails." -- Mustafa Thamer of Firaxis Games, talking about Civilization IV. Quoted on page 18 of the August 2005 Game Developer Magazine.

  "We chose to use python because we wanted a well-supported scripting language that could extend our core code. Indeed, we wrote much more code in python than we were expecting, including all in-game screens and the main interface. It was a huge win for the project because writing code in a language with garbage collection simply goes faster than writing code in C++. The fact that users will be able to easily mod the interface is a nice plus as well. The downside of python was that it significantly increased our build times, mostly from linking with Boost."

  -- Soren Johnson, lead designer, Civilization IV. Quoted in a Slashdot interview