100% found this document useful (11 votes)
36 views

Instant Download Learning Python Third Edition Mark Lutz PDF All Chapters

Mark

Uploaded by

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

Instant Download Learning Python Third Edition Mark Lutz PDF All Chapters

Mark

Uploaded by

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

Download the full version of the ebook at ebookname.

com

Learning Python Third Edition Mark Lutz

https://ebookname.com/product/learning-python-third-edition-
mark-lutz/

OR CLICK BUTTON

DOWNLOAD EBOOK

Download more ebook instantly today at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Learning Python 4th edition Mark Lutz

https://ebookname.com/product/learning-python-4th-edition-mark-lutz/

ebookname.com

Programming Python 4th Edition Mark Lutz

https://ebookname.com/product/programming-python-4th-edition-mark-
lutz/

ebookname.com

Python Pocket Reference 4th ed Edition Mark Lutz

https://ebookname.com/product/python-pocket-reference-4th-ed-edition-
mark-lutz/

ebookname.com

Public Health 1st Edition Angela Scriven

https://ebookname.com/product/public-health-1st-edition-angela-
scriven/

ebookname.com
OECD Information Technology Outlook 2010 Oecd

https://ebookname.com/product/oecd-information-technology-
outlook-2010-oecd/

ebookname.com

Battle and Bloodshed The Medieval World at War 1st Edition


Lorna Bleach

https://ebookname.com/product/battle-and-bloodshed-the-medieval-world-
at-war-1st-edition-lorna-bleach/

ebookname.com

George Facer s A Level Chemistry Student Book 1 George


Facer

https://ebookname.com/product/george-facer-s-a-level-chemistry-
student-book-1-george-facer/

ebookname.com

Open Source Web Site Construction Kit 1st Edition Thomas


Schenk

https://ebookname.com/product/open-source-web-site-construction-
kit-1st-edition-thomas-schenk/

ebookname.com

Strategic Management for Tourism Hospitality and Events


2nd Edition Nigel Evans

https://ebookname.com/product/strategic-management-for-tourism-
hospitality-and-events-2nd-edition-nigel-evans/

ebookname.com
The Political Economy of Peacebuilding in Post Dayton
Bosnia Contemporary Security Studies 1st Edition Tim
Donais
https://ebookname.com/product/the-political-economy-of-peacebuilding-
in-post-dayton-bosnia-contemporary-security-studies-1st-edition-tim-
donais/
ebookname.com
Learning Python
Other resources from O’Reilly
Related titles Programming Python Python Pocket Reference
Python Cookbook™ Twisted Network
Python in a Nutshell Programming Essentials

oreilly.com oreilly.com is more than a complete catalog of O’Reilly books.


You’ll also find links to news, events, articles, weblogs, sample
chapters, and code examples.

oreillynet.com is the essential portal for developers interested in


open and emerging technologies, including new platforms, pro-
gramming languages, and operating systems.

Conferences O’Reilly brings diverse innovators together to nurture the ideas


that spark revolutionary industries. We specialize in document-
ing the latest tools and systems, translating the innovator’s
knowledge into useful skills for those in the trenches. Visit
conferences.oreilly.com for our upcoming events.

Safari Bookshelf (safari.oreilly.com) is the premier online refer-


ence library for programmers and IT professionals. Conduct
searches across more than 1,000 books. Subscribers can zero in
on answers to time-critical questions in a matter of seconds.
Read the books on your Bookshelf from cover to cover or sim-
ply flip to the page you need. Try it today for free.
THIRD EDITION

Learning Python

Mark Lutz

Beijing • Cambridge • Farnham • Köln • Paris • Sebastopol • Taipei • Tokyo


Learning Python, Third Edition
by Mark Lutz

Copyright © 2008 O’Reilly Media, Inc. All rights reserved.


Printed in the United States of America.

Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.

O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions
are also available for most titles (safari.oreilly.com). For more information, contact our
corporate/institutional sales department: (800) 998-9938 or corporate@oreilly.com.

Editor: Tatiana Apandi Indexer: Julie Hawks


Production Editor: Sumita Mukherji Cover Designer: Karen Montgomery
Copyeditor: Rachel Head Interior Designer: David Futato
Proofreader: Sumita Mukherji Illustrator: Robert Romano

Printing History:
March 1999: First Edition.
December 2003: Second Edition.
October 2007: Third Edition.

Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of
O’Reilly Media, Inc., Learning Python, the image of a wood rat, and related trade dress are trademarks
of O’Reilly Media, Inc.

Java™ is a trademark of Sun Microsystems, Inc. .NET is a registered trademark of Microsoft


Corporation.

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 O’Reilly Media, Inc. was aware of a
trademark claim, the designations have been printed in caps or initial caps.

While every precaution has been taken in the preparation of this book, the publisher and author assume
no responsibility for errors or omissions, or for damages resulting from the use of the information
contained herein.

This book uses RepKover™, a durable and flexible lay-flat binding.

ISBN-10: 0-596-51398-4
ISBN-13: 978-0-596-51398-6
[M]
To Vera.
You are my life.
Table of Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix

Part I. Getting Started


1. A Python Q&A Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Why Do People Use Python? 3
Software Quality 5
Developer Productivity 5
Is Python a “Scripting Language”? 6
OK, but What’s the Downside? 7
Who Uses Python Today? 8
What Can I Do with Python? 9
Systems Programming 9
GUIs 9
Internet Scripting 10
Component Integration 10
Database Programming 11
Rapid Prototyping 11
Numeric and Scientific Programming 11
Gaming, Images, AI, XML, Robots, and More 12
What Are Python’s Technical Strengths? 12
It’s Object Oriented 12
It’s Free 13
It’s Portable 13
It’s Powerful 14
It’s Mixable 15

vii
It’s Easy to Use 15
It’s Easy to Learn 17
It’s Named After Monty Python 17
How Does Python Stack Up to Language X? 18
Chapter Summary 19
Brain Builder 20
Chapter Quiz 20
Quiz Answers 20

2. How Python Runs Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22


Introducing the Python Interpreter 22
Program Execution 24
The Programmer’s View 24
Python’s View 25
Byte code compilation 25
The Python Virtual Machine (PVM) 26
Performance implications 26
Development implications 27
Execution Model Variations 27
Python Implementation Alternatives 28
CPython 28
Jython 28
IronPython 29
Execution Optimization Tools 29
The Psyco just-in-time compiler 29
The Shedskin C++ translator 30
Frozen Binaries 31
Future Possibilities? 32
Chapter Summary 32
Brain Builder 33
Chapter Quiz 33
Quiz Answers 33

viii | Table of Contents


3. How You Run Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Interactive Coding 34
Using the Interactive Prompt 37
System Command Lines and Files 37
Using Command Lines and Files 40
Unix Executable Scripts (#!) 41
Clicking File Icons 42
Clicking Icons on Windows 42
The raw_input Trick 44
Other Icon-Click Limitations 45
Module Imports and Reloads 45
The Grander Module Story: Attributes 47
Modules and namespaces 49
import and reload Usage Notes 49
The IDLE User Interface 50
IDLE Basics 51
Using IDLE 52
Advanced IDLE Tools 54
Other IDEs 54
Embedding Calls 56
Frozen Binary Executables 56
Text Editor Launch Options 57
Other Launch Options 57
Future Possibilities? 57
Which Option Should I Use? 58
Chapter Summary 58
Brain Builder 59
Chapter Quiz 59
Quiz Answers 59
Brain Builder: Part I Exercises 61

Table of Contents | ix
Part II. Types and Operations
4. Introducing Python Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Why Use Built-in Types? 66
Python’s Core Data Types 67
Numbers 68
Strings 69
Sequence Operations 70
Immutability 71
Type-Specific Methods 72
Getting Help 73
Other Ways to Code Strings 74
Pattern Matching 75
Lists 75
Sequence Operations 76
Type-Specific Operations 76
Bounds Checking 77
Nesting 77
List Comprehensions 78
Dictionaries 79
Mapping Operations 79
Nesting Revisited 80
Sorting Keys: for Loops 81
Iteration and Optimization 83
Missing Keys: if Tests 84
Tuples 85
Why Tuples? 85
Files 85
Other File-Like Tools 86
Other Core Types 87
How to Break Your Code’s Flexibility 88
User-Defined Classes 88
And Everything Else 89
Chapter Summary 90
Brain Builder 91
Chapter Quiz 91
Quiz Answers 91

x | Table of Contents
5. Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Python Numeric Types 93
Numeric Literals 94
Built-in Numeric Tools and Extensions 95
Python Expression Operators 96
Mixed Operators Follow Operator Precedence 97
Parentheses Group Subexpressions 97
Mixed Types Are Converted Up 97
Preview: Operator Overloading 98
Numbers in Action 99
Variables and Basic Expressions 99
Numeric Display Formats 100
Division: Classic, Floor, and True 102
Bitwise Operations 103
Long Integers 103
Complex Numbers 104
Hexadecimal and Octal Notation 105
Other Built-in Numeric Tools 106
Other Numeric Types 107
Decimal Numbers 107
Sets 108
Booleans 109
Third-Party Extensions 110
Chapter Summary 110
Brain Builder 111
Chapter Quiz 111
Quiz Answers 111

6. The Dynamic Typing Interlude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112


The Case of the Missing Declaration Statements 112
Variables, Objects, and References 112
Types Live with Objects, Not Variables 114
Objects Are Garbage-Collected 115
Shared References 116
Shared References and In-Place Changes 118
Shared References and Equality 119
Dynamic Typing Is Everywhere 121

Table of Contents | xi
Chapter Summary 121
Brain Builder 122
Chapter Quiz 122
Quiz Answers 122

7. Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
String Literals 124
Single- and Double-Quoted Strings Are the Same 125
Escape Sequences Represent Special Bytes 125
Raw Strings Suppress Escapes 127
Triple Quotes Code Multiline Block Strings 129
Unicode Strings Encode Larger Character Sets 130
Strings in Action 132
Basic Operations 132
Indexing and Slicing 133
Extended slicing: the third limit 135
String Conversion Tools 136
Character code conversions 138
Changing Strings 139
String Formatting 140
Advanced String Formatting 141
Dictionary-Based String Formatting 142
String Methods 143
String Method Examples: Changing Strings 144
String Method Examples: Parsing Text 146
Other Common String Methods in Action 147
The Original string Module 148
General Type Categories 149
Types Share Operation Sets by Categories 149
Mutable Types Can Be Changed In-Place 150
Chapter Summary 150
Brain Builder 151
Chapter Quiz 151
Quiz Answers 151

xii | Table of Contents


8. Lists and Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Lists 152
Lists in Action 154
Basic List Operations 154
Indexing, Slicing, and Matrixes 155
Changing Lists In-Place 156
Index and slice assignments 156
List method calls 157
Other common list operations 159
Dictionaries 160
Dictionaries in Action 161
Basic Dictionary Operations 162
Changing Dictionaries In-Place 163
More Dictionary Methods 163
A Languages Table 165
Dictionary Usage Notes 166
Using dictionaries to simulate flexible lists 166
Using dictionaries for sparse data structures 167
Avoiding missing-key errors 167
Using dictionaries as “records” 168
Other ways to make dictionaries 169
Chapter Summary 170
Brain Builder 171
Chapter Quiz 171
Quiz Answers 171

9. Tuples, Files, and Everything Else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172


Tuples 172
Tuples in Action 173
Tuple syntax peculiarities: commas and parentheses 174
Conversions and immutability 174
Why Lists and Tuples? 175
Files 176
Opening Files 176
Using Files 177

Table of Contents | xiii


Files in Action 178
Storing and parsing Python objects in files 178
Storing native Python objects with pickle 180
Storing and parsing packed binary data in files 181
Other File Tools 182
Type Categories Revisited 182
Object Flexibility 183
References Versus Copies 184
Comparisons, Equality, and Truth 186
The Meaning of True and False in Python 188
Python’s Type Hierarchies 189
Other Types in Python 191
Built-in Type Gotchas 191
Assignment Creates References, Not Copies 191
Repetition Adds One Level Deep 192
Beware of Cyclic Data Structures 193
Immutable Types Can’t Be Changed In-Place 193
Chapter Summary 193
Brain Builder 195
Chapter Quiz 195
Quiz Answers 195
Brain Builder: Part II Exercises 196

Part III. Statements and Syntax


10. Introducing Python Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Python Program Structure Revisited 201
Python’s Statements 202
A Tale of Two ifs 203
What Python Adds 204
What Python Removes 204
Parentheses are optional 204
End of line is end of statement 204
End of indentation is end of block 205
Why Indentation Syntax? 206
A Few Special Cases 208

xiv | Table of Contents


Statement rule special cases 208
Block rule special case 209
A Quick Example: Interactive Loops 210
A Simple Interactive Loop 210
Doing Math on User Inputs 211
Handling Errors by Testing Inputs 212
Handling Errors with try Statements 213
Nesting Code Three Levels Deep 214
Chapter Summary 215
Brain Builder 216
Chapter Quiz 216
Quiz Answers 216

11. Assignment, Expressions, and print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217


Assignment Statements 217
Assignment Statement Forms 218
Sequence Assignments 219
Advanced sequence assignment patterns 220
Multiple-Target Assignments 222
Multiple-target assignment and shared references 222
Augmented Assignments 223
Augmented assignment and shared references 225
Variable Name Rules 225
Naming conventions 227
Names have no type, but objects do 227
Expression Statements 228
Expression Statements and In-Place Changes 229
print Statements 229
The Python “Hello World” Program 230
Redirecting the Output Stream 231
The print >> file Extension 232
Chapter Summary 234
Brain Builder 235
Chapter Quiz 235
Quiz Answers 235

Table of Contents | xv
12. if Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
if Statements 236
General Format 236
Basic Examples 237
Multiway Branching 237
Python Syntax Rules 239
Block Delimiters 240
Statement Delimiters 241
A Few Special Cases 242
Truth Tests 243
The if/else Ternary Expression 244
Chapter Summary 246
Brain Builder 247
Chapter Quiz 247
Quiz Answers 247

13. while and for Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248


while Loops 248
General Format 249
Examples 249
break, continue, pass, and the Loop else 250
General Loop Format 250
Examples 251
pass 251
continue 251
break 252
else 252
More on the loop else clause 253
for Loops 254
General Format 254
Examples 256
Basic usage 256
Other data types 256
Tuple assignment in for 257
Nested for loops 257

xvi | Table of Contents


Iterators: A First Look 258
File Iterators 260
Other Built-in Type Iterators 262
Other Iteration Contexts 263
User-Defined Iterators 264
Loop Coding Techniques 265
Counter Loops: while and range 265
Nonexhaustive Traversals: range 266
Changing Lists: range 267
Parallel Traversals: zip and map 268
Dictionary construction with zip 270
Generating Both Offsets and Items: enumerate 271
List Comprehensions: A First Look 272
List Comprehension Basics 272
Using List Comprehensions on Files 273
Extended List Comprehension Syntax 274
Chapter Summary 275
Brain Builder 276
Chapter Quiz 276
Quiz Answers 276

14. The Documentation Interlude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278


Python Documentation Sources 278
# Comments 279
The dir Function 279
Docstrings: _ _doc_ _ 280
User-defined docstrings 281
Docstring standards 282
Built-in docstrings 282
PyDoc: The help Function 283
PyDoc: HTML Reports 285
Standard Manual Set 289
Web Resources 289
Published Books 290
Common Coding Gotchas 291

Table of Contents | xvii


Chapter Summary 293
Brain Builder 294
Chapter Quiz 294
Quiz Answers 294
Brain Builder: Part III Exercises 295

Part IV. Functions


15. Function Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Why Use Functions? 300
Coding Functions 300
def Statements 302
def Executes at Runtime 303
A First Example: Definitions and Calls 303
Definition 304
Calls 304
Polymorphism in Python 305
A Second Example: Intersecting Sequences 306
Definition 306
Calls 306
Polymorphism Revisited 307
Local Variables 308
Chapter Summary 308
Brain Builder 309
Chapter Quiz 309
Quiz Answers 309

16. Scopes and Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310


Scope Rules 310
Python Scope Basics 311
Name Resolution: The LEGB Rule 312
Scope Example 314
The Built-in Scope 314
The global Statement 316
Minimize Global Variables 317
Minimize Cross-File Changes 318
Other Ways to Access Globals 319

xviii | Table of Contents


Scopes and Nested Functions 320
Nested Scope Details 320
Nested Scope Examples 321
Factory functions 321
Retaining enclosing scopes’ state with defaults 323
Nested scopes and lambdas 324
Scopes versus defaults with loop variables 324
Arbitrary scope nesting 326
Passing Arguments 326
Arguments and Shared References 327
Avoiding Mutable Argument Changes 329
Simulating Output Parameters 329
Special Argument-Matching Modes 330
Keyword and Default Examples 332
Keywords 332
Defaults 333
Arbitrary Arguments Examples 333
Collecting arguments 334
Unpacking arguments 334
Combining Keywords and Defaults 335
The min Wakeup Call 336
Full credit 336
Bonus points 337
The punch line 338
A More Useful Example: General Set Functions 338
Argument Matching: The Gritty Details 339
Chapter Summary 340
Brain Builder 342
Chapter Quiz 342
Quiz Answers 343

17. Advanced Function Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344


Anonymous Functions: lambda 344
lambda Expressions 344
Why Use lambda? 346
How (Not) to Obfuscate Your Python Code 347
Nested lambdas and Scopes 348

Table of Contents | xix


Applying Functions to Arguments 350
The apply Built-in 350
Passing keyword arguments 351
apply-Like Call Syntax 351
Mapping Functions over Sequences: map 352
Functional Programming Tools: filter and reduce 353
List Comprehensions Revisited: Mappings 355
List Comprehension Basics 355
Adding Tests and Nested Loops 356
List Comprehensions and Matrixes 358
Comprehending List Comprehensions 360
Iterators Revisited: Generators 360
Generator Function Example 362
Extended Generator Function Protocol: send Versus next 364
Iterators and Built-in Types 364
Generator Expressions: Iterators Meet List Comprehensions 365
Timing Iteration Alternatives 366
Function Design Concepts 369
Functions Are Objects: Indirect Calls 370
Function Gotchas 371
Local Names Are Detected Statically 372
Defaults and Mutable Objects 373
Functions Without returns 375
Enclosing Scope Loop Variables 375
Chapter Summary 375
Brain Builder 377
Chapter Quiz 377
Quiz Answers 377
Brain Builder: Part IV Exercises 379

Part V. Modules
18. Modules: The Big Picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Why Use Modules? 385
Python Program Architecture 386
How to Structure a Program 387
Imports and Attributes 387
Standard Library Modules 389

xx | Table of Contents
How Imports Work 389
1. Find It 390
The module search path 390
The sys.path list 392
Module file selection 393
Advanced module selection concepts 393
2. Compile It (Maybe) 394
3. Run It 394
Chapter Summary 395
Brain Builder 397
Chapter Quiz 397
Quiz Answers 397

19. Module Coding Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398


Module Creation 398
Module Usage 399
The import Statement 399
The from statement 400
The from * Statement 400
Imports Happen Only Once 400
import and from Are Assignments 401
Cross-File Name Changes 402
import and from Equivalence 402
Potential Pitfalls of the from Statement 403
When import is required 404
Module Namespaces 404
Files Generate Namespaces 405
Attribute Name Qualification 406
Imports Versus Scopes 407
Namespace Nesting 408
Reloading Modules 409
reload Basics 410
reload Example 411
Chapter Summary 412
Brain Builder 414
Chapter Quiz 414
Quiz Answers 414

Table of Contents | xxi


20. Module Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Package Import Basics 415
Packages and Search Path Settings 416
Package _ _init_ _.py Files 416
Package Import Example 418
from Versus import with Packages 419
Why Use Package Imports? 420
A Tale of Three Systems 421
Chapter Summary 424
Brain Builder 425
Chapter Quiz 425
Quiz Answers 425

21. Advanced Module Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426


Data Hiding in Modules 426
Minimizing from * Damage: _X and _ _all_ _ 426
Enabling Future Language Features 427
Mixed Usage Modes: _ _name_ _ and _ _main_ _ 428
Unit Tests with _ _name_ _ 429
Changing the Module Search Path 430
The import as Extension 431
Relative Import Syntax 431
Why Relative Imports? 432
Module Design Concepts 434
Modules Are Objects: Metaprograms 435
Module Gotchas 437
Statement Order Matters in Top-Level Code 437
Importing Modules by Name String 438
from Copies Names but Doesn’t Link 439
from * Can Obscure the Meaning of Variables 440
reload May Not Impact from Imports 440
reload, from, and Interactive Testing 441
reload Isn’t Applied Transitively 442
Recursive from Imports May Not Work 443
Chapter Summary 444

xxii | Table of Contents


Brain Builder 445
Chapter Quiz 445
Quiz Answers 445
Brain Builder: Part V Exercises 446

Part VI. Classes and OOP


22. OOP: The Big Picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Why Use Classes? 452
OOP from 30,000 Feet 453
Attribute Inheritance Search 453
Classes and Instances 455
Class Method Calls 456
Coding Class Trees 456
OOP Is About Code Reuse 459
Chapter Summary 462
Brain Builder 463
Chapter Quiz 463
Quiz Answers 463

23. Class Coding Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465


Classes Generate Multiple Instance Objects 465
Class Objects Provide Default Behavior 466
Instance Objects Are Concrete Items 466
A First Example 467
Classes Are Customized by Inheritance 469
A Second Example 470
Classes Are Attributes in Modules 471
Classes Can Intercept Python Operators 472
A Third Example 474
Why Use Operator Overloading? 475
The World’s Simplest Python Class 476
Chapter Summary 478
Brain Builder 479
Chapter Quiz 479
Quiz Answers 479

Table of Contents | xxiii


24. Class Coding Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
The class Statement 481
General Form 481
Example 482
Methods 484
Example 485
Calling Superclass Constructors 486
Other Method Call Possibilities 486
Inheritance 486
Attribute Tree Construction 487
Specializing Inherited Methods 488
Class Interface Techniques 489
Abstract Superclasses 490
Operator Overloading 491
Common Operator Overloading Methods 492
_ _getitem_ _ Intercepts Index References 493
_ _getitem_ _ and _ _iter_ _ Implement Iteration 493
User-Defined Iterators 494
Multiple iterators on one object 496
_ _getattr_ _ and _ _setattr_ _ Catch Attribute References 498
Emulating Privacy for Instance Attributes 499
_ _repr_ _ and _ _str_ _ Return String Representations 500
_ _radd_ _ Handles Right-Side Addition 502
_ _call_ _ Intercepts Calls 502
Function Interfaces and Callback-Based Code 503
_ _del_ _ Is a Destructor 505
Namespaces: The Whole Story 506
Simple Names: Global Unless Assigned 506
Attribute Names: Object Namespaces 506
The “Zen” of Python Namespaces: Assignments Classify Names 506
Namespace Dictionaries 508
Namespace Links 511
A More Realistic Example 512
Chapter Summary 515
Brain Builder 516
Chapter Quiz 516
Quiz Answers 516

xxiv | Table of Contents


Another Random Scribd Document
with Unrelated Content
He palasivat Plaza de la Libertad-kadulle ja istuivat eräälle penkille
päivää odottamaan. He olivat hyvin uupuneet, mutta nukkumisesta
ei tullut enää mitään, sillä kuolleita kokoilevat ruumisvaunut jyrisivät
kaduilla.

Etsinnän huolellinen suoritus vaati, että heidän oli tunkeuduttava


keskitysleirin joka soppeen, ja kauhuja, joita he siten joutuivat
näkemään, ei kumpikaan voinut milloinkaan täysin unhottaa. Heidän
näkemänsä näyt olivat sellaiset, että heidän nuorekas hilpeytensä
katosi muutamassa päivässä olemattomiin. Päivän toisensa jälkeen
he kulkivat aamusta iltaan tarkastellen pakolaisten majoja, tutkien
kasvoja ja kysellen ja tiedustellen kaikilta, kunnes he olivat lopen
uupuneet ja surusta sairaat.

Kun kaikki etsiskelyt olivat hyödyttömät eikä Rosa Varonasta


löytynyt jälkeäkään, alkoivat kamalat aavistukset painaa O'Reillyn
mieltä; kasvoihin ilmestyi ryppyjä, hartiat painuivat kumaraan ja
astunta kävi laahustavaksi. Oli vain Jacketin ansiota, että hän välitti
enää lainkaan olla liikkeellä. Poika, joka oli nyt todellakin
tarpeellinen, osoittautuikin oikeaksi jalokiveksi; häntä ei mikään
masentanut, eikä hänen uskonsa milloinkaan pettänyt, ja O'Reilly
alkoi tuntea sisimmässään suurta kiitollisuutta, että sai pitää hänet
luonaan.

Jacketin kasvot kalpenivat myös ja huulet painuivat harmaiksi,


mutta hän koetti aina olla hyvällä tuulella eikä valittanut milloinkaan.
Joka aamu hän kävi uudella innolla työhön ja odotti kiihkeästi, mitä
päivän mittaan mahtoi tapahtua, ja etsinnän onnellista ratkaisua hän
ei epäillyt silmänräpäystäkään. Sellainen esimerkki vaikutti suuresti
hänen toveriinsa. He elivät mahdollisimman säästeliäästi uhraten
toimeentuloon vain pari senttiä päivässä ja tutkivat perusteellisesti
koko kaupungin laidasta laitaan.

Ensimmältä O'Reilly mietti useinkin, miten pako oli suunniteltava


etsinnän loputtua, mutta kuta pidemmälti aikaa kului sitä vähemmän
hän ajatteli asiaa. Eikä hänen tarvinnut enää huolehtia siitäkään,
että hänet tunnettaisiin. Hän oli usein kohdannut vanhoja tuttaviaan
näiden huomaamatta mitään, ja kerran hän sattui tulemaan aivan
suoraan vanhaa don Mario de Castañoa vastaan. Don Mario oli
myöskin muuttunut; hän oli vanhentunut ja lihavat kasvot olivat
huolestuneiden ryppyjen uurtamat. O'Reilly oli kuullut huhuja, että
sota oli köyhdyttänyt hänet.

He olivat vihanneet toisiaan, mutta siitä huolimatta O'Reilly tunsi


äkillistä halua ilmaista itsensä ja tiedustella Rosan kohtaloa. Mutta
hän muisti ajoissa, että don Mariota oli aina mainittu
kostonhimoiseksi, minkätähden hän hillitsi halunsa. Eräs toinen
tapaaminen painui sitä vastoin iäksi hänen mieleensä.

Hän ja Jacket sattuivat olemaan eräänä päivänä rautatieasemalle


kokoontuneessa kerjäläisjoukossa, joka pyyteli almua Havannasta
saapuvan junan matkustajilta, joita oli siihen aikaan sangen vähän ja
enimmäkseen vain espanjalaisia upseereita, joille tuo nälkiintynyt
ryysyläisjoukko ei ollut mitään uutta. Välistä sattui kuitenkin, että
tuon sanomattoman kurjuuden näkeminen sai jonkun vieraan
hellittämään kukkaron nauhoja, minkätähden odottava joukko oli
aina saapuvilla. Tänään O'Reilly kuuli suuresti hämmästyen, että nuo
kimeät avunpyynnöt muuttuivat äkkiä raivoisaksi mutinaksi.
Vihellyksiä sekautui herjausten tulvaan ja sitten tuli oudon hiljaista,
kun eräs roteva ja turpea vapaaehtoisten everstin univormuun
puettu mies tunkeutui joukon läpi. Mies oli tavattoman tumma ja
synkän näköinen, ja toisessa poskessa oli pitkä punainen arpi, joka
veti suupielen hiukan ylös omituiseen irvistykseen, niin että pari
hammasta näkyi.

O'Reilly ei ymmärtänyt ensin lainkaan tätä äkillistä käytöksen


muutosta, vihellyksiä ja hillittyjä kirouksia, mutta asia selveni heti,
kun hän kuuli kuiskattavan nimen "Cobo". Hän hätkähti jäykistyen
samassa ja katsoi miestä kiinteästi.

Herättämänsä huomio näytti suuresti miellyttävän eversti Coboa.


Ilkeä ilme mustissa silmissään hän meni rinta mahtavasti koholla
joukon läpi ja iski joka askeleella kantapäänsä lujasti kivitykseen.
Kun hän oli mennyt, kirosi Jacket karkeasti.

"Tuoko siis oli se lasten murhaaja!" huudahti hän. "Kiskaisisinpa


iloiten sydämen hänen rinnastaan."

O'Reilly ajatteli melkein samoin kuin hänen pieni toverinsa. Hänen


huulensa olivat kalpeat kun hän sanoi:

"Mikä roisto! Nuo kasvot —! Oh!"

Hän huomasi vapisevansa kiireestä kantapäähän ja tunsi itsensä


selittämättömän masentuneeksi ja heikoksi. Hän koetti urheasti
karkoittaa tuon tunteen, mutta ei onnistunut, sillä Rosan
katkerimman vihollisen näkeminen ja miehen ylväs olemus olivat
vaikuttaneet häneen omituisen musertavasti. Cobon itsetietoinen ja
varma käytös sai O'Reillyn tuntemaan avuttomuutensa sitä
voimakkaammin, ja ajatellessaan, kuinka himokkaasti tuo mies oli
vainonnut Rosaa, kauhistui hän. Seuraavana päivänä hän jatkoi
jälleen etsintäänsä maja majalta, mutta haluttomasti, mikä johtui
siitä varmasta vakaumuksesta, että hän oli taas tullut liian myöhään.
Saman päivän iltana harhailivat ystävykset La Cumbren juurelle
kyhättyjen kurjien hökkeleiden keskellä, mitä aluetta he eivät olleet
vielä tutkineet. San Severinon vankila näkyi alhaalla ja heidän
yläpuolellaan olivat Varonan kartanon rauniot. Useamman kuin
yhden kerran oli O'Reilly kaupunkia kierrellessään katsahtanut sinne
ylös tuntien suurta halua käydä paikalla, jossa hän oli sanonut
Rosalle jäähyväiset, mutta pelosta, että vaikutus olisi kovin
surullinen, hän oli jättänyt sen toistaiseksi tekemättä. Tänään hän ei
kuitenkaan voinut enää vastustaa haluaan, ja huolimatta Jacketin
vastaväitteistä tuon hyödyttömän voimaintuhlauksen johdosta hän
alkoi kavuta rinnettä ylös. Poika ei luonnollisesti voinut antaa hänen
mennä yksin.

Matkalla ei lausuttu montakaan sanaa, ja tie La Cumbren huipulle


tuntui olevan nyt niin pitkä ja jyrkkä. Kuinka kevyesti O'Reilly olikaan
ennen rientänyt sitä ylös! Nousu ei ollut milloinkaan väsyttänyt häntä
niin kuin nyt, ja hän arveli, että nälkä oli heikontanut hänet
enemmän kuin hän oli luullutkaan. Jacket uupui myöskin; hän
huohotti kovasti ja levähti tuhkatiheään. O'Reilly huomasi pojan
paljaiden, ruskeiden säärien käyneen kovin luiseviksi sitten kuin hän
oli viimeksi kiinnittänyt niihin huomionsa, ja hän tunsi pistoksen
sydämessään, että oli tuonut tuon pikku miehen tähän kärsimysten
paikkaan.

"Niin, poikaseni", sanoi hän heidän pysähtyessään levähtämään;


"minä pelkään meidän tulleen liian myöhään."

Jacket nyökäytti päätään välinpitämättömästi; hänkin oli


menettänyt toivonsa. "He ovat varmasti kaikki kuolleet", sanoi hän,
"sillä muussa tapauksessa me olisimme löytäneet heidät jo kauan
sitten." Kun O'Reilly ei puhunut mitään, lisäsi hän: "On jo aika ruveta
tuumimaan, miten pääsemme täältä pois, vai mitä?"

Johnnie istui pää käsiin vaipuneena. "Mitenkäs me täältä


pääsemme?" kysyi hän asentoaan muuttamatta. "Matanzaan pääsee
kyllä helposti, mutta —" Hän kohautti olkapäitään toivottomasti.

Paikasta, jossa he istuivat, he näkivät vastapäätä olevan kukkulan


rinteen, osan laaksoa ja korkean piikkilankaesteen, joka kiersi koko
kaupungin ympäri. Aitauksen luona näkyi säännöllisten välimatkojen
päässä pieniä olentoja, jotka liikkuivat hitaasti edestakaisin. Ne olivat
espanjalaisia vartijoita.

Paon ajatus sai Jacketin vilkastumaan. "Tohdinpa vaikka


vannoakin", sanoi hän, "että löydämme jonkun reiän. Emme ole
niinkuin nuo toiset, jotka eivät uskalla edes koettaakaan. Caramba!
Muistatko rottia, joita söimme? Ne olivat kyllä sitkeitä, mutta niiden
hajukin jo saisi minut hyvälle tuulelle. Hitto kumminkin! Vielä viikko
tätä menoa, ja me saamme kaivella tunkioita noiden toisten
onnettomain lailla."

Jättäen Jacketin tyyntymään Johnnie jatkoi yksin matkaansa


ajatellen koko ajan pojan sanoja. "Rohkeutta koettaa!" Mihin oli
hänen oma rohkeutensa joutunut, ihmeteli hän. Ehkä kaikki kurjuus,
jonka hän oli nähnyt, oli murskannut sen, sillä hän oli totisesti
nähnyt tarpeeksi. Ainainen oleskelu sairaiden ja kuolevien parissa ja
sellaisen pohjattoman epätoivon ja suunnattoman kurjuuden keskellä
riitti kyllä tappamaan kenen hyvänsä toiveet, ja vaikka hän oli
koettanut pysyä lujana, oli hänen pelkonsa kiihtynyt joka hetki. Nyt
kun hän arvosteli asiaa kylmästi ja johdonmukaisesti, oli hänestä
aivan mieletöntä hetkeäkään uskoa, että Rosa Varonan kaltainen
hento tyttö olisi voinut näin kauan kestää tämän kauhujen paikan
kaikki kärsimykset; vahvempiakin ihmisiä oli jo sadoittain sortunut.
Nytkin olivat sairaalat täynnä, eikä hökkeleissä makaavia sairaita
hoitanut kukaan. Mikäli O'Reilly tiesi, ei kukaan ollut arvioltakaan
laskenut, montako kuoli päivittäin ja montako ruumisvankkurit olivat
jo vieneet kaupungin ulkopuolelle, mutta niitä oli paljon. Saattoiko
millään syyllä ajatella, ettei Rosa ollut viimemainittujen joukossa?
Olisi ollut paljon parempi, että hän olisi pysytellyt Pan de Matanzan
autioilla ja hävitetyillä rinteillä, sillä maassa oli ainakin mehuisia
juuria ja metsän puissa hedelmiä ja marjoja, kun täällä ei ollut
mitään muuta kuin tappavat taudit ja hirvein nälänhätä.

Päästyään La Cumbren laelle O'Reilly näki jonkun matkan päässä


kumartuneen olennon, joka kaiveli maata teroitetulla kepillä. Kaivaja
oli neekerivaimo, joka, luotuaan tulijaan tutkivan silmäyksen, jatkoi
työtään.

Varonain kodista oli jäljellä vain kivi- ja muurilaastiröykkiö, ja alue,


joka oli ollut kaunis donna Isabelinkin laiminlyönnin aikana, oli nyt
tyyten hävitetty. Muutamia oranssipuita oli vielä jäljellä, mutta niissä
ei ollut mitään hedelmiä, vaikka ne olivat elinvoimaiset ja täydessä
lehdessä, ja niiden suloinen tuoksu vain vaivasi ja ivasi nälkäistä
vierasta. Cueton säälimättömän hävityksen jäljet vaikuttivat
O'Reillyyn syvästi ja johtivat hänen mieleensä tuskallisempia
ajatuksia kuin mitä hän oli aavistanutkaan. Vaikka paikkaa oli
melkein mahdoton tuntea, muistutti se Rosasta, ja onneton O'Reilly
jaksoi tuskin hillitä liikutuksen, jonka se aiheutti. Hänen ei olisi
pitänyt antaa valtaa sairaalloiselle halulleen, mutta kun hän oli
kerran tullut, ei hän voinut poistua. Melkein tietämättään hän
suuntasi kulkunsa vanhan kivilouhimon puutarhaan, paikkaan, jossa
hän ja Rosa olivat niin usein kohdanneet toisensa.
O'Reillyn hartain toivo oli saada olla yksin tällä hetkellä, mutta hän
huomasi, että jokin toinen oli ehtinyt ennen häntä — eräs nainen,
joka oli ilmeisesti samanlainen kurja "rauhoitettu" raukka kuin hän
itsekin ja näytti myöskin etsivän juuria, sillä O'Reilly oli aivan
kompastua häneen guava-pensaikon läpi tunkeuduttuaan.

Nainen pelästyi aivan suunniltaan ja koetti horjuen kiiruhtaa


pakoon, mutta tyyntyi O'Reillyn lausuttua muutamia rauhoittavia
sanoja. Repaleiset vaateriekaleet eivät voineet salata, että hänen
selkänsä oli käyristynyt kyttyrälle.

Paikka oli melkein entisensä kaltainen — tuossa oli kivipenkki,


jonka luona hän oli sanonut Rosalle jäähyväiset, ja tuolla oli kaivo —

"Señor!" kuuli O'Reilly tuon kyttyräselkäisen naisen sanovan. Ääni


oli heikko ja värähteli kiihkeästi, mutta hän oli ajatuksissaan eikä
kiinnittänyt siihen mitään huomiota.

"Señor! Etsittekö jotakin — jotakin —?"

"En tiedä", vastasi hän mietteissään. "Kyllä, etsin jotakin — erästä


—"

"Jotakin, jonka olette kadottanut?"

"Jotakin, jonka olen kadottanut!"

Kysymys, joka oli tehty tuskin kuuluvalla äänellä, vaikutti


O'Reillyyn syvästi, sillä se soveltui täydellisesti hänen surullisiin
mietteisiinsä. Hänen silmiään kirveli ja kurkkuun oli kohonnut karvas
pala. Hänen lujuutensa oli murtumaisillaan.
O'Reillyn kuulokin alkoi pettää, sillä hän oli kuulevinaan jonkun
kuiskaavan hänen nimensä. Hyvä Jumala! Tämä paikka ei ollut
kuollut — siellä oli eloa — muistoja, ääniä, näkymätöntä, mutta
todellista läsnäoloa. Hän tarttui lähimpään pensaaseen tukea
etsiäkseen ja sulki silmänsä vain kuullakseen nimeään selvemmin
mainittavan.

"O'Rail-ye!"

Hän pyyhkäisi kyyneleet silmistään ja kääntyi, hän kuunteli, mutta


ketään ei ollut näkyvissä paitsi tuo repaleinen olento, joka oli
suoristautunut ja katseli häntä. Hän tarkasteli naista toistamiseen ja
maailma alkoi pyöriä hänen silmissään, kun hän astui horjuen
lähemmäksi. Hän katsoi jälleen, tarkemmin, sillä hänen silmänsä
alkoivat hämärtää.

Nainen oli laiha — melkein kuin luuranko — ja niin hento, että


iltatuuli näytti häntä häilyttelevän, mutta ylöspäin kohotetut kasvot
olivat kuin kirkastetut. O'Reilly tuijotti häneen kuin maahan
naulittuna, ja kun nainen aukaisi silmänsä, huudahti hän riemuiten:

"Rosa!"

Hän otti tuon epämuodostuneen olennon syliinsä ja peitti


suudelmilla nuo kuihtuneet värittömät kasvot. Mutta Rosa ei
vastannut hänen hyväilyihinsä, vähäiset voimat olivat pettäneet, ja
hän lepäsi O'Reillyn käsivarsilla liikkumattomana ja tuskin hengittäen.
Kyyneleet vierivät poskille ja sormet sivelivät hyvin heikosti O'Reillyn
partaista poskea.

Kului hetkinen, ennenkuin Johnnie selvisi hämmästyksestään ja


käsitti täydellisesti, että kaikki oli totta, mutta sittenkään hän ei
saanut sanaakaan lausutuksi, sillä hänen mielensä oli hurjassa
kuohuntatilassa. Ilo, kiitollisuus, sääli ja tuhannet muut tunteet
yhtyivät jonkinlaiseksi huumaukseksi, joka teki selvän
ajatustoiminnan ja puhumisen mahdottomaksi.

Pelko palautti hänet vihdoin järkiin, sillä hän huomasi, että Rosa oli
mennyt tajuttomaksi eikä tuntenut hänen hyväilyjään. O'Reilly kantoi
hänet nopeasti penkille ja alkoi virvoitella häntä, ja hetkisen kuluttua
Rosa avasikin silmänsä ja sanoi hymyillen tuskin kuuluvalla äänellä:

"Jumala kuuli rukoukseni ja lähetti sinut luokseni."

"Rosa! Oletko sairas?"

Tytön silmäluomet värähtivät.

"Olen kuolemaisillani, O'Rail-ye", kuiskasi hän. "Odotin vain


saadakseni nähdä sinut vielä kerran."

"Ei, ei!" Tuskissaan hän nosti tytön jälleen syliinsä.

Hennoilla sormillaan Rosa siveli jälleen O'Reillyn poskia ja kosketti


tämän repaleista pukua. "Sinä olet myöskin kärsinyt. Mikä on tehnyt
sinusta niin köyhän, että sinun täytyy nähdä nälkää, O'Rail-ye?"

"En ole köyhä, vaan rikas. Kuuletkos?" Hän helisteli rahoja


taskussaan. "Minulla on rahaa, rahaa sinulle, sydänkäpyseni, jolla
ostan sinulle lääkkeitä ja ruokaa, niin että tulet terveeksi ja vahvaksi
jälleen. Rosa kultaseni, olen etsinyt sinua niin kauan, niin kauan —"
Ääni sortui ja hän antoi päänsä vaipua. "Minä — minä pelkäsin —"

"Odotin niin kauan kuin jaksoin", sanoi tyttö. "On vain paha, että
tulit niin myöhään."
Hän vaipui jälleen heikkouden aiheuttamaan tiedottomuuteen, ja
O'Reilly hyväili hänen käsiään mainiten häntä nimeltä ja pyydellen
häntä jäämään hänen luoksensa. Hän oli nyt kykenemätön
auttamaan, ja hänet valtasi kauhea epätoivo ja avuttomuuden
tunne.

Kuullessaan jonkun puhuvan hän katsahti ylös ja näki vieressään


tuon neekerivaimon, joka oli kaivanut rinteellä hiukan alempana. Se
oli Evangelina, joka oli laihtunut vain luuksi ja nahaksi. Silmät olivat
sameat ja syvälle vajonneet, ja kutistuneet kasvot muistuttivat
apinaa, mutta O'Reilly tunsi hänet heti ja hän O'Reillyn.

"Te olette tuo amerikkalainen", sanoi hän. "Olette Rosan mies."

"Niin, mutta mikä häntä vaivaa? Katsokaa! Hän on sairas —"

"Hän on usein noin heikko. Nälkä sen tekee. Meillä ei ole mitään
syötävää, herra. Minä olen myöskin kuolemaisillani ja Asensio —! Oh,
te ette voi kuvitella, kuinka me olemme saaneet kärsiä."

"Meidän täytyy saada Rosa kotiin. Missä te asutte?" Evangelina


kääntyi kaupunkiin päin. "Tuolla alhaalla", sanoi hän. "Mutta mitä se
hyödyttää. Siellä ei ole ruuan hiventäkään, ja Rosa pelkää noita
vankkureita. Tehän tiedätte, — noita, jotka kokoilevat kuolleita. Hän
tahtoi, että toisin hänet tänne kuolemaan."

Tyttö oli nyt aivan tiedoton, sillä hän liikahteli levottomasti ja


mutisi:

"Nuo vankkurit! Älä anna panna minua sinne toisten kuolleiden


joukkoon.
Ruumiit ladotaan korkealle —" Heikko vavahdus värisytti häntä.
O'Reilly kumartui ja lausui päättäväisesti:

"Sinä et kuole, Rosa. Minulla on rahaa, jolla saamme ruokaa.


Nousehan,
Rosa, nouse!"

"Hän rukoilee puolestanne joka ilta", sanoi Evangelina. "Sellainen


usko! Sellainen luja luottamus! Hän ei milloinkaan epäillyt, ettette
palaisi hänen luokseen. Välistä hän kyllä itki, mutta vain silloin kun
hän muisteli veljeään. Estevanhan on kuollut, kuten ehkä tiedätte.
Niin, kuollut, kuten kaikki muutkin."

"Estevan ei ole kuollut", vastasi O'Reilly. "Hän elää. Rosa, kuuletko,


että Estevan elää ja on terve! Hän on idässä Gomezin luona, ja minä
olen tullut noutamaan sinua hänen luokseen."

"Estevanko elossa? Laskette leikkiä." Evangelina nyökytteli


päätään.
"Me tiedämme kyllä."

"Sanon teille, että hän elää", sanoi O'Reilly lujasti, ja kuullessaan


Jacketin huutelevan häntä, huhusi hän vastaan, ja kun poika saapui,
selitti hän lyhyesti, mitä oli tapahtunut, antamatta Jacketille aikaa
ilmaista suurta hämmästystään.

"Etsintämme on loppunut; olemme löytäneet heidät. Mutta he


eivät tahdo uskoa, että Estevan elää. Kerro heille."

"Hän on elossa. Löysimme hänet eräästä vankilasta mätänemästä


ja vapautimme hänet", todisti Jacket. Hän tuijotti uteliaasti penkillä
lepäävään muodottomaan olentoon ja sitten O'Reillyyn ja vihelsi
pitkään. "Hän on siis lemmittysi, vai mitä? Hän — minä — tuota —
enpä olisi tuntenut häntä. Mutta ethän sinäkään ole enää miesten
kauneimpia, vai mitä arvelet?"

Evangelina, joka näytti olevan kestämäinsä sanomattomain


kärsimysten tylsistyttämä, laski luisevan kätensä O'Reillyn olkapäälle
ja sanoi kiihkeän varoittavasti: "Varokaa Coboa! Olettehan kuullut
hänestä? Niin, hän on kaiken kurjuutemme alku ja juuri. Hän kaahasi
meitä paikasta toiseen, ja hänen tähtensä minä laitoin tuon kyttyrän
Rosan selkään. Ymmärrättehän, Rosa on suora — kyllin suora ja
kaunis kenelle hyvänsä amerikkalaiselle. Hänen ihonsa on myöskin
maidonvalkoinen, ja hänen hiuksensa — hänellä oli tapana pitää
kukkia hiuksissaan teitä miellyttääkseen, ja sitten me leikimme ja
haaveilimme tulevista onnen päivistä. Mutta te ette tullut
milloinkaan. Ettehän välitä siitä, minkä näköinen hän nyt on,
ettehän?"

"Rosa parka! Te ihmisraukat!" O'Reillyn ääni vapisi ja hän kätki


kasvonsa lemmittynsä rintaa vasten.

Silloin Rosa heräsi ja huokaisten syvään hän alkoi hyväillä O'Reillyn


hiuksia.

O'Reillyn nousu kukkulalle oli käynyt hitaasti, mutta laskeutuminen


sujui monin verroin hitaammin, sillä Rosa oli niin heikko, ettei hän
kyennyt juuri lainkaan kävelemään, eikä O'Reilly jaksanut kantaa
häntä pitkääkään matkaa kerrallaan. Vihdoin he kuitenkin saapuivat
erään kurjan hökkelin luo, jossa Asensio makasi, ja jättäen Rosan
sinne Johnnie kiiruhti kaupunkiin. Hän palasi pian tuoden mukanaan
useita pieniä paketteja, jotka hän oli kätkenyt vaatteidensa alle, ja
alkoi Evangelinan avulla heti valmistaa jotakin syötävää.
Rosalla ja noilla kahdella neekerillä ei ollut vähintäkään ruokahalua
— he olivat jo kauan sitten sivuuttaneet sen asteen, jolloin he vielä
tunsivat olevansa nälkäiset — ja O'Reillyn täytyi pakottaa heidät
syömään. Annettuaan heille niin paljon kuin hän tohti, tarjosi hän
loput Jacketille.

Poika nuolaisi huuliaan ja hypisteli sormiaan, mutta pudisti


kieltävästi päätään.

"En välitä", sanoi hän välinpitämättömästi. "Minulla on torilla eräs


tuttu kalakauppias; menen varastamaan häneltä jonkun kalan."

O'Reilly taputti häntä olkapäälle sanoen: "Olet hyvä poika. Sinähän


ymmärrät, että nämä sairaat ihmisraukat tarvitsevat enemmän
ruokaa kuin jaksamme ostaa, joten meidän täytyy vain kiristää
nälkävyötämme?"

"Luonnollisesti. Syöminen on vain totuttu tapa, josta me miehet


kyllä selviämme. Minä löydän aina jotakin meille molemmille, sillä
minä olen hiton hyvä varastamaan. Voin varastaa hiuksen miehen
päästä, jos vain oikein koetan." Ja nyökäyttäen päätään hän lähti
hankkimaan illallista hyväntekijälleen.

Jacket vihelteli sankarillisen iloisesti niin kauan kuin hän oli


O'Reillyn näkyvissä, mutta sitten hänen käytöksensä muuttui.
Suupielet alkoivat vavahdella, ja silmät kostuivat. Hän hieroi likaisella
kädellään vatsaansa ja mutisi heikosti: "Cristo! Kylläpä ottaa lujalle
pysyä miehuullisena, kun paistinhaju nenään lehahtaa!"
XXV.

AAVEIDEN PUUTARHA

Rosa Varona ei kuollut. Kihlattunsa hellässä hoidossa hän


päinvastoin toipui niin hämmästyttävän nopeasti, että muutoksen
saattoi huomata tunti tunnilta; hän elpyi kuin näivettynyt kukkanen
virkistävässä sateessa. O'Reillyn läsnäolo merkitsi yhtä paljon kuin
rahoilla hankitun ravinnon vaikutus, ja tietoisuus, että Estevan oli
elossa ja turvassa, kiihoitti yhä enemmän hänen elämänhaluaan.
Rosa tunsi toivon heräävän sydämessään, ja eräänä päivänä hän
huomasi nauravansa. Hän ei tahtonut uskoa korviaan. O'Reilly istui
hänen vieressään lehtivuoteella ja äkkiarvaamatta Rosa painoi hänen
kätensä huulilleen ja kysyi, kuten hän oli jo lukemattomat kerrat
kysynyt:

"Rakastatko minua?"

Vastaukseksi O'Reilly kumartui ja suuteli häntä.

Rosa painoi hänen kätensä poskelleen etsien sanoja iloaan ja


onneaan ilmaistakseen.
"Näin suurta onnea on vain taivaassa", kuiskasi hän viimein.
"Välistä se aivan peloittaa minua. Kun olet luonani, on tämä vankila
kuin paratiisi, eikä minulta puutu mitään. Sota, kärsimykset, epätoivo
— en voi kuvitella, että niitä on enää olemassakaan."

"Niin on kuitenkin asianlaita, ja Matanza on kaikkea muuta kuin


paratiisi", sanoi Johnnie. "Matanza on helvetti, josta meidän on
päästävä pian pois."

"Paetako, tarkoitat? Mutta se on aivan mahdotonta. Asensio tietää


kyllä. Espanjalaiset antoivat ensin miehille luvan mennä
piikkilankaesteen ulkopuolelle ruokaa etsimään, mutta se oli vain
sotajuoni. Kukaan ei tullut milloinkaan takaisin — heidät murhattiin
kaikki. Nyt ei kukaan enää koetakaan."

"Täällä emme voi kuitenkaan enää kauan olla." Nähdessään tytön


kysyvän katseen hän lisäsi: "Rahani ovat menneet — melkein
viimeistä senttiä myöten, ja kun ne on syöty, ei ole enää mitään
keinoa jäljellä. Jacketilla on jokin salaperäinen elintarvevarikko, josta
hän onnistuu välistä saamaan jotakin, mutta meitä on viisi, ja
hänellä on tarpeeksi työtä hankkia oma ravintonsa. Ei, meidän on
yritettävä nyt, kun vielä jaksamme."

Rosa ei ollut tiedustellut, mistä tuo siunattu ravinto saatiin, joka


palautti elämän hänen ruumiiseensa, ja vaikka ruokaa ei ollut paljon
— hiukan jauhoja, juureksia, silloin tällöin jokin paistettu kala tahi
lihaa — ei hänen mieleensä ollut kertaakaan johtunut, että sekin
vähä voisi loppua. Mutta hän ajatteli asiaa urhoollisesti.

"Olen ollut jo niin kauan kuoleman lähellä", sanoi hän, "niin että
tuo kaikki merkitsee minulle sangen vähän. Sinähän olet luonani ja
sinun rinnallasi minä kestän vaikka mitä."
"Meidän täytyy yrittää niin kauan kuin jaksamme", vastasi Johnnie.
"Jos minulla olisi rahaa, niin olisi helppo lahjoa jokin vartija, niin että
pääsisimme ulos, mutta kakki kenraali Betancourtilta saamani rahat
ovat menneet." Hän siveli Rosan tummaa tukkaa ja hymyili
rohkaisevasti. "Keksin kyllä jonkin keinon, niin että älä vaivaa suloista
päätäsi. Ryöstän rahat vaikka don Mariolta. Enkö ole mielestäsi aivan
maantierosvon näköinen! Pelkkä ilmestymiseni saisi tuon lihavan
roiston kauhistumaan."

"Mielestäni olet niin kaunis", kuiskasi tyttö. Ja katsoen maahan


hän lisäsi: "Kuinka minä turmelenkaan sinut! Olen aivan unhottanut
säädyllisen käyttäytymisen — Isabel oli oikeassa sanoessaan, että
olin röyhkeä ja tunkeilevainen letukka. Käännä nyt kasvosi poispäin,
että voin ajatella, sillä siitä ei tule mitään, kun katsot minuun —
rakastan sinua niin äärettömästi. Kas niin! Nyt on hyvä. Pidän sinua
kädestä, ja kun suutelen sitä, voit vilkaista minuun."

Painautuen lähemmäksi Rosa alkoi vakavasti:

"Ennenkuin tulit, olin jo monta kertaa kääntymäisilläni jonkun


entisen ystäväni puoleen, mutta ne ovat kaikki espanjalaisia ja siis
vihamiehiäni. Ymmärräthän?"

Rosa vaikeni odottaen vastausta.

"Täydellisesti. Olen samassa asemassa, sillä jokainen entinen


tuttavani täällä olisi heti valmis ilmiantamaan minut, jos ilmaisisin
itseni. Ja taisteltuani kapinallisten riveissä minä en tohdi mennä
Amerikan konsulinkaan puheille apua pyytämään — jos täällä enää
onkaan Amerikan konsulia."

Rosa nyökäytti päätään ja jatkoi viivytellen:


"Näin viime yönä niin merkillisen unen — ehkä se oli jokin enne,
kukaties? Uneksin äitipuolestani. Muistathan, miten hän kuoli?
Kirjoitin sinulle —"

"Niin, ja Estevan kertoi myös."

"Estevan nosti hänen ruumiinsa kaivosta ja eräänä päivänä


piileskelyssämme metsässä kaukana Yumurin toisella puolella hän
näytti minulle vanhaa kultarahaa —"

"Tiedän", sanoi O'Reilly nopeasti. "Hän kertoi minulle koko jutun.


Hän on siinä uskossa, että tuo kultaraha on avain isänne
aarreaittaan, mutta — minun mielestäni hänen luulonsa on aivan
aiheeton. Minä en ole tähän hetkeen saakka edes uskonut, että tuo
kultaraha oli olemassakaan."

"Mutta se oli! Minä näin sen."

"Sitten ei veljesi houraillutkaan?"

"Ei suinkaan, se —" Rosa keskeytti huudahtaen: "Sinä katsot


minuun,
O'Reilly!"

"Mutta sinähän annoit minulle luvan", puolustelihe Johnnie.

"Eikö mitä; panit itse kätesi minun huulilleni." He katselivat


toisiaan
vaieten ja unhottivat hetkeksi kaiken muun. Sitten Rosa kuiskasi:
"Miten omituista! Silmäsi ovat välistä siniset ja välistä harmaat.
Merkitseekö se, että rakkautesikin voi muuttua?"
"Ei varmastikaan. Mutta jatkahan kertomustasi Estevanista ja
tuosta kultarahasta."

Lujalla tahdonponnistuksella tyttö palautti itsensä todellisuuteen


jälleen. "No niin, tuo viimeinen uneni johdatti mieleeni ajatuksen,
että Estevan saattoi sittenkin olla oikeassa. Kukaan perheeseemme
kuulumaton henkilö ei luonnollisesti usko tuota vanhaa tarinaa,
vaikka isääni pidettiin aikoinaan hyvin rikkaana miehenä, mutta
Pancho Cueto uskoi, ja hän tiesi tarkalleen talon asiat."

"Aivan oikein! Jospa tuo —" O'Reilly rypisti otsaansa miettiväisesti.

Rosa kohottautui kyynärpäiden varaan ja hänen silmänsä


säteilivät.
"Eikö olisi ihmeellistä, jos kaikki olisikin totta? Ajattelehan,
O'Reilly, nassakoittain Espanjan kultaa, arkuittain hopeaa, nipuittain
kalliita koruja, oh, olen kuullut Isabelin puhuvan niistä kyllin usein!"

"Älä millään muotoa unhota noita luumun kokoisia Caribbeanin


helmiä", hymyili O'Reilly. "Tuota kaikkea en ole voinut milloinkaan
oikein sulattaa. Viinimarjankin kokoisella helmellä voisimme ostaa
vapautemme vaikka paikalla." Hetkisen kuluttua hän jatkoi
vakavammin: "Tahtoisinpa mielelläni tarkastaa tuota kaivoa jo tänä
iltana. Turhaahan se tietysti on, mutta — kertomus tuntuu nyt
todennäköisemmältä kuin ennen, kummallista kyllä. Ehkä se on
hyvinkin tutkimisen arvoinen." Hän teki nopeasti päätöksensä.
"Lähden — lähden juuri tällä minuutilla."

Kun O'Reilly astui ulos majasta, näki hän Jacketin työskentelevän


ahkerasti kädessään tahkon palanen, jonka hän oli jostakin
puhaltanut. Poika katsahti ylös nähdessään ystävänsä lähestyvän ja
näytti pitkää, ohutta viilaa, jonka kärkeä ja särmiä hän kaikin voimin
teroitti.

"Mitäs tästä tuumit?" kysyi hän ylpeästi. "Se voi olla hyvään
tarpeeseen, kun kerran olemme valmiit lähtemään tästä
rutonpesästä."

"Mistä sinä sait sen?"

"Varastin tietysti. Nykyään varastan kaikki, mitä suinkin kykenen.


Eihän sitä tiedä, milloin täytyy jokin kurkku katkaista, ja viilat
tehdään tavallisesti hyvästä teräksestä."

"Koska olet niin sukkela varas, niin voisitkohan varastaa jotakin


minullekin?" kysyi O'Reilly. "Pari syltä köyttä?"

"Köyttä?" toisti Jacket hämmästyneesti. "Köyttähän tarvitaan vain


espanjalaisia hirtettäessä. Mutta ystävälläni kalakauppiaalla on jaala,
josta minä ehkä voin nipun nykäistä." Kätkettyään tavaransa Jacket
nousi ja lähti kiireesti rantaan päin, ja kun hän tunnin kuluttua
palasi, oli hänellä paidan alla nippu hyvin kulunutta, mutta täysin
käyttökelpoista köyttä. Selittämättä tarkemmin mihin köysi tarvittiin
O'Reilly pujotti kätensä pojan kainaloon ja suuntasi matkan La
Cumbren rinteille, ja kun hän vanhaan kivilouhimoon päästyään
selitti Jacketille aikovansa tutkia tuon vanhan kaivon, ei pojan
kummastuksella ollut enää mitään rajoja.

"Mitä sinä luulet sieltä löytäväsi", kysyi Jacket.

"Totta puhuen en yhtään mitään", vastasi Johnnie. "Aion etsiä


Varonain kätkettyä aarretta, mutta koko tuuma alkaa tuntua minusta
joutavalta."
"Kätkettyä aarretta!" Jacketin äänensävy ilmaisi, että hän luuli
ystävänsä joutuneen hiukan päästä vialle, ja O'Reillyn kerrottua koko
tarinan don Estevanin kadonneista rikkauksista ivasi hän koko juttua.
Hän kurkisteli tutkivasti kaivon mustaan aukkoon ja pudisti päätään.
"Caramba, minkälainen päähänpisto? Oliko ukko hullu, kun heitti
rahansa menemään?"

"Hänellä — hänellä oli, tuota noin, enemmän kuin hän tarvitsi ja


hän tahtoi pelastaa rahansa espanjalaisten kynsiin joutumasta",
selitti O'Reilly haluttomasti.

"Hm! Kenelläkään ei ole enemmän rahaa kuin tarvitsee."


Semmoinen lapsellinen herkkäuskoisuus harmitti Jacketia ilmeisesti.
"Tämähän on kaikesta päättäen aivan tavallinen kaivo, ehkä hiukan
syvempi, niin että on parasta olla hyvin varovainen. Muuten voit
taittaa niskasi, niinkuin tuo donna 'Mikä-hänen-nimensä-taas-
olikaan'."

O'Reillystä tuntui todellakin siltä, että hän teki itsensä


naurettavaksi, mutta siitä huolimatta hän sitoi nuoran lujasti kiinni ja
laskeutui pimeään aukkoon jättäen Jacketin vartioimaan. Noin
viidentoista minuutin kuluttua hän ilmestyi jälleen aukon reunalle
huohottaen ponnistuksesta.

Hän oli märkä ja limainen ja yltäpäältä liejun tahrima ja Jacket


nauroi henkimenokseen hänet nähtyään.

"Ha, ha! Mikäs suuri sisilisko tämä on? Kauniit vaatteesihan ovat
nyt aivan pilalla. Entä aarre? Missäs se on?" Poika oli
sanomattomasti huvitettu. Hän taputti paljaita sääriään ja hyppi ja
nauroi aivan kyykkysillään.
O'Reilly hymyili hyväntahtoisesti ja asetettuaan aukkoa peittävät
lankut paikoilleen hän kätki köyden lähimpään pensaikkoon.
Kotimatkalla hän kuunteli hajamielisesti Jacketin iloittelua, mutta
Asension majan lähellä hän sai pojan jälleen hämmästymään
kysymällä:

"Voitko hankkia minulle kuokan tahi rautakangen?"

Jacketin silmät suurenivat ja hän pysähtyi keskellä hämärää tietä.


"Mitä sinä näit siellä alhaalla, toveri? Kerrohan."

"Enpä paljon mitään. Juuri sen verran, että haluan nähdä


enemmän.
Luuletko voivasi varastaa minulle jonkinlaisen työaseen?"

"Voinhan koettaa."

"Ole niin kiltti. Ja muista, ettet puhu mitään Asension tai hänen
vaimonsa kuullen."

O'Reilly kohtasi Rosan ovella ja huudahti hämmästyksestä, sillä


hänen poissaollessaan oli Rosa pessyt värin kasvoiltaan ja poistanut
kyttyrän, jonka Evangelina oli laittanut hänen selkäänsä heidän
lähtiessään Pan de Matanzan kätköstä. Hän seisoi nyt O'Reillyn
edessä suorana, solakkana ja suloisena — hänen unelmiensa Rosa —
mutta oli vielä hyvin laiha ja hento. Repaleet vain lisäsivät hänen
viehkeyttään, ajatteli O'Reilly.

"Rosa armaani! Luuletko, että voit olla turvallinen näin?" kysyi hän
epäröiden.

Evangelina, joka oli kumartunut miehensä puoleen, suoristausi ja


tuli hymyillen heidän luokseen.
"Hän on kaunis, vai mitä? Liiankin kaunis katseltavaksi? Mitä minä
sanoin!"

Rosa oli onnellinen ja hämillään O'Reillyn peittelemättömän


hämmästyksen ja ihailun johdosta. "En olekaan siis niin kovin paljon
muuttunut?" kysyi hän.

"Niin, et ole lainkaan muuttunut, paitsi että olet entistä kauniimpi.


Evangelina on oikeassa, olet liian kaunis katseltavaksi. Kuulehan!"
Hän vei Rosan hiukan sivulle ja kuiskasi: "Olin kaivossa." Hänen
äänessään ja katseessaan oli jotakin, joka sai tytön tarttumaan
kiihkeästi hänen käteensä. "Ehkä olen väärässä", jatkoi hän
nopeasti, "ehkä siellä ei olekaan mitään — mutta minä näin kuitenkin
jotakin."

"Mitä?"

"Jonkinlaisen hirsiseinän, joka oli kehäkivityksen takana." Kun


Rosa ei näyttänyt ymmärtävän, jatkoi hän selitystään. "Ensin en
nähnyt mitään tavatonta. Pohja on melkein kuiva — täyttynyt,
ymmärräthän, ylhäältä vierineillä kivillä ja soralla, mutta sitten
huomasin, että vaikka kaivo on louhittu kallioon, on se katettu
kivikehyksellä alhaalta ylös asti. Tämä tuntui minusta heti
kummalliselta."

"Niinkö?"

"Eräässä kohden huomasin vielä, että tuon kivityksen takana oli


jonkinlainen hirsiseinä — ikäänkuin hirsillä olisi peitetty jonkun luolan
suu. Sinähän tiedät, että nämä Kuban kalliot ovat täynnä luolia."
Rosa risti vavisten kätensä. "Olet löytänyt sen, O'Reilly — olet
löytänyt sen", kuiskasi hän.

"Ei, ei! En ole vielä löytänyt mitään. Mutta olen lähettänyt Jacketin
hankkimaan kuokan tahi rautakangen, ja tänä yönä minä aion
murtaa alas tuon kivityksen ja tarkastaa, mitä sen takana oikein on."

"Tänä yönäkö? Sinun täytyy antaa minun tulla mukaan. Tahdon


auttaa sinua."

"Hyvä on, mutta älä anna toiveillesi kovin suurta valtaa, sillä meillä
on kaikki mahdollisuudet pettyä katkerasti. Äläkä puhu mitään
Evangelinalle. Minulla on vielä muutamia pennyjä jäljellä, joilla aion
ostaa pari kynttilää."

Rosa syleili lemmittyään kiihkeästi. "Jokin sanoo minulle, että


kaikki on totta! Tiedän nyt, että sinä pelastat meidät kaikki."

Evangelina mutisi nurkassaan miehelleen: "Noita lemmenlintuja!


He ovat kuin pari kyyhkystä; yhtä suutelemista ja kuhertelua!"

Jacket palasi illan pimetessä tuoden mukanaan ruosteisen, ainakin


kolmen jalan mittaisen, tukevan rautakangen, joka oli nähtävästi
kuulunut johonkin ikkunaristikkoon. Poika oli väsynyt ja tuskastunut.
"Kuokka! Rautakanki! Yhtähyvin voisi koettaa varastaa kanuunan San
Severinosta. Olen valmis tekemään kaikkea, jossa on jotakin järkeä,
mutta —"

"Juuri tämmöistä tarvitsenkin; tämä on oikein hyvä", sanoi O'Reilly.

"Hauskaa kuulla", murahti Jacket; "tuo kepakko oli maksaa minulle


henkeni. Selkäni melkein katkesi, kun väänsin sitä irti, ja tuo roisto,
joka omistaa talon — taivaan tuli hänet murskatkoon — ajoi minua
takaa, kunnes olin läkähtyä. Jos veitseni olisi ollut valmis, olisin
kääntynyt päin ja antanut hänelle jotakin kylkiluiden väliin. Juoksin
niin, että keuhkoni olivat haljeta."

Majassa oli enää vain sen verran ruokaa, että se tuskin riitti naisille
ja sairaalle Asensiolle, ja kun O'Reilly oli ostanut viimeisillä rahoillaan
kynttilöitä, täytyi hänen ja Jacketin olla jälleen syömättä. Myöhään
illalla, kun kaikkialla kurjassa keskitysleirissä vallitsi yön syvä
hiljaisuus, hiipivät nuo kolme aarteenetsijää majastaan ja
suuntasivat kulkunsa kukkulalle. Jännityksestä huolimatta he
liikkuivat kaikki sangen hitaasti, sillä heillä ei ollut voimia kiiruhtaa, ja
onneksi ei kaupungin piirin sisäpuolella ollut enää kulkuvahteja, kun
nälkä oli riistänyt pakolaisilta voimat uskaltaa yrittää paeta.
Espanjalaisten valppaus oli vähentynyt samassa suhteessa, ja nyt
vartioitiin vain tuota korkeata piikkilankaestettä, joka kiersi koko
kaupungin ympäri. Ketään ei kohdattu.

Jättäen Jacketin tähystelemään kukkulan laelle ja Rosan kaivon


suulle O'Reilly laskeutui kaivon pohjalle. Sytytettyään kynttilän hän
tutki paikan huolellisesti tuloksella, että Estevanin otaksuma tuntui
entistä todenmukaisemmalta. Muuraustyö oli tehty niin verrattoman
huolellisesti, ettei ajan hammas ollut pystynyt siihen juuri lainkaan,
ja oli erinomainen näyte siitä, kuinka perinpohjin hyvää työtä orjilta
oli vaadittu. Siellä ja täällä oli muurilaasti hiukan irtautunut, mutta
enimmäkseen se oli yhtä lujaa ja lujempaakin kuin muuraukseen
käytetyt kivet. Olkapäänsä korkeudella eräällä sivuseinämällä O'Reilly
huomasi kivityksessä kohdan, jossa muuraus oli rosoisempi kuin
muualla, ja tutkittuaan erästä rakoa hän oli näkevinään kostean
hirren. Tästä oli paras alkaa, ajatteli hän, ja tarttui rautakankeensa,
mutta hän huomasi pian tekevänsä melkein turhaa työtä. Laasti oli
kuin piikiveä, johon hänen tylsä työaseensa teki tuskin jälkeäkään.
Voidakseen käyttää kankeaan vipuna hän koetti kaikin voimin hakata
rakoa suuremmaksi seisoen syvällä mutaisessa vedessä. Hiki juoksi
virtanaan ja hänen heikkoutensa alkoi harmittaa häntä, sillä hänen
täytyi levähtää aina vähän väliä.

Rosa seurasi kiihkeästi hänen työskentelyään ja koetti rohkaista


häntä kaikin tavoin. Levähtäessään O'Reilly saattoi nähdä hänen
kalpeiden kasvojensa häämöittävän ylhäällä kynttilän himmeässä
valossa.

Kun hän oli ahertanut tunnin tahi pari, ilmoitti hän, että hänestä
alkoi todellakin näyttää siltä kuin seinässä olisi jonkinlainen suljettu
aukko.

Rosa taputti käsiään ja nauroi riemuiten. "Kiiruhda, kultaseni, minä


aivan kuolen jännityksestä."

O'Reilly huokasi raskaasti. "Tuo Sebastian tunsi tehtävänsä", sanoi


hän valittavasti. "Laasti on kovaa kuin teräs, ja minä pelkään, että
katkaisen vielä kankeni."

Rosa suuteli keveästi lehteä, jonka hän löysi maasta, ja heitti sen
kaivoon lausuen hymyillen: "Tuo antaa sinulle uusia voimia,
kultaseni."

O'Reilly ei huomannutkaan enää ajan kulkua, vaan työskenteli


ahkerasti, eikä hän tahtonut uskoa korviaan, kun Jacket tuli
huomauttamaan, että päivänkoittoon oli vain tunti aikaa. "Enhän
minä ole vielä ehtinyt oikein alkaakaan", vastusteli hän. Hän huomasi
suureksi hämmästyksekseen olevansa melkein kaatumaisillaan
väsymyksestä ja että kädet olivat naarmuuntuneet ja rakoilla.
Kiivettyään köyttä myöten toisten luo vaipui hän uupuneena
nurmikolle. "En — en ole oikein entiselläni", puolusteli hän —
"ravinnon puute — tiedättehän. Mutta tästä lähtien sujuu työ
helpommin, sillä olen jo päässyt hyvään alkuun."

"Luuletko vieläkin —?" Rosa epäröi lausua julki kysymystä, joka


pyöri hänen huulillaan.

"Ensi yönä tiedän varmasti", vastasi O'Reilly. Hän käski Jacketin


panna kaivon suuta peittäneet lankut paikoilleen, ja kaikki kolme
hiipivät sitten tiehensä.

O'Reilly makasi koko päivän uupumuksen aiheuttamassa


horroksessa Rosan vaaliessa häntä huolestuneesti. Jacket näytti
nukkuneen rauhallisesti jo vartiopaikallaan, joten hän käytti nyt
tilaisuutta hyväkseen ja valmisteli veistään. Sinä iltana syötiin
viimeiset ruuantähteet.

Yön tultua oli aika jälleen lähteä La Cumbren huipulle ja O'Reilly


ihmetteli, mahtoiko hänellä olla enää työn suorituksen vaatimia
voimia. Hän oli haluton ja heikko, joka luuta ja lihasta kihelmöi ja
pakotti, ja hän sai panna liikkeelle kaiken tarmonsa päästäkseen
perille. Hän punnitsi oliko viisasta näin tuhlata viimeiset vähäiset
voimansa niin epävarman asian hyväksi, mutta toisekseen hän oli jo
melkein varma, että Varonan aarre oli olemassa, ja tunsi
vastustamatonta uteliaisuutta saada tietää, minkä salaisuuden nuo
vettyneet hirret kätkivät. Hän käsitti luonnollisesti, että nyt, kun
ruoka ja rahat olivat loppuneet, paon mahdollisuudet huononivat
joka hetki, minkä he Matanzassa viipyivät, mutta jos hänen oli
sallittu löytää nuo kätketyt rikkaudet, ajatteli hän, niin heidän
kaikkien pelastus oli taattu. Panoksesta kannatti pelata, tuumi hän.
Sopivilla työaseilla olisi ollut helppo murtaa tuo luja kivitys, mutta
kun tarjolla olivat vain paljaat kädet ja tuo taipuisa rautakanki, täytyi
O'Reillyn ahertaa jälleen melkein koko yö, mutta jo kauan ennenkuin
viimeinen kivi oli väännetty irti hän näki jotakin, joka sai hänet
katsahtamaan Rosaan kiihkeästi.

"Tässä on pieni ovi, niin totta kuin elän!" huudahti hän.

Tyttö oli aivan menehtyä jännityksestä. "Niinkö? Mitä muuta näet?"

"Ovi on sangen tukeva ja on teljetty kahdella suurella kotitekoisella


lukolla."

"Lukolla? Sitten me olemme löytäneet sen." Rosa sulki silmänsä ja


hänen päätään aivan huimasi. "Estevan oli oikeassa. Lukot
merkitsevät tietysti sitä, että oven takana on jotakin kätkössä. Oi,
jospa vain voisin auttaa sinua!"

"Jumalani! Kunpa minulla olisi edes jonkinlainen kunnollinen vehje,


millä murtaa tuo ovi!" mutisi O'Reilly alkaessaan jälleen työnsä
kaksinkertaisin voimin. Hän ei koettanutkaan enää säästää itseään,
sillä aarteenetsijän kiihko oli kokonaan vallannut hänet, ja Rosa
yllytti käsiään väännellen häntä kiiruhtamaan.

Mutta tuo matala ja paksu ovi, joka oli tehty jostakin erittäin
kovasta ja sitkeästä puulajista, oli nyt märkä ja niljakka, eivätkä
O'Reillyn iskut voineet sille mitään. Tukevat saranat ja lukkoraudat
olivat kyllä syvältä ruostuneet, mutta vielä järkähtämättömän lujat,
ja O'Reillyn täytyi vihdoin pysähtyä levähtämään melkein suunniltaan
pettymyksestä ja väsymyksestä.
Päivä alkoi jo sarastaa, mutta hän kieltäytyi lopettamasta ja ahersi
edelleen itsepintaisesti ja epätoivon vimmalla, kunnes Rosa pyysi
häntä taukoamaan.

Johnnie vaipui jälleen nurmikolle rajusti huohottaen toisten


asetellessa lankut paikoilleen.

"Jos olisin jatkanut vielä tunnin, niin olisin päässyt sisään",


kuiskasi hän.

"Tapat itsesi", sanoi Jacket.

Rosa kumartui lemmittynsä puoleen säteilevin silmin ja huulet


hiukan raollaan.

"Niin", sanoi hän, "ole kärsivällinen, O'Reilly. Tulemme takaisin, ja


ensi yönä olemme rikkaat."

*****

Eversti Cobo sytytti väkevän savukkeen ja puhalsi sieraimistaan


mahtavan savupilven nojaten mukavasti nojatuolinsa selustaan ja
tuijotti synkästi aliupseeriin, joka oli pyytänyt päästä hänen
puheilleen.

"Mitä lorua tämä on?" kysyi hän vihdoin. "Totta, joka sana. La
Cumbrella kummittelee, ja minä tahtoisin puhua asiasta papille."

"Kummittelee? Kuka sitten?"

Aliupseeri — matalaotsainen ja tyhmännäköinen mies — liikahti


levottomasti. "Henget — pahathenget helvetistä", sanoi hän. "Miehet
tahtoisivat ostaa esirukouksia."
"Mitä joutavia! Luulin sinun olevan järkevän ihmisen."

"Ette usko minua? En minäkään uskonut ensin, kun minulle


kerrottiin asiasta, mutta nyt uskon. Näin omin silmin."

Cobo nojautui eteenpäin ja oli hiukan hämmästynyt. Hänen koko


roistojoukossaan oli tämä mies viimeinen, josta hän olisi voinut
ajatella jotakin tämmöistä. "Mitä sinä näit?" kysyi hän.

"En mitään muuta kuin aaveen, herra eversti. La Cumbre ei ole


mikään sopiva paikka rehelliselle kristitylle."

Eversti purskahti ivalliseen nauruun. "Rehelliselle kristitylle, kuten


sinulle! Olethan pahin koko roistojoukossani. Olet varas, valehtelija
ja salamurhaaja, ja sinä valehtelet nytkin. Totuus esiin tahi minä
käsken piiskurin miehineen heti tänne."

"Jumala olkoon tuomarini, että puhun totta", vastusteli sotilas.


"Ruoskittakaa minut, jos tahdotte — ennen menen piiskurin luo kuin
yöllä La Cumbrelle. Tiedättehän tuon vanhan kartanon?"

"Senkö, jonka Pancho Cueto repi raunioiksi? Aivan hyvin. Aiotko


sanoa nähneesi vanhan don Estevanin kävelevän siellä pää
sylissään."

"En, mutta minä näin hänet, joka suistui kaivoon ja taittoi


niskansa."

"Mitä? Milloin sinä näit tuon — tuon näyn?"

"Toissa yönä. Hän seisoi kaivon reunalla, ja kasvot loistivat


pimeässä kuin lyhty. Ne olivat kuin tulessa, ja hän katosi ja ilmestyi
jälleen kuin perhonen lampun valoon. Menen heti tunnustamaan
syntini. Miehet nauroivat samoin kuin minäkin ensin nauroin, kun
kerroin heille, mitä olin nähnyt, mutta viime yönä meni pari pahinta
epäilijää tuota kummaa katsomaan."

"Jahah; eivätkä nähneet tietysti mitään."

"Anteeksi, eversti. He palasivat kylmä hiki otsallaan ja viettivät


loppuyön polvillaan. Nainen oli siellä jälleen. Olettehan nähnyt meren
välkehtivän yöllä? Miehet sanoivat, että naisen kasvot hehkuivat
aivan samalla tavalla, ja maan sisästä kuului kahleiden kalinaa ja
vasarain pauketta. Kertomuksen onnettomuustapauksesta tiedätte,
joten asia on selvä. Mutta kamalaa se vain on."

"Todellakin kummallista", myönsi Cobo; "mutta jokin selitys on


luonnollisesti olemassa ja aivan yksinkertainen. Henget — jos nyt
sellaisia onkaan — ovat vain tyhjää — kuin ilmaa; miten siis
semmoiset voisivat kalistella kahleita? Näit luultavasti vain jonkun
kurjan 'rauhoitetun', joka oli etsimässä jotakin syötävää, ja kuvittelit
loput."

"En suinkaan! Kuulinhan kaikki omin korvin. Kuiskauksia, äänten


mutinaa, valitusta ja vanhan Sebastianin vasaran kalkutusta. Tuo
vanha orja on synteinsä tähden kahlehdittu johonkin La Cumbren
luolaan. Äänetönkö? Enhän ole lapsi! Tiedän kyllä milloin nukun ja
milloin olen valveilla. Paikka on noiduttu, enkä lähde sinne enää
millään hinnalla."

Cobo vaipui mietteisiinsä antaen savukkeen hiiltyä, niin että se


viimein poltti hänen paksuja sormiaan. Hän ei ollut lainkaan
taikauskoinen eikä ylimalkaan uskonut mitään yliluonnollista olevan
olemassakaan, mutta siitä huolimatta hän oli varma, ettei aliupseeri
valehdellut, ja Pancho Cueton mainitseminen johti hänen

You might also like