<< Chapter < Page Chapter >> Page >

A sample program

I will illustrate indexing and slicing of strings using a sample program contained in a script file named String01.py .

The program listing

A complete listing of the program, (along with the output produced by the program) , is provided in Listing 9 near the end of the module.

Will discuss in fragments

I will discuss the program in fragments, illustrating particular aspects of indexing and slicing in each fragment. This is a scheme that I will usefrequently in this set of tutorial modules.

Interesting code fragments

Extract a single character

A single character can be extracted from a string by referring to the string and enclosing the index of the character in square brackets, as shown in thecode fragment in Listing 1 .

Listing 1 . Extract a single character.
aStr = "This is a string" print(aStr[0]) #print T print(aStr[3]) #print s

(Note that this is a fragment from a script file, not from an interactive Python program.)

Create a string object to work with

The fragment in Listing 1 creates a string object and assigns it to a variable named aStr . From this point forward, the contents of the string can be accessed by referring to the variable.

Visualizing the string object

Figure 1 shows a visualization of the string object. This visualization was produced using the Online Python Tutor .

Figure 1. Visualizing the string object.

missing image

The green arrow in Figure 1 indicates that the first statement in the program is the most recently executed statement in this visualization. (This is the statement that created the string object.) The diagram on the right shows that the variable named aStr contains a reference to an object of type str , which contains the value: "This is a string" .

This is a very simple diagram but it shows a pattern that you need to remember. Variables in Python containreferences to objects. Those objects may be "dumb" objects intended solely to encapsulate a value (such as type int ) or they may be "smart" objects (such as type str ) that can not only encapsulate data values but can also encapsulate methods (such as capitalize() ) to manipulate those data values in various ways.

(Note that even the dumb objects are not completely dumb. For example,all of the numeric types such as int know how to participate in arithmetic operations, how to negate themselves, and how to do a few otherthings that might be expected of a numeric.)

Index values always begin with zero

Unlike eggs and Air Force enlisted men, the first character in a string is always located at index 0, as in aStr[0] .

Thus, the second statement in the fragment extracts and prints the T , which is the first character in the word This .

Display the character at index 3

Similarly, the last statement in the fragment in Listing 1 extracts and prints the s from index position 3, as in aStr[3] . The character at this index position is the s that ends the word This .

The last statement is equivalent to the following request, "Will the character at index position 3 please display yourself on the screen."

Is this the fourth character ?

You would probably refer to this as the fourth character, and you would be correct if you did. The character at index 3 is the fourth character in thestring. The character at index 0 is the first character in the string. First does not equate to index 1. You need to think about this, because this can be avery confusing topic for new programmers.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Itse 1359 introduction to scripting languages: python. OpenStax CNX. Jan 22, 2016 Download for free at https://legacy.cnx.org/content/col11713/1.32
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?

Ask