The Python Tutorial — Python 2.7

download The Python Tutorial — Python 2.7

of 4

Transcript of The Python Tutorial — Python 2.7

  • 8/17/2019 The Python Tutorial — Python 2.7

    1/4

    10/5/2016 The Python Tutorial — Python 2.7.11 documentation

    https://docs.python.org/2/tutorial/ 1/4

    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.

    Python’s 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 the Python Web site, https://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 more formal definition of the language. To write

    extensions in C or C++, read Extending and Embedding the Python Interpreter   andPython/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 Python’s most

    noteworthy features, and will give you a good idea of the language’s 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.

    The Glossary 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

    2.2.1. Source Code Encoding

    3. An Informal Introduction to Python

    3.1. Using Python as a Calculator 

    3.1.1. Numbers

    3.1.2. Strings

    3.1.3. Unicode Strings

    https://docs.python.org/2/tutorial/introduction.html#numbershttps://docs.python.org/2/tutorial/introduction.html#using-python-as-a-calculatorhttps://docs.python.org/2/tutorial/introduction.htmlhttps://docs.python.org/2/tutorial/interpreter.html#the-interpreter-and-its-environmenthttps://docs.python.org/2/tutorial/interpreter.html#invoking-the-interpreterhttps://docs.python.org/2/tutorial/interpreter.htmlhttps://docs.python.org/2/glossary.html#glossaryhttps://docs.python.org/2/library/index.html#library-indexhttps://docs.python.org/2/c-api/index.html#c-api-indexhttps://docs.python.org/2/extending/index.html#extending-indexhttps://docs.python.org/2/reference/index.html#reference-indexhttps://www.python.org/https://docs.python.org/2/tutorial/introduction.html#unicode-stringshttps://docs.python.org/2/tutorial/introduction.html#stringshttps://docs.python.org/2/tutorial/introduction.html#numbershttps://docs.python.org/2/tutorial/introduction.html#using-python-as-a-calculatorhttps://docs.python.org/2/tutorial/introduction.htmlhttps://docs.python.org/2/tutorial/interpreter.html#source-code-encodinghttps://docs.python.org/2/tutorial/interpreter.html#the-interpreter-and-its-environmenthttps://docs.python.org/2/tutorial/interpreter.html#interactive-modehttps://docs.python.org/2/tutorial/interpreter.html#argument-passinghttps://docs.python.org/2/tutorial/interpreter.html#invoking-the-interpreterhttps://docs.python.org/2/tutorial/interpreter.htmlhttps://docs.python.org/2/tutorial/appetite.htmlhttps://docs.python.org/2/glossary.html#glossaryhttps://docs.python.org/2/library/index.html#library-indexhttps://docs.python.org/2/c-api/index.html#c-api-indexhttps://docs.python.org/2/extending/index.html#extending-indexhttps://docs.python.org/2/reference/index.html#reference-indexhttps://docs.python.org/2/library/index.html#library-indexhttps://www.python.org/

  • 8/17/2019 The Python Tutorial — Python 2.7

    2/4

    10/5/2016 The Python Tutorial — Python 2.7.11 documentation

    https://docs.python.org/2/tutorial/ 2/4

    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 Loops

    4.5. pass Statements4.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 Expressions

    4.7.6. Documentation Strings

    4.8. Intermezzo: Coding Style5. 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

    5.1.4.1. Nested List Comprehensions

    5.2. The del statement

    5.3. Tuples and Sequences5.4. Sets

    5.5. Dictionaries

    5.6. Looping Techniques

    5.7. More on Conditions

    5.8. Comparing Sequences and Other Types

    6. 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 Package

    6.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 formatting7.2. Reading and Writing Files

    7.2.1. Methods of File Objects

    7.2.2. Saving structured data with json

    https://docs.python.org/2/tutorial/inputoutput.html#saving-structured-data-with-jsonhttps://docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objectshttps://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-fileshttps://docs.python.org/2/tutorial/inputoutput.html#old-string-formattinghttps://docs.python.org/2/tutorial/inputoutput.html#fancier-output-formattinghttps://docs.python.org/2/tutorial/inputoutput.htmlhttps://docs.python.org/2/tutorial/modules.html#packages-in-multiple-directorieshttps://docs.python.org/2/tutorial/modules.html#intra-package-referenceshttps://docs.python.org/2/tutorial/modules.html#importing-from-a-packagehttps://docs.python.org/2/tutorial/modules.html#packageshttps://docs.python.org/2/tutorial/modules.html#the-dir-functionhttps://docs.python.org/2/tutorial/modules.html#standard-moduleshttps://docs.python.org/2/tutorial/modules.html#compiled-python-fileshttps://docs.python.org/2/tutorial/modules.html#the-module-search-pathhttps://docs.python.org/2/tutorial/modules.html#executing-modules-as-scriptshttps://docs.python.org/2/tutorial/modules.html#more-on-moduleshttps://docs.python.org/2/tutorial/modules.htmlhttps://docs.python.org/2/tutorial/datastructures.html#comparing-sequences-and-other-typeshttps://docs.python.org/2/tutorial/datastructures.html#more-on-conditionshttps://docs.python.org/2/tutorial/datastructures.html#looping-techniqueshttps://docs.python.org/2/tutorial/datastructures.html#dictionarieshttps://docs.python.org/2/tutorial/datastructures.html#setshttps://docs.python.org/2/tutorial/datastructures.html#tuples-and-sequenceshttps://docs.python.org/2/tutorial/datastructures.html#the-del-statementhttps://docs.python.org/2/tutorial/datastructures.html#nested-list-comprehensionshttps://docs.python.org/2/tutorial/datastructures.html#list-comprehensionshttps://docs.python.org/2/tutorial/datastructures.html#functional-programming-toolshttps://docs.python.org/2/tutorial/datastructures.html#using-lists-as-queueshttps://docs.python.org/2/tutorial/datastructures.html#using-lists-as-stackshttps://docs.python.org/2/tutorial/datastructures.html#more-on-listshttps://docs.python.org/2/tutorial/datastructures.htmlhttps://docs.python.org/2/tutorial/controlflow.html#intermezzo-coding-stylehttps://docs.python.org/2/tutorial/controlflow.html#documentation-stringshttps://docs.python.org/2/tutorial/controlflow.html#lambda-expressionshttps://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-listshttps://docs.python.org/2/tutorial/controlflow.html#arbitrary-argument-listshttps://docs.python.org/2/tutorial/controlflow.html#keyword-argumentshttps://docs.python.org/2/tutorial/controlflow.html#default-argument-valueshttps://docs.python.org/2/tutorial/controlflow.html#more-on-defining-functionshttps://docs.python.org/2/tutorial/controlflow.html#defining-functionshttps://docs.python.org/2/tutorial/controlflow.html#pass-statementshttps://docs.python.org/2/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loopshttps://docs.python.org/2/tutorial/controlflow.html#the-range-functionhttps://docs.python.org/2/tutorial/controlflow.html#for-statementshttps://docs.python.org/2/tutorial/controlflow.html#if-statementshttps://docs.python.org/2/tutorial/controlflow.htmlhttps://docs.python.org/2/tutorial/introduction.html#first-steps-towards-programminghttps://docs.python.org/2/tutorial/introduction.html#lists

  • 8/17/2019 The Python Tutorial — Python 2.7

    3/4

    10/5/2016 The Python Tutorial — Python 2.7.11 documentation

    https://docs.python.org/2/tutorial/ 3/4

    8. Errors and Exceptions

    8.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 Actions9. 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 Objects

    9.3.5. Class and Instance Variables9.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 Expressions

    10. 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 Compression10.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

    11.3. Working with Binary Data Record Layouts

    11.4. Multi-threading

    11.5. Logging11.6. Weak References

    11.7. Tools for Working with Lists

    11.8. Decimal Floating Point Arithmetic

    12. What Now?

    https://docs.python.org/2/tutorial/whatnow.htmlhttps://docs.python.org/2/tutorial/stdlib2.html#decimal-floating-point-arithmetichttps://docs.python.org/2/tutorial/stdlib2.html#tools-for-working-with-listshttps://docs.python.org/2/tutorial/stdlib2.html#weak-referenceshttps://docs.python.org/2/tutorial/stdlib2.html#logginghttps://docs.python.org/2/tutorial/stdlib2.html#multi-threadinghttps://docs.python.org/2/tutorial/stdlib2.html#working-with-binary-data-record-layoutshttps://docs.python.org/2/tutorial/stdlib2.html#templatinghttps://docs.python.org/2/tutorial/stdlib2.html#output-formattinghttps://docs.python.org/2/tutorial/stdlib2.htmlhttps://docs.python.org/2/tutorial/stdlib.html#batteries-includedhttps://docs.python.org/2/tutorial/stdlib.html#quality-controlhttps://docs.python.org/2/tutorial/stdlib.html#performance-measurementhttps://docs.python.org/2/tutorial/stdlib.html#data-compressionhttps://docs.python.org/2/tutorial/stdlib.html#dates-and-timeshttps://docs.python.org/2/tutorial/stdlib.html#internet-accesshttps://docs.python.org/2/tutorial/stdlib.html#mathematicshttps://docs.python.org/2/tutorial/stdlib.html#string-pattern-matchinghttps://docs.python.org/2/tutorial/stdlib.html#error-output-redirection-and-program-terminationhttps://docs.python.org/2/tutorial/stdlib.html#command-line-argumentshttps://docs.python.org/2/tutorial/stdlib.html#file-wildcardshttps://docs.python.org/2/tutorial/stdlib.html#operating-system-interfacehttps://docs.python.org/2/tutorial/stdlib.htmlhttps://docs.python.org/2/tutorial/classes.html#generator-expressionshttps://docs.python.org/2/tutorial/classes.html#generatorshttps://docs.python.org/2/tutorial/classes.html#iteratorshttps://docs.python.org/2/tutorial/classes.html#exceptions-are-classes-toohttps://docs.python.org/2/tutorial/classes.html#odds-and-endshttps://docs.python.org/2/tutorial/classes.html#private-variables-and-class-local-referenceshttps://docs.python.org/2/tutorial/classes.html#multiple-inheritancehttps://docs.python.org/2/tutorial/classes.html#inheritancehttps://docs.python.org/2/tutorial/classes.html#random-remarkshttps://docs.python.org/2/tutorial/classes.html#class-and-instance-variableshttps://docs.python.org/2/tutorial/classes.html#method-objectshttps://docs.python.org/2/tutorial/classes.html#instance-objectshttps://docs.python.org/2/tutorial/classes.html#class-objectshttps://docs.python.org/2/tutorial/classes.html#class-definition-syntaxhttps://docs.python.org/2/tutorial/classes.html#a-first-look-at-classeshttps://docs.python.org/2/tutorial/classes.html#python-scopes-and-namespaceshttps://docs.python.org/2/tutorial/classes.html#a-word-about-names-and-objectshttps://docs.python.org/2/tutorial/classes.htmlhttps://docs.python.org/2/tutorial/errors.html#predefined-clean-up-actionshttps://docs.python.org/2/tutorial/errors.html#defining-clean-up-actionshttps://docs.python.org/2/tutorial/errors.html#user-defined-exceptionshttps://docs.python.org/2/tutorial/errors.html#raising-exceptionshttps://docs.python.org/2/tutorial/errors.html#handling-exceptionshttps://docs.python.org/2/tutorial/errors.html#exceptionshttps://docs.python.org/2/tutorial/errors.html#syntax-errorshttps://docs.python.org/2/tutorial/errors.html

  • 8/17/2019 The Python Tutorial — Python 2.7

    4/4

    10/5/2016 The Python Tutorial — Python 2.7.11 documentation

    https://docs.python.org/2/tutorial/ 4/4

    13. Interactive Input Editing and History Substitution

    13.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 

    15. Appendix15.1. Interactive Mode

    15.1.1. Error Handling

    15.1.2. Executable Python Scripts

    15.1.3. The Interactive Startup File

    15.1.4. The Customization Modules

    https://docs.python.org/2/tutorial/appendix.html#the-customization-moduleshttps://docs.python.org/2/tutorial/appendix.html#the-interactive-startup-filehttps://docs.python.org/2/tutorial/appendix.html#executable-python-scriptshttps://docs.python.org/2/tutorial/appendix.html#error-handlinghttps://docs.python.org/2/tutorial/appendix.html#interactive-modehttps://docs.python.org/2/tutorial/appendix.htmlhttps://docs.python.org/2/tutorial/floatingpoint.html#representation-errorhttps://docs.python.org/2/tutorial/floatingpoint.htmlhttps://docs.python.org/2/tutorial/interactive.html#alternatives-to-the-interactive-interpreterhttps://docs.python.org/2/tutorial/interactive.html#key-bindingshttps://docs.python.org/2/tutorial/interactive.html#history-substitutionhttps://docs.python.org/2/tutorial/interactive.html#line-editinghttps://docs.python.org/2/tutorial/interactive.html