Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Python Programing Language, Exercises of Computer Programming

Python language A very good programming language. It is a popular language for programmers.

Typology: Exercises

2020/2021

Uploaded on 12/30/2021

Aimachifar
Aimachifar 🇮🇳

5

(1)

1 document

1 / 155

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Python Tutorial
Release 3.7.0
Guido van Rossum
and the Python development team
September 02, 2018
Python Software Foundation
Email: docs@python.org
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download Python Programing Language and more Exercises Computer Programming in PDF only on Docsity!

Python Tutorial

Release 3.7.

Guido van Rossum

and the Python development team

September 02, 2018

Python Software Foundation

Email: docs@python.org

  • 1 Whetting Your Appetite
  • 2 Using the Python Interpreter
    • 2.1 Invoking the Interpreter
    • 2.2 The Interpreter and Its Environment
  • 3 An Informal Introduction to Python
    • 3.1 Using Python as a Calculator
    • 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 Statements
    • 4.6 Defining Functions
    • 4.7 More on Defining Functions
    • 4.8 Intermezzo: Coding Style
  • 5 Data Structures
    • 5.1 More on Lists
    • 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 Types
  • 6 Modules
    • 6.1 More on Modules
    • 6.2 Standard Modules
    • 6.3 The dir() Function
    • 6.4 Packages
  • 7 Input and Output
    • 7.1 Fancier Output Formatting
    • 7.2 Reading and Writing Files
  • 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 Actions
  • 9 Classes
    • 9.1 A Word About Names and Objects
    • 9.2 Python Scopes and Namespaces
    • 9.3 A First Look at Classes
    • 9.4 Random Remarks
    • 9.5 Inheritance
    • 9.6 Private Variables
    • 9.7 Odds and Ends
    • 9.8 Iterators
    • 9.9 Generators
    • 9.10 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 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
    • 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 Virtual Environments and Packages
    • 12.1 Introduction
    • 12.2 Creating Virtual Environments
    • 12.3 Managing Packages with pip
  • 13 What Now?
  • 14 Interactive Input Editing and History Substitution
    • 14.1 Tab Completion and History Editing
    • 14.2 Alternatives to the Interactive Interpreter
  • 15 Floating Point Arithmetic: Issues and Limitations
    • 15.1 Representation Error
  • 16 Appendix
    • 16.1 Interactive Mode
  • A Glossary
  • B About these documents
    • B.1 Contributors to the Python Documentation
  • C History and License
    • C.1 History of the software
    • C.2 Terms and conditions for accessing or otherwise using Python
    • C.3 Licenses and Acknowledgements for Incorporated Software
  • D Copyright
  • Index

Python Tutorial, Release 3.7.

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 library-index. reference-index gives a more formal definition of the language. To write extensions in C or C++, read extending-index and c-api-index. 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 library-index.

The Glossary is also worth going through.

CONTENTS 1

Python Tutorial, Release 3.7.

2 CONTENTS

Python Tutorial, Release 3.7.

are really hooked, you can link the Python interpreter into an application written in C and use it as an extension or command language for that application.

By the way, the language is named after the BBC show “Monty Python’s Flying Circus” and has nothing to do with reptiles. Making references to Monty Python skits in documentation is not only allowed, it is encouraged!

Now that you are all excited about Python, you’ll want to examine it in some more detail. Since the best way to learn a language is to use it, the tutorial invites you to play with the Python interpreter as you read.

In the next chapter, the mechanics of using the interpreter are explained. This is rather mundane information, but essential for trying out the examples shown later.

The rest of the tutorial introduces various features of the Python language and system through examples, beginning with simple expressions, statements and data types, through functions and modules, and finally touching upon advanced concepts like exceptions and user-defined classes.

4 Chapter 1. Whetting Your Appetite

CHAPTER

TWO

USING THE PYTHON INTERPRETER

2.1 Invoking the Interpreter

The Python interpreter is usually installed as /usr/local/bin/python3.7 on those machines where it is available; putting /usr/local/bin in your Unix shell’s search path makes it possible to start it by typing the command:

python3.

to the shell.^1 Since the choice of the directory where the interpreter lives is an installation option, other places are possible; check with your local Python guru or system administrator. (E.g., /usr/local/python is a popular alternative location.)

On Windows machines, the Python installation is usually placed in C:\Program Files\Python37, though you can change this when you’re running the installer. To add this directory to your path, you can type the following command into the command prompt in a DOS box:

set path=%path%;C:\Program Files\Python37\

Typing an end-of-file character (Control-D on Unix, Control-Z on Windows) at the primary prompt causes the interpreter to exit with a zero exit status. If that doesn’t work, you can exit the interpreter by typing the following command: quit().

The interpreter’s line-editing features include interactive editing, history substitution and code completion on systems that support readline. Perhaps the quickest check to see whether command line editing is supported is typing Control-P to the first Python prompt you get. If it beeps, you have command line editing; see Appendix Interactive Input Editing and History Substitution for an introduction to the keys. If nothing appears to happen, or if ^P is echoed, command line editing isn’t available; you’ll only be able to use backspace to remove characters from the current line.

The interpreter operates somewhat like the Unix shell: when called with standard input connected to a tty device, it reads and executes commands interactively; when called with a file name argument or with a file as standard input, it reads and executes a script from that file.

A second way of starting the interpreter is python -c command [arg] ..., which executes the statement(s) in command , analogous to the shell’s -c option. Since Python statements often contain spaces or other characters that are special to the shell, it is usually advised to quote command in its entirety with single quotes.

Some Python modules are also useful as scripts. These can be invoked using python -m module [arg] ..., which executes the source file for module as if you had spelled out its full name on the command line.

When a script file is used, it is sometimes useful to be able to run the script and enter interactive mode afterwards. This can be done by passing -i before the script.

(^1) On Unix, the Python 3.x interpreter is by default not installed with the executable named python, so that it does not conflict with a simultaneously installed Python 2.x executable.

Python Tutorial, Release 3.7.

For example, to declare that Windows-1252 encoding is to be used, the first line of your source code file should be:

# -- coding: cp1252 --

One exception to the first line rule is when the source code starts with a UNIX “shebang” line. In this case, the encoding declaration should be added as the second line of the file. For example:

_#!/usr/bin/env python

-- coding: cp1252 --_

2.2. The Interpreter and Its Environment 7

Python Tutorial, Release 3.7.

8 Chapter 2. Using the Python Interpreter

Python Tutorial, Release 3.7.

Division (/) always returns a float. To do floor division and get an integer result (discarding any fractional result) you can use the // operator; to calculate the remainder you can use %:

>>> 17 / 3 # classic division returns a float

>>> 17 // 3 # floor division discards the fractional part 5 >>> 17 % 3 # the % operator returns the remainder of the division 2 >>> 5 * 3 + 2 # result * divisor + remainder 17

With Python, it is possible to use the ** operator to calculate powers^1 :

>>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 128

The equal sign (=) is used to assign a value to a variable. Afterwards, no result is displayed before the next interactive prompt:

>>> width = 20 >>> height = 5 * 9 >>> width * height 900

If a variable is not “defined” (assigned a value), trying to use it will give you an error:

>>> n # try to access an undefined variable Traceback (most recent call last): File "", line 1, in NameError: name 'n' is not defined

There is full support for floating point; operators with mixed type operands convert the integer operand to floating point:

>>> 4 * 3.75 - 1

In interactive mode, the last printed expression is assigned to the variable _. This means that when you are using Python as a desk calculator, it is somewhat easier to continue calculations, for example:

>>> tax = 12.5 / 100 >>> price = 100. >>> price * tax

>>> price + _

>>> round(_, 2)

This variable should be treated as read-only by the user. Don’t explicitly assign a value to it — you would create an independent local variable with the same name masking the built-in variable with its magic behavior.

(^1) Since ** has higher precedence than - , -32 will be interpreted as -(32) and thus result in -9. To avoid this and get 9 , you can use (-3)**2.

10 Chapter 3. An Informal Introduction to Python

Python Tutorial, Release 3.7.

In addition to int and float, Python supports other types of numbers, such as Decimal and Fraction. Python also has built-in support for complex numbers, and uses the j or J suffix to indicate the imaginary part (e.g. 3+5j).

3.1.2 Strings

Besides numbers, Python can also manipulate strings, which can be expressed in several ways. They can be enclosed in single quotes ('...') or double quotes ("...") with the same result^2. \ can be used to escape quotes:

>>> 'spam eggs' # single quotes 'spam eggs' >>> 'doesn ' t' # use ' to escape the single quote... "doesn't" >>> "doesn't" # ...or use double quotes instead "doesn't" >>> '"Yes," they said.' '"Yes," they said.' >>> " " Yes, " they said." '"Yes," they said.' >>> '"Isn ' t," they said.' '"Isn't," they said.'

In the interactive interpreter, the output string is enclosed in quotes and special characters are escaped with backslashes. While this might sometimes look different from the input (the enclosing quotes could change), the two strings are equivalent. The string is enclosed in double quotes if the string contains a single quote and no double quotes, otherwise it is enclosed in single quotes. The print() function produces a more readable output, by omitting the enclosing quotes and by printing escaped and special characters:

>>> '"Isn ' t," they said.' '"Isn't," they said.' >>> print('"Isn ' t," they said.') "Isn't," they said. >>> s = 'First line. \n Second line.' # \n means newline >>> s # without print(), \n is included in the output 'First line.\nSecond line.' >>> print(s) # with print(), \n produces a new line First line. Second line.

If you don’t want characters prefaced by \ to be interpreted as special characters, you can use raw strings by adding an r before the first quote:

>>> print('C:\some \n ame') # here \n means newline! C:\some ame >>> print(r'C:\some\name') # note the r before the quote C:\some\name

String literals can span multiple lines. One way is using triple-quotes: """...""" or '''...'''. End of lines are automatically included in the string, but it’s possible to prevent this by adding a \ at the end of the line. The following example: (^2) Unlike other languages, special characters such as \n have the same meaning with both single ('...') and double ("...") quotes. The only difference between the two is that within single quotes you don’t need to escape " (but you have to escape ') and vice versa.

3.1. Using Python as a Calculator 11

Python Tutorial, Release 3.7.

>>> word[-1] # last character 'n' >>> word[-2] # second-last character 'o' >>> word[-6] 'P'

Note that since -0 is the same as 0, negative indices start from -1.

In addition to indexing, slicing is also supported. While indexing is used to obtain individual characters, slicing allows you to obtain substring:

>>> word[0:2] # characters from position 0 (included) to 2 (excluded) 'Py' >>> word[2:5] # characters from position 2 (included) to 5 (excluded) 'tho'

Note how the start is always included, and the end always excluded. This makes sure that s[:i] + s[i:] is always equal to s:

>>> word[:2] + word[2:] 'Python' >>> word[:4] + word[4:] 'Python'

Slice indices have useful defaults; an omitted first index defaults to zero, an omitted second index defaults to the size of the string being sliced.

>>> word[:2] # character from the beginning to position 2 (excluded) 'Py' >>> word[4:] # characters from position 4 (included) to the end 'on' >>> word[-2:] # characters from the second-last (included) to the end 'on'

One way to remember how slices work is to think of the indices as pointing between characters, with the left edge of the first character numbered 0. Then the right edge of the last character of a string of n characters has index n , for example:

+---+---+---+---+---+---+ | P | y | t | h | o | n | +---+---+---+---+---+---+ 0 1 2 3 4 5 6 -6 -5 -4 -3 -2 -

The first row of numbers gives the position of the indices 0…6 in the string; the second row gives the corresponding negative indices. The slice from i to j consists of all characters between the edges labeled i and j , respectively.

For non-negative indices, the length of a slice is the difference of the indices, if both are within bounds. For example, the length of word[1:3] is 2.

Attempting to use an index that is too large will result in an error:

>>> word[42] # the word only has 6 characters Traceback (most recent call last): File "", line 1, in IndexError: string index out of range

3.1. Using Python as a Calculator 13

Python Tutorial, Release 3.7.

However, out of range slice indexes are handled gracefully when used for slicing:

>>> word[4:42] 'on' >>> word[42:] ''

Python strings cannot be changed — they are immutable. Therefore, assigning to an indexed position in the string results in an error:

>>> word[0] = 'J' ... TypeError: 'str' object does not support item assignment >>> word[2:] = 'py' ... TypeError: 'str' object does not support item assignment

If you need a different string, you should create a new one:

>>> 'J' + word[1:] 'Jython' >>> word[:2] + 'py' 'Pypy'

The built-in function len() returns the length of a string:

>>> s = 'supercalifragilisticexpialidocious' >>> len(s) 34

See also:

textseq Strings are examples of sequence types , and support the common operations supported by such types.

string-methods Strings support a large number of methods for basic transformations and searching.

f-strings String literals that have embedded expressions.

formatstrings Information about string formatting with str.format().

old-string-formatting The old formatting operations invoked when strings are the left operand of the % operator are described in more detail here.

3.1.3 Lists

Python knows a number of compound data types, used to group together other values. The most versatile is the list , which can be written as a list of comma-separated values (items) between square brackets. Lists might contain items of different types, but usually the items all have the same type.

>>> squares = [1, 4, 9, 16, 25] >>> squares [1, 4, 9, 16, 25]

Like strings (and all other built-in sequence type), lists can be indexed and sliced:

>>> squares[0] # indexing returns the item 1 >>> squares[-1] (continues on next page)

14 Chapter 3. An Informal Introduction to Python