0% found this document useful (0 votes)
12 views78 pages

Ultimate Python Programming 1st Edition Deepali Srivastava Download

The document provides information about the book 'Ultimate Python Programming' by Deepali Srivastava, which serves as a comprehensive guide to learning Python with over 650 programs, 900 practice questions, and 5 projects. It covers core programming concepts, problem-solving skills, and includes various exercises to enhance learning. The book is designed for both beginners and those with prior knowledge of Python, offering a structured approach to mastering the language.

Uploaded by

anteeargonwh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views78 pages

Ultimate Python Programming 1st Edition Deepali Srivastava Download

The document provides information about the book 'Ultimate Python Programming' by Deepali Srivastava, which serves as a comprehensive guide to learning Python with over 650 programs, 900 practice questions, and 5 projects. It covers core programming concepts, problem-solving skills, and includes various exercises to enhance learning. The book is designed for both beginners and those with prior knowledge of Python, offering a structured approach to mastering the language.

Uploaded by

anteeargonwh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 78

Ultimate Python Programming 1st Edition Deepali

Srivastava download

https://ebookgate.com/product/ultimate-python-programming-1st-
edition-deepali-srivastava/

Get Instant Ebook Downloads – Browse at https://ebookgate.com


Get Your Digital Files Instantly: PDF, ePub, MOBI and More
Quick Digital Downloads: PDF, ePub, MOBI and Other Formats

Expert Python Programming 2nd Edition Jaworski

https://ebookgate.com/product/expert-python-programming-2nd-
edition-jaworski/

Python Programming 4th Edition Singh A.

https://ebookgate.com/product/python-programming-4th-edition-
singh-a/

Black hat Python Python programming for hackers and


pentesters 1st Edition Seitz

https://ebookgate.com/product/black-hat-python-python-
programming-for-hackers-and-pentesters-1st-edition-seitz/

Practical Maya Programming with Python 1st Edition


Galanakis

https://ebookgate.com/product/practical-maya-programming-with-
python-1st-edition-galanakis/
Core Python Programming 2nd Edition Wesley Chun

https://ebookgate.com/product/core-python-programming-2nd-
edition-wesley-chun/

Programming Python 3rd ed Edition Mark Lutz

https://ebookgate.com/product/programming-python-3rd-ed-edition-
mark-lutz/

Learning BeagleBone Python Programming Unleash the


potential of BeagleBone using Python 1st Edition Hiam

https://ebookgate.com/product/learning-beaglebone-python-
programming-unleash-the-potential-of-beaglebone-using-python-1st-
edition-hiam/

Advanced Computer Programming in Python 1st Edition


Karim Pichara

https://ebookgate.com/product/advanced-computer-programming-in-
python-1st-edition-karim-pichara/

Python Programming for Teens 1st Edition Kenneth A.


Lambert

https://ebookgate.com/product/python-programming-for-teens-1st-
edition-kenneth-a-lambert/
Cover
Ultimate
Python
ProgrammingLearn Python with 650+
programs, 900+ practice
questions, and 5 projects
Deepali Srivastava

logo

www.bpbonline.com
First Edition 2024

Copyright © BPB Publications, India

ISBN: 978-93-55516-558

All Rights Reserved. No part of this publication may be reproduced,


distributed or transmitted in any form or by any means or stored in a
database or retrieval system, without the prior written permission of the
publisher with the exception to the program listings which may be entered,
stored and executed in a computer system, but they can not be reproduced
by the means of publication, photocopy, recording, or by any electronic and
mechanical means.

LIMITS OF LIABILITY AND DISCLAIMER OF WARRANTY

The information contained in this book is true to correct and the best of
author’s and publisher’s knowledge. The author has made every effort to
ensure the accuracy of these publications, but publisher cannot be held
responsible for any loss or damage arising from any information in this
book.

All trademarks referred to in the book are acknowledged as properties of


their respective owners but BPB Publications cannot guarantee the
accuracy of this information.

www.bpbonline.com
Dedicated to

Sri Anjaneya Swamy


About the Author
Deepali Srivastava has a Masterʼs degree in Mathematics and is an author
and educator in the field of computer science and programming. Her books
“C in Depthˮ and “Data Structures Through C in Depthˮ are widely used as
reference materials by students, programmers and professionals looking to
enhance their understanding of programming languages and data structures.
These books are known for their clarity, depth of coverage, and practical
approach to learning. In addition to her writing, Deepali Srivastava has
been involved in creating online video courses on Data structures and
Algorithms, Linux and Python programming. Her books and courses have
helped 350,000+ students learn computer science concepts. Her work has
been appreciated by students and has been a valuable resource for those
looking to build their programming skills.
Acknowledgement
I would like to thank God for blessing me with the opportunity and
inspiration to write this book, and for giving me the strength to do it.

I am grateful to my husband Suresh Kumar Srivastava for always believing


in my capabilities and consistently inspiring me to give my best. He
introduced me to book writing and helped me unleash my potential. His
thoughtful suggestions and feedback helped me improve the content and
presentation of this book.

I would like to thank my parents, my brother and my sister-in-law for their


unwavering love and support. Blessings of my parents and late parents-in-
law are a major source of my inner strength.

I am indebted to my teachers in my journey of education, especially my


teachers and friends in MJP Rohilkhand University Bareilly, where I got
introduced to the world of programming.

I extend my appreciation to the readers of my books and students of my


online courses for their interest in my work, and for their appreciation and
suggestions. Any sort of feedback is valuable to me and helps me in
improving my work and creating better content.

I am grateful to the BPB publication team for their guidance and support
provided during every step of the publishing journey. Special appreciation
goes to the editing team, layout team, and all other contributors involved in
bringing this book to life.
Preface
Python is a widely used general-purpose programming language. Its
popularity can be attributed to its simplicity and a rich set of powerful
features. The clean and intuitive syntax makes it an excellent choice for
novices, allowing them to grasp the fundamentals of programming quickly,
and the advanced features make it appealing to experienced programmers
too. It can run on various platforms, including Windows, macOS, and
Linux. Since it is an open-source software, it is freely available to all.

The widespread usage of Python is evident in the technology world, with


major companies and organizations such as Google, Amazon, Instagram,
Facebook, and NASA using it in different ways. Whether you are involved
in machine learning, data science, artificial intelligence, scientific
computing, automation or you need to create robust web applications and
games, Python provides the necessary tools and resources. The extensive
collection of libraries available in Python can be effectively utilized across
diverse domains. Therefore, adding Python to your skill set can greatly
enhance your capabilities and open up numerous opportunities in various
fields.

This book provides a thorough and comprehensive introduction to Python,


focusing on the core programming concepts and problem-solving skills
required for building a solid foundation in programming. Throughout the
book, there are numerous programming examples and end-of-chapter
exercises to give you a hands-on experience. The exercises include
multiple-choice questions and programming problems; multiple-choice
questions will assess both your memory and comprehension of the topic,
while the programming exercises will provide you with a chance to apply
the acquired concepts. The book includes coding conventions and best
practices for writing efficient, readable, and maintainable code. The code in
the book is written and tested using Python version 3.11, which is the most
recent version at the time of publishing the book.

Python is easy to learn. You can start writing Python programs within a few
days. However, if you wish to leverage all the powerful features of Python,
a more in-depth exploration is required. The content in this book can assist
you in achieving that. This book includes 21 chapters that gradually
introduce new topics so learners can proceed at a sustainable pace. If you
are a beginner, start from the first chapter and go through all the chapters in
order, and work out the examples and exercises along the way. If you have
a working knowledge of Python, you can quickly browse through the initial
chapters and then randomly jump to topics that are new to you or that you
want to master. However, I would still recommend reading the chapters in
sequence to get the most out of the book. If you are transitioning from
some other language, you might be tempted to skip the initial information,
but I would suggest you go through all the basic details to avoid any
confusion later. Here is a brief summary of the chapters presented in the
book.

Chapter 1 is an introduction to Python and shows the installation process.


Chapter 2 covers the fundamental elements of Python, such as data types,
variables, input, output, and many other basic concepts you need to get
started in Python. Chapter 3 provides a detailed explanation of strings that
represent textual data in Python. Chapters 4 and 5 cover the container
types: lists, tuples, dictionaries, and sets. Chapter 6 provides an insight into
conditional execution. In chapter 7, we will see how to perform repetitive
tasks using loops, and chapter 8 discusses some common looping
techniques in Python. Chapter 9 introduces the concept of comprehensions
which help us write shorter and readable code.

Chapter 10 contains detailed coverage of functions. We will see how to


create our own functions and will discuss parameters, arguments,
arguments passing, function objects, and many other details about
functions. Chapter 11 shows how to create and use modules and packages.
Chapter 12 is about namespaces and scoping rules. Chapter 13 shows how
to write programs that can create files, write data into files, and read the
data stored in files. Chapters 14, 15, and 16 provide you with a strong
understanding of the object-oriented concepts. We will discuss classes,
objects, methods, inheritance, polymorphism, and magic methods. Chapters
17 and 18 are devoted to advanced topics like iterators, generators, and
decorators. Chapter 19 is about functional programming and lambda
functions. Chapter 20 shows how to handle run-time errors in Python, and
Chapter 21 discusses context managers that are used to automate common
resource management patterns.

At the end of each chapter, you will find exercises, and their solutions are
provided at the end of the book. I would suggest that you try to solve these
exercises by yourself before looking at the solution. Solving exercises and
writing code will help you to internalize the concepts presented in the book.

Some typographical conventions are followed throughout the book for a


good reading experience. The code snippets and programs in the book
appear in this font to differentiate them from the regular text. Program
elements, such as variable names, types, etc., within the regular text, are in
this font. Any output produced by the code on the screen as a result of
running a program or anything that the user has to input through the screen
appears in this font.

My aim was to write an absolute hands-on book that is simple enough to


follow and yet gives detailed knowledge. Reading this book will be a
breeze, yet it will give you a comprehensive knowledge of Python and
instill the confidence to excel in any written test, interview, or professional
work. Programming is fun only when you get your hands dirty with code.
Reading a book is not enough for learning programming. I highly
recommend that you try the coding examples and exercises presented in the
book. The efforts you put in to strengthen your fundamentals of core
programming concepts will take you a long way in your software
development journey.

By the end of this book, you will develop a strong foundation in core
Python skills and will get the ability to explore the vast range of
functionalities offered by the standard library and third-party libraries. As
you progress, you will continue to be amazed by the capabilities of Python
and the remarkable libraries available. With your newfound skills you can
venture into diverse fields like data science or machine learning. Moreover,
if this is the first programming language you are learning, equipped with
the foundation of programming concepts and problem-solving skills, you
can easily learn any other programming language.
After using this book as a tutorial to learn the language, you can always
refer to it as a handy resource whenever you need to recall or review any
concept and apply it to your work.

Writing this book was a very enjoyable, insightful, and amazingly


satisfying journey for me and I am sure my readers will have a similar
experience while reading the book. I hope you enjoy reading the book and
start loving Python.

Happy programming!
Code Bundle and Coloured Images
Please follow the link to download the

Code Bundle and the Coloured Images of the book:

https://rebrand.ly/z815rfg

The code bundle for the book is also hosted on GitHub at


https://github.com/bpbpublications/Ultimate-Python-Programming. In case
there’s an update to the code, it will be updated on the existing GitHub
repository.

We have code bundles from our rich catalogue of books and videos
available at https://github.com/bpbpublications. Check them out!

Errata

We take immense pride in our work at BPB Publications and follow best
practices to ensure the accuracy of our content to provide with an indulging
reading experience to our subscribers. Our readers are our mirrors, and we
use their inputs to reflect and improve upon human errors, if any, that may
have occurred during the publishing processes involved. To let us maintain
the quality and help us reach out to any readers who might be having
difficulties due to any unforeseen errors, please write to us at :

[email protected]

Your support, suggestions and feedbacks are highly appreciated by the BPB
Publications’ Family.

Did you know that BPB offers eBook versions of every book published,
with PDF and ePub files available? You can upgrade to the eBook version
at www.bpbonline.com and as a print book customer, you are entitled to a
discount on the eBook copy. Get in touch with us at :

[email protected] for more details.


At www.bpbonline.com, you can also read a collection of free technical
articles, sign up for a range of free newsletters, and receive exclusive
discounts and offers on BPB books and eBooks.

Piracy

If you come across any illegal copies of our works in any form on the
internet, we would be grateful if you would provide us with the location
address or website name. Please contact us at [email protected]
with a link to the material.

If you are interested in becoming an author

If there is a topic that you have expertise in, and you are interested in either
writing or contributing to a book, please visit www.bpbonline.com. We
have worked with thousands of developers and tech professionals, just like
you, to help them share their insights with the global tech community. You
can make a general application, apply for a specific hot topic that we are
recruiting an author for, or submit your own idea.

Reviews

Please leave a review. Once you have read and used this book, why not
leave a review on the site that you purchased it from? Potential readers can
then see and use your unbiased opinion to make purchase decisions. We at
BPB can understand what you think about our products, and our authors
can see your feedback on their book. Thank you!

For more information about BPB, please visit www.bpbonline.com.

Join our book’s Discord space

Join the book’s Discord Workspace for Latest updates, Offers, Tech
happenings around the world, New Release and Sessions with the Authors:

https://discord.bpbonline.com
Table of Contents
1. 1. Introduction to Python

1. 1.1 What makes Python so popular

2. 1.2 Python implementation

3. 1.3 Installing Python

4. 1.4 Python Interactive Mode

5. 1.5 Executing a Python Script

6. 1.6 IDLE

7. 1.7 Getting Help

2. 2. Getting Started

1. 2.1 Identifiers

2. 2.2 Python Types

3. 2.3 Objects

4. 2.4 Variables and assignment statement

5. 2.5 Multiple and Pairwise Assignments

6. 2.6 Deleting a name

7. 2.7 Naming convention for constants

8. 2.8 Operators

1. 2.8.1 Arithmetic operators


2. 2.8.2 Relational operators

3. 2.8.3 Logical operators

4. 2.8.4 Identity operators

5. 2.8.5 Membership operators

6. 2.8.6 Bitwise operators

9. 2.9 Augmented assignment statements

10. 2.10 Expressions

11. 2.11 Order of operations: Operator Precedence and Associativity

12. 2.12 Type Conversion

13. 2.13 Statements

14. 2.14 Printing Output

15. 2.15 Getting user input

16. 2.16 Complete programs

17. 2.17 Comments

18. 2.18 Indentation in Python

19. 2.19 Container types

20. 2.20 Mutable and Immutable Types

21. 2.21 Functions and methods

22. 2.22 Importing

23. 2.23 Revisiting interactive mode


24. 2.24 Errors

25. 2.25 PEP8

26. Exercise

3. 3. Strings

1. 3.1 Indexing

2. 3.2 Strings are immutable

3. 3.3 String Slicing

4. 3.4 String Concatenation and Repetition

5. 3.5 Checking membership

6. 3.6 Adding whitespace to strings

7. 3.7 Creating multiline strings

8. 3.8 String methods

9. 3.9 Case-changing methods

10. 3.10 Character classification methods

11. 3.11 Aligning text within strings

12. 3.12 Removing unwanted leading and trailing characters

13. 3.13 Searching and replacing substrings

14. 3.14 Chaining method calls

15. 3.15 String comparison

16. 3.16 String conversions


17. 3.17 Escape Sequences

18. 3.18 Raw string literals

19. 3.19 String formatting

20. 3.20 String formatting using the format() method of string class

21. 3.21 Representation of text - character encodings

22. Exercise

4. 4. Lists and Tuples

1. 4.1 Accessing individual elements of a list by indexing

2. 4.2 Getting parts of a list by slicing

3. 4.3 Changing an item in a list by index assignment

4. 4.4 Changing a Portion of the list by slice assignment

5. 4.5 Adding an item at the end of the list by using append()

6. 4.6 Adding an item anywhere in the list by using insert()

7. 4.7 Adding multiple items at the end by using extend() or +=

8. 4.8 Removing a single element or a slice by using the del


statement

9. 4.9 Removing an element by index and getting it by using pop()

10. 4.10 Removing an element by value using remove()

11. 4.11 Removing all the elements by using clear()

12. 4.12 Sorting a List

13. 4.13 Reversing a List


14. 4.14 Finding an item in the list

15. 4.15 Comparing Lists

16. 4.16 Built-in functions used on lists

17. 4.17 Concatenation and Replication

18. 4.18 Using a list with functions from the random module

19. 4.19 Creating a list

20. 4.20 Using range to create a list of integers

21. 4.21 Using the repetition operator to create a list of repeated


values

22. 4.22 Creating a list by splitting a string

23. 4.23 Converting a list of strings to a single string using join()

24. 4.24 List of Lists (Nested lists)

25. 4.25 Copying a list

26. 4.26 Shallow copy and deep copy

27. 4.27 Repetition operator with nested lists

28. 4.28 Tuples

29. 4.29 Tuple packing and unpacking

30. Exercise

5. 5. Dictionaries and Sets

1. 5.1 Dictionaries

2. 5.2 Adding new key-value pairs


3. 5.3 Modifying Values

4. 5.4 Getting a value from a key by using the get() method

5. 5.5 Getting a value from a key by using the setdefault() method

6. 5.6 Getting all keys, all values, and all key-value pairs

7. 5.7 Checking for the existence of a key or a value in a dictionary

8. 5.8 Comparing dictionaries

9. 5.9 Deleting key-value pairs from a dictionary

10. 5.10 Creating a Dictionary at run time

11. 5.11 Creating a dictionary from existing data by using dict()

12. 5.12 Creating a dictionary by using the fromkeys() method

13. 5.13 Combining dictionaries

14. 5.14 Nesting of dictionaries

15. 5.15 Aliasing and Shallow vs. Deep Copy

16. 5.16 Introduction to sets

17. 5.17 Creating a set

18. 5.18 Adding and Removing elements

19. 5.19 Comparing sets

20. 5.20 Union, intersection, and difference of sets

21. 5.21 Frozenset

22. Exercise
6. 6. Conditional Execution

1. 6.1 if statement

2. 6.2 else clause in if statement

3. 6.3 Nested if statements

4. 6.4 Multiway selection by using elif clause

5. 6.5 Truthiness

6. 6.6 Short circuit behavior of operators and and or

7. 6.7 Values returned by and and or operators

8. 6.8 if else operator

9. Exercise

7. 7. Loops

1. 7.1 while loop

1. 7.1.1 Indentation matters

2. 7.1.2 Removing all occurrences of a value from the list


using the while loop

3. 7.1.3 while loop for input error checking

4. 7.1.4 Storing user input in a list or dictionary

2. 7.2 for loop

1. 7.2.1 Iterating over a string with for loop

2. 7.2.2 Unpacking in for loop header

3. 7.2.3 Iterating over dictionaries and sets


4. 7.2.4 Iterating through a series of integers

3. 7.3 Nesting of Loops

1. 7.3.1 Using nested loops to generate combinations

2. 7.3.2 Iterating over nested data structures

4. 7.4 Premature termination of loops using the break statement

5. 7.5 continue statement

6. 7.6 else block in Loops

7. 7.7 pass statement

8. 7.8 for loop vs. while loop

9. Exercise

8. 8. Looping Techniques

1. 8.1 Iterating in sorted and reversed order

2. 8.2 Iterating over unique values

3. 8.3 Index-Based for loops

4. 8.4 Making in-place changes in a list while iterating

5. 8.5 Skipping some items while iterating

6. 8.6 Using range and len combination to shuffle a sequence

7. 8.7 enumerate function

8. 8.8 Iterating over multiple sequences using zip

9. 8.9 Modifying a collection while iterating in a for loop


10. 8.10 Infinite loop with break

11. 8.11 Avoiding complex logical conditions using break

12. Exercise

9. 9. Comprehensions

1. 9.1 List Comprehensions

2. 9.2 if clause in list comprehension

3. 9.3 Ternary operator in list comprehension

4. 9.4 Modifying a list while iterating

5. 9.5 Getting keys from values in a dictionary using list


comprehension

6. 9.6 Using list comprehensions to avoid aliasing while creating


lists of lists

7. 9.7 Multiple for clauses and Nested list Comprehensions

8. 9.8 Extracting a column in a matrix

9. 9.9 Dictionary Comprehensions

10. 9.10 Inverting the dictionary

11. 9.11 Set Comprehensions

12. 9.12 When not to use comprehensions

13. Exercise

10. 10. Functions

1. 10.1 Function Definition


2. 10.2 Function call

3. 10.3 Flow of control

4. 10.4 Parameters and Arguments

5. 10.5 No type checking of arguments

6. 10.6 Local Variables

7. 10.7 return statement

8. 10.8 Returning Multiple Values

9. 10.9 Semantics of argument passing

1. 10.9.1 Why study argument passing

2. 10.9.2 Pass by assignment

3. 10.9.3 Assignment inside function rebounds the parameter


name

4. 10.9.4 Immutables vs Mutables as arguments

5. 10.9.5 How to get the changed value of an immutable type

6. 10.9.6 How to prevent change in mutable types

7. 10.9.7 Digression for programmers from other languages

8. 10.9.8 Advantages of Python’s information passing

10. 10.10 Default Arguments

11. 10.11 Default arguments that could change over time

12. 10.12 Positional and Keyword Arguments

13. 10.13 Unpacking Arguments


14. 10.14 Variable number of positional arguments

15. 10.15 Variable number of keyword arguments

16. 10.16 Keyword-only arguments

17. 10.17 Positional-Only Arguments

18. 10.18 Multiple Unpackings in a Python Function Call

19. 10.19 Arguments and Parameters summary

20. 10.20 Function Objects

21. 10.21 Attributes of a function

22. 10.22 Doctrsings

23. 10.23 Function Annotations

24. 10.24 Recursive Functions

25. Exercise

11. 11. Modules and Packages

1. 11.1 Modules

2. 11.2 Types of modules

3. 11.3 Exploring modules

4. 11.4 Creating and naming a new module

5. 11.5 Importing a module

6. 11.6 Importing all names from a module

7. 11.7 Restricting names that can be imported


8. 11.8 Importing individual names from a module

9. 11.9 Using an alias while importing

10. 11.10 Documenting a module

11. 11.11 Module search Path

12. 11.12 Module object

13. 11.13 Byte compiled version of a module

14. 11.14 Reloading a module

15. 11.15 Scripts and modules

16. 11.16 Packages

17. 11.17 Importing a package and its contents

18. 11.18 Subpackages

19. 11.19 Relative imports

20. Exercise

12. 12. Namespaces and Scope

1. 12.1 Namespaces

2. 12.2 Inspecting namespaces

3. 12.3 Scope

4. 12.4 Name Resolution

5. 12.5 global statement

6. 12.6 nonlocal statement


7. Exercise

13. 13. Files

1. 13.1 Opening a File

2. 13.2 File opening modes

3. 13.3 Buffering

4. 13.4 Binary and Text Files

5. 13.5 Closing a file

6. 13.6 with statement

7. 13.7 Random Access

8. 13.8 Using seek in text mode

9. 13.9 Calling seek in append mode

10. 13.10 Reading and writing to the same file

11. 13.11 Reading a File using read()

12. 13.12 Line oriented reading

13. 13.13 Writing to a file

14. 13.14 Redirecting output of print to a file

15. 13.15 Example Programs

16. 13.16 File Related Modules

17. 13.17 Command Line Arguments

18. 13.18 Storing and Retrieving Python objects using pickle


19. Exercise

20. Project : Hangman Game

14. 14. Object Oriented Programming

1. 14.1 Programming Paradigms

2. 14.2 Introduction to object-oriented programming

3. 14.3 Defining Classes and Creating Instance Objects

4. 14.4 Adding methods to the class

5. 14.5 Adding instance variables

6. 14.6 Calling a method inside another method

7. 14.7 Common pitfalls

8. 14.8 Initializer

9. 14.9 Data Hiding

10. 14.10 Class Variables

11. 14.11 Class and object namespaces

12. 14.12 Changing a class variable through an instance

13. 14.13 Class Methods

14. 14.14 Creating alternative initializers using class Methods

15. 14.15 Static Methods

16. 14.16 Creating Managed Attributes using properties

1. 14.16.1 Creating read only attributes using properties


2. 14.16.2 Creating Computed attributes using properties

3. 14.16.3 Deleter method of property

17. 14.17 Designing a class

18. Exercise

19. Project : Quiz creation

20. Project : Snakes and Ladders Game

21. Project : Log in system

15. 15. Magic Methods

1. 15.1 Overloading Binary Arithmetic operators

2. 15.2 Reverse methods

3. 15.3 In-place methods

4. 15.4 Magic Methods for comparison

5. 15.5 Comparing objects of different classes

6. 15.6 String representation of an instance object

7. 15.7 Construction and destruction of objects

8. 15.8 Making instance objects callable

9. 15.9 Overloading type conversion functions

10. 15.10 List of magic methods

11. Exercise

12. Project : Date Class


16. 16. Inheritance and Polymorphism

1. 16.1 Inheriting a class

2. 16.2 Adding new methods and data members to the derived class

3. 16.3 Overriding a base Method

4. 16.4 Invoking the base class methods

5. 16.5 Multilevel Inheritance

6. 16.6 object class

7. 16.7 Multiple Inheritance

8. 16.8 Method Resolution Order (MRO)

9. 16.9 super and MRO

10. 16.10 Polymorphism

11. 16.11 Abstract Base classes

12. 16.12 Composition

13. Exercise

17. 17. Iterators and Generators

1. 17.1 Iterables

2. 17.2 Iterators

3. 17.3 for loop Iteration Context – How for loop works

4. 17.4 Iteration Tools

5. 17.5 Iterator vs Iterable


6. 17.6 Creating your own Iterator

7. 17.7 Making your class Iterable

8. 17.8 Some More Iterators

9. 17.9 Lazy evaluation

10. 17.10 itertools Module

11. 17.11 Generators

12. 17.12 Generator function vs Normal function

13. 17.13 Generator expressions

14. Exercise

18. 18. Decorators

1. 18.1 Prerequisites for understanding decorators

2. 18.2 Introduction to decorators

3. 18.3 Writing your first decorator

4. 18.4 Applying your decorator to multiple functions

5. 18.5 Automatic decoration syntax

6. 18.6 Decorator Example: Timer

7. 18.7 Decorator Example: Logger

8. 18.8 Decorator Example: Counting function calls

9. 18.9 Applications of decorators

10. 18.10 Decorating functions that take arguments


11. 18.11 Returning values from decorated functions

12. 18.12 Decorator Example: Checking return values

13. 18.13 Decorator Example: Checking argument values

14. 18.14 Applying Multiple Decorators

15. 18.15 Preserving metadata of a function after decoration

16. 18.16 General template for writing a decorator

17. 18.17 Decorators with parameters

18. 18.18 General template for writing a decorator factory

19. 18.19 Decorator factory example

20. 18.20 Applying decorators to imported functions

21. 18.21 Decorating classes

22. 18.22 Class Decorators

23. 18.23 Class Decorators with parameters

24. Exercise

19. 19. Lambda Expressions and Functional Programming

1. 19.1 Lambda expression

2. 19.2 Comparing def statement and lambda expression

3. 19.3 Examples of lambda expressions

4. 19.4 Using Lambda expressions

5. 19.5 Using lambda expressions for returning function objects


6. 19.6 Lambda expressions as closures

7. 19.7 Creating jump tables using lambda functions

8. 19.8 Using lambda expressions in sorted built-in function

9. 19.9 Functional programming

10. 19.10 map

11. 19.11 map with multiple iterables

12. 19.12 filter

13. 19.13 Reducing an iterable

14. 19.14 Built-in reducing functions

15. 19.15 operator module

16. Exercise

20. 20. Exception Handling

1. 20.1 Types of Errors

2. 20.2 Strategies to handle exceptions in your code

3. 20.3 Error Handling by Python (Default exception handling)

4. 20.4 Built-in Exceptions: Python Exceptions Class Hierarchy

5. 20.5 Customized Exception Handling by using try…except

6. 20.6 Catching multiple exceptions using multiple except


handlers and single except handler

7. 20.7 How to handle an exception

8. 20.8 Guaranteed execution of finally block


9. 20.9 else Block

10. 20.10 Why do we need an else block

11. 20.11 How to get exception details

12. 20.12 Nested try statements

13. 20.13 Raising Exception

14. 20.14 Re-raising Exception

15. 20.15 Chaining Exceptions

16. 20.16 Creating your own exceptions in Python (Custom


exceptions)

17. 20.17 Assertions

18. Exercise

21. 21. Context Managers

1. 21.1 with statement

2. 21.2 Implementing our own context manager

3. 21.3 Exception raised inside with block

4. 21.4 Why we need with statement and context managers

5. 21.5 Runtime context

6. 21.6 Example: Sending output of a portion of code to a file

7. 21.7 Example : Finding time taken by a piece of code

8. 21.8 Using context managers in the standard library

9. 21.9 Nested with statements and multiple context Managers


10. 21.10 Implementing a context manager by using a decorator on a
generator

11. Exercise

22. Solutions

23. Index
Introduction to Python 1

Python is a widely used high-level and general-purpose programming


language originally developed by Guido Van Rossum in the early 1990s in
the Netherlands. It is maintained by a community of core developers who are
actively engaged in its growth and advancement. Although the official logo
of Python shows two intertwined snakes, it is not named after any snake.
Van Rossum named this language after a 1970s comedy show 'Monty
Python's Flying Circus'.
Python has three major versions; the initial version, Python 1.0, was released
in January 1994. The second major version, Python 2.0, was released in
2000, and the third major version, Python 3.0, was released in 2008. Python
3 is not backward compatible with Python 2; this means that the code written
in Python 2 may not work as expected in Python 3 without making some
modifications. In this book, we will use Python 3. The latest release of
Python is available on its official website www.python.org. Python is an
open-source software, which means that it is free to use and distribute.

1.1 What makes Python so popular


Python is a general-purpose language used in a wide variety of domains. It is
used extensively in different fields such as web development, data mining,
artificial intelligence, image processing, robotics, network programming,
developing user interfaces, database programming, scientific and
mathematical computing, game programming, and even education. Most of
the top companies and organizations, such as Google, Facebook, Amazon,
and NASA, use Python in different ways. Let us see some of the key factors
that contribute to Python's popularity.
Python is very easy to learn. It doesn't take much time to become productive
with Python. This is why it is often the introductory programming language
taught in many universities. Compared to languages such as C++ or Java,
Python code tends to be more concise, requiring fewer lines of code to
achieve the same functionality. Due to the simple syntax of Python,
programmers can focus more on finding the solution to a problem instead of
getting caught up in complex language features. Python uses indentation for
grouping together statements, resulting in a visually clean layout that
enhances code readability.
Python offers a convenient command line interface known as the 'Python
interactive shell' or 'Python REPL' (Read-Eval-Print Loop). With the Python
interpreter, you have the option to work interactively, allowing you to test
and debug small sections of code in real-time. The interactive mode serves
as a useful tool for experimenting and exploring Python's features.
One of the main advantages of Python is that it takes care of memory
management automatically. Python's built-in memory management system
allocates memory when needed and frees it up when it is no longer in use.
Programmers do not have to worry about managing memory manually, as
they would have to do in other languages like C or C++.
Python includes a vast standard library of modules; this is why the phrase
'Batteries included' is often used for Python. These modules contain code
that you can use in your own programs. In addition to the extensive standard
library, many third-party libraries are also available for use. Thus, you have
access to lots of prewritten reusable code in the form of standard library
modules and third-party modules, which can do most of the work for you
and save you from reinventing the wheel. This code can be incorporated into
your code to develop complex solutions with minimal effort. Whether you
are working on web programming, creating graphics, analyzing data,
performing mathematical calculations, engaging in scientific computing, or
developing games, you will find reusable code modules that can help you
achieve your goals.
Python supports multiple programming paradigms, including procedural,
functional, and object-oriented programming. Thus, programmers have the
flexibility to choose the coding structure that best suits their needs. The
object-oriented features of Python are much easier to implement and are
more intuitive when compared to similar features found in other
programming languages.
Python is a cross-platform and portable programming language, which
means that programs written in Python can be developed and executed on
various hardware platforms and operating systems. The same code can be
executed on multiple platforms without making any significant changes. The
cross-platform development minimizes the efforts required to adapt the
programs to different systems and thus facilitates code reuse and sharing on
different platforms.
Python has the capability to interact with software components written in
other languages. Python code can call libraries written in C and C++, and it
can also integrate with components developed in Java and .NET. This allows
Python programmers to tap into the strengths and functionalities of other
languages and libraries written in them. Python is also embeddable which
means that Python code can be placed within the code of another language
like C or C++.
Another reason for Python's popularity is its large base of active and
supportive developer community. Community members are actively engaged
in improving and enhancing the capabilities of Python as well as in
developing various libraries and tools. There are numerous resources and
extensive support available due to the vibrant community members.
Python has emerged as the preferred programming language for developers
because of its ease of use and powerful features. It is suitable both for
beginners and experts alike, and due to its versatility, it can be used in a
variety of applications.
In the next section we will learn about Python implementations and will see
what happens internally when a Python program is executed. While it is not
necessary to have this knowledge in order to write and run programs, having
a fundamental understanding of what occurs behind the scenes during
program execution is beneficial for a comprehensive understanding of the
language.

1.2 Python implementation


The terms C, C++, Basic, Java, or Python refer to programming languages,
which are essentially sets of rules and specifications. In order to use these
languages, they need to be implemented by creating software that allows us
to write programs in that language and run them on a computer. The
implementation of a language is the program that actually runs the code that
you write in that language. An implementation translates the source code to
native machine code instructions (binary 0s and 1s) so that the computer's
processor can execute it.
There are primarily two approaches to implementing a programming
language: compilation and interpretation. In compilation, a compiler
translates the complete program code in one go to another language such as
machine code or bytecode. If the translated code is machine code that is
understood by the processor, then it is directly executed, and if it is
bytecode, then it has to be again input to another interpreter or compiler. In
interpretation, an interpreter translates the code to machine code one line at a
time; a line of code is read, translated, and executed, then the next line is
read, translated, and executed, and so on. The code is translated line by line
at run time, so the interpreted implementations tend to be slower than the
compiled ones, which translate the whole code at once.
An implementation of a language can be a compiler, interpreter, or a
combination of both. A programming language can have multiple
implementations, and these implementations can be written in different
languages and can use different approaches to compile or interpret code. The
notion of interpretation and compilation is associated with language
implementation rather than the language itself; describing a language as
compiled or interpreted is not technically correct. The language
implementations that are written for a language are described as compiled or
interpreted and not the language. Compilation or interpretation is not a part
of the language specification; it is an implementation decision. The
implementations of C and C++ mostly use the compilation approach, while
Java, Python, and C# implementations generally use a combination of
compilation and interpretation techniques. C and C++ compilers translate
source code to machine code, which is executed directly by the processor.
Python has multiple implementations. The original and standard
implementation of Python is CPython written in C language. It is the most
widely used and up-to-date implementation of Python. When you download
Python software from the official site python.org, this is the implementation
that you get. The other implementations are Jython written in Java, and
IronPython written for the .NET platform. PyPy is the implementation that is
written in RPython, which is a subset of Python.
The software that is used for running Python programs is referred to as
Python interpreter. Let us understand how CPython interpreter combines the
compilation and interpretation techniques to execute a Python program.
We write our Python code in a source file (.py file), but the computer cannot
understand and execute this code; it can execute only machine code, which
consists of instructions written in binary form (0s and 1s). The source code
has to be converted to machine code so that the processor can execute it. The
source code is not directly converted to machine code. It is first compiled
into an intermediate form known as the bytecode. This bytecode is a low-
level code that is Python-specific and platform-independent, but it is not
understandable to the processor.
There is another software called Python Virtual Machine (PVM), that is
responsible for executing this bytecode on a specific platform. The bytecode
passes through the Python Virtual machine; it interprets this bytecode, which
means that it converts the bytecode instructions to machine code instructions
one by one and sends these machine code instructions to the processor for
execution, and we get the output. So, the job of PVM is to convert the
bytecode instructions to machine code instructions that the processor can
understand and execute.

Figure 1.1: The execution of a Python program

This is what happens when we execute a Python program. The intermediate


compilation step is hidden from the programmer; we can just type and run
our program immediately. The programmer does not have to explicitly
compile the code, so there is no separate compile time in Python; there is
only runtime. The compilation to bytecode is done to improve the efficiency
as the bytecode can be interpreted faster than the original source code.
In this whole process, the bytecode complier is a software that converts
source code to bytecode, and PVM is a software that converts bytecode to
machine code for the target platform. Python Virtual machine contains some
platform-specific components that may be implemented differently for each
platform. This allows the virtual machine to covert the bytecode into native
machine code according to the platform. It abstracts away the underlying
hardware and operating system details and thus provides a consistent
runtime environment for Python programs across different platforms. Both
the bytecode compiler and the virtual machine are part of the Python
interpreter software and are included in your Python installation.
The intermediate bytecode is generally cached for faster execution. It is
stored in .pyc or .pyo files inside a folder named __pycache__ and the
programmer can just ignore these files. When the program is run multiple
times without modifying the source code, the compiled bytecode from the
cached file is loaded and executed instead of re-compiling from source code
to bytecode every time. This bytecode is stored only for imported files, not
for the top-level scripts; we will see the difference between the two later in
the book.
The Jython implementation translates Python code into Java bytecode,
enabling its execution on a Java virtual machine. An advantage of Jython is
its ability to directly access Java libraries. Similarly, IronPython is designed
for the .NET framework and facilitates integration with .NET components.
Some implementations of virtual machines (bytecode interpreters) use just-
in-time (JIT) compilation approach to speed up the interpretation process.
The PyPy implementation of Python has better speed as it includes a just-in-
time compiler for faster execution of the bytecode. Just-in-time compiler
will compile the frequently executed blocks of bytecode to machine code
and cache the result. Next time, when the virtual machine has to execute the
same block of bytecode, the precompiled(cached) machine code is utilized
and executed, resulting in faster execution. So, the JIT compiler uses the
compilation approach to improve the efficiency of bytecode execution.

1.3 Installing Python


To download Python, visit the official website of Python. On the homepage,
select the Downloads option to go to the download page, or you can directly
go to www.python.org/downloads/. The website will automatically detect
your operating system and provide a suitable installer that corresponds to
your system's requirements, whether it be 32-bit or 64-bit. Click on the
Download button to download the installer (.exe) file for the latest version of
Python. At the time of writing this book, the latest version is 3.11.3. If you
wish to download any previous version of Python, you can scroll down the
page and click on the download button located next to the version number
you desire.

Figure 1.2: Official website of Python

Once the download is complete, double-click on the installer to execute it


and begin the installation process. On the first screen of the installer, you
will be presented with two choices: "Install Now" and "Customize
Installation." Clicking on "Install Now" will install Python with the default
features, while clicking on "Customize Installation" will allow you to
change the installation location or install other optional and advanced
features. The defaults should work well for now, so we will go with Install
Now. Before clicking on Install Now, make sure to select the Add
python.exe to PATH checkbox, as this will add Python to your system's
PATH environment variable and will enable you to run Python from the
command prompt.

Figure 1.3: Installing Python

Click Yes if it asks for permission to make changes to your device. The
installation begins, and all the required Python files, along with the standard
library, will be installed on your system.
Figure 1.4: Installation in progress

After the installation is complete, the following pop-up box will appear. This
shows that Python is installed on your system. Click on Close to complete
the installation and exit the installer. The appearance of the images shown in
the screenshots may vary depending on the version of Python that you
choose to install.
Figure 1.5: Installation successful

To verify the installation, write cmd in the Start search menu to open the
command prompt window and type the command python --version.
If Python has been successfully installed on your system, it will show the
version of the Python installed. Now write python (all in lowercase) in the
command window. You will see a line with some text describing the Python
version, and after that, you will see a prompt with three greater-than signs
(>>>). This is the Python shell prompt. Write 8 + 2 and press Enter; you
will get the output as 10 on the next line. The prompt appears again; this
time, write print('Hello world'), and the text Hello world will
appear on the next line. This verifies that Python is up and working on your
system. On this interactive Python shell, you can execute single statements
of Python. To quit this Python shell and come back to your command
prompt, type quit() or exit() or press Ctrl-Z.
Figure 1.6: Verifying installation on the command line

You can also verify your installation by opening the Integrated Development
and Learning Environment application(IDLE), which is installed by default
with Python. To open IDLE, type idle or python in the Start search menu
and click on the IDLE app. If the installation is successful, IDLE will show
an interactive Python shell window in which you can type Python commands
at the shell prompt (>>>) and execute them.

Figure 1.7: Verifying installation on IDLE

Installation on Mac is done in a similar way. Most macOS systems come


with Python, but usually, it is the 2.x version. To check if Python is installed,
type python --version on your terminal. To check if Python 3 is
installed, type python3 --version on your terminal. If Python 3 is not
installed, you can install it from the official website, and if it is installed, you
can update it to get the latest version.
Visit the official Python website and download the installer package (.pkg
file) that if offers for your system. After downloading, double-click on the
installer to run the installation process. Proceed with the installation by
following the on-screen instructions and accepting the defaults. You may
need to enter your administrator password to authorize the installation.
After the installation process is complete, Python's installation folder will
automatically open up. Inside this folder, you will find IDLE application,
which, as we have seen, is the development environment that comes with
Python. Double-click on this application to open it. If the installation is
successful, IDLE will display the interactive Python shell. You can type
Discovering Diverse Content Through
Random Scribd Documents
zum Akkord, zu kunstvollen Läufen aus und endete in einem Choral,
in den die schrillen Stimmen der Kleinen bis zu den rauhen
Mutationsstimmen der Großen energisch einstimmten.
Professor Bruhn machte eine sonderbare Bewegung mit Körper
und Gesicht, die aussah wie eine einzige große Grimasse.
„Satansmusik!“ äußerte er.
Der Adjunkt Hallin warf dem Kollegen — der beiden jungen
Lehrer wegen — einen warnenden Blick zu. Pastor Simonson
mißbilligte durch seine ganze Haltung, seinen ganzen
Gesichtsausdruck die unpassende Äußerung; der andere Lehrer
schien es komisch zu finden; man sah es seinem Gesicht an, wie er
sich über den wunderlichen Kauz am Kachelofen amüsierte.
Professor Bruhn kümmerte sich keineswegs um die Warnung, die
im Blick des Adjunkten lag; ruhig fuhr er in seinen Bemerkungen
fort.
„Eine Satansmusik! sag ich! Ist’s etwa ein Verbrechen, wenn man
das sagt? Ist vielleicht die Orgel, die da droben in dem alten Saal
steht, und vor der Petterson sitzt und aus Haeffners Choralbuch
spielt, so was ganz besonders Heiliges? Spielt man vielleicht jetzt
Gottes Wort? Und wird es etwa heiliger darum, daß die Jungens
hinter ihren Choralbüchern dazu grinsen?“
Pastor Simonsons Nasenflügel bebten. Er hegte eine Antipathie
gegen Bruhn; denn er ahnte instinktiv in ihm den Gegner und hielt
ihn außerdem für roh und ungeschliffen. Auch führte er lieber selber
das Wort.
„Für mich“, sagte er, „hat der Ton der Orgel immer etwas
Ehrwürdiges, auch wenn man sich — in künstlerischer Hinsicht —
eine vollendetere Ausführung vorstellen könnte.“
Professor Bruhn schneuzte sich.
„O!“ sagte er ruhig. „Das ist ja eine sehr interessante Erklärung!“
Der junge Lehrer lachte laut auf, und Pastor Simonson sah aus,
als ertrage er mit christlicher Geduld eine unerhörte Verunglimpfung.
Plötzlich verstummte die Orgel oben. Eine kleine Weile herrschte
Schweigen.
„Glauben Sie, daß die Jungens jetzt beten, Herr Pastor? Wenn sie
auch ihre Choralbücher unter der Nase haben?“ fragte Professor
Bruhn und nahm eine gewaltige Prise.
„Ja“, erwiderte der junge Pastor mit einer Stimme, die vor
Verdruß bebte. „Ich m ö c h t e es zum mindesten glauben.“
„Ach so“! sagte Professor Bruhn. „Na — ich nicht!“
Inzwischen hörte man von droben das Scharren von Bänken, die
zur Seite geschoben, das Trampeln von Füßen, die ungeduldig
ausgestreckt wurden und den Boden stampften. Man hörte, wie die
großen Doppeltüren aufgerissen wurden, hörte den taktfesten Schritt
der kleinen Füße der unteren Klassen, der immer ungeregelter wird.
Eine heitere Knabenstimme drang ab und zu ins Lehrerzimmer, ein
helles Lachen, das durch den Korridor klang und ein Echo weckte.
Mehr wurden es, immer mehr, und als sich schließlich noch der feste
Schritt der älteren Jungens mit dem der Kleinen mischte, da ging
bald alles über in ein unordentliches, wirres Geräusch von Stimmen,
Trampeln, Lachen, Schreien, Gedränge, Gepuffe, Türzuwerfen. Als
die Schar am Lehrerzimmer vorbeikam, ward es stiller, aber als sie
an der gefahrvollen Stelle vorüber waren, nahm der Lärm wieder zu.
Und durch all das Unwesen hörte man die Stimme des
Religionslehrers, der an der Treppe mit seinem Stock aufs Geländer
schlug und rief: „Wollt ihr wohl Ordnung halten, ihr da drunten!“
Und während all des Unwesens stand der Professor Bruhn und
lachte in sich hinein, ein glucksendes, sarkastisches Lachen, als
wollte er sagen: jetzt nehmen sie wieder Schaden an ihrer Seele —
nach all dem Gebet und Choralsingen!
Pastor Simonson merkte das freilich nicht. Er hatte Professor
Bruhn den Rücken zugewandt und redete mit ein paar älteren
Lehrern, die inzwischen gekommen waren.
Es war mittlerweile fünf Minuten über Sieben geworden; alle
machten sich fertig, in ihre Klassenzimmer zu gehen. Der
Religionslehrer kam pustend vor Zufriedenheit ins Lehrerzimmer.
Fünf Schüler aus den obersten Klassen hatte er entdeckt, die beim
Beten gefehlt hatten. Derartige Beweise von Scharfsinn bildeten
seinen Stolz und seine Freude im Leben. Er wußte die ganze Liste
auswendig, und während einer von den älteren Schülern das Gebet
las, stand er, den Hut vor den Augen, und rechnete die ganze Zeit
über nach, ob auch alle da wären. Da es in der Schule etwa
zweihundert Schüler gab, mußte er wohl oder übel eine gewisse
Fertigkeit im Rechnen entwickeln. Er lernte auch täglich seine
Aufgabe besser, und es war sein höchster Ehrgeiz, daß er die ganze
Schule, die Kleinsten mitinbegriffen, inspizieren konnte, eh das
Frühgebet zu Ende war. Die Abwesenden behielt er treulich im
Gedächtnis, und nach beendeter Andacht ging er stets in die
Klassenzimmer, aus denen ein Unglücksvogel gefehlt hatte,
schnüffelte mit seiner langen Nase herum und fragte den
Delinquenten wohlwollend: „Wo warst du denn heute?“ Der
Angeredete versuchte dann immer, beschämt auszusehen; aber es
glückte nur selten. Denn die ganze Schule wußte, welch einen
Genuß diese Inquisitionsbesuche dem Professor Kumlander
bereiteten. Heute war er ganz besonders zufrieden. Er hatte fünfe
erwischt, von denen einer bis jetzt noch nie zu spät gekommen war,
und mit dem alten Norbeck in der Tasche schlurfte er zufrieden und
krummbucklig davon, um in der Siebenten seine Stunde zu geben.
Adjunkt Hallin war der einzige, der es nicht besonders eilig hatte.
Sonst war er immer einer von den ersten, die in ihre Klasse gingen.
Heute aber saß er ganz eigensinnig da und guckte in ein Exemplar
des Cavallinschen Lexikons. Er wartete darauf, daß Professor Bruhn
sich auf den Weg machen sollte, damit er eine Gelegenheit
erwischte, mit ihm zu reden. Aber der Professor hatte es auch gar
nicht eilig; er stand noch immer vor dem Ofen und wärmte sich; und
Adjunkt Hallin wurde nachgerade nervös. Denn der Rektor war
keineswegs liebenswürdig, wenn er merkte, daß die Lehrer die Zeit
für die Stunden nicht pünktlich einhielten.
Dennoch — er mußte sich die Geschichte vom Hals schaffen. Er
seufzte tief auf und sah einen Augenblick lang aus, wie ein ganz
alter, lebensmüder Mann. Aber er blieb sitzen und wartete, bis die
letzten fort waren. Und noch immer stand der Professor in derselben
Stellung am Kachelofen. „Daß er sich auch hat mit dem
verwünschten Pastor zanken müssen!“ dachte der Adjunkt. „Jetzt ist
er natürlich schlechter Laune!“
„Gehst du nicht in deine Klasse?“ sagte er laut. Es wurde ihm
immer schwer, eine derartige Angelegenheit einzuleiten.
„Meine verdammte Lauffrau hat mich eine Stunde zu früh
geweckt! Schließlich kann ich ja grad so gut hier philosophieren, wie
anderswo!“ lautete die Antwort.
Und Bruhn machte eine ungeduldige Bewegung mit den Achseln
und warf den Kopf herum.
Adjunkt Hallin saß eine Weile ganz still da und blätterte im
Cavallin. Es wurde doch mit jedem Jahre schwerer, um Geld zu
bitten, wenn auch manche behaupteten, der Anfang wäre das
schlimmste. Schließlich legte er das Buch weg, erhob sich und sagte
mit gedämpfter Stimme, als wolle er eine lange Einleitung machen:
„Ich möchte dich um einen Gefallen bitten.“
Professor Bruhn ließ den Rockschoß fallen und holte die
Schnupftabaksdose heraus, die er von nun an unaufhörlich zwischen
den Fingern drehte.
„So!“ sagte er. „Und was denn?“
„Weihnachten hat recht viel gekostet heuer.... Und in ein paar
Tagen kommt Ernst heim.... Am ersten habe ich die Miete bezahlen
müssen.... Ich hätt’ mich ja ganz gut einrichten können.... aber es
kamen unerwartete Ausgaben.... könntest du mir fünfzig Kronen
leihen bis zum nächsten Quartal?“
Der erste Teil der Rede ward langsam, in eigentümlich scharfem
Ton, leise und mit beinah zitternder Stimme gesprochen. Der letzte
Satz dagegen kam heftig und überstürzt heraus, ungefähr, wie wenn
man eine schlechtschmeckende Arznei nimmt.
Professor Bruhns Gesichtsausdruck veränderte sich ganz
plötzlich. Er brach in ein gutmütiges, geräuschvolles Lachen aus und
machte die fürchterlichsten Grimassen, während die
Schnupftabaksdose wie ein Ball in seinen Händen tanzte.
„Bist d u ein verdammt komischer Kerl, Hallin!“ sagte er. „Gehst
wie die Katze um den heißen Brei herum und mühst dich ab und
schwitzst, wegen fünfzig Kronen! Selbstverständlich kannst du sie
haben; mir liegen sie ja bloß da. Ich geh gleich und hole sie; dann
hast du sie in der Pause.“
Und Professor Bruhn lachte immer lauter vor seinem Kachelofen,
trampelte mit beiden Füßen auf den Boden, wand sich aus purer
guter Laune und wiederholte in einem fort: „So ein komischer Kauz!
Fünfzig Kronen! Hahaha! Das kommt davon, wenn man verheiratet
ist! Jawohl!“ Und dabei sah er aus, wie ein vergnügter Tanzbär.
Adjunkt Hallin fühlte sich plötzlich wie ein ganz anderer Mensch.
Er war froh, daß es so leicht und gut abgelaufen war. Er hatte seine
fünfzig Kronen und war wieder ein freier Mann. Und er lachte und
schüttelte Bruhn freundschaftlich am Arm.
„Dank dir, Kamerad“, sagte er. „Aber sag, warum warst du denn
gegen unsern jungen Kollegen, den Pastor, so ausfällig?“
Professor Bruhn hielt plötzlich mitten in seiner Frohlaune inne;
sein Gesicht sah auf einmal ganz anders aus. Die Augen hatten
einen fast grimmigen Ausdruck und er schlug mit der rechten Hand
in die Luft, daß man fürchten mußte, der Arm würde aus dem
Schulterblatt gehen.
„Kollege!“ sagte er. „Meinst du, so einen jungen Hund nehm’ ich
als Kollegen? Noch vor fünf Jahren war er mein Schüler. Er taugte
nichts, verstand nichts, wußte nichts. Dann ist er fünf Jahre lang in
Upsala gewesen und hat es zu einem jämmerlichen Examen
gebracht. Und dann kommt er hierher und legt los, als hätt’ er
mittlerweile alle Weisheit der Welt mit Löffeln gefressen!
Meinethalben — ich gönn ihm ja seinen Glauben! Mag er ein Idiot
sein — meinethalben! Aber aus m e i n e m Bereich soll er
wegbleiben. Hab ich nicht recht? War die Musik nicht unter der
Kanone? Na also, warum braucht er mit mir anzubändeln? Kann ich
dafür?“
Professor Bruhn war keineswegs gut auf Pfarrer zu sprechen und
versagte es sich im allgemeinen nicht, seiner Antipathie sehr freien
Lauf zu lassen. Besonders wenn er ärgerlich war bediente er sich
einer fast affektierten, regelrechten und grammatikalischen
Redeweise, die ihm gleichsam zur zweiten Natur geworden war.
Diese Redeweise klang um so komischer, als er sie immer mit den
kräftigsten Flüchen vermischte. Er redete heftig und lange und ging
schließlich zu einem stillen, inwendigen Gebrumm über.
Der Adjunkt sah ein bißchen geniert aus.
„Mein Sohn ist ja auch Theologe!“ sagte er endlich.
„Ja — aber der ist aus ganz anderem Stoff!“ sagte der Professor
heftig. „Freilich — er kann sich ja auch verändert haben. Man kann
ja nie wissen.“
Er schwieg, wie beschämt ob seiner eigenen Grobheit.
„Es wird am besten sein, du gehst in deine Klasse!“ sagte er
dann plötzlich. „Das Geld kriegst du in der Pause.“ Hallin blickte
rasch in den Schulhof hinaus. Über die Staffel, die zwischen
Eisengeländern zur Schule hinaufführte, schritt soeben ein
ungewöhnlich kleiner Mann von intelligentem, gewecktem Aussehen.
Seine kleinen, scharfen Augen sahen sich lebhaft um, sein Stock
stieß energisch gegen die Staffel, und er setzte die Füße auf eine
Weise, die ein cholerisches Temperament andeutete.
„Ich danke dir!“ sagte der Adjunkt. Und indem er seinen Virgil zur
Hand nahm, ging er hastig in den Korridor hinaus. Es gelang ihm
auch, in seine Klasse zu schlüpfen, noch ehe der Rektor in den
Korridor trat. Professor Bruhn aber stellte sich wieder vor dem Ofen
auf — mit gespreizten Beinen — den linken Rockschoß unter dem
Arm und die Hände in den Hosentaschen.
Als Frau Hallin am Nachmittag allein war, legte sie eine Weile den
Kopf auf den Tisch und weinte. Schwere, bittere Tränen,
hervorgepreßt von der Sorge, die am schwersten und bittersten ist
und am meisten schmerzt, weil sie Tag für Tag da ist, weil nichts sie
verscheucht: die Sorge ums tägliche Brot. Sie verstand so wohl den
Grund der Mißstimmung ihres Mannes, es tat ihr so weh, wenn die
böse Laune über ihn kam und er mit den Kindern haderte. Denn sie
wußte ja, die Kinder konnten ihn nicht verstehen, wie sie ihn
verstand. Sie hatten ihn ja nicht gesehen, als er sich ihr anverlobte,
mit ihr das Leben zu leben, das so reich und so herrlich vor ihnen
lag! Sie hatten ihn nicht gesehen, wie er jung und schön, im
Bräutigamsstaat, sie durch all die gaffenden Leute in der Kirche zum
Altar führte! Sie hatten ihn nicht gesehen, wie er, jung, voller
Hoffnung, wie ein lustiger Junge umhergesprungen war und ihr
geholfen hatte, alles in ihrem neuen Heim einzurichten. Sie glaubten
bloß, er sei ein krittliger, engherziger alter Mann, der ihre Freude
störte und für nichts Sinn hatte als für das Niedrige und Kleinliche.
Denn die Kinder beurteilen die Alten unrecht — vielleicht urteilen
auch die Alten dafür wieder unrecht. Aber sie fühlte dies alles nicht
klar; sondern ihre Tränen rannen, wie so oft zuvor, weil ihr das
Leben so seltsam ungerecht vorkam im Vergleich zu dem, was sie
früher gelernt hatte, daß es sein sollte. Und das Sonderbare war —
man lernte auch später nichts Besseres! Wenn sie jetzt darüber
nachdachte, so ganz im allgemeinen, so war es noch genau wie vor
dreißig Jahren, als ihre frohen Mädchenträume um ein helles,
freundliches Heim geflattert waren, in dem zwei Menschen für
einander lebten, in dem es immer ruhig war und fröhlich, wie auch
des Lebens Stürme draußen tobten. Aber weshalb war es nicht so?
Weshalb nicht? Weshalb?
Ihre Tränen rannen, schwer und bitter; sie sah alt und müde aus.
Es quälte sie so schrecklich, daß ihr Mann ihretwegen Sorgen haben
sollte. Wie sie auch sparte — nie wollte es reichen. Sie dachte daran,
wie die Kinder immer scherzten über diese übertriebene
Sparsamkeit, wie sie es nannten. Begriffen sie denn nicht, daß man
nur ihretwillen sparte? Um ihnen vorwärts zu helfen? Damit sie
etwas lernen, etwas Rechtes werden sollten?
Sie trocknete hastig ihre Tränen, und während ihre Lippen noch
von unterdrücktem Weinen zitterten, ging sie hinaus ins Vorzimmer
und holte ihren alten Mantel herbei, breitete ihn auf den Tisch unter
der Lampe aus und prüfte ihn.
Viele Jahre lang hatte er gedient, und oft war er so untersucht
worden. Der Stoff war recht gut. So einen Stoff kriegte man nicht so
leicht wieder. Zuerst war er ganz grade, ohne Garnierung, bis hinab
zu den Füßen gegangen — weite Ärmel hatte er gehabt. Dann hatte
man die weiten Ärmel in enge umgewandelt, und hatte den Stoff
zum Ausbessern benützt. Man sah das Geflickte gar nicht, wenn man
den Muff darüber hielt. Dann hatte sie Seidenaufschläge um die
Ärmel und die Kanten gesetzt, und schließlich hatte sie aus dem
langen Mantel einen kurzen gemacht, der dicht unter den Hüften
schloß. Aber jetzt legte sie ihn hoffnungslos beiseite. Er war so
abgenützt, daß das Licht durch die Stelle über der Brust schien; an
den Ellenbogen war er schon fast zerrissen, und ein paar von den
Knopflöchern konnte man unmöglich mehr ausbessern. Mit einem
Seufzer hängte sie den Mantel wieder auf und setzte sich an ihre
Arbeit. Ihre Tränen trocknete sie, fest entschlossen, daß niemand
beim Abendessen sehen sollte, daß sie geweint hatte.
Aber als der Adjunkt aus der Schule heimkam und ihr die fünfzig
Kronen gab, da kam das alte Gefühl wieder über sie. Sie weinte,
während sie den Schein in der linken Hand hielt, als wolle ihr das
Herz brechen, und bückte sich nieder und küßte ihres Mannes Hand,
als müsse sie ihn um Verzeihung bitten.
Der Adjunkt zog seine Hand zurück und strich ihr über die Stirn.
Es war ihm immer ein Schmerz, wenn er sie so sah. Und mit einer
etwas erzwungenen Stimme sagte er: „Weine doch nicht. Es hilft ja
doch nichts. Denk lieber daran, daß Ernst jetzt bald heimkommt!“
Sie blickte ihn voll Dankbarkeit an, weil er versuchte, etwas zu
sagen, das ihr Freude machte. Aber wider Willen drängten sich ihr
die Tränen hervor.
„Und wenn er dann eine feste Anstellung hat,“ fuhr der Adjunkt
fort, „so wird das immerhin eine Erleichterung.“ Frau Hallin nickte.
Und die tägliche Sorge ward für diesmal beiseite gelegt.
Fünftes Kapitel

D
er Gymnasiallehrer Hallin war der Sohn eines Pastors, der ein
paar Meilen südlich von Gammelby ein großes Pastorat gehabt
hatte. In der ganzen Familie waren überhaupt immer viele
Geistliche gewesen; und alle hatten sie zu dem Stift
Gammelby gehört, und alle hatten sie ihr Teil gehabt an den Gütern
dieser Welt. Der alte Propst war ein recht gedeihlicher Mann, das
wußte alle Welt, und daß man im Pastorat gut und behaglich lebte,
das sah man dem Propst und seiner Frau Propstin deutlich genug an.
Wenn nur nicht die vielen Kinder gewesen wären! Aber es schien,
als wolle Gottes Segen in dieser Beziehung überhaupt kein Ende
nehmen. Jedes liebe geschlagene Jahr war bei Propstens Kindtaufe;
und wären die Kinder alle am Leben geblieben — die Zahl wäre weit
über die Zehne hinausgewachsen. So waren es, als der Propst starb,
neun.
Das Vermögen reichte natürlich nicht so weit; wenn die Söhne
mit der Schule fertig waren, mußte der Propst Geld aufnehmen, um
ihnen auf der Universität und der landwirtschaftlichen Hochschule
weiterzuhelfen. Und als der Alte nicht mehr da war, wunderten sich
noch alle höchlich darüber, daß er mit seinem guten Pastorat so
große Schulden hatte machen können. Jene von den Söhnen, die mit
ihren Studien noch nicht fertig waren, mußten nun selber mit
Schuldenmachen anfangen, damit sie zu Ende studieren konnten.
Adjunkt Erik Hallin war der dritte der Söhne. Daheim, wo alles
reichlich zuging, hatte er sich Gewohnheiten zugelegt, die während
der Universitätszeit keineswegs eingeschränkt wurden, und er kam
von Upsala zurück mit viertausend Kronen Schulden, die sich in den
zwei Jahren seit des Vaters Tod so angesammelt hatten.
Also jetzt galt’s sparen! Er erhielt eine Anstellung als Hilfslehrer
an einer fünfklassigen Lateinschule mit ein paar hundert Kronen
Gehalt, kam bald in den Ruf eines guten Lehrers und erteilte in fast
allen seinen freien Stunden Privatunterricht. Man rechnete ihm nach,
daß er im Durchschnitt täglich zehn Stunden gab. Und im ersten Jahr
sparte er wirklich so viel, daß er fünfhundert Kronen an seinen
Schulden abbezahlen konnte.
Dann verliebte und verlobte er sich, bewarb sich um die
Gymnasiallehrerstelle in Gammelby, erhielt sie und heiratete.
In dieser Zeit, jung, fröhlich, glücklich verlobt, ganz mit
Zukunftsplänen beschäftigt, konnte er natürlich keine Schulden
bezahlen. Es war noch alles mögliche, daß er bei der Einrichtung
nicht noch neue dazu machte. Aber das tat er nicht, wenigstens
keine, die der Rede wert waren. Nur ein paar hundert Kronen für
Möbel, die in den ersten zwei Jahren abbezahlt werden mußten.
Sie wurden auch abbezahlt; der Möbelhändler konnte
selbstverständlich nicht warten.
Dann wurde Ernst geboren; und ein paar Jahre später Selma.
Dann kam ein Junge, der gleich nach der Geburt starb, und ein paar
Jahre darauf Gustaf.
Mit jedem Jahr stiegen die Bedürfnisse und die Ausgaben, und in
all den einundzwanzig Jahren seit seiner Verheiratung hatte er nicht
mehr als zweitausend Kronen abbezahlen können. Jetzt war er
sechsundfünfzig Jahre alt und noch immer nicht schuldenfrei. Noch
waren fünfzehnhundert Kronen zu bezahlen. Und wenn sie bezahlt
waren wieviel Zeit blieb ihnen beiden dann noch übrig zum ruhig und
frei leben? Ob sie dann überhaupt noch die Kraft dazu hatten?
Aber daran dachten sie jetzt nur noch selten. Oder vielmehr —
sie hatten es sich abgewöhnt, darüber nachzudenken. Denn das
waren gefährliche, aufrührerische Gedanken, die nur Leid und
Bitterkeit brachten, Gedanken, die sie aus der Ruhe des täglichen
Lebens aufscheuchten und die Kraft zur Arbeit lähmten. Wenn der
Adjunkt manchmal doch auf diese Gedanken geriet, so war seine
Frau immer gleich bei der Hand und verjagte sie. Murren, das war
nicht recht, und der liebe Gott hatte gewiß seine ganz besonderen
Absichten mit ihnen, wenn er ihnen Lasten auferlegte und sie Wege
führte, die sie in ihrer Jugend nicht hatten gehen wollen. Denn das
Entbehren ist der Weg zum Himmel.
Und die Jahre gingen über sie weg und schufen sie um und
lehrten sie, das Leben so zu leben, wie es kam und wie es war. Frau
Hallin magerte nach ihren Wochenbetten immer mehr ab, ihre Stirn
furchte sich, die Augen hatten nicht mehr den Glanz von früher. Sie
ging fleißig in die Kirche, besonders wenn ein gewisser Geistlicher
predigte, und las täglich in der Bibel und im Thomas a Kempis.
Es kam ihr vor, als würde alles, was sie zu tragen hatte, leichter
für sie, wenn sie nur so recht klar einsähe, daß es eben so sein
mußte. Und wenn das Haushaltungsgeld nicht reichen wollte, oder
sie sich bedrückt und gequält fühlte von all dem tagaus, tagein In-
der-Küche stehen, Essenkochen, Zimmeraufräumen und
Nachmittage lang vor einem ganzen Berg Wäsche Sitzen, die
ausgebessert werden mußte, da legte sie zwischendurch oft die
Arbeit aus der Hand und holte sich ihre Bibel mit all den zahllosen
Buchzeichen und angestrichenen Stellen. Und dann las sie ein paar
Kapitel aus Davids Psalmen, las, wie der Herr den Gerechten, der auf
ihn hoffet, nicht verläßt, wie des Gerechten Feinde dereinst zu
Schanden werden müssen. Ganz unbewußt umschrieb und änderte
sie diese Worte so, daß sie auf ihre Verhältnisse paßten, auf die
täglichen Sorgen, die auf ihr lasteten. Ihre Kümmernisse und
Mühsale, ihre schwere Arbeit und aufrührerischen Gedanken — all
das ward ihr zu Feinden, und sie selber war der Gerechte, den der
Herr dereinst erlösen würde und in das Land führen, da kein Leid
und Weinen mehr den Frieden stört, der höher ist denn alle
Vernunft.
Wenn sie das Buch zugeschlagen hatte, schloß sie auf eine Weile
die Augen. Und wenn sie sie wieder öffnete, ging sie mit
verdoppeltem Eifer an die Arbeit, und auf ihrem Gesicht lag ein
stiller, fast glücklicher Ausdruck.
Der Adjunkt war besser dran. Zwar ging er nur selten aus. Es war
dies ein Sparsamkeitsgrundsatz, den er sich zugelegt hatte und den
er nur selten übertrat. Aber wenn er in seiner Schule war, vergaß er
die kleinen häuslichen Kümmernisse meist. Er hatte ein heiteres
Temperament; sobald er unter Menschen kam, ließ er sich mitreißen,
ward lebendig und aufgeräumt. Er war draußen ein ganz anderer
Mensch als der schwersinnige, ein bißchen reizbare Mann, der er
daheim sein konnte.
Frau Hallin litt ganz besonders darunter, daß sie glaubte, ihren
Kindern nicht nah genug zu stehen. Ernsts Briefe schienen ihr,
besonders in der letzten Zeit, außergewöhnlich kühl und
zurückhaltend. Er schrieb ja wohl freundlich; aber er erzählte nichts
von dem, was sie wissen wollte, nichts von sich selber, wie ihm
zumute war, nun er ins Leben hinaustreten, ein Diener des Herrn
werden sollte. Wie oft las sie seine Briefe, wieder und wieder, erwog
den Sinn jeder Zeile, buchstabierte und zerlegte jedes Wort, ob sie
vielleicht darin den Schlüssel zum richtigen Verständnis finden
möchte! Denn in erster Linie wollte sie Mutter sein. Dies Wort stand
vor ihr in einer Bedeutung, die mehr war als eine bloß religiöse.
Denn für sie bedeutete es vor allem: ihre Kinder zum Herrn führen!
Und manche heimliche Träne weinte sie in Furcht und Zittern um
ihrer Kinder Seelen! Eine reine Mutterfreude hatte sie eigentlich nie
gekannt; die war bei ihr zu stark vermischt mit Furcht. Die Furcht
kam daher, daß sie wußte, nur e i n Weg war der rechte. Wer diesen
Weg nicht ging, der war verloren. Und darum weinte sie über ihre
Kinder, weinte und betete manch einsame Stunde, schon als sie sie
noch in ihrem Schoß wiegte und ihrem tiefen, kinderruhigen
Schlummer lauschte. In der letzten Zeit hatte sie am meisten Angst
um Ernst ausgestanden. Sie zählte die Tage, bis er heimkommen
mußte. Weshalb war er so kurz und knapp in seinen Mitteilungen
über sich selbst? Ahnte er denn nicht, wie sie sich danach sehnte,
etwas von ihm zu hören, wie sie mit fieberhaftem Eifer seine Briefe
öffnete, als wäre sie ein junges Mädchen, das einen Brief vom
Liebsten erhält? Ahnte er es denn nicht? Und ging es denn nicht um
mehr als Leben und Sterben? Ging es nicht um das ewige Heil seiner
Seele?
Von all dem wagte sie ihrem Sohn direkt nichts zu schreiben. Sie
fürchtete, sie könnte ihn dadurch von sich stoßen. Aber sie war
täglich von diesen Empfindungen gepeinigt; ganz besonders kamen
sie dann über sie, wenn irgend sonst etwas auf ihr lastete.
Manchmal hatte sie das Gefühl, als müßte all das Schwere und
Drückende nur eine gerechte Strafe des Herrn sein, weil sie eine so
schlechte Mutter war. Selma verstand sie am wenigsten von ihren
Kindern. Sie war so kalt, bezeugte den Eltern so wenig
Freundlichkeit, meinte Frau Hallin. Auch so still war sie, tat ihre
Arbeit, machte nie auch nur das geringste Wesen aus sich, und
wenn sie mit ihrer Arbeit fertig war, saß sie meist in ihrer Stube und
las. Frau Hallin mochte die Bücher, die sie las, oft gar nicht. Das
hatte manchmal sogar schon zu Auftritten zwischen Mutter und
Tochter geführt. Aber sie endeten immer damit, daß Selma tat, was
sie wollte. Und jetzt war es so, daß, wenn Frau Hallin auf dem Tisch
der Tochter ein Buch liegen sah, sie es nur in die Hand nahm, das
Titelblatt ansah, seufzte und es wieder weglegte. Manchmal hatte
sie Tränen in den Augen, wenn sie hinausging.
Als Selma zwanzig Jahr alt war, war sie einmal zum Vater
gegangen und hatte gesagt, sie wolle fort von daheim. Der Adjunkt
war ganz bestürzt gewesen und hatte keine bestimmte Antwort
gegeben. Er würde mit Mama sprechen, hatte er gesagt. Frau Hallin
verstand, wie die Sache zusammenhing. Es war die Welt, die Selma
lockte, die Welt mit all ihren Gefahren, Freiheiten und Verführungen.
Das Resultat war, daß Selma daheim bleiben sollte, bis sie
mündig wäre. Und als sie mündig war, wurde nicht mehr von der
Sache gesprochen. Der Adjunkt verschaffte ihr ohne weiteres eine
Anstellung in der städtischen Mädchenschule.
Seit der Zeit aber war gleichsam ein stummer Kampf zwischen
Selma und den Eltern.
Auf Gustaf glaubte Frau Hallin sich noch am meisten verlassen zu
können. Er war noch so ganz Kind; freilich kann niemand wissen, wo
und wie der Versucher seine Fallstricke für die schwachen
Menschenkinder auslegt. Aber der Junge war immer heiter und
zufrieden, nörgelte natürlich hie und da, war aber gleich wieder gut,
und wenn er sich mit Mutter oder Schwester neckte, war das so
lustig, daß Frau Hallin oft lachen mußte, daß ihr die Tränen in die
Augen kamen. Er war das Nesthäkchen, der Liebling, das
Zuckerbengelchen, wie Papa ihn nannte, wenn er bei guter Laune
war; er durfte auch ab und zu noch, wenn es niemand sah, auf
Mutters Schoß sitzen, obgleich er schon ein großer Junge und ihr ein
gut Stück über den Kopf gewachsen war.
Es war eigen mit den Kindern, besonders mit den Söhnen. Sie
hatten alle ein großes Freundschaftsbedürfnis, und hatten gute
Freunde gesucht und gefunden. Aber sie waren meist außerhalb des
Hauses mit ihnen zusammen. Sie besuchten die Freunde in deren
Familien; das Umgekehrte kam gar nicht vor, das Hallinsche Haus
war nie ein Sammelpunkt für die Freunde der Kinder. Und die Eltern
hatten immer zu klagen, daß sie in ihren freien Stunden so wenig
von den Kindern sahen.
Frau Hallin konnte das gar nicht verstehen. Sie wußte, sie liebte
ihre Kinder, mehr vielleicht als irgendeine andere Mutter in ihrem
Bekanntenkreis. Sie hatte sie mit einer warmen Zärtlichkeits-
Atmosphäre umgeben, einer Atmosphäre, die vielleicht nur zu warm
war, sodaß sie allzu empfindsam waren, wenn sie sie einmal missen
mußten. Und trotzdem hatte sie das instinktive Empfinden, daß ihre
Kinder sich mit den Jahren immer mehr von ihr entfernten, daß sie
ihre Befriedigung außerhalb des Vaterhauses suchten, sei es nun in
lärmendem Kinderspiel oder in dem unbegrenzten Bedürfnis der
Jugend, Menschen zu finden, mit denen sie sich frei aussprechen, all
das rätselvolle, wechselnde Leben bereden konnten, das sich mit
jedem Jahr in ihren jungen Gemütern entwickelte und nach Nahrung
schrie. Es gab Tage, an denen sie die Kluft zwischen den Kindern
und ihrem Vaterhaus stärker ahnte als sonst; dann tat sie alles, um
ihnen Freude zu machen. Sie kochte ihnen ihre Lieblingsgerichte, sie
zwang den Vater, guter Laune zu sein, bat sie, abends ihre Freunde
einzuladen, und war selber eitel Sonnenschein und Lächeln.
Solche Tage waren Freudentage für die Kinder; da fühlten sie
noch mehr als sonst, wie sie an der Mutter hingen. Und sie selber
fühlte sich auch so froh. Denn sie glaubte, nach einem derartigen
Versuch wäre der Anfang zu einer ernsthaften Annäherung gemacht
und die Kinder würden sich mehr ans Vaterhaus anschließen.
Aber das war nicht der Fall. Und dann kam die
Niedergeschlagenheit über sie und eine Bitterkeit, die ihr harte
Worte auf die Lippen legte und sie antrieb, den Kindern Vorwürfe zu
machen, deren Ursache sie nicht begreifen konnten. Sie bereute
diese Vorwürfe nachher immer, bereute sie bitterlich. Denn sie
begriff, daß ein einziger derartiger Ausbruch in einem jugendlichen
Gemüt länger lebt, als die Erinnerung an wer weiß wie viele
Wohltaten, wer weiß wie viel Freundlichkeit. Und wenn sie
manchmal über ihr Verhältnis zu ihren Kindern nachdachte und sich
die ganze Sache einmal so recht menschlich, ohne den lieben Gott
darein zu mischen, vorstellte, da konnte sie manchmal das Gefühl
haben, als ginge ihr vielleicht die geheimnisvolle Kunst ab, ihre
Kinder zu verstehen und sie durch das bloße Verstehen, ohne jede
Anstrengung, ans Vaterhaus zu fesseln. In solchen Stunden ahnte
sie, was die Kinder entbehrten. Aber sie wußte auch, das konnte sie
ihnen nie geben. Nie, ihrer Lebtag nicht! Denn was nützte es den
Menschen, so er die ganze Welt gewänne, und nähme doch Schaden
an seiner Seele?
Über ihre Lippen kam dieser Gedanke auch nie, nicht einmal im
Augenblick, wenn sie ganz deutlich sah, was es war. Sie schob ihn
von sich; sie zwang sich, ihn in der Tiefe ihres Herzens zu begraben.
Ihr Leben hatte sie gelehrt, daß der Gedanke Sünde war. Und wenn
die Sehnsucht nach dem Vertrauen ihrer Kinder allzu stark ward, so
fand sie tausend Arten, sich ihnen zu nähern; sie konnte sich
geradezu demütigen, um das zu gewinnen, wonach sie so eifrig
strebte. Nicht bloß ihre Liebe. Nein. Die besaß sie. Daran hatte sie
nie gezweifelt. Aber ihr Vertrauen.
Und manchmal, wenn sie mit ihrem Mann allein war, geschah es,
daß sie ganz vorsichtig über all dies mit ihm sprach; und wenn er
dann nicht gerade irgendeine äußere Sorge hatte, die ihn drückte, so
konnte auch er ganz ernst werden und mit einem merkwürdigen
Blick vor sich hin sagen: „Ja, die Kinder entwachsen einem. Es ist
wohl der Lauf der Natur.“
Meist aber schüttelte er nur den Kopf und sagte, es habe keinen
Sinn, sich mit Einbildungen herumzuschlagen. Man habe schon so
genug Widerwärtigkeiten.
Aber auch er wußte wohl, daß er nicht die Wahrheit sprach. Was
den Kindern fehlte, das war die Freudigkeit, die Freiheit. D i e
Freiheit, die macht, daß man natürlich ist und sich wohlfühlt in
seiner Umgebung, wie der Baum, die Pflanze in gutem Erdreich, die
Freiheit, die die Naturanlagen lenkt und entwickelt, ohne sie zu
hemmen; d i e Freiheit kann nirgends gedeihen, wo nicht die Freude
daheim ist. Denn Freude macht frei, Freude veredelt, Freude macht
glücklich.
Die pietistische Scheu der Mutter vor der Welt und allem, was
von der Welt war, die war es, die die Freiheit aus dem Haus
scheuchte. Und die Freude floh vor etwas anderem — vor den
kleinen, drückenden, wirtschaftlichen Sorgen — s i e verscheuchten
die starken Mächte des blühenden Lebens. Die beiden hatten einen
Bund geschlossen — und was die Geldsorgen verschonten, das raffte
der Pietismus hinweg.
Vor diesem doppelten Rätsel saß Frau Hallin manch einen Abend
ohne Antwort, grübelte und grübelte, während sich immer wieder
die Tränen hervordrängten. Es war so schwer, so schwer, das
pochende Herz im Glauben zur Ruh zu legen, so deutlich und klar
auch das Wort der Schrift lautete: „Hoffe auf den Herrn! Er wird’s
wohl machen!“
Sechstes Kapitel

A
djunkt Hallin hätte die fünfzig Kronen auch recht gut von
seinem Bruder, dem Professor der lebenden Sprachen,
entlehnen können. Der Professor war reich verheiratet und
freute sich immer, wenn er dem ärmeren Bruder gefällig sein
konnte. Zudem waren die Brüder seit ihrer Kindheit gut Freund
gewesen, und nichts war darum natürlicher, als daß der eine dem
andern half.
Die Freundschaft zwischen dem Professor und dem Adjunkt Hallin
war im Gymnasium fast sprichwörtlich, und manch einer von den
Schuljungens grüßte freundlicher als sonst oder blieb stehen und
blickte den beiden nach, wenn sie in den Pausen Arm in Arm in dem
großen Schulkorridor, auf dem geräumigen Hof oder unter den
hohen Ulmen auf und ab gingen, die auf dem grünen Plan zwischen
Schule und Kirche schattige Alleen bildeten.
In der Schule gingen sie unter dem Namen „die Brüder“. Und
obgleich man schwerlich auffallendere Kontraste hätte finden
können, hatten sie ihr Leben lang, von den Schuljahren an, stets
treulich zusammengehalten. Beide hatten — nur mit einem Semester
Zwischenraum — ihr Examen gemacht, und als der eine Adjunkt am
Gymnasium zu Gammelby wurde, bewarb sich der andere ebenfalls
um eine Anstellung dort, sobald eine solche frei war — und erhielt
sie auch. Der einzige Unterschied war, daß der ältere Bruder binnen
kurzem zum Professor avanzierte, während der jüngere keinerlei
Hoffnung auf eine derartige Beförderung zu haben schien. Das gute
Verhältnis zwischen den Brüdern ward jedoch dadurch keineswegs
gestört. „Abel hat es auch verdient,“ sagte der Adjunkt immer. „Er
war allen anderen Mitbewerbern überlegen.“ Wenn sie sich morgens
in der Schule sahen, grüßte der Professor seinen Bruder mit einem
heiteren: „Guten Morgen, Erker!“ Immer war es der Professor, der
zuerst grüßte. Und der Adjunkt schielte über die angelaufenen
Brillengläser weg und sagte: „Guten Morgen, Kain.“
Es war dies ein alter Scherz zwischen den Brüdern, der immer
wieder aufgefrischt wurde. Der Professor hatte als Kind seinen
Bruder einmal die Treppe hinuntergestoßen, daß der Kleine fast das
Genick gebrochen hatte. Wie der Kleine drunten lag und schrie, daß
es im ganzen Hause widerhallte, und Abel außer sich vor Schreck
hinuntersprang, um nach ihm zu sehen, hörte Erik einen Augenblick
mit Schreien auf und stieß zwischen zwei Schluchzern heraus: „Du
hättest Kain heißen sollen!“ Und brüllte dann wieder weiter.
Als die Knaben älter wurden, erzählten die Eltern ihnen die
Geschichte. Und seitdem nannte der jüngere Bruder, wenn er zärtlich
sein wollte, den älteren Kain. Das war zu einem Schmeichelnamen
geworden.
Die Gymnasiasten kannten die Geschichte natürlich, und die zwei
Brüder hießen seit Jahren bei ihren Schülern nicht anders als Kain
und Abel.
Professor Hallin hatte ein flottes Junggesellenleben geführt,
manche behaupteten, ein zu flottes, und wenn er von seinen
Ferienreisen im Ausland zurückkam, die er „der Sprachen wegen“
machte und zu denen er sich irgendwie immer die Mittel zu
verschaffen wußte, brachte er einen Hauch vom Luxus und von der
Eleganz der großen Welt mit, die ihn zum Löwen der kleinen Stadt
machten. Wenn er gewollt hätte, er hätte wer weiß wie oft heiraten
können.
Er gehörte zu denen, die „Glück haben“. Alles, was er wollte,
erreichte er auch ganz merkwürdig rasch. Er nahm das Leben leicht;
Sorgen — wenn er überhaupt solche hatte — schüttelte er ab wie
eine Möve, die ins Wasser taucht und ihre Schwingen schüttelt, so
daß auch nicht ein Tropfen an dem glänzenden Gefieder hängen
bleibt. Er machte Schulden über Schulden, ohne auch nur daran zu
denken, die immer höher anwachsenden Summen einmal
zurückzubezahlen, und als er volle vierzig Jahre alt war und die
Gläubiger zu drängen begannen, verlobte er sich ganz plötzlich mit
einem der reichsten Mädchen in der Stadt, einer
Großkaufmannstochter. Der Schwiegervater bezahlte die Schulden,
und die Neuvermählten zogen nach der Hochzeit in ein neues
Steinhaus an der Langen Straße, das der Konsul Bergmann dem
jungen Paar überließ.
Nach der Hochzeit änderte sich das Verhältnis zwischen den zwei
Brüdern in gewissem Sinn. Nicht als ob ihre Freundschaft Einbuße
erlitten hätte. Aber die beiden Schwägerinnen kamen von Anfang an
nicht miteinander aus, und, wie das meist so ist, — die Antipathie
zwischen ihnen nahm mit den Jahren eher zu als ab. Darum
entlehnte auch der Adjunkt nicht gern Geld von seinem Bruder,
sondern benützte ihn, wenn es nötig war, lieber als Bürgen. Das
brauchte dann die Schwägerin nicht zu wissen.
Die Frau des Adjunkten hatte im Grunde niemals die „Schwäche
ihres Mannes für seinen Bruder“, wie sie es nannte, verstehen
können. Sie sah in ihm eine verlorene Seele, ein Weltkind, und im
Anfang ihrer Ehe, als der Adjunkt noch jung war, hatte sie große
Angst, der Professor könne einen bösen Einfluß auf ihren Erik haben.
Denn er war der einzige, dem es ab und zu gelang, den Adjunkt zu
einem fröhlichen Junggesellenabend zu verlocken. Er kam manchmal
nachmittags zum Bruder auf seine Stube, und sie hörte ihn dort
lachen, mit seinem lustigen, schallenden Gelächter, sie hörte, wie die
zwei Brüder miteinander kicherten und flüsterten; und dann kam der
Adjunkt und sagte, er würde ausgehen und würde wahrscheinlich
zum Abendbrot nicht nach Hause kommen. Frau Hallin sah den
Professor so ziemlich für den leibhaftigen Bösen an! —
Als er dann eine so reiche Heirat machte — er heiratete zwei
Jahre später als der Adjunkt — da konnte sie es nicht lassen,
immerwährend Vergleiche zu ziehen zwischen dem reichen,
wohlversorgten Haushalt des Schwagers und ihren eigenen,
dürftigen und bedrückten Verhältnissen; und sie verwunderte sich
manchmal darüber, daß Gott seine Gaben so ungleich unter die
Menschen verteilt. Ihr war, als könne ihr Mann gar nicht anders, als
auch vergleichen und bereuen, daß er es nicht gerade so gemacht
hatte, wie der Bruder. Vor allem aber beklagte sie den Schwager.
Hätte der eine weniger weltliche und oberflächliche Frau bekommen,
so wäre auch er vielleicht durch den stillen Einfluß des Weibes zum
Herrn gezogen worden.
Es wäre vielleicht zu viel gesagt, wollte man behaupten, daß Frau
Hallin ihre Schwägerin um ihren Reichtum geradezu beneidete. Aber
ganz frei von einem derartigen Gefühl war sie doch nicht. Sie bildete
sich immer ein, die Schwägerin sehe auf sie alle herab, ganz
besonders auf sie, und es quälte sie, wenn sie wußte, daß ihr Mann
sich in irgend einer Sache an seinen Bruder gewandt hatte. Die
Professorin ihrerseits meinte wieder, die Schwägerin wolle sich ihr
überlegen zeigen. Sie redete immerzu von den Kindern, und von der
Freude, die sie ihr machten, und die Professorin hatte ganz den
Eindruck, als solle das ein Hieb sein auf sie. Denn die
Kindererziehungsmethode der Professorin war tatsächlich nicht
gerade die beste. Dafür hegte sie auch einen stillen, aber tiefen Haß
gegen die Frau des Adjunkten. Einerseits wußte sie, daß ihr jene in
vielem überlegen war, und andererseits fühlte sie, sobald die beiden
Schwägerinnen einmal nachmittags allein beieinander saßen, die
unausgesprochene und darum um so aufreizendere Kritik der
anderen.
Und wenn sich das manchmal zu einem ziemlich lauten
Meinungsaustausch zwischen den zwei Frauen steigerte, so drehte
sich das Gespräch sicher um Kindererziehung oder Religion.
Professor Hallin versuchte stets, diesen Verhältnissen gegenüber
ein Auge zuzudrücken. Er lud die Familie des Bruders bei jeder nur
möglichen Gelegenheit ein, und obgleich es für Frau Hallin ein
Kummer war, so vertraut in einem Haus verkehren zu müssen, in
dem alles so ganz das Gepräge der Weltlichkeit trug, wollte sie ihren
Mann doch nicht durch Absagen betrüben. Sie versuchte bloß,
wenigstens die Kinder so viel wie möglich von der Familie des
Bruders fernzuhalten, vielleicht, weil sie ahnte, daß dort manches
von dem vorhanden war, was sie daheim vermißten.
Professor Hallin hatte schon in jungen Jahren recht viel Anlage
zur Rundlichkeit gehabt; und während sein Bäuchlein immer mehr
wurde, begann das Haar über der Stirn immer weniger zu werden.
Mit den Jahren ward das Bäuchlein immer runder und das Haar
immer spärlicher, und schließlich war er ein korpulenter, kahlköpfiger
Mann, der sich an der Natur dadurch rächte, daß er beständig über
seine eigene Trägheit und Korpulenz scherzte. Denn mit den Jahren
machte seine Korpulenz ihn tatsächlich immer träger. Besonders viel
Energie hatte er überhaupt nie besessen. Aber einen guten Vorrat
von Lebensluft hatte er gehabt, und als er ein paar Jahre verheiratet
war, nahm er seine frühere Gewohnheit des Reisens wieder auf, erst
in Gesellschaft seiner Frau, dann allein. Er behauptete, es geschehe,
um das Stillsitzen im Winter auszugleichen und dann natürlich „der
Sprachen wegen“.
Wenn er im Herbst heimkam, war er meist ziemlich abgemagert.
Er sah jünger aus, und in seinem ganzen Wesen lag etwas von dem
früheren Schwerenöter. Aber wenn’s auf den Winter zuging, ward er
wieder der Alte. Fast immer gutgelaunt wanderte er zur Schule und
wieder zurück, gab seine Stunden, lebte sein Familienleben und ließ
sich seine Mahlzeiten schmecken. Und wenn sich die Gelegenheit
bot, konnte er ein Bonmot loslassen, über das alle Welt lachte, das
die Frau des Adjunkts aber nie anhören konnte, ohne das heitere,
rötliche Gesicht des Schwagers und seine fette, unförmliche Figur,
die aussahen, als wären sie immer vollgepfropft mit gutem Essen,
verstohlen und mit einem Gefühl der Verachtung zu betrachten.
„Wenn man schon nicht liegen kann — dann wenigstens sitzen!“
hatte der Professor einmal gesagt, als irgend jemand ihm einen
Stuhl anbot. Und das Wort war in der ganzen Stadt sprichwörtlich
geworden.
„Wenn man nicht liegen kann — dann wenigstens sitzen!“
Nichts war dem Professor Hallin in seiner Eigenschaft als
Schulmann auch so peinlich, als das Frühaufstehen am Morgen. Und
nie war er so schlechter Laune, als wenn er früh morgens, den
Schlafrock um die rundliche Gestalt gezogen, eine Kerze in der Hand,
sich aus dem Schlafzimmer in seine Stube verfügte, um sich
anzukleiden und zur Schule zu gehen. Ganz besonders schlimm war
es an den Tagen, an denen er um sieben Uhr zur Schule mußte und
bis neun Uhr Stunde hatte. An solchen Tagen nahm er gleich nach
dem Mittagessen seine Kaffeetasse mit sich auf sein Zimmer, und
zwei Minuten nachdem er die Tür geschlossen hatte, hörte man aus
dem sogenannten Studierzimmer derbe Nasenlaute, die den
Bewohnern des Hauses unzweifelhaft mitteilten, daß der Professor
der wohlverdienten Ruhe genoß. „Papa schläft!“ sagte dann Mama
zu den kleinen, unbändigen Mädchen. Und die unbändigen kleinen
Mädchen gingen auf den Zehen durchs Zimmer, und so oft ein Streit
entstehen wollte, so oft jemand an einen Stuhl stieß oder
unvorsichtig aufschrie, war sogleich eins der Kleinen bei der Hand,
hob drohend den Finger auf und sagte flüsternd und feierlich: „Papa
schläft! Schsch! Papa schläft!“
Und Mama, die im Sofa saß und nähte, sagte: „So ist’s recht!
Denkt daran, daß Papa schläft! Der arme Papa! Er hat es so nötig!
Arbeitet und plagt sich für uns alle!“
Und Fräulein Gabrielle, die verlobt war, flüsterte dem Bräutigam
ins Ohr: „Axel, jetzt schläft Papa!“ Und ihre Augen, die wie kleine
scharfe Nadeln glänzten, liebkosten mit einem Blick den weichen
Leutnantsschnurrbart, der sich über vollen Lippen wölbte. Er schlang
dann resigniert den Arm um ihre Taille, und sie schlichen heimlich in
ihr kleines Mädchenstübchen. Der Leutnant setzte sich in das
schmale Sofa, sie hüpfte auf sein Knie, und — die Arme um seinen
Hals geschlungen — die Lippen auf seinen Mund gepreßt, flüsterte
sie: „Papa schläft!“
Es ist nicht so unmöglich, daß der Leutnant Papa manchmal
beneidete. Seine geliebte Gabrielle oder Gabby, wie er sie in
zärtlichen Augenblicken nannte — so hatte sich nämlich Gabrielle in
den unschuldigen Kindheitstagen selber genannt — hatte eine große
Schwäche für Zärtlichkeiten. Ihrem Axel anderthalb Stunden lang auf
dem Schoß zu sitzen, das hielt sie für etwas ganz Normales und
Natürliches. Der Professor pflegte manchmal — zum Entsetzen
seiner Frau — zu sagen, diese Art Vergnügen könne dem Leutnant
unmöglich besonders angenehm sein. Für Gabrielle sei es ja etwas
anderes. Für sie habe es doch mehr den Reiz der Neuheit.
Im übrigen genossen die Kinder des Professors Hallin in gewisser
Beziehung recht reichlich die Vorteile, die die Kinder des Adjunkten
entbehrten. Ihre Freiheit hatten sie, vielleicht mehr, als ihnen gut
war, und ihre kindliche Freude wurde nur selten durch ungebührliche
Eingriffe seitens der Eltern gestört.
Es kam ganz darauf an, wie der Tag gerade war.
Wenn zum Beispiel der kleine achtjährige Erik draußen auf dem
Hof in jugendlichem Übermut eines von Mamas Kücken in einer
Weise mißhandelt hatte, wie es die Natur des Tierchens eben nicht
aushielt, und Papa Miene machte, dem Sohn eine gelinde
Züchtigung zu verabfolgen, so konnte es geschehen, daß die
Professorin sehr energisch dazwischentrat und mit einer Stimme, die
vor Bewegung zitterte, sagte: „Abel! Und du willst ein Vater sein?
Antworte mir, Abel! Du.. willst.. ein.. Vater.. sein?“
„Ja, Schatz,“ antwortete dann der Professor in liebenswürdigstem
Ton. „Ich hoffe doch, mich darin nicht zu irren!“
„Abel!“ erwiderte die Professorin mit Aplomb, „ich verbitte mir
derartige unanständige Illusionen!“ Die Professorin war keineswegs
ganz zuverlässig in der Anwendung von Fremdwörtern.
„Wenn ich wäre wie du,“ fuhr sie fort, „so wäre ich vielleicht
meiner Sache nicht so ganz sicher. Weißt du noch, warum Marie im
Frühjahr vor einem Jahr weg mußte?“ Dies kam im Flüsterton, damit
der kleine Erik es nicht hören sollte. „Freilich, d u weißt es nicht
mehr. Aber ich weiß es noch. Und ich erlaube nicht, daß meine
Kinder von ihrem unnatürlichen Vater mißhandelt werden! Ich bin
die Mutter! Merk dir das: Und so lange ich lebe, sollen meine Kinder
unter dem Schutz einer Mutter stehen! Wenn ich einmal tot bin,
kannst du sie ja schlagen; ich weiß wohl, du wirst’s auch tun! Aber
noch lebe ich!“ und die Professorin warf den Kopf in den Nacken mit
einer Bewegung, die schlecht zu ihrem vorhergehenden Pathos
stimmte.
Dann antwortete der Professor: „Ja, lieber Schatz, daran habe ich
nie gezweifelt!“
Aber er war doch geschlagen, und Erik konnte Mamas Kücken in
Ruhe weiter ins Jenseits befördern.
Ein andermal konnte es geschehen, daß es Erikchen gelungen
war, ein Loch in die neuen Hosen zu reißen. Die Professorin hatte
sich just in der Sofaecke zurechtgesetzt und hoffte, wenigstens fünf
Minuten lang in Ruhe an ihrer weißen Decke weiterhäkeln zu
können. Im selben Augenblick kommt Klein Erik ins Zimmer, und das
wachsame Mutterauge entdeckt unten, wo der Kittel aufhört, einen
Streifen nackter Haut, der neben etwas Weißem herausschimmert.
Mit resignierter Miene legt sie ihre Arbeit hin und befiehlt dem
Kleinen, näherzukommen. Der Junge, der nichts ahnt, kommt; weil
aber im Gesicht der Mutter etwas Drohendes liegt, wird er
bedenklich und beguckt sich verstohlen von oben bis unten.
Immerhin geht er zur Mutter hin und pflanzt sich vor ihr auf.
„Dreh dich um!“ sagt die beleidigte Mutter mit ihrer feierlichsten
Stimme.
Klein Erik beginnt zu ahnen, von welcher Seite die Gefahr droht;
doch dreht er sich gehorsam um. Dann hört er, wie die Mutter hinter
seinem Rücken die Hände zusammenschlägt; und unwillkürlich blickt
er sich erschrocken um.
„Steh still, Junge!“ kommt es aus dem gefühlvollen Mutterherzen;
und dabei packt sie ihn am Arm, daß die Gelenke krachen. „Kannst
du nicht still stehen, damit ich nachsehen kann?“ Einen Augenblick
lang verstummt sie, während ihre Finger den Riß untersuchen.
„Herrgott im Himmel! Und ganz neue Hosen! Hab ich dir nicht
gesagt, du sollst nicht wie ein Wilder herumtollen? Wie oft hab ich
dir’s nicht gesagt! Antworte, Junge!“
Klein Erik weiß nichts zu antworten. Er steht bloß und schweigt,
blickt abwechselnd auf seine Mutter und schielt nach dem Ende
seines Rückgrats, bis ihn die Mutter plötzlich von sich schiebt, zu
ihres Mannes Zimmer hinüber geht, die Tür öffnet und ruft: „Abel,
komm einmal her!“
Der Professor kommt, im Schlafrock, in der einen Hand eine
Zigarre, in der anderen einen französischen Roman. Die Professorin
packt den Missetäter am Schlafittich, zerrt ihn mitten ins Zimmer und
kehrt sein Hinterteil dem Oberhaupt der Familie zu.
„Was sagst du dazu, Abel? Die neuen Hosen, die er gestern zum
erstenmal angehabt hat!“
„Verwünscht noch Eins!“ sagt der Professor.
„Abel“, sagt die Professorin, „verschon mich mit deinem Fluchen
in Gegenwart der Kinder. Ich dachte, du hättest denn doch was
anderes zu sagen, wenn du siehst, wie dein Kind sich seiner Mutter
gegenüber aufführt! Aber d u kümmerst dich natürlich um nichts!
D u brauchst sie ja nicht zu flicken. Herrgott, was das dir gut täte,
wenn du auch nur ein einziges Mal seine Hosen flicken müßtest! Da
würdest du dich schon drum kümmern, wenn er sie zerreißt!“
„Vielleicht kann er gar nichts dafür!“ sagt der Professor. „Man
kann die Jungens ja doch nicht am Strick führen!“
Die Professorin schreitet majestätisch zum Sofa und setzt sich.
„Erik“, sagt sie, „geh ins Kinderzimmer und sag Ida, sie soll dir die
Samthosen anziehen. Die kannst du ja dann auch zerreißen, wenn
du willst! Du hörst doch — Papa sagt es ja. Jedenfalls bring mir die,
die du jetzt anhast; vielleicht kann ich sie flicken, eh du die andern
kaputt gerissen hast!“
Erik geht ab. Die Professorin sitzt mit gefalteten Händen im Sofa
und wiegt sich hin und her.
„Glaubst du, daß dies die richtige Art ist mit den Kindern?“ fragt
der Professor.
„Abel!“ antwortet die gekränkte Gattin. „Ich weiß ja wohl, was ich
tue, ist überhaupt nie recht. Aber ich meine, ein bißchen energischer
könntest du denn doch auftreten, wenn deine Kinder so wenig
Rücksicht für ihre Mutter zeigen. Ich bin ja eine Null hier im Hause,
Abel, das weiß ich wohl, wenn du auch das bißchen, was wir haben,
mir zu verdanken hast! Und was aus meinen armen Kindern werden
soll, wenn sie nicht einmal lernen sollen, was Zucht und Ordnung
heißt, das weiß der liebe Gott. Und der weiß auch, wie schwer es
eine arme Mutter hat, wenn sie die Sorge für die Erziehung der
Kinder ganz allein tragen muß. Ich wollte bloß, ich könnte mehr
leisten. Aber ich fühl’s, es zehrt an meiner Kraft, und ich kann nur
jeden Abend zu Gott beten, Abel, daß dir nicht noch einmal die Reue
kommt, wenn es zu spät ist!“
Die Professorin weint und der Professor geht auf sein Zimmer
und macht die Tür hinter sich zu.
Wenn die Kinder Streit haben, schreit wohl manchmal eins in
überquellender gerechter Entrüstung: „Wart du nur, ich sag’s der
Mama!“
Aber die Drohung hat keine besondere Wirkung. Das andere
antwortet bloß: „Ach was, die Mama!“
So ganz unmöglich ist es nicht, daß die Frau Adjunkt am Ende
doch recht haben könnte, wenn sie sagt: „Was ich besonders
mißbillige an Aurora ist ihre Art mit ihren Kindern. Sie sind von einer
Eigenwilligkeit, daß einem wild und weh wird vom bloßen
Mitansehen. Wenn das nur gut geht!“
Einmal aber war der Konflikt zwischen den Ehegatten doch
schärfer als gewöhnlich. Das war, als Gabrielle heim kam, und den
Eltern mitteilte, Leutnant Hagelin habe ihr einen Antrag gemacht.
Der Professor fragte bloß: „Hast du ihn lieb?“
Und Gabrielle antwortete: „Ich weiß nicht, Papa. Aber ich
glaube.“
Sie wurde auf ihr Zimmer geschickt, und die Ehegatten blieben
allein zurück.
Nun lag aber die Sache so: die Professorin war schon längst
darauf bedacht gewesen, ihre erste Mutterpflicht zu erfüllen, das
heißt, für ihre unerfahrene Tochter einen Mann auszuwählen.
Leutnant Hagelin, der finanziell sehr schlecht stand, und der gehört
hatte, daß, wer die Tochter haben will, der Mutter den Hof machen
muß, hatte in seinem Verkehr mit der Professorin diese goldene
Regel nach Kräften befolgt. Die Folge davon war, daß der Leutnant,
nach einer kurzen Debatte zwischen der Professorin und ihrem
Mann, der den Leutnant nicht ausstehen konnte, zum Abendbrot zu
Hallins eingeladen wurde, und nach ein paar Wochen bei den Eltern
um Gabrielle anhielt.
Als nun die Gatten allein waren, um zu beraten, faßte sich der
Professor ein Herz, warf seiner besseren Hälfte in scharfen Worten
vor, sie habe den Leutnant ins Haus gezogen, und gab dazu eine auf
Tatsachen begründete Schilderung seines Charakters, die mit
Leichtsinn begann und mit der Geldheirat schloß.
Die Professorin schlug nur die Augen nieder und sagte: „Sag mal
aufrichtig, lieber Abel, hättest du mich geheiratet, wenn ich kein
Geld gehabt hätte?“
Auf dies blieb der Professor die Antwort schuldig; und die
Professorin fuhr im selben weichen Ton fort: „Siehst du, lieber Abel!
Eine Ehe kann glücklich werden, auch wenn die Frau Geld hat und
der Mann keins. Oder ist unsere Ehe etwa nicht glücklich gewesen?“
Doch, natürlich war sie glücklich gewesen. Das konnte der
Professor unmöglich leugnen. So stand denn seine Frau auf, schlang
ihre Arme um seinen Hals und sagte mit Tränen in den Augen: „Du
wirst es doch unserer geliebten Gabby nicht mißgönnen wollen, daß
sie gerade so glücklich wird, wie ihre Mutter!“ Nein, das konnte der
Professor ihr nicht mißgönnen, und so kriegte Gabrielle ihren
Leutnant. Der Leutnant kam täglich ins Haus, Gabrielle war
überglücklich, und die Schwiegermama schwebte im siebenten
Welcome to Our Bookstore - The Ultimate Destination for Book Lovers
Are you passionate about books and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!

ebookgate.com

You might also like