Home arrow Python arrow Tuples and Other Python Object Types

Tuples and Other Python Object Types

In this conclusion to a four-part article series on Python object types, we will finish our discussion of dictionaries, move on to tuples, and cover related material. This article is excerpted from chapter four of the book Learning Python, Third Edition, written by Mark Lutz (O'Reilly, 2008; ISBN: 0596513984). Copyright © 2008 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media.

  1. Tuples and Other Python Object Types
  2. Tuples
  3. Other Core Types
  4. How to Break Your Codeís Flexibility
  5. And Everything Else
By: O'Reilly Media
Rating: starstarstarstarstar / 4
February 05, 2009

print this article



Missing Keys: if Tests

One other note about dictionaries before we move on. Although we can assign to a new key to expand a dictionary, fetching a nonexistent key is still a mistake:

  >>> D
  {'a': 1, 'c': 3, 'b': 2}

  >>> D['e'] = 99                 # Assigning new keys grows dictionaries
  >>> D
  {'a': 1, 'c': 3, 'b': 2,
'e': 99}

  >>> D['f']                      # Referencing one is an error
  ...error text omitted...
  KeyError: 'f'

This is what we wantóitís usually a programming error to fetch something that isnít really there. But, in some generic programs, we canít always know what keys will be present when we write our code. How do we handle such cases and avoid the errors? One trick here is to test ahead of time. The dictionaryhas_keymethod allows us to query the existence of a key and branch on the result with a Pythonifstatement:

  >>> D.has_key('f')

  >>> if not D.has_key('f'):
         print 'missing'


Iíll have much more to say about the if statement and statement syntax in general later in this book, but the form weíre using here is straightforward: it consists of the word if, followed by an expression that is interpreted as a true or false result, followed by a block of code to run if the test is true. In its full form, the if statement can also have an else clause for a default case, and one or more elif(else if) clauses for other tests. Itís the main selection tool in Python, and itís the way we code logic in our scripts.

There are other ways to create dictionaries and avoid accessing a nonexistent dictionary key (including thegetmethod; theinmembership expression; and thetry statement, a tool weíll first meet in Chapter 10 that catches and recovers from exceptions altogether), but weíll save the details on those until a later chapter. Now, letís move on to tuples.

>>> More Python Articles          >>> More By O'Reilly Media

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Python Big Data Company Gets DARPA Funding
- Python 32 Now Available
- Final Alpha for Python 3.2 is Released
- Python 3.1: String Formatting
- Python 3.1: Strings and Quotes
- Python 3.1: Programming Basics and Strings
- Tuples and Other Python Object Types
- The Dictionary Python Object Type
- String and List Python Object Types
- Introducing Python Object Types
- Mobile Programming using PyS60: Advanced UI ...
- Nested Functions in Python
- Python Parameters, Functions and Arguments
- Python Statements and Functions
- Statements and Iterators in Python

Developer Shed Affiliates


Dev Shed Tutorial Topics: