The Python Tutorial — Python v2.7

Preview:

Citation preview

  • 7/29/2019 The Python Tutorial Python v2.7

    1/5

    The Python Tutorial

    Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach

    to object-oriented programming. Pythons elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal

    language for scripting and rapid application development in many areas on most platforms.

    The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms from thePython Web site, http://www.python.org/, and may be freely distributed. The same site also contains distributions of and pointers to many

    free third party Python modules, programs and tools, and additional documentation.

    The Python interpreter is easily extended with new functions and data types implemented in C or C++ (or other languages callable from

    C). Python is also suitable as an extension language for customizable applications.

    This tutorial introduces the reader informally to the basic concepts and features of the Python language and system. It helps to have a

    Python interpreter handy for hands-on experience, but all examples are self-contained, so the tutorial can be read off-line as well.

    For a description of standard objects and modules, see The Python Standard Library. The Python Language Reference gives a moreformal definition of the language. To write extensions in C or C++, read Extending and Embedding the Python Interpreterand Python/C

    API Reference Manual. There are also several books covering Python in depth.

    This tutorial does not attempt to be comprehensive and cover every single feature, or even every commonly used feature. Instead, it

    introduces many of Pythons most noteworthy features, and will give you a good idea of the languages flavor and style. After reading it,

    you will be able to read and write Python modules and programs, and you will be ready to learn more about the various Python library

    modules described in The Python Standard Library.

    TheGlossary

    is also worth going through.

    1. Whetting Your Appetite

    2. Using the Python Interpreter

    2.1. Invoking the Interpreter

    2.1.1. Argument Passing

    2.1.2. Interactive Mode

    2.2. The Interpreter and Its Environment

    http://docs.python.org/2/tutorial/interpreter.html#argument-passinghttp://docs.python.org/2/tutorial/interpreter.html#invoking-the-interpreterhttp://docs.python.org/2/tutorial/interpreter.htmlhttp://docs.python.org/2/glossary.html#glossaryhttp://docs.python.org/2/library/index.html#library-indexhttp://docs.python.org/2/c-api/index.html#c-api-indexhttp://docs.python.org/2/tutorial/interpreter.html#the-interpreter-and-its-environmenthttp://docs.python.org/2/tutorial/interpreter.html#interactive-modehttp://docs.python.org/2/tutorial/interpreter.html#argument-passinghttp://docs.python.org/2/tutorial/interpreter.html#invoking-the-interpreterhttp://docs.python.org/2/tutorial/interpreter.htmlhttp://docs.python.org/2/tutorial/appetite.htmlhttp://docs.python.org/2/glossary.html#glossaryhttp://docs.python.org/2/library/index.html#library-indexhttp://docs.python.org/2/c-api/index.html#c-api-indexhttp://docs.python.org/2/extending/index.html#extending-indexhttp://docs.python.org/2/reference/index.html#reference-indexhttp://docs.python.org/2/library/index.html#library-indexhttp://www.python.org/
  • 7/29/2019 The Python Tutorial Python v2.7

    2/5

    2.2.1. Error Handling

    2.2.2. Executable Python Scripts

    2.2.3. Source Code Encoding

    2.2.4. The Interactive Startup Fi le

    2.2.5. The Customization Modules

    3. An Informal Introduction to Python

    3.1. Using Python as a Calculator

    3.1.1. Numbers3.1.2. Strings

    3.1.3. Unicode Strings

    3.1.4. Lists

    3.2. First Steps Towards Programming

    4. More Control Flow Tools

    4.1. if Statements

    4.2. for Statements

    4.3. The range() Function

    4.4. break and continue Statements, and else Clauses on Loops4.5. pass Statements

    4.6. Defining Functions

    4.7. More on Defining Functions

    4.7.1. Default Argument Values

    4.7.2. Keyword Arguments

    4.7.3. Arbitrary Argument Lists

    4.7.4. Unpacking Argument Lists

    4.7.5. Lambda Forms

    4.7.6. Documentation Strings4.8. Intermezzo: Coding Style

    5. Data Structures

    5.1. More on Lists

    5.1.1. Using Lists as Stacks

    5.1.2. Using Lists as Queues

    5.1.3. Functional Programming Tools

    5.1.4. List Comprehensions

    http://docs.python.org/2/tutorial/datastructures.html#list-comprehensionshttp://docs.python.org/2/tutorial/datastructures.html#functional-programming-toolshttp://docs.python.org/2/tutorial/datastructures.html#using-lists-as-queueshttp://docs.python.org/2/tutorial/datastructures.html#using-lists-as-stackshttp://docs.python.org/2/tutorial/datastructures.html#more-on-listshttp://docs.python.org/2/tutorial/datastructures.htmlhttp://docs.python.org/2/tutorial/controlflow.html#intermezzo-coding-stylehttp://docs.python.org/2/tutorial/controlflow.html#documentation-stringshttp://docs.python.org/2/tutorial/controlflow.html#lambda-formshttp://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-listshttp://docs.python.org/2/tutorial/controlflow.html#arbitrary-argument-listshttp://docs.python.org/2/tutorial/controlflow.html#keyword-argumentshttp://docs.python.org/2/tutorial/controlflow.html#default-argument-valueshttp://docs.python.org/2/tutorial/controlflow.html#more-on-defining-functionshttp://docs.python.org/2/tutorial/controlflow.html#defining-functionshttp://docs.python.org/2/tutorial/controlflow.html#pass-statementshttp://docs.python.org/2/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loopshttp://docs.python.org/2/tutorial/controlflow.html#the-range-functionhttp://docs.python.org/2/tutorial/controlflow.html#for-statementshttp://docs.python.org/2/tutorial/controlflow.html#if-statementshttp://docs.python.org/2/tutorial/controlflow.htmlhttp://docs.python.org/2/tutorial/introduction.html#first-steps-towards-programminghttp://docs.python.org/2/tutorial/introduction.html#listshttp://docs.python.org/2/tutorial/introduction.html#unicode-stringshttp://docs.python.org/2/tutorial/introduction.html#stringshttp://docs.python.org/2/tutorial/introduction.html#numbershttp://docs.python.org/2/tutorial/introduction.html#using-python-as-a-calculatorhttp://docs.python.org/2/tutorial/introduction.htmlhttp://docs.python.org/2/tutorial/interpreter.html#the-customization-moduleshttp://docs.python.org/2/tutorial/interpreter.html#the-interactive-startup-filehttp://docs.python.org/2/tutorial/interpreter.html#source-code-encodinghttp://docs.python.org/2/tutorial/interpreter.html#executable-python-scriptshttp://docs.python.org/2/tutorial/interpreter.html#error-handling
  • 7/29/2019 The Python Tutorial Python v2.7

    3/5

    5.1.4.1. Nested List Comprehensions

    5.2. The del statement

    5.3. Tuples and Sequences

    5.4. Sets

    5.5. Dictionaries

    5.6. Looping Techniques

    5.7. More on Conditions

    5.8. Comparing Sequences and Other Types6. Modules

    6.1. More on Modules

    6.1.1. Executing modules as scripts

    6.1.2. The Module Search Path

    6.1.3. Compiled Python files

    6.2. Standard Modules

    6.3. The dir() Function

    6.4. Packages

    6.4.1. Importing * From a Package6.4.2. Intra-package References

    6.4.3. Packages in Multiple Directories

    7. Input and Output

    7.1. Fancier Output Formatting

    7.1.1. Old string formatting

    7.2. Reading and Writing Files

    7.2.1. Methods of File Objects

    7.2.2. The pickle Module

    8. Errors and Exceptions8.1. Syntax Errors

    8.2. Exceptions

    8.3. Handling Exceptions

    8.4. Raising Exceptions

    8.5. User-defined Exceptions

    8.6. Defining Clean-up Actions

    8.7. Predefined Clean-up Actions

    http://docs.python.org/2/tutorial/errors.html#predefined-clean-up-actionshttp://docs.python.org/2/tutorial/errors.html#defining-clean-up-actionshttp://docs.python.org/2/tutorial/errors.html#user-defined-exceptionshttp://docs.python.org/2/tutorial/errors.html#raising-exceptionshttp://docs.python.org/2/tutorial/errors.html#handling-exceptionshttp://docs.python.org/2/tutorial/errors.html#exceptionshttp://docs.python.org/2/tutorial/errors.html#syntax-errorshttp://docs.python.org/2/tutorial/errors.htmlhttp://docs.python.org/2/tutorial/inputoutput.html#the-pickle-modulehttp://docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objectshttp://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-fileshttp://docs.python.org/2/tutorial/inputoutput.html#old-string-formattinghttp://docs.python.org/2/tutorial/inputoutput.html#fancier-output-formattinghttp://docs.python.org/2/tutorial/inputoutput.htmlhttp://docs.python.org/2/tutorial/modules.html#packages-in-multiple-directorieshttp://docs.python.org/2/tutorial/modules.html#intra-package-referenceshttp://docs.python.org/2/tutorial/modules.html#importing-from-a-packagehttp://docs.python.org/2/tutorial/modules.html#packageshttp://docs.python.org/2/tutorial/modules.html#the-dir-functionhttp://docs.python.org/2/tutorial/modules.html#standard-moduleshttp://docs.python.org/2/tutorial/modules.html#compiled-python-fileshttp://docs.python.org/2/tutorial/modules.html#the-module-search-pathhttp://docs.python.org/2/tutorial/modules.html#executing-modules-as-scriptshttp://docs.python.org/2/tutorial/modules.html#more-on-moduleshttp://docs.python.org/2/tutorial/modules.htmlhttp://docs.python.org/2/tutorial/datastructures.html#comparing-sequences-and-other-typeshttp://docs.python.org/2/tutorial/datastructures.html#more-on-conditionshttp://docs.python.org/2/tutorial/datastructures.html#looping-techniqueshttp://docs.python.org/2/tutorial/datastructures.html#dictionarieshttp://docs.python.org/2/tutorial/datastructures.html#setshttp://docs.python.org/2/tutorial/datastructures.html#tuples-and-sequenceshttp://docs.python.org/2/tutorial/datastructures.html#the-del-statementhttp://docs.python.org/2/tutorial/datastructures.html#nested-list-comprehensions
  • 7/29/2019 The Python Tutorial Python v2.7

    4/5

    9. Classes

    9.1. A Word About Names and Objects

    9.2. Python Scopes and Namespaces

    9.3. A First Look at Classes

    9.3.1. Class Definition Syntax

    9.3.2. Class Objects

    9.3.3. Instance Objects

    9.3.4. Method Objects9.4. Random Remarks

    9.5. Inheritance

    9.5.1. Multiple Inheritance

    9.6. Private Variables and Class-local References

    9.7. Odds and Ends

    9.8. Exceptions Are Classes Too

    9.9. Iterators

    9.10. Generators

    9.11. Generator Expressions10. Brief Tour of the Standard Library

    10.1. Operating System Interface

    10.2. File Wildcards

    10.3. Command Line Arguments

    10.4. Error Output Redirection and Program Termination

    10.5. String Pattern Matching

    10.6. Mathematics

    10.7. Internet Access

    10.8. Dates and Times

    10.9. Data Compression

    10.10. Performance Measurement

    10.11. Quality Control

    10.12. Batteries Included

    11. Brief Tour of the Standard Library Part II

    11.1. Output Formatting

    11.2. Templating

    http://docs.python.org/2/tutorial/stdlib2.html#templatinghttp://docs.python.org/2/tutorial/stdlib2.html#output-formattinghttp://docs.python.org/2/tutorial/stdlib2.htmlhttp://docs.python.org/2/tutorial/stdlib.html#batteries-includedhttp://docs.python.org/2/tutorial/stdlib.html#quality-controlhttp://docs.python.org/2/tutorial/stdlib.html#performance-measurementhttp://docs.python.org/2/tutorial/stdlib.html#data-compressionhttp://docs.python.org/2/tutorial/stdlib.html#dates-and-timeshttp://docs.python.org/2/tutorial/stdlib.html#internet-accesshttp://docs.python.org/2/tutorial/stdlib.html#mathematicshttp://docs.python.org/2/tutorial/stdlib.html#string-pattern-matchinghttp://docs.python.org/2/tutorial/stdlib.html#error-output-redirection-and-program-terminationhttp://docs.python.org/2/tutorial/stdlib.html#command-line-argumentshttp://docs.python.org/2/tutorial/stdlib.html#file-wildcardshttp://docs.python.org/2/tutorial/stdlib.html#operating-system-interfacehttp://docs.python.org/2/tutorial/stdlib.htmlhttp://docs.python.org/2/tutorial/classes.html#generator-expressionshttp://docs.python.org/2/tutorial/classes.html#generatorshttp://docs.python.org/2/tutorial/classes.html#iteratorshttp://docs.python.org/2/tutorial/classes.html#exceptions-are-classes-toohttp://docs.python.org/2/tutorial/classes.html#odds-and-endshttp://docs.python.org/2/tutorial/classes.html#private-variables-and-class-local-referenceshttp://docs.python.org/2/tutorial/classes.html#multiple-inheritancehttp://docs.python.org/2/tutorial/classes.html#inheritancehttp://docs.python.org/2/tutorial/classes.html#random-remarkshttp://docs.python.org/2/tutorial/classes.html#method-objectshttp://docs.python.org/2/tutorial/classes.html#instance-objectshttp://docs.python.org/2/tutorial/classes.html#class-objectshttp://docs.python.org/2/tutorial/classes.html#class-definition-syntaxhttp://docs.python.org/2/tutorial/classes.html#a-first-look-at-classeshttp://docs.python.org/2/tutorial/classes.html#python-scopes-and-namespaceshttp://docs.python.org/2/tutorial/classes.html#a-word-about-names-and-objectshttp://docs.python.org/2/tutorial/classes.html
  • 7/29/2019 The Python Tutorial Python v2.7

    5/5

    11.3. Working with Binary Data Record Layouts

    11.4. Multi-threading

    11.5. Logging

    11.6. Weak References

    11.7. Tools for Working with Lists

    11.8. Decimal Floating Point Arithmetic

    12. What Now?

    13. Interactive Input Editing and History Substitution13.1. Line Editing

    13.2. History Substitution

    13.3. Key Bindings

    13.4. Alternatives to the Interactive Interpreter

    14. Floating Point Arithmetic: Issues and Limitations

    14.1. Representation Error

    http://docs.python.org/2/tutorial/floatingpoint.html#representation-errorhttp://docs.python.org/2/tutorial/floatingpoint.htmlhttp://docs.python.org/2/tutorial/interactive.html#alternatives-to-the-interactive-interpreterhttp://docs.python.org/2/tutorial/interactive.html#key-bindingshttp://docs.python.org/2/tutorial/interactive.html#history-substitutionhttp://docs.python.org/2/tutorial/interactive.html#line-editinghttp://docs.python.org/2/tutorial/interactive.htmlhttp://docs.python.org/2/tutorial/whatnow.htmlhttp://docs.python.org/2/tutorial/stdlib2.html#decimal-floating-point-arithmetichttp://docs.python.org/2/tutorial/stdlib2.html#tools-for-working-with-listshttp://docs.python.org/2/tutorial/stdlib2.html#weak-referenceshttp://docs.python.org/2/tutorial/stdlib2.html#logginghttp://docs.python.org/2/tutorial/stdlib2.html#multi-threadinghttp://docs.python.org/2/tutorial/stdlib2.html#working-with-binary-data-record-layouts