Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
2 views

Python Tutorial_ a Tutorial

The document provides an overview of iterators and iterables in Python, explaining their definitions and differences. It describes how to create iterators from iterables and how the for loop interacts with them. Additionally, it includes a brief history of the Python programming language and its origins from the ABC language, created by Guido van Rossum.

Uploaded by

Sentinel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Python Tutorial_ a Tutorial

The document provides an overview of iterators and iterables in Python, explaining their definitions and differences. It describes how to create iterators from iterables and how the for loop interacts with them. Additionally, it includes a brief history of the Python programming language and its origins from the ABC language, created by Guido van Rossum.

Uploaded by

Sentinel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Python Course

Home Python 2 Tutorial Python 3 Tutorial Advanced Topics Numerical Programming Machine Learning Tkinter Tutorial Contact

Previous Chapter: For Loops


Next Chapter: Output with Print

Iterators and Iterables


The Python forums and other question-and-answer websites like Quora and Stackoverflow are full of questions concerning
'iterators' and 'iterable'. Some want to know how they are defined and others want to know if there is an easy way to Follow Bernd Klein,
check, if an object is an iterator or an iterable. We will provide further down a function for this purpose. the author of this
website, at Google+:
We have seen that we can loop or iterate over various Python objects like lists, tuples and strings for example. Bernd Klein on
Google
Python 3 for city in ["Berlin", "Vienna", "Zurich"]:
print(city) Bernd Klein on
Tutorial for city in ("Python", "Perl", "Ruby"):
Facebook
print(city)
The Origins of for char in "Iteration is easy":
Python print(char)
Search this website:
Starting with
Berlin
Python: The
Vienna Go
Interactive Shell Zurich
Executing a Python
Script Perl
Indentation
Ruby Classroom
I Training
Data Types and t
Courses
Variables e
Operators r
a The goal of this
Sequential Data t website is to provide
Types: Lists and i educational material,
Strings o allowing you to learn
List n
Python on your own.
Manipulations i Nevertheless, it is
Shallow and s faster and more
Deep Copy efficient to attend a
e "real" Python course
Dictionaries
a in a classroom, with
Sets and Frozen s an experienced
Sets y trainer. So why not
An Extensive attend one of the live
Example Using This form of looping can be seen as iteration. Iteration is not restricted to explicit for loops. If you call the function sum, - e.g. on a list of integer values, - you do iteration as well. Python courses in
Sets Strasbourg, Paris,
So what is the difference between an iterable and an iterator?
input via the Luxembourg,
keyboard In one perspective they are the same: You can iterate with a for loop over iterators and iterables. Every iterator is also an iterable, but not every iterable is an iterator. E.g. a list is iterable but a list is not an Amsterdam, Zürich /
Conditional iterator! An iterator can be created from an iterable by using the function 'iter'. To make this possible the class of an object needs either a method '__iter__', which returns an iterator, or a '__getitem__' method Zurich, Vienna /
with sequential indexes starting with 0. Wien, London, Berlin,
Statements
Munich, Hamburg,
Loops, while
Iterators are objects with a '__next__' method, which will be used when the function 'next' is called. Frankfurt or Lake
Loop Constance by Bernd
For Loops So what is going on behind the scenes, when a for loop is executed? The for statement calls iter() on the object ( which should be a so-called container object), which it is supposed to loop over. If this call is Klein, the author of
Difference successful, the iter call will return return an iterator object that defines the method __next__() which accesses elements of the object one at a time. The __next__() method will raise a StopIteration exception, if this tutorial?
between there are no further elements available. The for loop whill terminate as soon as it catches a StopIteration exception. You can call the __next__() method using the next() built-in function. This is how it works:
interators und
cities = ["Berlin", "Vienna", "Zurich"] Onsite Training
Iterables
iterator_obj = iter(cities)
Output with Print print(iterator_obj) Courses
Formatted output print(next(iterator_obj))
with string print(next(iterator_obj)) Let us come to your
print(next(iterator_obj)) company,
modulo and the
organization or
format method
<list_iterator object at 0x7f08a055e0b8> institute and train
Functions Berlin your employees, as
Recursion and Vienna we've done it many
Recursive Zurich
times in Amsterdam
Functions (The Netherlands),
Parameter If we called 'next(iterator_obj)' one more time, it would return 'StopIteration' Berlin (Germany),
Passing in Bern (Switzerland),
The following function 'iterable' will return True, if the object 'obj' is an iterable and False otherwise.
Functions Basel (Switzerland),
Namespaces Zurich (Switzerland),
def iterable(obj):
try: Locarno
Global and Local
iter(obj) (Switzerland), Den
Variables
return True Haag (The Hague),
Decorators except TypeError: Hamburg (Germany),
Memoization with return False Frankfurt (Germany),
Decorators Toronto (Canada),
for element in [34, [4, 5], (4, 5), {"a":4}, "dfsdf", 4.5]:
Read and Write Edmonton (Canada),
print(element, "iterable: ", iterable(element))
Files Munich (Germany)
Modular and many other
34 iterable: False
cities. We do training
Programming [4, 5] iterable: True
(4, 5) iterable: True courses in England,
and Modules
{'a': 4} iterable: True Switzerland,
Packages in Liechtenstein,
dfsdf iterable: True
Python 4.5 iterable: False Austria, Germany,
Regular France, Belgium, the
Expressions We have described how an iterator works. So if you want to add an iterator behavior to your class, you have to add the __iter__ and the __next__ method to your class. The __iter__ method returns an iterator Netherlands,
Regular object. If the class contains a __next__, it is enough for the __iter__ method to return self, i.e. a reference to itself: Luxembourg, Poland,
Expressions, UK, Italy and other
Advanced class Reverse: locations in Europe
""" and in Canada.
Lambda Creates Iterators for looping over a sequence backwards.
Operator, Filter, """ This way you will get
Reduce and Map a perfect training up
def __init__(self, data):
List to your needs and it
self.data = data
Comprehension self.index = len(data) will be extremely cost
Iterators and def __iter__(self): efficient as well.
Generators return self Contact us so we can
def __next__(self): define and find the
Exception
if self.index == 0: best course
Handling raise StopIteration
curriculum to meet
Tests, DocTests, self.index = self.index - 1
return self.data[self.index] your needs, and
UnitTests schedule course
lst = [34, 978, 42]
Object Oriented lst_backwards = Reverse(lst) sessions to be held at
Programming for el in lst_backwards: your location.
Class and print(el)
Instance
Attributes 42 Skilled Python
978
Properties vs. 34
Programmers
getters and
setters Previous Chapter: For Loops You are looking for
Inheritance Next Chapter: Output with Print experienced Python
developers or
Multiple
programmers? We
Inheritance
can help you, please
Magic Methods contact us.
and Operator
Overloading Quote of the
OOP, Inheritance Day:
Example
Slots "Language designers
Classes and want to design the
Class Creation perfect language.
Road to They want to be able
Metaclasses to say, "My language
Metaclasses is perfect. It can do
everything." But it's
Metaclass Use
just plain impossible
Case: Count
to design a perfect
Function Calls language, because
Abstract Classes there are two ways to
look at a language.
Python One way is by
looking at what can
In Greek mythology, be done with that
Python is the name language. The other
of a a huge serpent is by looking at how
and sometimes a we feel using that
dragon. Python had language - how we
been killed by the feel while
god Apollo at Delphi. programming." (-
Python was created Yukihiro 'Matz'
out of the slime and Matsumoto)
mud left after the
great flood. He was
appointed by Gaia
(Mother Earth) to
guard the oracle of
Delphi, known as Data Protection
Pytho. Declaration
The programming
language Python has Data Protection
not been created out Declaration
of slime and mud but
out of the
programming
language ABC. It has
been devised by a
Dutch programmer,
named Guido van
Rossum, in
Amsterdam.

Origins of
Python

Guido van Rossum


wrote the following
about the origins of
Python in a foreword
for the book
"Programming
Python" by Mark Lutz
in 1996:
"Over six years ago,
in December 1989, I
was looking for a
"hobby"
programming project
that would keep me
occupied during the
week around
Christmas. My office
(a government-run
research lab in
Amsterdam) would
be closed, but I had a
home computer, and
not much else on my
hands. I decided to
write an interpreter
for the new scripting
language I had been
thinking about lately:
a descendant of ABC
that would appeal to
Unix/C hackers. I
chose Python as a
working title for the
project, being in a
slightly irreverent
mood (and a big fan
of Monty Python's
Flying Circus)."
© 2011 - 2018, Bernd Klein, Bodenseo; Design by Denise Mitchinson adapted for python-course.eu by Bernd Klein

You might also like