100% found this document useful (7 votes)
17 views

Full Download (Ebook) Python Without Fear by Brian Overland ISBN 9780134687476, 0134687477 PDF DOCX

The document provides information about various eBooks available for download, including titles like 'Python Without Fear' and 'C++ Without Fear' by Brian Overland. It includes links to purchase and download these eBooks in multiple formats such as PDF, ePub, and MOBI. Additionally, it outlines the contents and structure of 'Python Without Fear', detailing chapters and topics covered in the book.

Uploaded by

wisseklenzvh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (7 votes)
17 views

Full Download (Ebook) Python Without Fear by Brian Overland ISBN 9780134687476, 0134687477 PDF DOCX

The document provides information about various eBooks available for download, including titles like 'Python Without Fear' and 'C++ Without Fear' by Brian Overland. It includes links to purchase and download these eBooks in multiple formats such as PDF, ePub, and MOBI. Additionally, it outlines the contents and structure of 'Python Without Fear', detailing chapters and topics covered in the book.

Uploaded by

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

Download Full Version ebook - Visit ebooknice.

com

(Ebook) Python Without Fear by Brian Overland ISBN


9780134687476, 0134687477

https://ebooknice.com/product/python-without-fear-7204384

Click the button below to download

DOWLOAD EBOOK

Discover More Ebook - Explore Now at ebooknice.com


Instant digital products (PDF, ePub, MOBI) ready for you
Download now and discover formats that fit your needs...

Start reading on any device today!

(Ebook) C++ Without Fear: A Beginner's Guide That Makes


You Feel Smart by Brian Overland ISBN 0132673266

https://ebooknice.com/product/c-without-fear-a-beginner-s-guide-that-
makes-you-feel-smart-2223516

ebooknice.com

(Ebook) C++ without fear : a beginner's guide that makes


you feel smart by Brian Overland ISBN 9780132673266,
0132673266
https://ebooknice.com/product/c-without-fear-a-beginner-s-guide-that-
makes-you-feel-smart-4720238

ebooknice.com

(Ebook) Supercharged Python: Take Your Code to the Next


Level by Brian Overland ISBN 9780135159941, 0135159946

https://ebooknice.com/product/supercharged-python-take-your-code-to-
the-next-level-10446384

ebooknice.com

(Ebook) Mind Without Fear by Rajat Gupta ISBN


9781948122467, 1948122464

https://ebooknice.com/product/mind-without-fear-46703704

ebooknice.com
(Ebook) Fear No Evil (Alex Cross, #29) by James Patterson
ISBN 9780316499163, 0316499161

https://ebooknice.com/product/fear-no-evil-alex-cross-29-36398310

ebooknice.com

(Ebook) Bears: Without Fear by Kevin Van Tighem ISBN


9781927330319, 1927330319

https://ebooknice.com/product/bears-without-fear-5146484

ebooknice.com

(Ebook) Biota Grow 2C gather 2C cook by Loucas, Jason;


Viles, James ISBN 9781459699816, 9781743365571,
9781925268492, 1459699815, 1743365578, 1925268497
https://ebooknice.com/product/biota-grow-2c-gather-2c-cook-6661374

ebooknice.com

(Ebook) My Indian Kitchen : Preparing Delicious Indian


Meals without Fear or Fuss by Hari Nayak ISBN
9780804840897, 080484089X
https://ebooknice.com/product/my-indian-kitchen-preparing-delicious-
indian-meals-without-fear-or-fuss-4451462

ebooknice.com

(Ebook) Minds without fear : philosophy in the Indian


renaissance by Nalini Bhushan, Jay L. Garfield ISBN
9780190457594, 0190457597
https://ebooknice.com/product/minds-without-fear-philosophy-in-the-
indian-renaissance-5893420

ebooknice.com
Python Without Fear

Overland_Book.indb i 8/31/17 12:56 PM


This page intentionally left blank
Python Without Fear
A Beginner’s Guide That
Makes You Feel Smart

Brian Overland

Boston • Columbus • Indianapolis • New York • San Francisco • Amsterdam • Cape Town
Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi • Mexico City
São Paulo • Sydney • Hong Kong • Seoul • Singapore • Taipei • Tokyo

Overland_Book.indb iii 8/31/17 12:56 PM


Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in this book, and the publisher was
aware of a trademark claim, the designations have been printed with initial capital letters or
in all capitals.
The author and publisher have taken care in the preparation of this book, but make no
expressed or implied warranty of any kind and assume no responsibility for errors or omissions.
No liability is assumed for incidental or consequential damages in connection with or arising
out of the use of the information or programs contained herein.
For information about buying this title in bulk quantities, or for special sales opportunities
(which may include electronic versions; custom cover designs; and content particular to your
business, training goals, marketing focus, or branding interests), please contact our corporate
sales department at corpsales@pearsoned.com or (800) 382-3419.
For government sales inquiries, please contact governmentsales@pearsoned.com.
For questions about sales outside the U.S., please contact international@pearsoned.com.
Visit us on the Web: informit.com/aw
Library of Congress Catalog Number: 2017946292
Copyright © 2018 Pearson Education, Inc.
All rights reserved. Printed in the United States of America. This publication is protected by
copyright, and permission must be obtained from the publisher prior to any prohibited repro-
duction, storage in a retrieval system, or transmission in any form or by any means, electronic,
mechanical, photocopying, recording, or likewise. For information regarding permissions,
request forms and the appropriate contacts within the Pearson Education Global Rights &
Permissions Department, please visit www.pearsoned.com/permissions/.
ISBN-13: 978-0-13-468747-6
ISBN-10: 0-13-468747-7
1 17

Overland_Book.indb iv 8/31/17 12:56 PM


For all my beloved four-legged friends:
Skyler, Orlando, Madison, Cleo, and Pogo.

Overland_Book.indb v 8/31/17 12:56 PM


This page intentionally left blank
Contents
Preface xvii
Steering Around the “Gotchas” xvii
How to Think “Pythonically” xvii
Intermediate and Advanced Features xviii
Learning in Many Different Styles xviii
What’s Going on “Under the Hood” xviii
Why Python? xix

Acknowledgments xxi
Author Bio xxiii

Chapter 1 Meet the Python 1


A Brief History of Python 1
How Python Is Different 2
How This Book Works 3
Installing Python 4
Begin Using Python with IDLE 6
Correcting Mistakes from Within IDLE 6
Dealing with Ends of Lines 7
Additional Help: Online Sources 8

vii

Overland_Book.indb vii 8/31/17 12:56 PM


viii Contents

Chapter 2 A Python Safari: Numbers 9


Python and Numbers 9
Interlude Why Doesn’t C++ Support Infinite Integers? 11
Interlude How Big Is a Google? 13
Python and Floating-Point Numbers 14
Assigning Numbers to Variables 17
Interlude What Do Python Assignments Really Do? 21
Variable-Naming Conventions in This Book 23
Some Python Shortcuts 23
Chapter 2 Summary 26

Chapter 3 Your First Programs 29


Temperatures Rising? 29
Interlude Python’s Use of Indentation 33
Putting in a Print Message 35
Syntax Summaries 36
Example 3.1. Quadratic Equation as a Function 38
How It Works 39
Getting String Input 41
Getting Numeric Input 43
Example 3.2. Quadratic Formula with I/O 44
How It Works 45
Formatted Output String 46
Example 3.3. Distance Formula in a Script 47
How It Works 48
Chapter 3 Summary 50

Chapter 4 Decisions and Looping 53


Decisions Inside a Computer Program 53
Conditional and Boolean Operators 55
The if, elif, and else Keywords 56
Interlude Programs and Robots in Westworld 56
Example 4.1. Enter Your Age 59
How It Works 60

Overland_Book.indb viii 8/31/17 12:56 PM


Contents ix
while: Looping the Loop 60
Example 4.2. Factorials 63
How It Works 64
Optimizing the Code 65
Example 4.3. Printing Fibonacci Numbers 67
How It Works 69
“Give Me a break” Statement 70
Example 4.4. A Number-Guessing Game 71
How It Works 72
Interlude Binary Searches and “O” Complexity 74
Chapter 4 Summary 75

Chapter 5 Python Lists 77


The Python Way: The World Is Made of Collections 77
Processing Lists with for 80
Modifying Elements with for (You Can't!) 82
Example 5.1. A Sorting Application 83
How It Works 84
Optimizing the Code 84
Indexing and Slicing 85
Copying Data to Slices 88
Ranges 89
Example 5.2. Revised Factorial Program 91
How It Works 91
Optimizing the Code 92
Example 5.3. Sieve of Eratosthenes 93
How It Works 94
Optimizing the Code 96
List Functions and the in Keyword 97
Interlude Who Was Eratosthenes? 98
Chapter 5 Summary 99

Chapter 6 List Comprehension and Enumeration 101


Indexes and the enumerate Function 101
The Format String Method Revisited 103
Example 6.1. Printing a Table 104
How It Works 105

Overland_Book.indb ix 8/31/17 12:56 PM


Visit https://ebooknice.com to
discover a wide range of
eBooks across various genres.
Enjoy exclusive deals and
discounts to enhance your
reading experience. Start your
digital reading journey today!
x Contents

Simple List Comprehension 106


Example 6.2. Difference Between Squares 109
How It Works 110
Interlude Proving the Equation 111
“Two-Dimensional” List Comprehension 112
List Comprehension with Conditional 114
Example 6.3. Sieve of Eratosthenes 2 115
How It Works 116
Optimizing the Code: Sets 117
Example 6.4. Pythagorean Triples 118
How It Works 119
Interlude The Importance of Pythagoras 120
Chapter 6 Summary 123

Chapter 7 Python Strings 125


Creating a String with Quote Marks 125
Indexing and “Slicing” 127
String/Number Conversions 130
Example 7.1. Count Trailing Zeros 131
How It Works 132
Interlude Python Characters vs. Python Strings 135
Stripping for Fun and Profit 135
Example 7.2. Count Zeros, Version 2 137
How It Works 137
Let’s Split: The split Method 138
Building Strings with Concatenation (+) 139
Example 7.3. Sort Words on a Line 141
How It Works 142
The join Method 143
Chapter 7 Summary 144

Chapter 8 Single-Character Ops 147


Naming Conventions in This Chapter 147
Accessing Individual Characters (A Review) 148
Getting Help with String Methods 148
Testing Uppercase vs. Lowercase 149
Converting Case of Letters 150

Overland_Book.indb x 8/31/17 12:56 PM


Contents xi
Testing for Palindromes 151
Example 8.1. Convert Strings to All Caps 152
How It Works 153
Optimizing the Code 154
Example 8.2. Completing the Palindrome Test 154
How It Works 156
Optimizing the Code 157
Interlude Famous Palindromes 158
Converting to ASCII Code 159
Converting ASCII to Character 160
Example 8.3. Encode Strings 161
How It Works 162
Interlude The Art of Cryptography 164
Example 8.4. Decode Strings 164
How It Works 165
Chapter 8 Summary 166

Chapter 9 Advanced Function Techniques 167


Multiple Arguments 167
Returning More Than One Value 168
Interlude Passing and Modifying Lists 170
Example 9.1. Difference and Sum of Two Points 172
How It Works 172
Arguments by Name 173
Default Arguments 174
Example 9.2. Adding Machine 176
How It Works 176
Optimizing the Code 177
Importing Functions from Modules 178
Example 9.3. Dice Game (Craps) 179
How It Works 180
Interlude Casino Odds Making 182
Chapter 9 Summary 185

Chapter 10 Local and Global Variables 187


Local Variables, What Are They Good For? 187
Locals vs. Globals 188
Introducing the global Keyword 190

Overland_Book.indb xi 8/31/17 12:56 PM


xii Contents

The Python “Local Variable Trap” 190


Interlude Does C++ Have Easier Scope Rules? 191
Example 10.1. Beatles Personality Profile (BPP) 192
How It Works 195
Example 10.2. Roman Numerals 196
How It Works 197
Optimizing the Code 198
Interlude What’s Up with Roman Numerals? 200
Example 10.3. Decode Roman Numerals 201
How It Works 202
Optimizing the Code 203
Chapter 10 Summary 204

Chapter 11 File Ops 207


Text Files vs. Binary Files 207
The Op System (os) Module 208
Interlude Running on Other Systems 211
Open a File 211
Let’s Write a Text File 213
Example 11.1. Write File with Prompt 214
How It Works 214
Read a Text File 216
Files and Exception Handling 217
Interlude Advantages of try/except 219
Example 11.2. Text Read with Line Numbers 220
How It Works 221
Other File Modes 223
Chapter 11 Summary 224

Chapter 12 Dictionaries and Sets 227


Why Do We Need Dictionaries, Ms. Librarian? 227
Adding and Changing Key-Value Pairs 229
Accessing Values 230
Searching for Keys 231
Interlude What Explains Dictionary “Magic”? 232
Example 12.1. Personal Phone Book 232
How It Works 234

Overland_Book.indb xii 8/31/17 12:56 PM


Contents xiii
Converting Dictionaries to Lists 235
Example 12.2. Reading Items by Prefix 236
How It Works 238
Example 12.3. Loading and Saving to a File 238
How It Works 240
All About Sets 241
Operations on Sets 242
Interlude What’s So Important About Sets? 244
Example 12.4. Revised Sieve of Eratosthenes 244
How It Works 245
Chapter 12 Summary 246

Chapter 13 Matrixes: 2-D Lists 249


Simple Matrixes 249
Accessing Elements 250
Irregular Matrixes and Length of a Row 251
Multiplication (*) and Lists 252
The Python Matrix Problem 253
How to Create N*M Matrixes: The Solution 254
Interlude Why Isn’t It Easier? 255
Example 13.1. Multiplication Table 256
How It Works 257
Example 13.2. User-Initialized Matrix 258
How It Works 259
Optimizing the Code 260
How to Rotate a Matrix 261
Interlude Pros and Cons of Garbage Collection 263
Example 13.3. Complete Rotation Example 264
How It Works 266
Optimizing the Code 267
Chapter 13 Summary 268

Chapter 14 Winning at Tic-Tac-Toe 271


Design of a Tic-Tac-Toe Board 271
Plan of This Chapter 273
Phase 1 273
Phase 2 273
Phase 3 273

Overland_Book.indb xiii 8/31/17 12:56 PM


xiv Contents

Python One-Line if/else 274


Example 14.1. Simple Two-Player Game 274
How It Works 276
Interlude Variations on Tic-Tac-Toe 279
The count Method for Lists 279
Example 14.2. Two-Player Game with Win Detection 279
How It Works 282
Introducing the Computer Player 285
Example 14.3. Computer Play: The Computer Goes First 287
How It Works 290
Playing Second 291
Interlude The Art of Heuristics 292
Chapter 14 Summary 294

Chapter 15 Classes and Objects I 295


What’s an Object? 295
Classes in Python 296
How Do I Define a Simple Class? 297
How Do I Use a Class to Create Objects? 297
How Do I Attach Data to Objects? 298
How Do I Write Methods? 300
The All-Important _ _init_ _ Method 301
Interlude Why This self Obsession? 302
Design for a Database Class 303
Interlude C++ Classes Compared to Python 304
Example 15.1. Tracking Employees 305
How It Works 307
Defining Other Methods 309
Design for a Point3D Class 310
Point3D Class and Default Arguments 312
Three-Dimensional Tic-Tac-Toe 312
Example 15.2. Looking for a 3-D Win 313
How It Works 314
Example 15.3. Calculating Ways of Winning 315
How It Works 317
Optimizing the Code 317
Chapter 15 Summary 318

Overland_Book.indb xiv 8/31/17 12:56 PM


Contents xv

Chapter 16 Classes and Objects II 321


Getting Help from Doc Strings 321
Function Typing and “Overloading” 323
Interlude What Is Duck Typing? 325
Variable-Length Argument Lists 326
Example 16.1. PointN Class 327
How It Works 329
Optimizing the Code 330
Inheritance 331
The Fraction Class 333
Example 16.2. Extending the Fraction Class 334
How It Works 335
Class Variables and Methods 337
Instance Variables as “Default” Values 339
Example 16.3. Polygon “Automated” Class 340
How It Works 342
Interlude OOPS, What Is It Good For? 343
Chapter 16 Summary 344

Chapter 17 Conway’s Game of Life 347


Interlude The Impact of “Life” 347
Game of Life: The Rules of the Game 348
Generating the Neighbor Count 350
Design of the Program 352
Example 17.1. The Customized Matrix Class 352
How It Works 353
Moving the Matrix Class to a Module 354
Example 17.2. Printing a Life Matrix 355
How It Works 355
The Famous Slider Pattern 358
Example 17.3. The Whole Game of Life Program 358
How It Works 360
Interlude Does “Life” Create Life? 363
Chapter 17 Summary 364

Overland_Book.indb xv 8/31/17 12:56 PM


xvi Contents

Chapter 18 Advanced Pythonic Techniques 367


Generators 367
Exploiting the Power of Generators 369
Example 18.1. A Custom Random-Number Generator 370
How It Works 372
Interlude How Random Is “Random”? 373
Properties 375
Getter Methods 376
Setter Methods 377
Putting Getters and Setters Together 378
Example 18.2. Multilevel Temperature Object 379
How It Works 380
Decorators: Functions Enclosing Other Functions 382
Python Decoration 385
Example 18.3. Decorators as Debugging Tools 387
How It Works 388
Chapter 18 Summary 389

Appendix A Python Operator Precedence Table 391

Appendix B Summary of Most Important Formatting Rules


for Python 3.0 393
1. Formatting Ordinary Text 393
2. Formatting Arguments 393
3. Specifying Order of Arguments 393
4. Right Justification Within Field of Size N 394
5. Left Justification Within Field of Size N 394
6. Truncation: Limit Size of Print Field 394
7. Combined Truncation and Justification 395
8. Length and Precision of Floating-Point Numbers 395
9. The Padding Character 395

Appendix C Glossary 397

Index 407

Overland_Book.indb xvi 8/31/17 12:56 PM


Preface
There’s a lot of free programming instruction out there, and much of it’s about
Python. So for a book to be worth your while, it’s got to be good…it’s got to
be really, really, really good.
I wrote this book because it’s the book I wish was around when I was first
learning Python a few years back. Like everybody else, I conquered one concept
at a time by looking at almost a dozen different books and consulting dozens
of web sites.
But this is Python, and it’s not supposed to be difficult!
The problem is that not all learning is as easy or fast as it should be. And
not all books or learning sites are fun. You can, for example, go from site to
site just trying to find the explanation that really works.
Here’s what this book does that I wish I’d had when I started learning.

Steering Around the “Gotchas”


Many things are relatively easy to do in Python, but a few things that ought
to be easy are harder than they’d be in other languages. This is especially
true if you have any prior background in programming. The “Python way”
of doing things is often so different from the approach you’d use in any other
language, you can stare at the screen for hours until someone points out the
easy solution.
Or you can buy this book.

How to Think “Pythonically”


Closely related to the issue of “gotchas” is the understanding of how to think
in Python. Until you understand Python’s unique way of modeling the world,

xvii

Overland_Book.indb xvii 8/31/17 12:56 PM


xviii Preface

you might end up writing a program the way a C programmer would. It runs,
but it doesn’t use any of the features that make Python such a fast develop-
ment tool.
a_list = ['Don\'t', 'do', 'this', 'the' ,'C', 'way']
for x in a_list:
print(x, end=' ')
This little snippet prints
Don't do this the C way

Intermediate and Advanced Features


Again, although Python is generally easier than other languages, that’s not
universally true. Some of the important intermediate features of Python are
difficult to understand unless well explained. This book pays a lot of atten-
tion to intermediate and even advanced features, including list comprehension,
generators, multidimensional lists (matrixes), and decorators.

Learning in Many Different Styles


In this book, I present a more varied teaching style than you’ll likely find else-
where. I make heavy use of examples, of course, but sometimes it’s the right
conceptual figure or analogy that makes all the difference. Or sometimes it’s
working on exercises that challenge you to do variations on what’s just been
taught. But all of the book’s teaching styles reinforce the same ideas.

What’s Going on “Under the Hood”


Although this book is for people who may be new to programming altogether,
it also caters to people who want to know how Python works and how it’s fun-
damentally different “under the hood.” That is, how does Python carry out
the operations internally? If you want more than just a simplistic introduction,
this book is for you.

Overland_Book.indb xviii 8/31/17 12:56 PM


Preface xix

Why Python?
Of course, if you’re trying to decide between programming languages, you’ll
want to know why you should be using Python in the first place.
Python is quickly taking over much of the programming world. There are
some things that still require the low-level capabilities of C or C++, but you’ll
find that Python is a rapid application development tool; it multiplies the
effort of the programmer. Often, in a few lines of code, you’ll be able to do
amazing things.
More specifically, a program that might take 100 lines in Python could
potentially take 1,000 or 2,000 lines to write in C. You can use Python as
“proof of concept”: write a Python program in an afternoon to see whether
it fulfills the needs of your project; then after you’re convinced the program is
useful, you can rewrite it in C or C++, if desired, to make more efficient use of
computer resources.
With that in mind, I’ll hope you’ll join me on this fun, exciting, entertaining
journey. And remember this:
x = ['Python', 'is', 'cool']
print(' '.join(x))

Register your copy of Python Without Fear on the InformIT site for con-
venient access to updates and/or corrections as they become available. To
start the registration process, go toinformit.com/register and log in or create
an account. Enter the product ISBN (9780134687476) and click Submit. Look
on the Registered Products tab for an Access Bonus Content link next to
this product, and follow that link to access any available bonus materials.
If you would like to be notified of exclusive offers on new editions and
updates, please check the box to receive email from us.

Overland_Book.indb xix 8/31/17 12:56 PM


Visit https://ebooknice.com to
discover a wide range of
eBooks across various genres.
Enjoy exclusive deals and
discounts to enhance your
reading experience. Start your
digital reading journey today!
This page intentionally left blank
Acknowledgments
It’s customary for authors to write an acknowledgments page, but in this case,
there’s a particularly good reason for one. There is no chapter in this book
that wasn’t strongly influenced by one of the collaborators: retired Microsoft
programmer (and software development engineer) John Bennett.
John, who has used Python for a number of years—frequently to help
implement his own high-level script languages—was particularly helpful in
pointing out that this book should showcase “the Python way of doing things.”
So the book covers not just how to transcribe a Python version of a C++
solution but rather how to take full advantage of Python concepts—that is, how
to “think in Python.”
I should also note that this book exists largely because of the moral support
of two fine acquisition editors: Kim Boedigheimer, who championed the
project early on, and Greg Doench, whom she handed the project off to.
Developmental and technical editors Michael Thurston and John Wargo made
important suggestions that improved the product. My thanks go to them, as well
as the editorial team that so smoothly and cheerfully saw the manuscript
through its final phases: Julie Nahil, Kim Wimpsett, Angela Urquhart, and
Andrea Archer.

xxi

Overland_Book.indb xxi 8/31/17 12:56 PM


This page intentionally left blank

Overland_Book.indb xxii 8/31/17 12:56 PM


Author Bio
At one time or another, Brian Overland was in charge of, or at least influential in,
documenting all the languages that Microsoft Corporation ever sold: Macro
Assembler, FORTRAN, COBOL, Pascal, Visual Basic, C, and C++. Unlike
some people, he wrote a lot of code in all these languages. He’d never document
a language he couldn’t write decent programs in.
For years, he was Microsoft’s “go to” man for writing up the use of utilities
needed to support new technologies, such as RISC processing, linker extensions,
and exception handling.
The Python language first grabbed his attention a few years ago, when he
realized that he could write many of his favorite applications—the Game of
Life, for example, or a Reverse Polish Notation interpreter—in a smaller space
than any computer language he’d ever seen.
When he’s not exploring new computer languages, he does a lot of other
things, many of them involving writing. He’s an enthusiastic reviewer of films
and writer of fiction. He’s twice been a finalist in the Pacific Northwest Literary
Contest.

xxiii

Overland_Book.indb xxiii 8/31/17 12:56 PM


This page intentionally left blank

Overland_Book.indb xxiv 8/31/17 12:56 PM


1
Meet the Python
What if I told you there’s a computer language that’s easier to learn, easier to
get started with, and easier to accomplish a great deal with, using only a few
lines of code, than other computer languages?
In the opinion of millions, Python is that language. Derived from a lan-
guage called ABC (as in “simple as ABC”), it’s gained a massive worldwide
following over the last two decades. So many programmers have joined the
Python community that there are more than 100,000 free packages that work
with the basic Python setup.
Come join the Python stampede. In this book I show you how to get started
even if you have limited programming experience. I also steer you around the
“gotchas”—the things Python does so differently that they trip up experienced
programmers. This book is for new programmers as well as experienced pro-
grammers alike, and it discusses what goes on under the covers.

A Brief History of Python


Python was invented in 1991 by
Dutch programmer Guido van It’s as easy as
Rossum, who derived much of it “ABC”!!
from the ABC language (not to
be confused with C).
ABC had many features that A B C
exist today in Python. Van Ros-
sum, whose title in the Python
world is Benevolent Dictator
for Life (BDFL), also incorpo-
rated elements of the Modula-3
language.

Overland_Book.indb 1 8/31/17 12:56 PM


2 Chapter 1 Meet the Python

Van Rossum named the language after the BBC comedy series Monty
Python’s Flying Circus, so the connection to pythons is indirect, although
troupe member John Cleese originally came up with “Python” as suggesting
something “slithering and slimy” (source: Wikipedia.org). So there you have
it—there is a connection to reptiles after all.
Since then, several versions of Python have been developed, adding important
capabilities, the latest of which is Python 3.0. This book uses Python 3.0,
although it includes notes about adapting examples to Python 2.0.

How Python Is Different


The first thing to know about Python is that Python is free.
Many Python extensions are free and come with the basic download. These
modules offer features such as math, date/time, fractions, randomization, and
tkinter, which supports a graphical user interface that runs across multiple
platforms. Again, all are free.
Python’s built-in numeric support is impressive, as it includes complex
numbers, floating-point, fractions (from the Fractions module), and “infinite
integers.”
Python has attracted an extraordinary following. Many developers provide
libraries—called packages—to their fellow Python programmers, mostly free
of charge. You can get gain access by searching for Python Package Index in
your Internet browser and then going to the site. As of this writing, the site
offers access to more than 107,000 packages.
At first glance, a Python program may look something like code in other
languages, but a close look reveals major differences.

 Unlike most languages, Python has no “begin block” or “end block” syntax—
all relationships are based on indentation! Although this might seem risky to a
C programmer, it enforces a consistent look that’s more comprehensible to
beginners.
 Python has no variable declarations. You create variables by assigning values
to them. This goes a long way toward simplifying the language syntactically,
but it also creates hidden “gotchas” at a deep level. This book will steer you
around them.
 Python is built heavily on the idea of iteration, which means looping through
sequences. This concept is built deeply into high-level structures (lists, dictio-
naries, and sets). Use them well, and you’ll be able to get a great deal done in
a small space.

Overland_Book.indb 2 8/31/17 12:56 PM


How This Book Works 3
Python is often considered a “prototyping” or “rapid application development”
language because of these abilities. You can write a program quickly in Python.

1
If you later want to improve machine-level efficiency, you can later rewrite the
program in C or C++.

How This Book Works


I believe strongly in learning by example as well as by theory. The plan of
this book is to teach the basics of Python (as well as some intermediate and
advanced features) by doing the following:

 Introducing a Python feature, using syntax diagrams and short examples


 Showing a major example that demonstrates the practical application of the
feature
 Including a “How It Works” section that deconstructs the example code line
by line
 Listing a set of exercises that challenge you to do variations on the example

Because Python has an interactive development environment, IDLE, I often


invite you to follow along with the shorter examples, as well.
This book uses a number of icons in the margin to help give you additional
visual cues.
ord
These sections describe some basic rule of Python syntax. Anything meant
Keyw

to be entered at the keyboard precisely as shown (such as a keyword or punc-


tuation) is in bold. Meanwhile, placeholders, which contain text you supply
ntax yourself, are in italics. For example, in the syntax for the global statement, the
Key Sy

keyword itself is in bold, while the name of the variable—which you supply—
is in italics.
global variable_name
code This icon indicates a block of pseudocode, which systematically describes each
Pseudo

step of a program purely in English, not Python-ese. However, because Python


statements are often not so far from English, I don’t always need to use pseudocode.
It can still be helpful, on occasion, for summarizing program design.
Works
This icon indicates a section that deconstructs every line of a major example,
How It

or at least every line that isn’t already trivial.

Overland_Book.indb 3 8/31/17 12:56 PM


4 Chapter 1 Meet the Python

ses This icon indicates a section that provides exercises based on the preced-
Exerci

ing example. You’ll learn Python much faster if you try at least some of the
exercises.

izing
This icon precedes a section that shows how to revise or greatly improve an
Optim

example. These are not included for every example. Where this book does use
them, it’s because the example used the more obvious way to do something;
the “optimized” approach will then show how the more experienced, sophisti-
cated Python programmer would handle the job.

Installing Python
The steps for installing Python are essentially the same regardless of whether
you have a Windows-based system, Macintosh, or any other system that Python
supports. Here are the basic steps:

1 Go to the Python home page: python.org.


2 Open the Downloads menu.
3 If a Downloads for Windows screen appears, click the Python 3.6.1 button. If
your system does not run Windows, you’ll need to select another operating sys-
tem by examining all the choices in the Downloads menu.
4 Click the Save File button.
5 Find the file you just saved; any system will generally have a place that it puts
downloads. This saved file contains the Python installer. Double-click the name
of this saved file and follow the instructions.

If all goes well, Python is installed on your computer with all the basic mod-
ules, tkinter (GUI development) included. Now you have a choice to make.
To start using Python, you can use “basic interactive mode”—which is func-
tional but nothing special—or you can use IDLE, the interactive development
environment.
I strongly recommend the latter. IDLE does everything the basic interactive
mode does, and a great deal more. In the next section, I describe some ways of
using IDLE that can save you a lot of time later.
Here’s what basic interactive mode looks like. It offers only rudimentary
editing and no support for loading programs from text files.

Overland_Book.indb 4 8/31/17 12:56 PM


Exploring the Variety of Random
Documents with Different Content
Minquaheimoon kuuluvia. Nämät olivat sijoitetut osittain keskustaan,
osittain kummallekin sivulle.

Samana iltana, jolloin Pekka Drufva ja Uncas saapuivat leiriin,


pidettiin suurempi neuvottelukokous, jossa päätettiin, että yleisempi
hyökkäys tapahtuisi seuraavana päivänä aamun valjetessa. Jotkut
päälliköt puolustivat tosin yöllistä hyökkäystä, mikä parhaiten
soveltui intiaanien sodankäyntiin, mutta siitä luovuttiin sillä
perustuksella, että silloin pyssyistä ei olisi paljon hyötyä, ja niihinhän
sitä kuitenkin eniten luotettiin.

Muutamia minuutteja ennen auringonnousua alkoi suuri taistelu,


yksi suurimpia, mitä näihin aikoihin oli näillä seuduin tapahtunut.

Siihen aikaan, josta nyt on kysymys, erosi intiaanisota


huomattavassa määrässä niistä taisteluista, joita sivistyneet kansat
kävivät keskenään. Siinä ei näet taisteltu koskaan tihein rivein.
Sellainen taito ei kuulunut intiaanien sodankäyntiin. Sitä ammuttiin
vain suojusten takaa tai varsin harvoissa ampumalinjoissa. Tosin ei
siihen aikaan kaivauduttu maahan niinkuin myöhemmän ajan
sotamiehet, mutta intiaanit olivat tavattoman taitavat löytämään
suojaa maan päältä. Puiden runkojen takaa, vieläpä puiden tuuheista
latvoista saattoi sadella alas nuolia. Suojuksina käytettiin niinikään
kallionlohkareita tai suurempia kiviä, luonnollisia syvennyksiä maassa
tai tiheitä pensaikkoja, sillä okaiset pensaat, jotka Amerikassa ovat
hyvin tavallisia, tekivät melkein samaa virkaa kuin piikkilanka-
aitaukset meidän päivinämme. Ja valkoiset sotamiehet, jotka
taistelivat punaisia vastaan, olivat pakotetut käyttämään samaa
taistelutapaa kuin hekin, sillä muuten he olisivat olleet hukassa.

Jo päivällisen aikana oli taistelu päättynyt ja tuotti loistavan voiton


mohikaaneille ja heidän liittolaisilleen. Koko irokeesijoukko tuli
kokonaan hajoitetuksi. Sen jälkeen kuin päävoima oli tapettu tai
vangittu, pakenivat jäljellejääneet. Kovapään tarkoituksena oli
kylläkin ollut, että jos irokeesit joutuisivat tappiolle, vetäytyä hyvässä
järjestyksessä takaisin, ja siltä varalta oli jo tehty valmistuksiakin
rakentamalla murroksia taistelupaikan taakse, mutta Kovapää kaatui,
saatuaan luodin suoraan päähänsä. Kovapään pää ei ollut kyllin kova
vastustaakseen ruotsalaisen pyssymiehen kuulaa ja se lopetti hänen
päivänsä. Hänen kuolemansa jälkeen irokeesijoukko ei pysynyt enää
koossa, ja siksi ei suojelevista murroksistakaan ollut mitään apua,
vaan pikemmin ne olivat esteenä pakeneville, ja vankien lukumäärää
ne myös suuresti lisäsivät. Myöskin vastapuolueen päällikkö, vanha
Musta Jaguaari, sai haavan taistelussa, se ei kuitenkaan ollut
hengenvaarallinen, mutta hänet oli kannettava paareilla
taistelukentältä omaan kyläänsä. Tästä oli seurauksena, että Uncas,
joka joka tapauksessa varsin pian olisi ottanut päällikkyyden
haltuunsa, nyt jo sai johtaa joukkoja.

Taistelun jälkeen palasi ruotsalainen joukko kotiin, sen jälkeen kuin


luutnantti Schute oli ottanut intiaaneilta sen lupauksen, etteivät he
kiduttaisi vankejaan. Uncas asettui takaa-ajavien etupäähän, ja
Pekka Drufva seurasi mohikaanien erikoisesta pyynnöstä heidän
kyliinsä. Syynä siihen oli se, että huhu tiesi kertoa, että pienempi
joukko irokeesejä — 30 miestä, sanottiin — ryösti ja poltti meren
rannassa sijaitsevissa kylissä, joista kaikki miehet olivat lähteneet
sotaan. Ja niinpä oli sekä Uncas että taisteluun pystymätön Musta
Jaguaari pyytänyt häntä johtamaan sitä joukkoa, jonka heti oli
määrä lähteä näitä ryöstäjiä vastaan. Tämä pyyntö oli samalla niin
suuri luottamuksenosoitus mohikaanien puolelta, ettei Pekka Drufva
voinut kieltäytyä siitä. Ehkäpä hän siten oli ensimäinen valkoihoinen,
joka toimi intiaanijoukon päällikkönä Amerikassa, ja se kunnia oli
siksi suuri, ettei siitä käynyt kieltäytyminen.
Pekka Drufva ymmärsi vallan hyvin, miksi Uncas niin suurella
innolla, melkeinpä kuumeella kiiruhdutti pakenevien irokeesien
takaa-ajoa. Hän tahtoi anastaa Metsäliljan, ennenkuin irokeesit
ennättivät lähteä leiristään liikkeelle Timberjärven rannalta. Mutta
hienotunteisuudesta hän ei maininnut sanaakaan tästä
otaksumisestaan.

*****

Muutamia päiviä myöhemmin me tapaamme Pekka Drufvan


päällikkönä tilapäisessä intiaanileirissä lähellä merenrantaa. Hänen
allensa olevaan joukkoon kuului noin 50 hyvin asestettua
mohikaania. Tähän saakka ei hänen retkensä ollut erittäin
onnistunut, sillä hän ei ollut vielä tavannut sitä irokeesijoukkuetta,
jonka hävittäminen oli hänen matkansa päämääränä. Sen sijaan hän
oli nähnyt runsaasti jälkiä sen tuottamista vaurioista: ryöstettyjä ja
poltettuja kyliä, hävitettyjä viljelysmaita, murhattujen tai ryöstettyjen
naisten ja lasten verenjälkiä, ihmisparkojen, jotka eivät olleet
ennättäneet paeta ryövärijoukkoa ja jotka olivat olleet suojelijoita
vailla, koska taisteluun pystyvät miehet olivat lähteneet sotaan. Nyt
oli hänellä kuitenkin syytä olettaa, että hän piankin saisi
väkivallantekijät käsiinsä. Tiedustelijoita oli lähetetty edeltä ja
odottaessa heidän paluutaan oli pystytetty leiri lehtevään metsään,
missä puro solisi merta kohti.

Pekka Drufva loikoili polttaen piippua monen sadan vuoden


vanhan pyökin alla, ja hänen punaiset sotilaansa olivat ryhmittyneet
maalauksellisissa asennoissa hänen ympärilleen. Odottaessaan uutta
marssikäskyä söivät mohikaanit kuivaa ruokaa repuistansa, sillä tulta
ei ollut lupa sytyttää metsänriistan paistamista varten, koska
nuotiosta nouseva savu olisi voinut varoittaa irokeesejä.
Sillä välin Pekka Drufvan ajatukset kiertelivät sen päämäärän
ympärillä, joka viime aikoina oli ollut niiden keskipisteenä. Ja olihan
tämä päämäärä siksi korkea, että se vaati perinpohjaista tuumimista.
Mitenkä hän, köyhä ja vähäpätöinen tiedustelija, voisi kohota
sellaiseen asemaan, että hän saattoi pyytää kuvernöörin tytärtä
vaimokseen?

"Ei", mutisi hän itsekseen, "se ei käy täällä siirtokunnassa. En ole


käynyt sotilaskoulua ja siksi minusta tuskin voinee tulla linnoituksen
päällikköä. Mutta vaikkapa vastoin oletustani voisin siksi kohota, niin
mitäpä tarjottavaa siinä olisi Gretalle? Sanotaan, että kuvernööri
epäilee suuresti Lydiankin antamista Liljehöökille. Ja hän on
kuitenkin vänrikki ja aatelismies. Mitenkä minulla olisi mitään
mahdollisuuksia, minä, joka — en ole mitään? Mutta hänet minä
voitan sittenkin. Siksi minun täytyy muuttaa alaa — — —"

Mutta mille alalle hän aikoi muuttaa, sitä me emme koskaan


saaneet tietää, sillä juuri samassa palasi toinen tiedustelijoista ja
ilmoitti, että irokeesit olivat pystyttäneet leirinsä syrjäiseen laaksoon
noin tunnin matkan päähän siltä paikalta, missä mohikaanit olivat,
sekä että kaikista merkeistä saattoi olettaa, että he aikoivat olla siellä
yötä. Tiedustelija oli nähnyt, että heillä oli paljon mohikaaninaisia ja
lapsia joukossaan sekä sitä paitsi vangittu valkoinen mies.

"Valkoinen mies", huudahti Pekka Drufva. "Kukahan se voinee


olla?"

Sitä ei tiedustelija tiennyt. Nyt lähdettiin heti liikkeelle, ja


tiedustelija oppaanaan kulki joukko niin nopeassa marssissa vihollista
vastaan, kuin olosuhteet ja varovaisuus vain salli.
Kun he lähestyivät sitä paikkaa, missä irokeesien leirin piti olla
tiedustelijan ilmoituksen mukaan, kuului omituista ääntä, jota Pekka
Drufva aluksi luuli jonkun tuntemattoman villin eläimen ulinaksi.
Mutta, tultuaan lähemmäksi selvisi hänelle, että joku
hengenahdistuksessa oleva ihminen valitti ääneensä. Nyt vauhtia
lisättiin. Pian he olivatkin perillä. Ääneti ja notkeasti kuin kissat
heittäytyi pari mohikaania vahdin kimppuun, ja kun tämä oli ikiajoiksi
vaiennut, saattoi koko joukko, leirin huomaamatta, hiipiä
kattilanmuotoisen laakson reunaan, jonka pohjalle, harvan metsän
suojaan, leiri oli pystytetty. Tiheän pensaikon takana lymyten näki
nyt Pekka Drufva, mistä nuo kaameat huudot läksivät. Alaston,
valkoinen mies oli sidottu paaluun ja parasta aikaa häntä kidutettiin,
irokeesien hyppiessä ja tanssiessa ilosta hänen ympärillään.

Kuivista risuista oli sytytetty pieni rovio miehen jalkojen väliin, ja


liekit nuolivat hänen pohkeitaan. Sillä välin eräs irokeeseista, joka
näytti ikäänkuin valloilleen päästetyltä hornanhengeltä, pisteli
teräväksi veistettyjä puikkoja hänen ihoonsa ja lihaksiinsa sinne
tänne.

Pekka Drufva oli nähnyt kyllikseen. Hän nosti kiväärin poskelleen


ja ampui ja päästi samalla huudon, joka oli mohikaaneille
hyökkäysmerkkinä.

Kuula oli osunut paikalleen. Mies, jolla oli teräväpäisiä puikkoja


kädessä, hyppäsi kuin haavoittunut metsäkauris, ja kaatui sitten
hengettömänä uhrinsa jalkoihin. Nyt Pekka Drufva hyökkäsi alas
rinnettä, potkaisi syrjään palavat risut ja tarttui puukkoonsa
katkoakseen vangin köydet. Mutta juuri kun hän lähestyi häntä,
hätkähti hän, ikäänkuin hän olisi nähnyt kaamean näyn. Hän oli
nähnyt vangin kasvot ja tuntenut hänet.
"Miten ihmeessä sinä olet täällä, Rapatalon Lassi, ja mistä se
johtuu, että näin monen vuoden kuluttua näen sinut näin kaameassa
tilassa", kysyi hän ihmeissään.

Vankikin oli tuntenut pelastajansa, mutta hän ei vastannut


kysymykseen, vaan sanoi surkealla äänellä:

"Jos sinä, Pekka Drufva, tahdot kostaa minulle kaiken sen pahan,
minkä tein sinulle Ahvenanmaalla, niin Jumalan tähden, iske minuun
heti, sillä olen jo kärsinyt helvetillisiä tuskia syntieni sovitukseksi sekä
sinua että muita vastaan."

Vastaamatta tähän pyyntöön kohotti Pekka Drufva puukkoansa,


jolloin Rapatalon Lassi sulki silmänsä ja lyyhistyi kokoon, sillä nyt hän
odotti kuoliniskua. Mutta sen sijaan katkottiin hänen köytensä ja
petetty nuoruudenystävä talutti hänet mättäälle, missä hän kevyesti
ja hellävaroen poisti pistävät puupuikot ja antoi Lassin oikaista
itseään pehmeässä ruohikossa.

Nyt Pekka Drufva tarkasteli mohikaaniensa askartelua sillä välin


kuin heidän päällikkönsä oli suorittanut armeliaisuuden työnsä.

Tappelu oli jo päättynyt. Irokeesit olivat tulleet siihen määrin


yllätetyiksi, että vain harvat olivat nousseet vastarintaan, ja kun
nämät olivat kaadetut maahan, antautuivat toiset vangeiksi. Ei
ainoakaan ollut päässyt pakoon kertoakseen muille irokeeseille miten
ovelan ryöstöjoukon oli käynyt. Mohikaanivangit, joita oli varsin
paljon leirissä ja jotka yksinomaan olivat naisia ja lapsia, päästettiin
vapaaksi, kuolleet haudattiin ja haavoittuneet sidottiin.

Niinpiankuin taistelu oli ratkaistu, oli Pekka Drufva kutsunut erään


lääketaitoisen intiaanin Lassin luo, joka sitoi hänen monet, joskin
varsin vaarattomat haavansa ja antoi siten mies paralle lievitystä,
jonka jälkeen hänen ylleen puettiin hänen vaatteensa, jotka löytyivät
irokeesien tavaroiden joukosta. Vasta sitten Pekka Drufva kävi hänen
viereensä istumaan ja jatkoi keskustelua, jonka pelastustyöt olivat
keskeyttäneet.

"Sinä taisit pelätä, Lassi, että aioin nyt kostaa sinulle sen, minkä
Ahvenanmaalla teit minulle. Voin vakuuttaa, etten hetkeäkään ole
mitään sellaista ajatellut. Kosto on paha, joka tavallisesti tahraa
kostajaa enemmän kuin hänen uhriaan. Eihän meidän,
lyhytnäköisten ihmisten asia ole kostaa, korkeintaan meidän tulee
rangaista, jos rankaisu tapahtuu oikeuden ja kohtuuden mukaan.
Sen pahan johdosta, jota minulle olet tehnyt, Lassi, olet sinä
mielestäni saanut kylliksi suuren rangaistuksen. Muuten voidaan
panna kysymykseen, tokko oikeastaan olet tehnyt minulle mitään
pahaa. Sinä tartuit minun elämääni ja annoit sille uuden suunnan,
mutta siitä ei minulla ole vähintäkään valittamisen syytä. Jollei sinua
olisi ollut, niin olisin kai minä nälällä ja vaivalla päässyt kappalaiseksi
jonnekin Ruotsissa tai Suomessa. Se olisi varmaankin paljoa
vähemmän miellyttänyt minua kuin nykyinen elämäni, joskaan en
erinäisistä syistä enää ole oikein tyytyväinen siihenkään. Mutta nyt
sinun pitää kertoa minulle, mikä kummallinen kohtalo on tuonut
sinut tänne, niin että aivan odottamatta tapasimme toisemme tässä
erämaassa."

Rapatalon Lassi kertoi nyt seikkailunsa. Pian sen jälkeen kun Pekka
Drufva oli lähtenyt Ahvenanmaalta, oli hän myönyt talonsa ja ottanut
pestin laivaan. Sitten hän oli purjehtinut monella suurella aluksella,
viimeksi englantilaisella, jonka oli määrä mennä Länsi-Intiaan.
Atlantin valtamerellä oli noussut kova myrsky, laiva oli eksynyt
oikeasta suunnastaan ja vihdoin saanut vuodon. Yötä päivää tehtiin
työtä pumppujen ääressä, sillä lännessä häämöitti maata, joka
varmaankin oli Amerikan mannerta, ja toivottiin, että laiva ennättäisi
ajautua maihin ennenkuin se uppoaisi. Mutta se ei onnistunut. Alus
alkoi vajota. Silloin miehistö asettui kahteen pieneen
pelastusveneeseen, kapteeni ja kolme miestä toiseen, ja perämies ja
kolme miestä, joiden parissa Lassikin oli, toiseen. Minne kapteenin
vene joutui, sitä ei Lassi tiennyt, sillä veneet joutuivat jo heti erilleen
toisistaan. Mutta vihdoin perämiehen vene pääsi hiekkarantaan.
Siellä he nousivat maihin. Maa näytti asumattomalta, mutta
samoiltuaan jonkun aikaa sinne tänne, kohtasivat he intiaanikylän,
jossa ei kuitenkaan ollut muita kotosalla kuin pari vanhaa ukkoa sekä
naisia ja lapsia. Heille kerrottiin, että kaikki miehet olivat lähteneet
sotaan toista intiaaniheimoa vastaan, jotka nimittivät itseään
irokeeseiksi. Aluksi oli merimiesten hyvin vaikea tulla toimeen
kylässä, jossa ei kukaan ymmärtänyt englanninkieltä. Mutta
sattumalta Lassi oli tullut puhuneeksi ruotsia eräälle intiaanivaimolle
ja suureksi hämmästyksekseen hän huomasi, että tämä ymmärsi
häntä. Hän sai nyt kuulla, että ruotsalainen linnoitus ja ruotsalaisia
uutisasukkaita oli jonkun matkan päässä sisämaassa ja että
ruotsalaiset olivat mohikaanien hyviä ystäviä, niin, olivatpa he
lähettäneet apujoukkoja sotaankin irokeesejä vastaan. Me jatkamme
nyt Lassin omilla sanoilla:

"Meidät otettiin erinomaisen hyvin kylässä vastaan, varsinkin kun


he kuulivat, että minä olin ruotsalainen. Me saimme hyvän aterian ja
sen jälkeen meille luovutettiin maja, jossa saimme nukkua, sekä
luvattiin seuraavana päivänä antaa meille oppaaksi poika, joka
johtaisi meidät ruotsalaiseen linnoitukseen. No, me läksimme varhain
levolle, sillä olimme kovin väsyneet paljosta valvonnasta ja kovasta
työstä merellä sekä samoilusta päästyämme maihin. Melkein heti me
vaivuimme uneen. Mutta hyvä Jumala, olipa se heräämistä! Majan
joka nurkka paloi, ja kun me hyökkäsimme ulos, välkkyivät
verenhimoiset kirveet päittemme päällä. Meillä ei ollut mitään muita
aseita kuin puukkomme, mutta niillä me asetuimme vastarintaan niin
hyvin kuin taisimme. Mutta niistä ei ollut pitkälle apua. Perämies
ensimäisenä kaatui pää halkaistuna, ja molemmat toverini seurasivat
pian jäljessä. Minut he iskivät takaapäin maahan ja koko kasa
intiaaneja kävi kimppuuni. Silloin antauduin vangiksi, mutta jos olisin
tiennyt, mikä minulla oli edessä, olisin, Jumala antakoon minulle
anteeksi, kernaammin iskenyt puukon omaan rintaani. Me emme
kuitenkaan olleet suorittaneet työtämme niinkään huonosti, sillä
kolme intiaania makasi henkitoreissaan ympärillämme. Siksi kai he
sitten kiduttivat minua niin kauheasti. Intiaanikylän he polttivat,
ryöstivät kaiken sen, mikä heistä oli arvokasta ja ajoivat naiset ja
lapset suurena joukkona edellään aivan kuin karjaa. Sitten lähdettiin
erämaahan, ja kaksi päivää me kuljimme ennenkuin saavuimme
tänne. Minusta tuntui kuin he olisivat pelänneet takaa-ajajia, ja siitä
minä iloitsin, sillä taistelussa toivoin pääseväni vapaaksi. Täällä he
luulivat olevansa hyvässä turvassa. Niinpä he päättivät pitää iloa
minun kustannuksellani ja paalu pystytettiin maahan. Loput sinä
tiedät, Pekka Drufva."

"Niin, minä tulin viime hetkessä, mutta Jumalan kiitos, sittenkin


ajoissa, sillä haavasi eivät ole hengenvaarallisia. Mitä nimeä sinä
käytit merimiehenä?"

"Minua sanottiin Ahvenanmaan Lassiksi."

"Hyvä, sillä nimellä minäkin tahdon kutsua sinua, sillä vanha nimi
repii turhat haavat auki. Nyt saat seurata mukanani ruotsalaisten
siirtokuntaan, missä minä asun, ja minä pidän kyllä huolta siitä, että
haavasi paranevat pian. Sitten saat jäädä sinne tai lähteä jollakin
laivalla merille, aivan niinkuin haluat."

Kyyneleet kimaltelivat Lassin silmissä, kun hän vastasi:

"Pekka Drufva, tästä lähtien tahdon palvella sinua. Silloin minusta


ehkä voi taas tulla hyvä ihminen."

"No, siitä saamme sitten puhua", vastasi Pekka Drufva äänellä,


joka ilmaisi liikutusta.

Hän antoi sitten intiaanien laittaa paarit oksista kuntoon, ja sillä


Ahvenanmaan Lassia oli kannettava, sillä hän ei kyennyt kulkemaan.

*****

Palatessaan mohikaanien päällikkökylään huomasi Pekka Drufva


heti, että Uncas oli palannut takaa-ajomatkaltaan, ja ettei se ollut
tulokseton ollut, näkyi muun muassa siitä, että päällikön teltan
edessä kasvavaan puuhun oli sidottuna vanki, jonka hän heti tunsi.
Se oli Peter Irgens.

"Retkesi on ollut onnekas", sanoi hän Uncasille, "sillä näen, että


olet saanut vangiksi miehen, joka varmaankin oli koko sodan
alkusyynä, ja jolla sitä paitsi on paljon tilitettävää ruotsalaisille."

"Niin", vastasi Uncas, "Vesirotta oli varmaankin ensimäisiä, jotka


pakenivat, sillä hän oli jo ennättänyt takaisin Timberjärven leirille ja
parhaillaan oli hajottamassa sitä yhdessä siellä olevien intiaanien
kanssa, aikoen paeta pohjoiseen, irokeesien vakinaisiin kyliin. Mutta
minä ennätin paikalle viime tingassa, piiritin leirin ja vangitsin heidät
kaikki."
"Eikö Peter Irgens tehnyt vastarintaa vangittaessa?"

"Hurjaa vastarintaa. Mutta me piiritimme hänet ja iskimme


maahan. Hän olisi nyt kuollut, jollei Uncas olisi sitä estänyt. Hän on
jätettävä luutnantti Schuten käsiin."

"Se on oikein! Siellä hän on tervetullut. Mihin hänen poikansa, Will


joutui?"

"Hän kaatui puolustaessaan noita risuvalleja, jotka Kovapää oli


rakennuttanut paon varalta. Uncas itse halkaisi hänen päänsä
tomahawkilla."

Mutta Pekka Drufvan uteliaisuus ei vieläkään ollut tyydytetty.

"Miten Metsäliljan kävi?" kysyi hän.

"Ukkosen Veli astukoon punaisen ystävänsä majaan", kuului


vastaus.

Tietysti Pekka Drufva seurasi kutsua, ja päällikön suojasta astui


häntä vastaan kaunis Metsälilja. Pekka hämmästyi suuresti, ei sitä,
että Metsälilja oli siellä, sillä sen hän oli arvannut jo edeltäkäsin,
vaan sitä, että hän astui häntä vastaan hymyilevänä ja iloisena, eikä
lainkaan surullisena.

"Eikö Metsälilja sure Kovapään kuolemaa", kysyi hän ihmeissään.

"Kovapää oli urhoollinen soturi, ja nyt hän on päässyt onnellisille


metsästysmaille, missä hän saa uuden vaimon. Miksikä Metsälilja sitä
surisi", vastasi hän vilpittömästi.
"Mutta Metsäliljahan rakasti Kovapäätä", intti Pekka Drufva, "ja
sitä jota rakastaa, sitä myös suree."

"Niin, Metsälilja rakasti suuresti Kovapäätä, mutta ei intiaaninainen


voi rakastaa kuollutta miestä. Nyt hän rakastaa Uncasia. Kovapää on
onnellinen, ja Metsälilja on onnellinen. Miksi siis surra?"

Että hänen rakkautensa Uncasiin ei ollut vain huulilla, sen saattoi


helposti huomata niistä hellistä katseista, joilla hän seurasi nykyistä
miestään.

Pekka Drufva oli aikonut pikimmiten palata kotiin Uuteen.


Göteborgiin, mutta suurta juhlaa oli vietettävä kylässä ja Uncas oli
hartaasti pyytänyt häntä jäämään sen yli, jota Pekka ei
hennonutkaan kieltää. Uncas oli näet juhlallisesti nimitettävä koko
heimon päälliköksi.

Samassa tilaisuudessa nimitettiin myös Pekka Drufva kaikilla


juhlamenoilla mohikaanien alipäälliköksi, arvonimi, joka lienee tullut
hyvin harvojen muiden osaksi. Joka tapauksessa hän oli ensimäinen,
jolle se kunnia suotiin. Uncas itse laski sulkakruunun hänen
päähänsä.

Ahvenanmaan Lassin seuraamana, jonka intiaanit kantoivat


paareilla veneeseen, hän palasi sitten kotiin.

Viikkoa myöhemmin hirtettiin Peter Irgens Uuden Jokilinnan


linnoituksessa.
KOLMASKOLMATTA LUKU.

Pekka Drufva lähtee pois Uudesta Ruotsista.

On juhannusaatto. Ruotsalaiset Uudessa Göteborgissa pitävät


kiinni vanhan maan tavoista, ja siksi he viettävät kesän suurinta
juhlaa köynnöksillä koristetun kukkasalon ympärillä, tanssien viulun
ja klarinetin soiton säestyksellä, aivankuin kotona pohjolassa. Tosin
ympäristö oli toisenlainen kuin vanhassa Ruotsissa, mutta
juhannusilo on sama ja kansa samaa, joskin joukossa voi olla joku
muukalainenkin.

Tasaisella ja kauniilla aukiolla Uuden Göteborgin linnoituksen


edustalla oli kukkasalko pystytetty ja sen ympärillä pyöri nyt
kirjavissa ryhmissä uutisasukkaita ja sotamiehiä, miehiä ja naisia,
vanhoja ja nuoria. Katselijoiden parissa näkyi siellä täällä jonkun
intiaanin teräväpiirteiset kasvot. Paitsi kaunis ilma ja juhlan vanhat
perimätavat kohotti tunnelmaa se tieto, että laiva kotimaasta oli
odotettavissa. Sellainen tapaus oli varsin harvinainen siirtokunnan
elämässä, ja siksi se oli huomattu juhlatilaisuus, sillä sen mukana tuli
kirjeitä ja uutisia vanhasta kotimaasta, elintarpeita, joita kauan oli
ikävöity, ehkäpä myös joku rakas ystävä tai tuttava, joka oli
päättänyt lähteä tälle pitkälle matkalle.

Kuvernööri vaimoineen ja tyttärineen olivat myöskin olleet


tanssipaikalla. Molemmat tytöt olivat myös sydämen pohjasta
ottaneet osaa tanssiin.

Ahvenanmaan Lassi on innokkaimpia tanssijia. Hän on nyt aivan


terve tuon kamalan rääkkäyksen jälkeen intiaanileirissä. Pekka
Drufva oli ottanut hänet mukanaan kotiinsa ja uskollisesti hoitanut
häntä kunnes hän oli parantunut. Niinpä Ahvenanmaan Lassin katse,
joka alituisesti oli kiintynyt Pekkaan, muistuttikin nyt uskollista
koiraa, joka seuraa isäntäänsä joka askeleella. Ja hänen alituinen
pyyntönsä oli se, että hän saisi jäädä Pekan läheisyyteen.
Tiedustelijan toimeen ei Lassilla kuitenkaan näyttänyt olevan
taipumusta, mutta hän oli monella tavalla suureksi hyödyksi.

Sillä välin kuin muut tanssivat, astelee Pekka Drufva käsi kädessä
Greta neidon kanssa metsätiellä, joka johtaa Huokausten mäelle.
Heidän välillään ei ollut oikeastaan koskaan ollut puhetta
rakkaudesta, vielä vähemmän Pekka oli kosinut Gretaa sanan
tavallisessa merkityksessä. Mutta he tiesivät rakastavansa toisiaan ja
puhuivat keskenään kieltä, jota vain rakkaus täysin ymmärtää —
kuitenkin enemmän katsein kuin sanoin.

Kun he olivat käyneet istumaan mäelle, keskeytti Pekka Drufva


ensimäisenä äänettömyyden:

"Pian", sanoi hän, "tulee laiva kotimaasta tänne. Parin viikon


kuluttua se palaa takaisin. Minä aion matkustaa sen mukana, jos
kuvernööri antaa luvan."
Greta hätkähti, ikäänkuin neulan pistämänä.

"Ja lähdet pois Uudesta Ruotsista", huudahti hän.

"Niin", vastasi Pekka Drufva.

"Entäs pikku Gretasi? — — —"

"Hänen tähtensä minä juuri matkustankin —-"

"Mitenkä se on ymmärrettävissä? — Minä luulin, että sinä rakastit


minua ja kerran pyytäisit isältäni minua vaimoksesi."

"Juuri siksi, että kerran voisin sen tehdä, minun täytyy lähteä
täältä."

"Mitä sinä tarkoitat?"

"Kyllä sinä sen heti käsität. Sanohan, pikku Greta, tahtoisitko sinä
mennä naimisiin miehen kanssa, joka ei olisi muuta kuin siirtokunnan
metsästäjä ja tiedustelija?"

"Tahtoisin, minä tahdon tulla vaimoksesi, vaikka et olisi muuta kuin


siirtokunnan piiskuri — — —"

Pekka puristi lämpimästi hänen kättään. "Niin, niin, siten sinun


lämmin sydämesi puhuu, mutta kylmällä järjelläkin täytyy olla
sananvuoro tässä asiassa, ja se puhuu toista kieltä. Luuletko sinä,
että siirtokunnan kuvernööri tyytyisi vävypoikaan, joka olisi minun
nykyisessä asemassani?"

"Ehkei! Mutta isäni suosii sinua, ja hän on korottava sinut


suurempaan virkaan. Niin, miksikä sinusta ei voisi tulla jonkun
linnoituksen päällikkö. Olen kuullut, että uutta linnoitusta aiotaan
rakentaa."

"Ei, pikku Greta, se olisi liian suuri harppaus. Täällä on toisia, joilla
on oikeus ennen minua sellaiseen korotukseen. Vänrikki Liljehöökillä
esimerkiksi. Muuten, pikku Greta, en minä kykene sellaiseen
paikkaan, sillä voidakseen komentaa sotilaita, täytyy itsekin olla
sotilas, mutta sitä minä en ole. Eikä Uusi Ruotsi ole sopiva koulukaan
sitä varten. Ei, aivan toisella tavalla minun on voitettava sinut."

"Lähtemällä pois luotani, palaamatta ehkä koskaan takaisin", sanoi


hän nyyhkyttäen ja heittäytyi Pekan rintaa vasten.

Pekka Drufva siveli hellästi Gretan tukkaa ja sanoi:

"Rauhoitu, pikku Greta! Miksikä ei voisi elää toivossa yhtä hyvin


kuin epätoivossa? Paljon minä viime aikoina olen tuuminut tätä
asiaa, ja nyt minä olen keksinyt suunnitelman, josta tahdon puhua
sinulle. — Katsohan, pikku Greta, Saksassa on yhä sota eikä kukaan
tiedä, milloin se päättyy. Siellä on tulevaisuutta nuorelle miehelle,
joka pyrkii eteenpäin ja jolla on korkea päämäärä edessään. Sinne
minä tahdon lähteä ja ruveta sotilaaksi. Siellä voi tulla korotetuksi.
Olen kuullut kuvernöörin sanovan, että sotamarski Wrangel on
hänen vanha ystävänsä. Hän on nyt ruotsalaisen armeijan päällikkö
Saksassa. Kirje sinun isältäsi voisi tasoittaa minun tieni. Ja luulenpa,
että minun onnistuisi muutamien vuosien kuluttua palata sinun
luoksesi sellaisessa asemassa, että punastumatta omaa
vähäpätöisyyttäni voisin pyytää isältäsi sinua vaimokseni. Se on
minun uskoni ja toivoni. Ja siksi minä lähden."

"Mutta jos sinä kaadut sodassa?"


"Se on Jumalan kädessä. Sitä paitsi voi kuolema kohdata minua
täällä yhtä hyvin kuin Saksassa. Nykyinenkin, vaatimaton toimeni on
hengenvaarallinen. Kuolemassa, samoinkuin elämässäkin olen aina
sinun omasi, pikku Greta!"

Nuori tyttö pyyhki pois kyyneleensä. Hänen silmiinsä syttyi loiste,


joka todisti, että hän oli nyt voittanut arkuutensa. Hetken kuluttua
hän sanoi:

"Alan uskoa, että olet oikeassa ja että suunnitelmasi on hyvä. En


minä tahdo asettua sinun tulevaisuutesi tielle. Sydämessäni tunnen,
että kerran tulen vielä sinun vaimoksesi. Lähde sinä. Minä odotan
uskollisena morsiamena sinun paluutasi, ja sinä voit luottaa minuun,
samoinkuin minä luotan sinuun."

Tämä lupaus vahvistettiin, niinkuin tulikin, suutelolla. Sitten nuori


pari poistui Huokausten mäeltä ja palasi tanssipaikalle. Ei kukaan
voinut heistä nähdä, että tänä juhannusaattona oli tehty päätös, joka
suuresti vaikuttaisi kahden ihmisen elämään.

Juhannuspäivän jälkeisenä päivänä seisoi Pekka Drufva


kuvernöörin edessä tämän työhuoneessa.

"Gabriel sanoi, että sinä halusit puhua jostain tärkeästä asiasta


kanssani, Pekka Drufva. Annahan kuulla, mitä se on", sanoi
kuvernööri.

"Kun minut karkoitettiin Uuden Ruotsin siirtokuntaan", sanoi Pekka


Drufva, "niin tuomio kuului, että minun piti oleskella täällä, joskin
vapaana miehenä, kolme vuotta. Tämä aika on nyt kulunut loppuun,
ja ensi päivinä saapuu ruotsalainen laiva tänne, joka pian taas palaa
kotimaahan. Minä tahtoisin kysyä teiltä, herra kuvernööri, sallitaanko
minun lähteä täältä tämän laivan mukana?"

"Kuinka, poikaseni, oletko saanut meistä kylliksesi? Sinä olet


tehnyt siirtokunnalle, ja erikoisesti minulle, niin suuria palveluksia,
etten kernaasti tahtoisi kadottaa sinua. Mutta jos olet lujasti
päättänyt, jättää meidät, niin en voi enkä tahdokaan panna vastaan.
Tahtoisin kuitenkin, koska pidän sinusta kuin omasta pojasta, tietää,
mitkä tulevaisuudentuumat viekoittelevat sinua puoleensa.
Uteliaisuudesta en sitä kysy, vaan halusta voidakseni mahdollisesti
auttaa sinua neuvoillani uudessa toimessasi."

"Niin, siinäkin suhteessa aioin vedota herra kuvernöörin


hyväntahtoisuuteen."

"Hyvä, poikaseni. Avustustani, niin pitkälle kuin sitä riittää, olen


valmis antamaan. Kerrohan nyt, mitä aiot!"

Pekka Drufva esitti kuvernöörille tulevaisuudensuunnitelmansa,


josta hän aikaisemmin oli puhunut Gretallekin, Mainitsematta
kuitenkaan mikä oli syvimpänä syynä hänen haluunsa saavuttaa
korkeampi yhteiskunnallinen asema.

Kuvernööri kuunteli häntä mielihyvällä ja hänen kasvoilleen levisi


yhä kirkkaampi ilme. Kun Pekka oli lopettanut, sanoi hän:

"Ihmeellistä todellakin, että ajatuksemme kulkevat aivan samaan


suuntaan. Minä olen nimittäin syistä, joita sinun ei liene vaikea
arvata, viime aikoina paljonkin ajatellut tulevaisuuttasi. Ja olen tullut
melkein samoihin tuloksiin kuin sinä itsekin. Sinulla ei ole
tulevaisuutta Uudessa Ruotsissa, niin, menenpä niinkin pitkälle, että
uskallan väittää, ettei koko siirtokunnalla yleensä ole mitään
tulevaisuutta. 'Yhtiö', jonka pitäisi rahallisesti kannattaa sitä, ei
ajattele muuta, kuin miten se mahdollisimman pian voisi saada
suurimman hyödyn rahoistaan, välittämättä lainkaan siirtokunnan
tulevaisuudesta. Ja valtio! — Niin, jos rakas kuningattaremme uhraisi
siirtokunnalle edes osankin niistä suunnattomista summista, joita
hän tuhlaa ulkomaalaisille oppineille ja hovin huvituksiin, niin kaikki
näyttäisi täällä toiselta. Sitä paitsi on Ruotsin valtiolla tätä nykyä niin
monta rautaa tulessa lähemmälläkin, ettei sen huolenpito ulotu
tänne saakka. Meidän työmme hedelmä on jonakuna kauniina
päivänä joutuva hollantilaisten käsiin, jotka, sellaisia kauppiaita kuin
he ovat, ymmärtävät kylläkin siirtokuntien tulevan arvon. Itse en
tahdo vielä jättää työtäni kesken, vaikka kiusaus voisikin olla suuri,
mutta sen verran voin sanoa sinulle, poikani, etten kovin kauan pysy
täällä kuvernöörinä. Kun kunnialla voin luopua toimestani, teen sen
myöskin. Tällaisten olosuhteiden vallitessa en voi kehottaa nuorta
miestä, jonka parasta harrastan, jäämään tänne, kun hänellä voi olla
hyvä tulevaisuus muualla tarjona. Ja se sinulla varmaankin on, Pekka
Drufva. Sinä olet juuri sellainen nuorukainen, jolla täytyy olla hyvä
tulevaisuus sotilasuralla, ja mitä siinä voin hyväksesi tehdä, sen
myös teen. Saat kirjeen mukanasi sotaherra Wrangelille ja siitä
varmaankin tulee sinulla olemaan hyötyä. Hyvät suositukset ovat
aina edullisia nuorille eteenpäinpyrkiville miehille."

Pekka Drufva kiitti lämpimästi ja aikoi poistua, mutta kuvernööri


pidätti häntä, laski kätensä hänen olkapäälleen ja katsoi syvästi
häntä silmiin sanoessaan:

"Minä tiedän, mikä on sisimpänä syynä kohoamishaluusi, minä


hyväksyn sen täydellisesti ja olen vakuutettu siitä, että jos
Herramme sallii sinun elää, niin voit myös varmaan saavuttaa
pyrkimystesi päämäärän."
Pekka Drufva iloitsi suuresti näistä sanoista. Nehän sisälsivät
lupauksen, ja siksi hän hyvillä mielin poistui sen miehen luota, jota
hän kerran toivoi saavansa nimittää apekseen.

Seuraavana päivänä laski "Enkeli" niminen laiva Uuden Göteborgin


laivalaituriin, jossa se viipyi viikon päivät purkaen lastiaan ja lastaten
uutta. Tänä aikana Pekka Drufva kävi jäähyväiskäynneillä monien
ystäviensä luona siirtokunnassa. Joka hirsimajaan hän oli aina ollut
tervetullut vieras, siksipä hänen lähtönsä herätti myös suurta surua
ja kaipausta. Myöskin Pekka kävi päällikkö Uncasin luona
mohikaanikylässä. Hyvästi jättäessään sanoi Uncas:

"Johtakoon suuri henki, joka hallitsee sekä valkoisia että punaisia


miehiä, Ukkosen Veljen askeleet siten, että hänen tiensä autuaita
metsämaita kohti kävisi suoraan eikä monissa mutkissa. Ja
ajatelkoon Ukkosen Veli joskus punaista ystäväänsä meren toisella
puolen, kun hän istuu omassa wigwamissaan tai nuotiotulen ääressä.
Uncas ei ikänä unohda Ukkosen Veljeä."

Metsäliljalta Pekka Drufva sai jäähyväislahjaksi heinistä


taiteellisesti palmikoidun laukun, jonka hän omin taitavin sormin oli
tehnyt.

Koittipa sitten lähtöpäivä. Koko aukio Uuden Göteborgin ja laiturin


välissä oli täynnä ihmisiä, joista toiset tahtoivat lausua Pekka
Drufvalle jäähyväiset, toiset taas vielä viimeisen kerran nähdä laivan,
joka edusti pientä osaa heidän rakkaasta isänmaastaan. Nyt köydet
irroitettiin, purjeet nostettiin, viimeiset jäähyväissanat vaihdettiin, ja
hitaasti "Enkeli" soljui Delawarejoen aavalle ulapalle. Laivan reunaan
nojautuneena seisoi Pekka Drufva kiinnittäen kyyneleisen katseensa
määräpaikkaan, missä Greta Printz istui korkean säkkikasan päällä,
vuoroin painaen nenäliinansa silmilleen, vuoroin heilutellen sitä
ilmassa. Eikä kumpainenkaan siirtynyt paikaltaan niinkauankuin he
saattoivat nähdä toisensa.

Pekka Drufvan takaa häämöitti Ahvenanmaan Lassin hoikka


vartalo. Hän oli pyytänyt ja rukoillut saadakseen seurata Pekka
Drufvan mukana, ja tahtoi ruveta sotamieheksi samoinkuin Pekkakin.
"Kun sinusta tulee upseeri", oli hän sanonut, "niin voin minä olla
sinun passarisi." Eikä Pekalla ollut sydäntä kieltää.

Pekka Drufva oli aikonut seurata laivan mukana Göteborgiin, joka


oli sen matkaan määränä, ja sieltä käväistä Jakobsdalissa isäänsä
tervehtimässä, ennenkuin hän läksi Saksaan armeijaan. Mutta
kohtalo ja oikulliset tuulet tekivät tämän aikeen tyhjäksi. "Enkelin"
täytyi, kärsittyään vahingon merellä, laskea Amsterdamin satamaan
ja viipyä siellä pitemmän aikaa saadakseen vaurionsa korjatuiksi.
Näin ollen oli Pekka Drufvan mielestä viisaampaa matkustaa suoraan
Hollannista sotanäyttämölle, kirjoitettuaan kotiinsa, että hän oli
palannut Eurooppaan ja kerrottuaan tulevaisuudentuumistaan.

Saavuttuaan ruotsalaiseen armeijaan, hyväksyttiin sekä hänet että


Ahvenanmaan Lassi sotaväkeen. Mutta jo vuoden kuluttua tuli Pekka
Drufva upseeriksi, ja kun hän rauhan jälkeen syksyllä jo palasi
Ruotsiin, oli hän luutnantti ja hänet kirjoitettiin Helsingen
rykmenttiin.

Nyt hän oli kahden vaiheilla: matkustaisiko Uuteen Ruotsiin


hakemaan morsiantaan?

Sydän käski, mutta järki kielsi. Kokemuksesta, joka johtui aina


lapsuusajoilta saakka, hän tiesi, että hyvällä toimeentulolla on suuri
merkityksensä kodissa. Voisiko hän elättää vaimonsa ja perheensä?
Siihen hänen täytyi vastata kieltävästi. Tähän aikaan, jolloin
ruotulaitos ei vielä ollut voimassa, oli upseereilla rauhan aikana vain
puoli palkkaa, jolleivät he olleet garnisoonissa. Ja puolella palkalla ei
hän itse edes voinut elää, vielä vähemmän vaimo ja lapset. Siksi
hänen täytyi totella järjen ääntä ja, sen sijaan että hän olisi ajatellut
naimista, koettaa hankkia itselleen sivutyötä, niinkuin kaikki upseerit
saivat tehdä, joilla ei ollut yksityistä omaisuutta. Hänestä tuli
maanmittari.

Maanmittareista oli siihen aikaan suuri puute, mutta ansio oli hyvä.
Siten aika kului. Luopuipa kuningatar Kristiina vihdoin
valtaistuimestaan ja Kaarle Kustaa tuli kuninkaaksi. Sen mukana
syttyi Puolan sota, ja Pekka Drufva läksi kesällä 1655 taas mukaan.
Samana vuonna everstiluutnantti Printz palasi Ruotsiin, jätettyään
kuvernöörin paikkansa Uudessa Ruotsissa luutnantti Johan
Papegojalle. Mutta vasta syksyllä hän perheineen astui maihin
Göteborgissa, ja silloin oli Pekka Drufva jo Puolassa.

Rakastavaiset eivät siis saaneet tavata toisiaan.


NELJÄSKOLMATTA LUKU.

Oikea saapuu.

Taaskin on juhannus-aatto soittoineen ja tanssineen ja salkoineen,


mutta nyt on vuosi 1657. Yksitoista vuotta on siis kulunut siitä, kun
viimeksi kohtasimme ketään tämän kertomuksen henkilöistä. Ja
näyttämökin on toinen. Me olemme näet nyt Gunillaberg nimisessä
kartanossa, joka sijaitsee noin kahden peninkulman päässä
Jönköpingin kaupungista. Talon, joka ulkomuodoltaan on varsin
yksinkertainen, mutta sijaitsee ihanalla paikalla, omisti Jönköpingin
linnan komentaja, vanha tuttavamme Uuden Ruotsin päiviltä,
everstiluutnantti, nyttemmin eversti Johan Printz. Vuonna 1655 oli
hän näet saapunut kotimaahansa ja saanut yllämainitun toimen.
Talvisin hän asui Jönköpingin linnassa, mutta ensi kertaa hän vietti
nyt kesää vasta ostamassaan kartanossa, Gunillabergissä.

Tilavalla pihamaalla, jota tuuheat jalavat varjostivat, oli kukkasalko


pystytetty ja sen ympärillä tanssitaan parasta aikaa. Katselijoiden
parissa on eversti itse, ja hänen käsivarteensa nojautuu nuori kaunis
nainen, jonka me heti tunnemme neiti Greta Printziksi, joka
kuluneena yhtenätoista vuonna on vain entisestään kaunistunut.
Vartalo on täyteläisempi ja piirteet vähemmän tyttömäiset, mutta
silmät, reipas ryhti sekä veitikkamainen ilme on sama kuin ennenkin.
Hän on nyt ainoana lapsena everstin talossa, sillä hänen toinen
avioliittonsa on lapseton ja toiset tyttäret ovat naimisissa. Vuonna
1647 sai näet vänrikki Knut Liljehöök periä suuren tilan ja matkusti
sen vuoksi kotiin ensimäisellä laivalla. Mutta sitä ennen vihittiin
hänet Uuden Göteborgin vasta valmistuneessa kirkossa neiti Lydia
Printzin kanssa, joka seurasi miestään Ruotsiin. Neiti Gretallakin oli,
palattuaan kotimaahan, ollut useita kosijoita, mutta hän oli antanut
kaikille rukkaset.

Kun isä ja tytär olivat hetken aikaa katselleet vilkasta elämää


kukkasalon ympärillä, sanoi eversti:

"Tulehan, Greta, hetkeksi puutarhaan syreenilehtoon. Minulla on


hiukan puhuttavaa sinulle."

Käytyään istumaan tuoksuavaan lehtimajaan, jonne melu ja soitto


tanssipaikalta tuskin kuului, jatkoi hän puhettaan:

"Tahdon hyvissä ajoin valmistaa sinua erääseen vieraskäyntiin.


Asessori Frejdenfelt tulee tänne huomenna. Niinkuin voinet arvata,
tarkoittaa hänen käyntinsä ensi sijassa sinua."

"Ei, sitä en tosiaankaan voi ymmärtää, sillä annoinhan hänelle


vuosi sitten rukkaset. Hänen sitkeytensä tuntuu minusta
epähienolta."

"Mutta ajattelehan toki, Greta, sinä täytät pian 27 vuotta. Etkö aio
koskaan mennä naimisiin?"

"Kyllä, kunhan oikea saapuu", vastasi hän iloisesti.


"Mutta jollei hän saapuisikaan koskaan?"

"Sitten minusta kai tulee vanhapiika. En luullut, että sinä, isä kulta,
haluaisit päästä minusta."

"Sitä en haluakaan, niinkuin hyvin tiedät, mutta isän tulee ensi


sijassa ajatella lapsensa onnea — ei omaansa. Ja minun varma
vakaumukseni on se, että sinä tulisit onnelliseksi Frejdenfeltin
kanssa. Hän on kelpo, hyvä mies ja myöskin varakas."

"Niin, hyvänen aika, eihän minulla ole mitään häntä vastaan


huomautettavaa. Mutta hän ei voi tehdä minua onnelliseksi — hän ei
ole oikea."

"Sinä ajattelet siis yhä edelleen luutnantti Drufvaa — sinä annat


kuolleen miehen seisoa maallisen onnesi tiellä. Sitä en olisi
otaksunut järkevästä Gretastani."

"Pekka Drufva ei ole kuollut."

"Mistä sinä sen tiedät? Minähän olen antanut tiedustella asiaa


Puolan armeijassa. Sandomirin taistelun jälkeen vuosi sitten hän
katosi. Varmaankin hän kaatui silloin."

"Ei kukaan ole nähnyt hänen ruumistaan."

"Ei, se on kyllä totta. Mutta se ei merkitse mitään. Oi, tyttöseni,


sinä et tiedä, miten sodassa käypi. Moni urhoollinen sotilas kuolee
eikä kukaan tuttu löydä hänen ruumistaan. Sandomir sijaitsee
WeikseIin varrella. Varmaan moni vierähti jokeen ja virta kuljetti
kauas heidän ruumiinsa."
"Niin, kuuluuhan se varsin uskottavalta, mutta on olemassa kaksi
seikkaa, jotka tekevät sen, etten voi uskoa hänen kuolleen."

"Annahan kuulla."

"Ensiksikin on minulla selvä sisäinen tunne, että hän elää ja tulee


hakemaan kauan odottanutta morsiantaan. Tuollainen tunne voi
tuntua mielettömältä, sen myönnän kernaasti, mutta en voi päästä
siitä eroon. Se on pysynyt minussa vireillä siitä saakka, kun Pekka ja
minä erosimme toisistamme Uudessa Ruotsissa."

Eversti katseli tytärtään epäilevästi hymyillen. Mutta hetken


mietittyään hän päätti olla vastustamatta tätä merkillistä todistetta ja
kysyi sen sijaan:

"Ja mikä on toinen seikka?"

"Minä epäilen sitä miestä, jonka sinä, isä kulta käskit tiedustella
asiaa. Luutnantti Gyllenspets tiesi, missä suhteessa olen Drufvaan.
Mutta tuotuaan minulle nuo masentavat tiedot, hän kosi minua.
Voihan siis helposti epäillä, etteivät hänen tiedustelunsa olleet
puolueettomia."

"Tyttäreni, se mitä nyt sanot, on kova syytös luutnantti


Gyllenspetsiä vastaan."

"En voi auttaa sitä, mutta — —"

Tähän keskustelu päättyi. Sen sijaan Greta tarttui lujasti isäänsä


käsivarteen kiinni ja viittasi tielle. Syreenimaja oli korkealla kunnaalla
ja sen aukosta saattoi nähdä yli koko laakson, missä tie kulki
monessa kiemurassa. Gretan huomiota oli herättänyt ratsumies,
sulkatöyhtö hatussaan, ja hänen jäljessään ratsupalvelija, kiiltävä
haarniska yllä. Oli helppo nähdä, että ratsumies oli upseeri, vaikkei
hänellä ollutkaan haarniskaa, mutta välimatka oli siksi suuri, ettei
voinut tuntea hänen kasvonpiirteitään.

"Ehkäpä", huudahti Greta kiihkeällä äänellä, "on tuo tulokas oikea.


Niin, niin, minä tunnen, että se on hän — Pekka Drufva."

Eversti katsoi moittivasti tyttäreensä, mutta ei vastannut, sillä koko


hänen huomionsa oli kiintynyt lähestyvään ratsumieheen. Mutta
turhaan hän ponnisteli näköään, sillä vieras upseeri oli kannustanut
hevostaan ja ratsasti niin nopeasti, että mahdotonta oli tuntea
häntä. Samassa pieni koivuhaka talon edustalla peitti hänet
taakseen.

"Varmaan se on joku upseereistani Jönköpingin linnasta,


luultavasti majuuri Hjärta, sillä olin erottavinani leveän kalunan
hänen hatussaan."

Tämä väite jäähdytti hieman neiti Gretan intoa, sillä olihan


todellakin todennäköistä, että tulija oli majuuri Hjärta, se hänen
täytyi myöntää. Siksi hän luopuikin aikeestaan juosta edeltä kotiin,
ennenkuin vanha isänsä ennättäisi perässä. Sen sijaan hän astui siis
rauhallisesti isänsä rinnalla, joskin hänen sydämensä sykki rajusti ja
hänen poskensa punoittivat. Seurauksena oli, että kun he saapuivat
pihalle, seisoi palvelija pitelemässä molempia hevosia, mutta
upseeria ei näkynyt. Varmaankin hän oli mennyt sisään taloon.

Eversti, joka luuli, että sotamies kuului Jönköpingin garnisooniin,


mutta ei silti tuntenut häntä, kysyi:

"Mikä nimesi, poikani?"


Kysytelty teki kunniaa ja vastasi:

"Ahvenanmaan Lassi."

Greta neidon sydän sykähti. Sillä hän oli tuntevinaan sekä nimen
että miehen.

Eversti kysyi edelleen:

"Ketä upseeria sinä teuraat?"

"Majuri Drufvaa", kuului vastaus.

"Hän se on, hän se on", kuului ilonhuudahdus Gretan huulilta.

Eversti ällistyi siinä määrin, että hän mykistyi ja katseli vain


sotamieheen. Sitten hän nousi portaita ylös ja mutisi käsittämättömiä
sanoja.

Hänen astuessaan saliin kohtasi häntä näky, joka pysähdytti hänet


oven suuhun. Keskellä huonetta seisoi pitkä, kookas upseeri, jonka
kasvot olivat everstille ennestään tutut. Ja hänen rintaansa vasten
nojautui Greta neito, miehen lujasti syleillessä häntä. He olivat niin
kokonaan syventyneet toisiinsa, ettei kumpainenkaan huomannut
everstin tuloa. Mutta hetken kuluttua palasivat he jälleen maan
päälle, ja silloin everstikin sai osansa syleilyistä, jotka päättyivät
nuoren parin siunaukseen. Pian hän jätti heidät kuitenkin kahden,
syyttäen tärkeää asiaa.

Asia oli se, että hän lähetti kirjeen asessori Frejdenfeltille


Jönköpingiin, pyytäen ettei hän saapuisi juhannuspäivänä
Gunillabergiin, ei ainakaan siinä asiassa, josta hän aikaisemmin oli
maininnut. Jos hän sen sijaan tahtoi olla läsnä Greta neidon ja
majuuri
Pekka Drufvan kihlajaisissa, oli hän hyvin tervetullut.

Saapuiko hän juhlaan, sitä emme tiedä.


*** END OF THE PROJECT GUTENBERG EBOOK PUNAISET SUDET:
HISTORIALLINEN SEIKKAILUKERTOMUS ***

Updated editions will replace the previous one—the old editions will
be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States copyright in
these works, so the Foundation (and you!) can copy and distribute it
in the United States without permission and without paying
copyright royalties. Special rules, set forth in the General Terms of
Use part of this license, apply to copying and distributing Project
Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
concept and trademark. Project Gutenberg is a registered trademark,
and may not be used if you charge for an eBook, except by following
the terms of the trademark license, including paying royalties for use
of the Project Gutenberg trademark. If you do not charge anything
for copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such as
creation of derivative works, reports, performances and research.
Project Gutenberg eBooks may be modified and printed and given
away—you may do practically ANYTHING in the United States with
eBooks not protected by U.S. copyright law. Redistribution is subject
to the trademark license, especially commercial redistribution.

START: FULL LICENSE


Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebooknice.com

You might also like