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

Questions & Answers

Why is b in the answer
Dahsolar Reply
how do you work it out?
Brad Reply
answer
Ernest
heheheehe
Nitin
(Pcos∅+qsin∅)/(pcos∅-psin∅)
John Reply
how to do that?
Rosemary Reply
what is it about?
Amoah
how to answer the activity
Chabelita Reply
how to solve the activity
Chabelita
solve for X,,4^X-6(2^)-16=0
Alieu Reply
x4xminus 2
Lominate
sobhan Singh jina uniwarcity tignomatry ka long answers tile questions
harish Reply
t he silly nut company makes two mixtures of nuts: mixture a and mixture b. a pound of mixture a contains 12 oz of peanuts, 3 oz of almonds and 1 oz of cashews and sells for $4. a pound of mixture b contains 12 oz of peanuts, 2 oz of almonds and 2 oz of cashews and sells for $5. the company has 1080
ZAHRO Reply
If  , , are the roots of the equation 3 2 0, x px qx r     Find the value of 1  .
Swetha Reply
Parts of a pole were painted red, blue and yellow. 3/5 of the pole was red and 7/8 was painted blue. What part was painted yellow?
Patrick Reply
Parts of the pole was painted red, blue and yellow. 3 /5 of the pole was red and 7 /8 was painted blue. What part was painted yellow?
Patrick
how I can simplify algebraic expressions
Katleho Reply
Lairene and Mae are joking that their combined ages equal Sam’s age. If Lairene is twice Mae’s age and Sam is 69 yrs old, what are Lairene’s and Mae’s ages?
Mary Reply
23yrs
Yeboah
lairenea's age is 23yrs
ACKA
hy
Katleho
Ello everyone
Katleho
Laurene is 46 yrs and Mae is 23 is
Solomon
hey people
christopher
age does not matter
christopher
solve for X, 4^x-6(2*)-16=0
Alieu
prove`x^3-3x-2cosA=0 (-π<A<=π
Mayank Reply
create a lesson plan about this lesson
Rose Reply
Excusme but what are you wrot?
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

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