100% found this document useful (2 votes)
16 views

Python for Chemists Christian Hilldownload

The document promotes the book 'Python for Chemists' by Christian Hill, which serves as a comprehensive introduction to Python with a focus on its applications in chemistry and chemical physics. It includes tutorials on Python syntax, data structures, and popular numerical packages, along with practical examples and exercises. The book is designed for students and researchers in chemistry to enhance their problem-solving skills using Python in their research.

Uploaded by

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

Python for Chemists Christian Hilldownload

The document promotes the book 'Python for Chemists' by Christian Hill, which serves as a comprehensive introduction to Python with a focus on its applications in chemistry and chemical physics. It includes tutorials on Python syntax, data structures, and popular numerical packages, along with practical examples and exercises. The book is designed for students and researchers in chemistry to enhance their problem-solving skills using Python in their research.

Uploaded by

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

Download the full version and explore a variety of ebooks

or textbooks at https://ebookmass.com

Python for Chemists Christian Hill

_____ Tap the link below to start your download _____

https://ebookmass.com/product/python-for-chemists-christian-
hill/

Find ebooks or textbooks at ebookmass.com today!


Here are some recommended products for you. Click the link to
download, or explore more at ebookmass.com

Learning Scientific Programming with Python 2nd Edition


Christian Hill

https://ebookmass.com/product/learning-scientific-programming-with-
python-2nd-edition-christian-hill-2/

Learning Scientific Programming With Python 2nd Edition


Christian Hill

https://ebookmass.com/product/learning-scientific-programming-with-
python-2nd-edition-christian-hill/

Modern Thermodynamics for Chemists and Biochemists 2nd


Edition Dennis Sherwood

https://ebookmass.com/product/modern-thermodynamics-for-chemists-and-
biochemists-2nd-edition-dennis-sherwood/

Io sono Jai Christian Hill

https://ebookmass.com/product/io-sono-jai-christian-hill/
Assassinio nella band Christian Hill

https://ebookmass.com/product/assassinio-nella-band-christian-hill/

Io sono Jai Christian Hill

https://ebookmass.com/product/io-sono-jai-christian-hill-2/

Learning Scientific Programming with Python Hill

https://ebookmass.com/product/learning-scientific-programming-with-
python-hill/

The Python Advantage: Python for excel in 2024 Hayden Van


Der Post

https://ebookmass.com/product/the-python-advantage-python-for-excel-
in-2024-hayden-van-der-post/

Python for Finance: A Crash Course Modern Guide: Learn


Python Fast Bisette

https://ebookmass.com/product/python-for-finance-a-crash-course-
modern-guide-learn-python-fast-bisette/
PYTHON FOR CHEMISTS

This accessible and self-contained guide provides a comprehensive introduction to the pop-
ular programming language Python, with a focus on applications in chemistry and chemical
physics. Ideally suited to students and researchers of chemistry learning to employ Python
for problem-solving in their research, this fast-paced primer first builds a solid foundation
in the programming language before progressing to advanced concepts and applications
in chemistry. The required syntax and data structures are established, and then applied
to solve problems computationally. Popular numerical packages are described in detail,
including NumPy, SciPy, Matplotlib, SymPy, and pandas. End of chapter problems are in-
cluded throughout, with worked solutions available within the book. Additional resources,
datasets, and Jupyter Notebooks are provided on a companion website, allowing readers
to reinforce their understanding and gain confidence applying their knowledge through a
hands-on approach.

CHRISTIAN HILL is a physicist and physical chemist with over 25 years’ experience
in scientific programming, data analysis, and database design in atomic and molecular
physics. Currently the Head of the Atomic and Molecular Data Unit at the International
Atomic Energy Agency, Vienna, he has previously held positions at the University of
Cambridge, the University of Oxford, and University College London.
PYTHON FOR CHEMISTS

CHRISTIAN HILL
International Atomic Energy Agency
Shaftesbury Road, Cambridge CB2 8EA, United Kingdom
One Liberty Plaza, 20th Floor, New York, NY 10006, USA
477 Williamstown Road, Port Melbourne, VIC 3207, Australia
314–321, 3rd Floor, Plot 3, Splendor Forum, Jasola District Centre,
New Delhi – 110025, India
103 Penang Road, #05–06/07, Visioncrest Commercial, Singapore 238467

Cambridge University Press is part of Cambridge University Press & Assessment,


a department of the University of Cambridge.
We share the University’s mission to contribute to society through the pursuit of
education, learning, and research at the highest international levels of excellence.

www.cambridge.org
Information on this title: www.cambridge.org/9781009102049
DOI: 10.1017/9781009106696
© Christian Hill 2024
This publication is in copyright. Subject to statutory exception and to the provisions
of relevant collective licensing agreements, no reproduction of any part may take
place without the written permission of Cambridge University Press & Assessment.
First published 2024
A catalogue record for this publication is available from the British Library
A Cataloging-in-Publication data record for this book is available from the Library of Congress
ISBN 978-1-009-10204-9 Paperback
Cambridge University Press & Assessment has no responsibility for the persistence
or accuracy of URLs for external or third-party internet websites referred to in this
publication and does not guarantee that any content on such websites is, or will
remain, accurate or appropriate.
Contents

Acknowledgments page xi

1 Introduction 1
1.1 About This Book 1
1.2 About Python 2
1.3 Installing Python 3
1.4 Code Editors 4

2 Basic Python Usage 6


2.1 Python as a Calculator 6
2.2 Defining Numbers 10
2.3 Variables 11
2.4 Limitations and Pitfalls 13
2.5 Examples 14
2.6 Exercises 20

3 Strings 22
3.1 Defining Strings 22
3.2 String Indexing and Slicing 24
3.3 String Methods 26
3.4 String Formatting 27
3.5 Examples 28
3.6 Exercise 30

4 Lists and Loops 31


4.1 Definitions, Syntax and Usage 31
4.2 range and enumerate 33
4.3 Creating lists 34

v
vi Contents

4.4 split and join 34


4.5 zip 35
4.6 Examples 36

5 Comparisons and Flow Control 41


5.1 Comparisons and Logic 41
5.2 if ... elif ... else 43
5.3 while loops 44
5.4 More Control Flow: break, continue and pass 44
5.5 Exceptions 45
5.6 Examples 47
5.7 Exercises 53

6 Functions 54
6.1 Defining Functions 54
6.2 Keyword and Default Arguments 55
6.3 Docstrings 56
6.4 Scope 57
6.5 lambda (Anonymous) Functions 59
6.6 Examples 61

7 Data Structures 64
7.1 Lists 64
7.2 Tuples 67
7.3 Sets 68
7.4 Dictionaries 70
7.5 Examples 72
7.6 Exercises 75

8 File Input/Output 76
8.1 Writing Files 76
8.2 Reading Files 77
8.3 Character Encoding 78
8.4 Example 79
8.5 Exercises 80

9 Basic NumPy 82
9.1 Creating NumPy Arrays 82
9.2 Indexing and Slicing NumPy Arrays 87
9.3 NumPy Array Aggregation 89
Contents vii

9.4 NaN: Not a Number 91


9.5 Boolean Arrays and Indexing 91
9.6 Reading Data Files into a NumPy Array 92
9.7 Examples 95
9.8 Exercises 99

10 Graph Plotting with Matplotlib 102


10.1 Line Plots and Scatter Plots 102
10.2 Examples 108
10.3 Exercise 113

11 The Steady-State Approximation 114

12 Liquid–Vapor Equilibrium 118

13 Jupyter Notebook 122


13.1 Jupyter Notebook Basics 122
13.2 Markdown Cells in Jupyter Notebook 125

14 LaTeX 134
14.1 Mathematics with LaTeX 134
14.2 Chemical Equations 143
14.3 Example 144

15 Chemistry Databases and File Formats 147


15.1 Formats 147
15.2 Online Services 154
15.3 Example 156
15.4 Exercises 162

16 More NumPy and Matplotlib 163


16.1 NumPy 163
16.2 Physical Constants (SciPy) 172
16.3 More Matplotlib 174
16.4 Example 181

17 Thermodynamic Cycles 184


17.1 Internal Energy and the First Law 184
17.2 Example 187
17.3 Exercise 189
viii Contents

18 Vectors, Matrices and Linear Algebra 191


18.1 NumPy Arrays as Vectors 191
18.2 NumPy Arrays as Matrices 193
18.3 Linear Algebra 197
18.4 Examples 202
18.5 Exercises 211

19 Linear Least Squares Fitting I 213


19.1 Background 213
19.2 Fitting a Line of Best Fit 215
19.3 numpy.linalg.lstsq 216
19.4 Examples 218
19.5 Exercises 227

20 Linear Least Squares Fitting II 229


20.1 Parameter Uncertainties 229
20.2 Example 230
20.3 Exercises 233

21 Numerical Integration 236


21.1 Integrals of a Single Variable 236
21.2 Integrals of Two and Three Variables 237
21.3 Examples 240
21.4 Exercise 246

22 Optimization with scipy.optimize 247


22.1 Multivariate Minimization and Maximization 247
22.2 Univariate Minimization and Maximization 250
22.3 Example 252
22.4 Exercises 258

23 Vibrational Spectroscopy 260


23.1 The Harmonic Oscillator Model 260
23.2 Example 261
23.3 Exercise 266

24 The Morse Oscillator 267


24.1 Example 268
Contents ix

25 Solving Ordinary Differential Equations 272


25.1 A Single First-Order ODE 272
25.2 Coupled First-Order ODEs 275
25.3 A Single Second-Order ODE 277
25.4 Example 279

26 The Oregonator 282


26.1 Theory and Analysis 282
26.2 Exercise 289

27 Root-Finding with scipy.optimize 291


27.1 Root-Finding Algorithms 291
27.2 Example 295

28 Rotational Spectroscopy 300


28.1 Diatomic Molecules: The Rigid Rotor 300
28.2 Centrifugal Distortion 305
28.3 Polyatomic Molecules 308

29 Peak Finding 315


29.1 Simple Peak-Finding 315
29.2 scipy.signal.find_peaks 318
29.3 Example 322

30 Fitting the Vibrational Spectrum of CO 325


30.1 Analyzing a Rovibrational Spectrum 325
30.2 Fitting the Spectrum 329

31 pandas 333
31.1 Series 333
31.2 DataFrame 338
31.3 Reading and Writing Series and DataFrames 346
31.4 Examples 348
31.5 Exercise 358

32 Simulating a Powder Diffraction Spectrum 360

33 The Hückel Approximation 367


33.1 Theory 367
33.2 Examples 369
33.3 Exercises 376
x Contents

34 Nonlinear Fitting and Constrained Optimization 378


34.1 scipy.optimize.least_squares 378
34.2 scipy.optimize.curve_fit 379
34.3 scipy.optimize.minimize with Constraints 379
34.4 Examples 381
34.5 Exercises 395

35 SymPy 397
35.1 Algebra and Mathematical Functions 398
35.2 Equation Solving 403
35.3 Calculus 407
35.4 Example 413
35.5 Exercises 418

36 Molecular Orbital Theory for H+


2 420

37 Approximations of the Helium Atom Electronic Energy 429


37.1 Theory 429
37.2 Attempt 1: Ignore Electron–Electron Repulsion 430
37.3 Attempt 2: One-Parameter Variational Approach 431
37.4 Attempt 3: Hartree–Fock with a Minimal Basis 433

38 Computational Chemistry with Psi4 and Python 442


38.1 Installing Psi4 442
38.2 Examples 442
38.3 Exercise 455

39 Atomic Structure 457


39.1 One-Electron Atoms 457
39.2 Many-Electron Atoms 468

40 Solutions 479

Index 541
Acknowledgments

For Emma, Charlotte and Laurence

Many people have helped in many different ways in the preparation of this book.
In addition to my family, special thanks are due to Milo Shaffer, Alison Whiteley,
Chris Pickard, Helen Reynolds, Lianna Ishihara and Natalie Haynes, who are so
much better about deadlines than I am.

xi
1
Introduction

1.1 About This Book


This book aims to provide a resource for students, teachers and researchers in
chemistry who want to use Python in their work. Over the last 10 years, the Python
programming language has been widely adopted by scientists, who appreciate its
expressive syntax, gentle learning curve and numerous packages and libraries which
facilitate numerical work.
The book is composed of relatively short chapters, each with a specific job.
Mostly, these jobs fall into one of two categories: to act as a tutorial on a specific
part of the Python language or one of its libraries, or to demonstrate the application
of Python to a particular concept in chemistry. For students and teachers, these ex-
ample applications are chosen to go beyond what can be reasonably achieved with a
pencil, paper and a calculator: A brief overview of the chemical concepts is usually
given, but there is no in-depth tutorial on these topics. Rather, it is assumed that
the reader has some familiarity with the topic and wishes to use Python to solve
larger or more complex problems than those usually presented in textbooks. For
example, the chapter on Hückel molecular orbital theory (Chapter 33) outlines the
assumptions behind this approach to modeling the electronic structure of organic
molecules and then demonstrates the use of Python in determining the π molecular
orbitals of benzene, which (using an unsymmetrized basis) involves a 6 × 6 matrix
determinant: not a problem to be solved by hand.
Researchers are also increasingly using Python in their work as a computational
tool, to manage and transform data, to produce publication-quality figures and vi-
sualizations, and even (using the JupyterLab package) as a replacement for labora-
tory notebooks, and to disseminate data and reproducible analysis. Indeed, Jupyter
Notebook was listed in an article in the journal Nature as one of the ten computer
codes that have transformed science.1
1
J. M. Perkel, Nature 589, 344–348 (2021).

1
2 1 Introduction

Creating high-quality reports requires some knowledge of Markdown and LaTeX


to write equations, tables, and chemical reactions: These are described in Chapter 14.
There are further chapters on chemical databases and formats, peak-finding, linear
and nonlinear least-squares fitting and symbolic computing with SymPy.
The examples are provided on the website https://scipython.com/chem/
in the form of downloadable Jupyter Notebooks (see Chapter 13), and are supple-
mented by some exercises (with solutions at the back of the book).

1.2 About Python


Python is a powerful, general-purpose programming language that is well-suited to
many of the tasks of scientific computing. It is a “high-level language” in that the
programmer does not have to manage the fundamental operations of data type dec-
larations, memory management and so on. In contrast to languages such as C and
Fortran, for which the user must pass their code through a “compiler” to generate
executable machine code before it is executed, Python programs are compiled auto-
matically into “bytecode” (a kind of intermediate representation between its source
and the machine code executable by the processor) by the Python interpreter. This
makes the process of code development much quicker: There is a single step to code
execution, and any errors are reported in messages returned are generally helpful
and specific.
Python and its associated libraries are free and open source, in contrast to com-
parable commercial languages such as Mathematica and MATLAB. It is available
for every major computer operating system, including Windows, Unix, Linux and
macOS. It is a highly modular language: A core functionality is provided with the
Python distribution itself, but there is a large number of additional modules and
packages that extend its functionality. The most notable of these, in the context of
scientific computing, are as follows:2
• NumPy: a package implementing mathematical algorithms for fast numerical
computing, including support for vectors, matrices and multi-dimensional arrays –
see Chapters 9 and 18.
• SciPy: a library of scientific computing algorithms for optimization, root-finding,
linear algebra, integration, interpolation, signal processing and the numerical so-
lution of ordinary differential equations – see Chapters 21, 22 and 25.
• Matplotlib: a package for visualizing and plotting data, with the ability to gener-
ate high-resolution, publication-quality graphs and charts – see Chapter 10.

2
These packages are sometimes collectively referred to as the Python scientific computing “stack.”
1.3 Installing Python 3

• pandas: a library providing high-level data structures for manipulating tabular


data (DataFrames and Series), popular with data scientists – see Chapter 31.
• SymPy: a library for symbolic computation, with support for arithmetic, algebra
and calculus – see Chapter 35.
• Jupyter: a suite of applications comprising a platform for interactive computing
allowing scientists to share code and data analysis in a way that promotes repro-
ducibility and collaboration – see Chapter 13.
However, Python programs will generally not execute as fast as those written
in compiled languages: for heavily numerical work, even Python code using the
NumPy and SciPy libraries (which call pre-compiled C routines from Python) will
not run as fast as code written in, for example, C, C++ or Fortran. It is also hard
to obfuscate the source code of a Python program: to some extent, an open-source
philosophy is built-in to the Python ecosystem.

1.3 Installing Python


The official website of Python, www.python.org, contains full and easy-to-follow
instructions for downloading Python. However, there are several full distributions
which include the NumPy, SciPy and Matplotlib libraries to save you from having
to download and install these yourself:
• Anaconda is available for free (including for commercial use) from www
.anaconda.com/distribution This distribution includes its own well-
documented package manager that can be used to install additional packages,
either using a dedicated application or the command-line conda command.
• Enthought Deployment Manager (EDM) is a similar distribution with a free ver-
sion and various tiers of paid-for versions including technical support and de-
velopment software. It can be downloaded from https://assets.enthought
.com/downloads/.
In most cases, one of these distributions should be all you need. There are some
platform-specific notes below.
The source code (and binaries for some platforms) for the NumPy, SciPy, Mat-
plotlib, pandas, SymPy and Jupyter packages are available separately at:
• NumPy: https://github.com/numpy/numpy
• SciPy: https://github.com/scipy/scipy
• Matplotlib: https://matplotlib.org/users/installing.html
• pandas: https://pandas.pydata.org/
• SymPy: www.sympy.org/
• Jupyter Notebook and JupyterLab: https://jupyter.org/
4 1 Introduction

1.3.1 Windows
Windows users have a couple of further options for installing Python and its libraries:
Python(x,y) (https://python-xy.github.io) and WinPython (https://winpy
thon.github.io/). Both are free.

1.3.2 macOS
macOS, being based on Unix, comes with Python, usually an older version of
Python 3 accessible from the Terminal application as python3. You must not
delete or modify this installation (it’s needed by the operating system), but you
can follow the instructions above for obtaining a distribution with a more recent
version of Python 3. macOS does not have a native package manager (an applica-
tion for managing and installing software), but the two popular third-party pack-
age managers, Homebrew (https://brew.sh/) and MacPorts (www.macports
.org), can both supply the latest version of Python 3 and its packages if you prefer
this option.

1.3.3 Linux
Almost all Linux distributions these days come with Python 3 but the Anaconda
and Enthought distributions both have versions for Linux. Most Linux distributions
come with their own software package managers (e.g., apt in Debian and rpm for
RedHat). These can be used to install more recent versions of Python 3 and its
libraries, though finding the necessary package repositories may take some research
on the Internet. Be careful not to replace or modify your system installation as other
applications may depend on it.

1.4 Code Editors


Although Python code can be successfully written in any text editor, most pro-
grammers favor one with syntax highlighting and the possibility to define macros
to speed up repetitive tasks. Popular choices include:
• Visual Studio Code, a popular, free and open-source editor developed by Mi-
crosoft for Windows, Linux and macOS;
• Sublime Text, a commercial editor with per-user licensing and a free-evaluation
option;
• Vim, a widely used, cross-platform keyboard-based editor with a steep learning
curve but powerful features; the more basic vi editor is installed on almost all
Linux and Unix operating systems;
1.4 Code Editors 5

• Emacs, a popular alternative to Vim;


• Notepad++, a free Windows-only editor;
• SciTE, a fast, lightweight source code editor;
• Atom, another free, open-source, cross-platform editor.
Beyond simple editors, there are fully featured integrated development environ-
ments (IDEs) that also provide debugging, code-execution, code-completion and
access to operating-system commands and services. Here are some of the options
available:
• Eclipse with the PyDev plugin, a popular free IDE (www.eclipse.org/ide/);
• JupyterLab, an open-source browser-based IDE for data science and other appli-
cations in Python (https://jupyter.org/);
• PyCharm, a cross-platform IDE with commercial and free editions
(www.jetbrains.com/pycharm/);
• PythonAnywhere, an online Python environment with free and paid-for options
(www.pythonanywhere.com/);
• Spyder, an open-source IDE for scientific programming in Python, which inte-
grates NumPy, SciPy, Matplotlib and IPython (www.spyder-ide.org/).
The short-code examples given in this book be in the form of an interactive Python
session: commands typed at a prompt (indicated by In [x]:) will produce the
indicated output (usually preceded by the prompt Out [x]:). It should be possible
to duplicate these commands in a Jupyter Notebook or IPython session (e.g., within
the interactive programming environments provided by the Anaconda distribution).
2
Basic Python Usage

2.1 Python as a Calculator


Perhaps the simplest use of Python is as a calculator: Numbers can be added,
multiplied, subtracted, etc. There are three core types of number in Python: In-
tegers (whole numbers) are represented by the type int, real numbers by type
float,1 and complex numbers (which have a real and an imaginary part) by the
type complex. In an interactive Python session (e.g., a Jupyter Notebook), num-
bers of these types can be combined using operators in a single expression which
is evaluated and the result returned to an output prompt. For example:
In [x]: 1 + 2
Out[x]: 3

In [x]: 10 / 4
Out[x]: 2.5

In [x]: 911 * 2356


Out[x]: 2146316

To make code more understandable, it is sometimes helpful to add comments: Ev-


erything on a single line following a # character is ignored by the Python inter-
preter and so can be used to write human-readable remarks providing explanation
and context to the code. For example,
In [x]: # Molar enthalpy of fusion of ice: convert from kJ.mol -1 to J.mol -1.
In [x]: 6.01 * 1000
Out[x]: 6010.0

In [x]: 6.518 / 1013.25 * 760 # atmospheric pressure on Mars , in Torr


Out[x]: 4.888902047865778

1
The name float refers to floating-point numbers, the approximate representation of real numbers used by
Python (and most other modern computer languages).

6
2.1 Python as a Calculator 7

The basic algebraic operators are listed in Table 2.1. In using them, it is important
to pay attention to their precedence: the order in which they are interpreted in an
expression (see Table 2.2). For example:
In [x]: 1 + 3 * 4
Out[x]: 13

Here, 3 * 4 is evaluated first, since the multiplication operator, *, has the higher
precedence out of + and *. The result, 12, is then added to 1. Where operators have
equal precedence, the parts of an expression are generally evaluated left-to-right.2
Precedence can be overridden using parentheses (“round brackets”):
In [x]: 6 / 3 ** 2 # the same as 6 / 9
Out[x]: 0.6666666666666666

In [x]: (6 / 3) ** 2 # the same as 2 ** 2


Out[x]: 4.0

Note that these expressions have resulted in a floating point number, even though
we are operating on integers. This is because the division operator, /, always re-
turns a float, even when its result is a whole number. There is a separate integer
division operator, //, which returns the quotient of the division (“how many times
does the second number go into the first”); the related modulus operator, %, returns
the remainder:
In [x]: 7 / 3
Out[x]: 2.3333333333333335

In [x]: 7 // 3
Out[x]: 2

In [x]: 7 % 3
Out[x]: 1

Something interesting has happened with the expression 7 / 3: The exact value,
2 13 cannot be represented in the way that Python stores real numbers (floating-point
numbers), which has a finite precision (of about 1 in 1016 ): The nearest float value
to the answer that can be represented is returned.
In addition to the basic algebraic operators of Table 2.1, there are many math-
ematical functions and the constants π and e provided by Python’s math library.
This is a built-in module that is provided with every Python installation (no extra
packages need to be installed to use it) but must be imported with the command:
import math

2
The exception is exponentiation, which is evaluated right-to-left (“top-down”).
8 2 Basic Python Usage

Table 2.1 Basic Python


arithmetic operators

+ Addition
- Subtraction
* Multiplication
/ Floating-point division
// Integer division
% Modulus (remainder)
** Exponentiation

Table 2.2 Python arithmetic operator precedence

** (highest precedence)
*, /, //, %
+, - (lowest precedence)

The functions, some of which are listed in Table 2.3 can then be used by prefixing
their name with math. – for example:
In [x]: import math
In [x]: math.sin(math.pi / 4)
Out[x]: 0.7071067811865475

This is an example of a function call:3 The function math.sin is passed an argu-


ment (here, the number π/4) in parentheses, and returns the result of its calculation.
The NumPy package (see Chapter 9), which is not built in to Python (it needs to
be installed separately), provides all of the functionality of math and more, so we
shall mostly use it instead of math. It is usual to import NumPy with the alias np,
as in the following example:
In [x]: import numpy as np
In [x]: 1 / np.sqrt (2)
Out[x]: 0.7071067811865475

Although the trigonometric functions in math and NumPy use radians rather than
degrees, there are a couple of convenience methods for converting between the two:
In [x]: np. degrees(np.pi / 2)
Out [x]: 90.0

In [x]: np.sin(np. radians (30))


Out [x]: 0.49999999999999994

3
This book will use the terms function and method interchangeably: a method is a function that “belongs to” an
object, but in Python, everything is an object.
2.1 Python as a Calculator 9

Table 2.3 Some functions and constants provided by the math


module. Angles are assumed to be in radians

math.pi π
math.e e

math.sqrt(x ) x
math.exp(x ) ex
math.log(x ) ln x
math.log10(x ) log10 x
math.sin(x ) sin(x)
math.cos(x ) cos(x)
math.tan(x ) tan(x)
math.asin(x ) arcsin(x)
math.acos(x ) arccos(x)
math.atan(x ) arctan(x) 
math.hypot(x, y ) The Euclidean norm, x2 +y2
math.comb(n, r ) The binomial coefficient, nr ≡ n Cr
math.degrees(x ) Convert x from radians to degrees
math.radians(x ) Convert x from degrees to radians

(Note again the finite precision here: The exact answer is 0.5.)
The math.log and np.log functions return the natural logarithm (of base e);
there are separate math.log10 and np.log10 variants:
In [x]: np.log (10)
Out[x]: 2.302585092994046

In [x]: 1 / np.log10 (np.e)


Out[x]: 2.302585092994046

There are a couple of useful built-in functions (i.e., those that do require a package
such as math or NumPy to be imported). abs returns the absolute value of its
argument:
In [x]: abs (-4)
Out[x]: 4

and round rounds a number to a given precision in decimal digits (or to the nearest
integer if no precision is specified):
In [x]: round (3.14159265 , 4)
Out[x]: 3.1416

In [x]: round (3.14159265)


Out[x]: 3
10 2 Basic Python Usage

2.2 Defining Numbers


Unlike in some languages, Python does not require the user to declare a type for
a number before its use. Numbers that look to the interpreter like integers will
be treated as int objects; those that look like real numbers will become float
objects. However, these data types are dimensionless numbers: If they represent
physical quantities, the programmer is responsible for keeping track of any units.
Integers in Python can be as large as the computer’s memory will allow. For
defining very large integers, it can be convenient separate groups of digits with the
underscore character, ‘_’.
In [x]: # Avogadro constant (mol -1): exact value by definition .
In [x]: 602_214_076_000_000_000_000_000
Out[x]: 602214076000000000000000

Floating point numbers can be written with a decimal point ‘.’, again with optional
digit grouping for clarity:
In [x]: # Gas constant (J.K -1.mol -1): exact value by definition .
In [x]: 8.31_446_261_815_324
Out[x]: 8.31446261815324

or in scientific notation, with the character e (or E) separating the mantissa (signif-
icant digits) and the exponent:
In [x]: # Boltzmann constant (J.K -1): exact value by definition .
In [x]: 1.380649e -23
Out[x]: 1.380649e -23

Complex numbers can be written as the sum of a real and an imaginary part, the
latter indicated with a suffixed j:
In [x]: 1 + 4j
Out[x]: (1+4j)

or by explicitly passing a pair of values to complex:


In [x]: complex (-2, 3)
Out[x]: ( -2+3j)

The real and imaginary parts are represented by floating point numbers and can be
obtained separately using the real and imag attributes. The abs built-in returns
the magnitude of a complex number:
In [x]: (3 + 4j). real
Out[x]: 3.0

In [x]: (3 + 4j). imag


Out[x]: 4.0
2.3 Variables 11

In [x]: abs (3 + 4j)


Out[x]: 5.0

2.3 Variables
It is very common to want to store a number in a program so that it can be used
repeatedly and referred to by a convenient name: This is the purpose of a variable.
In Python, a variable can be thought of as a label that is attached to an object (here,
an int or a float number). There are some rules about what variables can be
called:
• A variable name can contain only letters, digits and the underscore character
(often used to indicate a subscript).
• A variable name cannot start with a digit.
• A variable cannot have the same name as any of a set of 30 or so reserved key-
words (see Table 2.4).
Most modern code editors use syntax highlighting that will indicate when a re-
served keyword is used. Note the difference between a valid assignment

In [x]: # Avogadro constant (mol -1): exact value by definition .


In [x]: N_A = 602_214_076_000_000_000_000_000

and one that fails because of an invalid variable name:

In [x]: import = 0

File "<ipython -input-84- eb07b9ecdbca >", line 1


import = 0
^
SyntaxError : invalid syntax

The attempt to assign 0 to a variable named import fails (a SyntaxError is


“raised”) because import is a reserved keyword (it forms part of the syntax of
Python itself where it is used to import modules, as we have seen). In practice,
reserved keywords make unlikely variable names, with the exception of lambda
(see Section 6.5 for its meaning), which could be chosen to represent a wavelength,
for example; consider using lam in this case. Table 2.4 also contains the three spe-
cial, unchangeable keywords: True and False, which represent the corresponding
Boolean concepts (see Section 5.1), and None, which is used to represent an empty
or absent value.
12 2 Basic Python Usage

Table 2.4 Python 3 reserved keywords

and as assert async await break


class continue def del elif else
except finally for from global if
import in is lambda nonlocal not
or pass raise return try while
with yield False True None

Well-chosen variable names can make Python code very clear and expressive:
In [x]: # Boltzmann constant (J.K -1): exact value by definition .
In [x]: k_B = 1.380649e -23

In [x]: R = N_A * k_B # the gas constant (J.K -1.mol -1)

In the last statement, the right-hand side of the = sign, the expression N_A * k_B,
is evaluated first and the variable name R is assigned (“bound”) to the result of this
calculation.
It is also possible to modify the value associated with a variable name:
In [x]: n = 1000
In [x]: n = n + 1

It is important to realize that the statement n = n + 1 does not represent some


(impossible) mathematical equation to be solved for the number n but is rather an
instruction to take the value of n, add one to it, and then reassign (“rebind”) the
name n to the result. The original value of 1,000 is then “forgotten”: The com-
puter memory that was used for its storage is freed and can be used for something
else. Expressions like this are so common in programming that Python provides a
shortcut (so-called “augmented assignment”):
In [x]: n = 1000
In [x]: n += 1

achieves the same result. There is a similar syntax for other operators: -=, *=, etc.
Another useful shortcut is the use of comma-separated values (actually, tuples –
see Section 7.2) to assign several variables at once, for example:
In [x]: a, b, c = 42, -1, 0.5

In this book, we will try to give objects meaningful variable names: This is a good
way to make code “self-documenting” and minimizes the use of explanatory com-
ments that otherwise might be hard to maintain. That said, it is generally understood
2.4 Limitations and Pitfalls 13

that the variables i, j and k are used as integer counters or indexes and that _ (the
underscore character) is used when the program requires an object to be assigned a
variable name but that object is not subsequently used.

2.4 Limitations and Pitfalls


Division by zero is always a hazard with mathematical operations. An Exception
(Python error) is “raised” in this case, and execution of the code is halted (see also
Section 5.5). The exact form of the error message produced may vary, depending
on which calculation raised the Exception:

In [x]: 1 / 0
---------------------------------------------------------------------------

ZeroDivisionError Traceback (most recent call last)

<ipython -input-112- bc757c3fda29 > in <module >


----> 1 1 / 0

ZeroDivisionError : division by zero

NumPy is a bit more tolerant of division by zero, and issues only a warning:

In [x]: x = 0
In [x]: y = np.sin(x) / x
<ipython -input -116 -86 b0517f1e0c >:2: RuntimeWarning : invalid value encountered in
double_scalars
y = np.sin(x) / x

In [x]: y
Out[x]: nan

In this case, y has been assigned to a special floating-point value nan, which stands
for “Not a Number,” signifying that the result of a calculation is undefined. What
the user does with this information is up to them, but be aware that there is no way
back from a NaN: Any operation performed on this value simply returns another
NaN and nothing is equal to NaN (it isn’t even equal to itself).
Some behavior, mostly that resulting from floating-point arithmetic, can be sur-
prising to new users:
In [x]: np.tan(np.pi /2)
Out[x]: 1.633123935319537 e+16

The mathematically correct value of tan π2 is +∞, but because np.pi does not
represent π exactly, the value returned is just extremely large rather than infinite.
14 2 Basic Python Usage

Floating-point numbers, because they are stored in a fixed amount of memory


(8 bytes for so-called double-precision floating point), do have a maximum (and
minimum) magnitude. Trying to evaluate an expression that generates a number
too large to be represented (about 1.8 × 10308 ) results in “overflow”:

In [x]: np.exp (1000)


<ipython -input -120 -47 a6eab891c2 >:1: RuntimeWarning : overflow encountered in exp
np.exp (1000)

inf

Here, the overflow condition has returned the special value inf, which stands for
infinity (even though e1000 is not infinite, just extremely large).
Underflow can also occur when a number has an absolute value too small to be
represented in double-precision floating point form (less than about 2.2 × 10−308 ):
In this case, you generally won’t be warned about it:

In [x]: np.exp ( -1000)


Out[x]: 0.0

2.5 Examples
E2.1
Question
How many molecules of water are there in a 250 mL glass of water?
Take the density, ρ(H2 O(l))=1 g cm−3 and the molar mass, M(H2 O)=18 g mol−1.
Solution
1 mL is the same volume as 1 cm3 so we might as well keep the unit. We will define
some variables first:
# Avogadro constant , in mol -1 to 4 s.f.
N_A = 6.022 e23

# The volume of the water being considered , in cm3.


V = 250
# The density of water , in g.cm -3.
rho = 1
# The molar mass of H2O , in g.mol -1.
M_H2O = 18

The water in our glass weighs m = ρV and contains n = m/M(H2 O) moles of water.
# Mass of water , in g.
m = rho * V
2.5 Examples 15

# Amount of water , in mol.


n = m / M_H2O
n

13.88888888888889

The number of water molecules is then N = nNA :


n * N_A

8.363888888888889 e+24

That is, N = 8.364 × 1024 molecules.

E2.2
Question
The speed of sound in a gas of molar mass M at temperature T is

γ RT
c= ,
M
where R is the gas constant and for air the adiabatic index, γ = 75 .
Estimate the speed of sound in air at (a) 25 ◦ C and (b) −20 ◦ C. Take M =
29 g mol−1 .
Solution
We have two temperatures to calculate for, so to avoid repeating ourselves, first
define a factor, f :

√ γR
c = f T, where f = .
M

If we stick to SI units (note that this means expressing M in kg mol−1 ), then we


should expect c to come out in units of m s−1 . Explicitly:
  
[·][J K−1 mol−1 ][K] [J] [kg m2 s−2 ]
[c] = = = = ms−1 .
[kg mol−1 ] [kg] [kg]

import numpy as np
# The gas constant in J.K -1.mol -1 (4 s.f.).
R = 8.314

# Mean molar mass of air , in kg.mol -1.


16 2 Basic Python Usage

M = 29 / 1000
# Ratio of the heat capacities C_p / C_V ( adiabatic index ) for a diatomic gas.
gamma = 7 / 5

# Our factor , f, in m.s -1.K -1/2.


f = np.sqrt(gamma * R / M)

# Convert the first temperature from degC to K.


T = 25 + 273
f * np.sqrt(T)

345.84234000181505

# Convert the second temperature from degC to K.


T = -20 + 273
f * np.sqrt (-20 + 273)

318.66200881509076

That is, at 25 ◦ C, the speed of sound is 346 ms−1 , whereas at −20 ◦ C, it is 319 ms−1 .

E2.3

Question
Acetic acid, CH3 CO2 H, is a weak acid with pKa = 4.756. What is the pH of a 0.1
M solution of acetic acid in water?
Solution
Representing acetic acid by HA, the dissociation equilibrium is:

HA  H+ + A−
c−x x x
That is, in solution x mol of the acid dissociates, producing x mol of hydrogen ions,
the same amount of conjugate base, A− , and leaving c − x mol of undissociated
HA. At equilibrium,

{H+ }{A− }
Ka = ,
{HA}

where {X} is the activity of component X. For this weakly dissociating acid, we may
approximate {X} = [X]/c for all species, where c = 1 mol dm−3 is introduced to
ensure that Ka is dimensionless. Therefore,
2.5 Examples 17

[H+ ][A− ] x2
Ka ≈ = .
[HA]c (c − x)c

By definition, pKa = − log(Ka ); for a weak acid like acetic acid, Ka is small:
# The pKa of acetic acid , log10 of the acid dissociation constant.
pKa = 4.756
Ka = 10** -4.756
Ka

1.7538805018417602e -05

That is, Ka = 1.75 × 10−5 and the position of the equilibrium favors the undissoci-
ated acid, HA. Nonetheless, some of the acid will dissociate, and the concentration
of the resulting hydrogen ions determines the pH of the solution. Since c  x, it
makes sense to approximate c − x ≈ c so as to avoid having to solve a quadratic
equation. We get:

x2 
Ka ≈ ⇒ x ≈ Ka cc
cc

import numpy as np
# " Standard" amount concentration , 1 M = 1 mol.dm -3.
c_std = 1

# The concentration of the acid.


c = 0.1

# The concentration of hydrogen ions at equilibrium .


x = np.sqrt(Ka * c * c_std )
x

0.0013243415351946643

Thus, [H+ ] = 1.3 × 10−3 M. Note that it seems justified to have taken c  x (we
have ignored the even smaller concentration of H+ due to autoionization of the
water solvent).
pH = -np.log10 (x)
pH

2.878

The pH of 0.1 M acetic acid is therefore about 2.9.


If we felt we absolutely had to solve the equation for x as a quadratic, it is easily
done. Rearranging and substituting Kc = Ka c for convenience yields:
18 2 Basic Python Usage

x2 + Kc x − Kc c = 0,
for which the only positive root is

Kc 1
x+ = − + Kc2 + 4Kc c
2 2
Kc = Ka * c_std
x = (-Kc + np.sqrt(Kc **2 + 4*Kc*c))/2
x

0.0013156011665771512

which implies [H+ ] = 1.3 × 10−3 M as before. The accurate value for the pH is:
pH = -np.log10 (x)
pH

2.8808757500892046

which is the same, to three significant figures, as the approximate value.

E2.4
Question
The standard molar enthalpy of formation of gaseous ammonia at 298 K is f Hm=
−1
−45.92 kJ mol .
The standard molar entropies, also at 298 K, of H2 (g), N2 (g) and NH3 (g) are
given below:

Sm (H2 (g)) = 130.68 J K−1 mol−1

Sm (N2 (g)) = 191.61 J K−1 mol−1

Sm (NH3 (g)) = 192.77 J K−1 mol−1 .
What is the equilibrium constant, K, for the following equilibrium at 298 K?
N2 (g) + 3H2 (g)  2NH3 (g)
Solution
First, assign some variable names to the necessary constants and provided thermo-
dynamic quantities:
import numpy as np
# The gas constant in J.K -1.mol -1 (4 s.f.).
R = 8.314
2.5 Examples 19

# Standard molar enthalpy of formation of NH3(g) in kJ.mol -1.


DfH_NH3 = -45.92

# Standard molar entropies for H2(g), N2(g) and NH3(g) in J.K -1.mol -1.
Sm_H2 = 130.68
Sm_N2 = 191.61
Sm_NH3 = 192.77

# The temperature considered for the equilibrium .


T = 298

Next determine the standard enthalpies and entropies of the reaction. The left-hand
side contains only elements in their reference state (H2 (g) and N2 (g)) and so their
enthalpies of formation are 0. Therefore,
r H  = 2f Hm

(NH3 (g)).
Entropy is a state function, so r S can be obtained from an extension of Hess’s
Law:

 
r S  = S (P) − S (R) (2.1)
products,P reactants,R
  
= 2Sm (NH3 (g)) − 3Sm (H2 (g)) − Sm (N2 (g)) (2.2)

# Standard enthalpy of reaction in kJ.mol -1


DrH = 2 * DfH_NH3
# Standard entropy of reaction in J.K -1.mol -1
DrS = 2 * Sm_NH3 - 3 * Sm_H2 - Sm_N2

The reaction is exothermic (favoring the products) but is associated with a decrease
in entropy of the system (favoring the reactants):

DrH , DrS

( -91.84 , -198.11)

The position of equilibrium is determined by the standard Gibbs free energy of


reaction,

r G = r H  − Tr S .

At 298 K, we have:
DrG = DrH - T * DrS / 1000
20 2 Basic Python Usage

Note that we need to convert the units of r S to kJ K−1 mol−1 by dividing by


1,000. Python has no conception of units: As far as the interpreter is concerned, the
values are pure numbers and we have to keep track of the units ourselves if we are
to get meaningful results.

DrG

-32.803219999999996

r G is found to be −32.8 kJ K−1 mol−1 , implying that products are favored over-
all.
Finally, the equilibrium constant is obtained by rearranging r G = −RT ln K

to give K = e−r G /RT .

# NB for this calculation we need the numerator in J.mol -1


K = np.exp(-DrG * 1000 / R / T)

There is a pitfall to avoid in this calculation:


K = np.exp(-DrG * 1000 / R * T) # wrong !

would be wrong (the division is performed first, and then the quantity r G /R
multiplied by T. If you’re a fan of parentheses, an alternative correct expression is:
K = np.exp(-DrG * 1000 / (R * T))

The equilibrium constant is:

562455.4959880211

As expected, K  1.

2.6 Exercises
P2.1 The rate of the reaction between H2 and F2 to form HF increases by a factor
of 10 when the temperature is increased from 25◦ C to 47◦ C. What is the reaction
activation energy? Assume the Arrhenius equation applies.

P2.2 Body fat (triglyceride) has the average chemical formula C55 H104 O6 . In the
absence of other mechanisms (such as ketosis), its metabolism is essentially a low-
temperature combustion to form carbon dioxide and water.
2.6 Exercises 21

Calculate the mass of CO2 and H2 O produced when 1 kg of fat is “burned off.”
Take the molar masses to be M(C) = 12 g mol−1 , M(H) = 1 g mol−1 and M(O) =
16 g mol−1 .
What percentage of the original mass of fat is exhaled as CO2 ?

P2.3 What is the boiling point of water on the summit of Mt Everest (8,849 m)?
Assume that the ambient air pressure, p, decreases with altitude, z, according to
p = p0 exp(−z/H), where p0 = 1 atm and take the scale height, H to be 8 km. The
molar enthalpy of vaporization of water is vap Hm = 44 kJ mol−1 .
The Clausius–Clapeyron equation is:
d ln p vap Hm
= .
dT RT 2
3
Strings

3.1 Defining Strings


A Python string (of type str) is a sequence of characters, usually representing some
textual data; for example, a message that can be printed on the screen. Strings are
defined by using either single or double quotes, and can be assigned to variable
names, as with numbers:
In [x]: 'sodium '
Out[x]: 'sodium '

In [x]: gas = " Carbon dioxide"

Strings can be concatenated with the + operator and repeated with the * operator:
In [x]: 'CH3 ' + 'CH2 '*3 + 'CH3 '
Out[x]: 'CH3CH2CH2CH2CH3 '

In [x]: prefix = 'trans -'


In [x]: prefix + 'but -2- ene '
Out[x]: 'trans -but -2- ene '

A string between quotes is called a string literal; string literals defined next to each
other are automatically concatenated (no + required). Note that no space is added
into the concatenated string:
In [x]: 'Na' 'Cl'
Out[x]: 'NaCl '

This can be useful when generating long strings, which can be broken up into parts
on separate lines, provided the whole expression is contained in parentheses:
In [x]: quote = ('For me chemistry represented an indefinite cloud of future '
' potentialities which enveloped my life to come in black '
' volutes torn by fiery flashes ')

22
3.1 Defining Strings 23

Table 3.1 Common Python escape sequences

Escape sequence Meaning

\' Single quote (')


\" Double quote (")
\n Linefeed (LF)
\r Carriage return (CR)
\t Horizontal tab
\\ The backslash character itself
\u, \U, \N{} Unicode character identified by its code point

The line breaks are not included in the string: to represent a new line and other
special characters such as tabs, so-called escape characters are used, prefixed by a
backslash ('\', see Table 3.1). They won’t be resolved in the string literal echoed
back by the Python interactive shell or Jupyter output cell, however. Instead, pass
them to the print function. For example:

In [x]: 'Li\tNa\tK\tRb\n3\t11\t19\t37 '


Out[x]: 'Li\tNa\tK\tRb\n3\t11\t19\t37 '

In [x]: print ('Li\tNa\tK\tRb\n3\t11\t19\t37 ')


Li Na K Rb
3 11 19 37

Here, the escape character \t has been printed as a tab and \n ends a line of output
and starts a new one.
There are occasions (e.g., when defining strings of LaTeX source, see Chapter
14) when one does not want a backslash to indicate an escape character; in this
case either escape the backslash itself ('\\') or define a raw string (r'...') as
follows:

In [x]: print ('\tan (\pi)')


an(\pi) # Oops: we didn 't want \t to be turned into a tab

In [x]: print ('\\ tan (\pi)') # Escape the backslash


\tan (\pi)

In [x]: print (r'\tan (\pi)') # Raw string


\tan (\pi)

The print function is extremely powerful and can take a comma-separated se-
quence of objects (including numbers, which it converts to strings) and output them.
By default, it separates them by a single space, and provides a single newline at the
end of its output.
24 3 Strings

In [x]: print ('Standard atomic weight of Na:', 22.99)


Standard atomic weight of Na: 22.99

In [x]: print ('2 + 3 =', 2 + 3)


2 + 3 = 5

The difference between \n and \r is that the latter returns the print “cursor” to the
start of the line but does not create a new line, so subsequent output overwrites
whatever was there before:
In [x]: print (" Fluorine\rChl")
Chlorine

Unicode characters can be identified by their code points: each character in almost
all the world’s major written languages is assigned an integer within the Unicode
standard, and this integer code can be used in Python strings using the \u escape
code:1
In [x]: print ("\u212b ") # The Swedish Å, used to represent the angstrom

Some common characters have specific names that can be referred to using the
N escape character:
In [x]: print ("\N{GREEK CAPITAL LETTER DELTA }")


3.2 String Indexing and Slicing


Individual characters can be accessed using the indexing notation s[i], where the
index i is the position of the character in the string, starting at zero. For example,
In [x]: s = 'Plutonium '
In [x]: s[0]
Out[x]: 'P'

In [x]: s[4]
Out[x]: 'o'

If the index i is negative, it is taken to be counted backward from the end of the
string (the last character is in “position” −1):
In [x]: s[-1]
Out[x]: 'm'

1
For more information on Unicode, see the official site, https://unicode.org/. To search for the code point
representing a specific character, there is a useful online service at https://codepoints.net/.
3.2 String Indexing and Slicing 25

In [x]: s[-3]
Out[x]: 'i'

Character P l u t o n i u m
Index 0 1 2 3 4 5 6 7 8
Index −9 −8 −7 −6 −5 −4 −3 −2 −1

A substring is obtained by slicing the string with the notation s[i:j], where i
is the index of the first character to use, and j is one after the last character to
take. That is, the substring includes the starting character but excludes the ending
character:
In [x]: s[2:4]
Out[x]: 'ut' # Substring is s[2] + s[3], the third and fourth characters

This takes a bit of getting used to, but it’s actually quite useful: The returned string
has j - i characters in it, and sequential slices use indexes that start off where the
previous one left off:
In [x]: s[0:4] + s[4:7] + s[7:9]
Out[x]: 'Plutonium '

Strings can be sliced backward or stridden differently with a third value:


s[i:j:stride]; where any of i, j, stride are omitted, it is assumed that, respec-
tively, the start of the string (i=0), the end of the string and stride=1 (consecutive
characters) are intended:
In [x]: s[:5] # The first five characters
Out[x]: 'Pluto '

In [x]: s [1:6:2] # s[1], s[3], s[5]


Out[x]: 'ltn '

In [x]: s[:: -1]


Out[x]: 'muinotulP ' # The whole string , reversed

Strings in Python are immutable; they cannot be changed in place:


In [x]: s = 'alkane '
Out[x]: s[3] = 'e'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython -input-65-44 f92721ca9f > in <module >
----> 1 s[3] = 'e'

TypeError : 'str ' object does not support item assignment


26 3 Strings

Instead, a new string can be created from slices of the old one:
In [x]: s[:3] + 'e' + s[4:] # 'alk ' + 'e' + 'ne'
Out[x]: 'alkene '

The new string can be assigned to a variable name, of course, including same one,
if we want:
In [x]: s = s[:3] + 'y' + s[4:] # 'alk ' + 'y' + 'ne'
In [x]: s
Out[x]: 'alkyne '

3.3 String Methods


Python comes with a large number of methods for manipulating strings. A full list
is given in the documentation,2 but the most useful ones are demonstrated here:
In [x]: f = 'CH3CH2CH2CH3 '
In [x]: len(f) # sequence length , a built -in function
Out[x]: 12

In [x]: f.count ('CH2 ') # number of substrings


Out[x]: 2

In [x]: f.lower () # also f. upper ()


Out[x]: 'ch3ch2ch2ch3 '

In [x]: f.index ('CH2 ') # first index of substring


Out[x]: 3

In [x]: # remove any of the characters 'C', 'H', '3' from both ends of f
In [x]: f.strip ('CH3 ')
Out[x]: '2CH2 '

In [x]: f. removeprefix('CH3 ') # also f. removesuffix (); Python 3.9+ only


Out[x]: 'CH2CH2CH3 '

In [x]: f. replace('CH3 ', 'NH2 ')


Out[x]: 'NH2CH2CH2NH2 '

Again, f is immutable and left unchanged by these operations: They return a new
Python object. This means that they can be chained together, for example:
In [x]: f. removeprefix('CH3 '). removesuffix('CH3 '). lower ()
Out[x]: 'ch2ch2 '

See also Section 4.4 for information on the string methods split and join.

2
https://docs.python.org/3/library/stdtypes.html#string-methods.
3.4 String Formatting 27

3.4 String Formatting


When a number is printed to the screen, Python converts it to a string and does
its best to choose an appropriate representation: integers are always output with all
their digits;3 for very large or very small floating point numbers, scientific notation
is used:
In [x]: N_A = 602_214_076_000_000_000_000_000
In [x]: print (N_A)
602214076000000000000000

In [x]: print (float (N_A ))


6.02214076 e+23

The way that numbers are formatted can be controlled using the string format
method. In its simplest use, values are simply interpolated into a string template at
locations indicated by braces ('{}'):
In [x]: c = 299792458
In [x]: units = 'm.s -1'
In [x]: 'The speed of light is c = {} {} '. format(c, units )
Out[x]: 'The speed of light is c = 299792458 m.s -1'

The arguments passed to the format method can also be referred to by name or
(zero-based) index inside the braces:
In [x]: '{0} = {1} { cgs_units }'. format('c', c * 100, cgs_units ='cm.s -1')
Out[x]: 'c = 29979245800 cm.s -1'

There is a special syntax for refining the formatting of these interpolated strings:
the field width, padding number of decimal places and so on. Starting with integers,
the width of the space allocated for the number, w , is specified with :w d as shown
here:
In [x]: '{:6d}'. format (42)
Out[x]: ' 42'

The number 42 is output as a string of six characters, padded on the left with spaces.
Floating-point numbers can be given a precision, p , as well as a width: :w.p f
and :w.p e for positional and scientific notation respectively:
In [x]: k_B = 1.380649e -23
In [x]: '{:12.3e}'. format(k_B) # 12 characters , 3 decimal places
Out[x]: ' 1.381e -23 '

In [x]: '{:.3e}'. format(k_B) # as many characters as needed , 3 decimal places

3
In recent versions of Python, there is actually a default limit of 4300 digits for printing large integers because
of a perceived security vulnerability: Converting a huge integer into a string can consume considerable
memory and processor resources.
28 3 Strings

Out[x]: '1.381e -23 '

In [x]: '{:.28 f}'. format(k_B) # 28 characters , positional notation


Out[x]: '0.0000000000000000000000138065 '

Note that if the width is omitted, Python makes the string as long as it needs to be
to provide the precision requested.
There are a couple of other useful types of format specifier: :w.p g shifts between
positional and scientific notation depending on the magnitude of the number and the
precision requested (according to some reasonably complicated rules.) Use :w s for
interpolating strings into other strings (which is sometimes necessary for aligning
output).
Since Python version 3.6 it has been possible to interpolate the values of objects
directly, using f-strings. The variable name of the object is placed before the colon
in a string defined within quotes preceded by the letter f as follows:4
In [x]: f" Boltzmann 's constant is approximately {k_B :.3e} J.K -1"
Out[x]: " Boltzmann 's constant is approximately 1.381e -23 J.K -1"

It is even possible to carry out calculations within the interpolation braces: that
is, the interpolated object can derive from an expression. To keep code clear, it is
better not to include complex expressions in an f-string, but it is common to carry
out simple unit conversions if necessary:
In [x]: print (f'The speed of light is approximately {c /1000:.3f} km.s -1 ')
The speed of light is approximately 299792.458 km.s -1

3.5 Examples
E3.1
Question
Produce a formatted string reporting the mass of a linear alkane, Cn H2n+2 , given
n. Take the molar masses of C and H to be 12.0107 g mol−1 and 1.00784 g mol−1 ,
respectively.
Solution

# Molar masses of carbon , hydrogen atoms (g.mol -1).


mC , mH = 12.0107 , 1.00784
# String formatting template.
fmt = 'Mass of {:5s}: {:6.2 f} g.mol -1 '

4
Note that in this example, we have chosen to delimit the string using double quotes, ", because we want to use
a single quote, ’, inside the string as an apostrophe.
3.5 Examples 29

n = 2
nH = 2 * n + 2
formula = 'C{}H{}'. format(n, nH) # or f'C{n}H{nH}'
print (fmt. format(formula , n * mC + nH * mH))

n = 8
nH = 2 * n + 2
formula = 'C{}H{}'. format(n, nH)
print (fmt. format(formula , n * mC + nH * mH))

Mass of C2H6 : 30.07 g.mol -1


Mass of C8H18 : 114.23 g.mol -1

E3.2
Question
Produce a nicely formatted list of the values of the physical constants, h, c, kB , R
and NA , to four significant figures, with their units.
Solution
First define variables for the values and units of the physical constants.
h, h_units = 6.62607015e -34, 'J.s'
c, c_units = 299792458 , 'm.s -1'
kB , kB_units = 1.380649e -23, 'J.K -1'
R, R_units = 8.314462618 , 'J.K.mol -1'
N_A , N_A_units = 6.02214076 e+23, 'mol -1'

We can define our list of constants in a single string by concatenation. It is possible


to split the assignment across multiple lines of input, but the right-hand side must
be wrapped in parentheses for Python to interpret it as a single expression.
s = (f'h = {h:9.3e} { h_units }\n'
f'c = {c:9.3e} { c_units }\n'
f'kB = {kB :9.3e} { kB_units }\n'
f'R = {R:9.3f} { R_units }\n'
f'N_A = {N_A :9.3e} { N_A_units }')

print (s)

h = 6.626e -34 J.s


c = 2.998 e+08 m.s -1
kB = 1.381e -23 J.K -1
R = 8.314 J.K.mol -1
N_A = 6.022 e+23 mol -1
30 3 Strings

3.6 Exercise
P3.1 The following variables define some thermodynamic properties of CO2 and
H2 O:
# Triple point of CO2 (K, Pa).
T3_CO2 , p3_CO2 = 216.58 , 5.185 e5
# Enthalpy of fusion of CO2 (kJ.mol -1).
DfusH_CO2 = 9.019
# Entropy of fusion of CO2 (J.K -1.mol -1).
DfusS_CO2 = 40
# Enthalpy of vaporization of CO2 (kJ.mol -1).
DvapH_CO2 = 15.326
# Entropy of vaporization of CO2 (J.K -1.mol -1).
DvapS_CO2 = 70.8

# Triple point of H2O (K, Pa).


T3_H2O , p3_H2O = 273.16 , 611.73
# Enthalpy of fusion of H2O (kJ.mol -1).
DfusH_H2O = 6.01
# Entropy of fusion of H2O (J.K -1.mol -1).
DfusS_H2O = 22.0
# Enthalpy of vaporization of H2O (kJ.mol -1).
DvapH_H2O = 40.68
# Entropy of vaporization of H2O (J.K -1.mol -1).
DvapS_H2O = 118.89

Use a series of print statements with f-strings to produce the following formatted
table:
CO2 H2O
----------------------------------------
p3 /Pa 518500 611.73
T3 /K 216.58 273.16
DfusH /kJ.mol -1 9.019 6.010
DfusS /J.K -1.mol -1 40.0 22.0
DvapH /kJ.mol -1 15.326 40.680
DvapS /J.K -1.mol -1 70.8 118.9
4
Lists and Loops

4.1 Definitions, Syntax and Usage


A string is an example of a sequence: a collection of objects (here, characters) that
can be taken one at a time (i.e., iterated over). The syntax for retrieving objects
from a sequence is:
for object in sequence :
# Do something with object
...

This is a for loop: The block of code indented by four spaces is executed once for
each object in the sequence. For example,
In [x]: name = 'tin '
...: for letter in name:
...: print ( letter)
...:
t
i
n

Another important Python sequence is the list: an ordered collection of objects


that can be of any type. Lists are defined as a comma-separated sequence of objects
between square brackets:
In [x]: mylist = [4, 'Sn', 'sodium ', 3.14159]

Lists can be indexed, sliced and iterated over just like strings:
In [x]: print ( mylist [2]) # The third item in mylist
sodium

In [x]: print ( mylist [2::]) # All items from the third onward
['sodium ', 3.14159]

In [x]: for item in mylist: # Loop over all items in mylist

31
32 4 Lists and Loops

...: print (item)


...:
4
Sn
sodium
3.14159

Unlike strings, lists are mutable: They can be changed in place in various ways,
for example by direct assignment:

In [x]: mylist [2] = 'potassium '


In [x]: mylist
Out[x]: [4, 'Sn', 'potassium ', 3.14159]

There are a couple of other important methods for manipulating lists: append adds
an item onto the end of the list (growing its length by one):

In [x]: mylist. append ( -42)

In [x]: mylist
Out[x]: [4, 'Sn', 'sodium ', 3.14159 , -42]

extend can be used to concatenate two lists:


In [x]: list1 = ['H', 'He', 'Li']

In [x]: list2 = ['Be', 'B', 'C']

In [x]: list1 . extend(list2 )

In [x]: list1
Out[x]: ['H', 'He', 'Li', 'Be', 'B', 'C']

New lists can be created by passing any iterable object into the list() construc-
tor:
In [x]: list('helium ')
Out[x]: ['h', 'e', 'l', 'i', 'u', 'm']

Individual numbers are not iterable, so list(3.14159) fails:


In [x]: list (3.14159)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython -input -32 -8870 af92a665 > in <module >
----> 1 list (3.14159)

TypeError : 'float ' object is not iterable

However, str(3.14159), the string representation of this number, “3.14159”, is


iterable and so we could create a list of its characters:
Other documents randomly have
different content
toutes ses ressources. Mais comme il fait, avec son préambule et sa
suite de sombres jours, une grande et longue saison de l'année, on
doit chercher toutes sortes de moyens passagers pour l'abréger et
en sortir sans trop d'ennuis. À la campagne, au contraire, ce n'est
que le rapide passage d'un long automne à un précoce printemps.
Comme il est court le temps qui s'écoule entre la dernière feuille du
chêne et l'épanouissement du premier bourgeon du châtaignier!
Lorsque deux jours sur sept il fait un grand vent, qu'il pleut et grêle
pendant deux autres jours, les gens de la ville restent dans leurs
murs, même pendant les trois derniers jours de la semaine, pendant
lesquels le soleil traverse les nuages, et jette de charmantes lueurs
sur la nature languissante; car le matin quand ils ont quitté leur lit,
jusqu'à midi, ils ont vu un nuage et ne savent pas que le beau temps
suit ordinairement l'automne, et le sussent-ils, ils ne peuvent plus
sortir, ils ne peuvent plus compter sur le temps; ils n'osent pas sortir
sans le parapluie, et toutefois, ne veulent pas de ce compagnon
incommode; le surtout, qui leur serait nécessaire, pèse trop à leurs
épaules; ils se répètent l'un à l'autre l'observation usée que ce temps
est pire qu'un froid fixe, et qu'ils désireraient un petit feu contre
l'humidité, qu'ils souffleraient très-bien si on était seulement au mois
de novembre. On est à la mi-octobre, et leur hiver est formellement
commencé.
Avec novembre, vient le petit feu, viennent les lattes contre
l'humidité, avec les peaux de mouton, les longues soirées, les rues
boueuses et le froid peu favorable à la dévotion dans les grandes
églises; il faut se surcharger de toutes sortes de vêtements
préservatifs de dessus. Puis vient décembre avec les boas et les
manchons, les almanachs et l'aurore et le crépuscule en lutte
éternelle, et saint Nicolas; c'est le temps où il fait toujours mauvais
pour sortir, dans la crainte d'une bourrasque imprévue de neige, qui
gâte en un jour vingt chapeaux de dames; et les petites gelées de
nuit qui font trembler, non de froid mais de peur. La fête de Noël,
célébrée à la campagne d'une manière si charmante et si
respectueuse, et se rattachant si harmonieusement au silence
paisible qui la précède et qui la suit, donne à la ville le signal d'une
agitation et de fêtes de toutes sortes; et après le glacial jour du
nouvel an où des centaines d'individus sont gelés, un respectable
père de famille est accablé de programmes de concert, qui lui fait
contempler avec un serrement de cœur les têtes de ses filles très-
désireuses de sortir; et il se fait dans la ville un bavardage et un
mouvement de parties de dames, de comédies, de soirées
musicales, de soirées littéraires et d'autres soirées encore, qui ne
sont pas telle ou telle chose déterminée, mais qui sont
extraordinairement roides, ennuyeuses et, disons plus, affreuses. Et
l'on se rassasie si bien des plaisirs de l'hiver, qu'au bout de quatre
semaines on en a assez. Ajoutez encore que règnent le froid et la
misère, la glace dans les fossés et la mendicité sur les écluses.
Pendant deux longs mois, chaque matin on consulte le thermomètre
et on compte en murmurant le nombre des jours d'hiver. Et avant
qu'on n'ose mettre le nez à la porte, il faut que les arbres soient
verts; pour qu'on fût content de sa petite promenade, il faudrait au
moins être au cœur de mai. C'est donc un hiver qui dure de la mi-
octobre jusqu'au mois de mai. Et alors l'homme de la ville qui arrive
aux champs, éprouve une surprise telle que s'il s'était fait une
soudaine décoration; car il n'a rien vu de tous les préparatifs d'éveil
de la nature; il ne l'a pas contemplée dans la marche lente de ses
progrès. Il lui a manqué la joie que l'homme de la campagne a
savourée lorsque sa première poule a pondu, et que ses perce-neige
ont apparu toutes nues sortant du sol durci. Il n'a pas vu partir les
oies et les sansonnets, les pinsons disparaître, et trois jours avant
que lèvent ne vînt du sud, le fermier de son jardin lui avait prédit la
chose.
Celui qui a une campagne et qui est forcé d'y passer l'hiver, ou est
assez sage pour le faire sans contrainte, se lève avec le soleil.
L'heure est assez favorable, car le soleil lui-même, dans cette saison,
n'est pas fort matinal. Mais ne nous en faisons pas accroire
mutuellement: citadin et campagnard sont du même avis, et pour
tous deux le moment du lever est la grosse affaire de la journée; car
le lit est chaud, la chambre froide, l'homme paresseux; de plus, l'eau
peut être gelée dans l'aiguière, et le penchant à se retourner encore
une fois est inné à notre race. Mais a-t-on une fois triomphé, alors
on a du moins à la campagne la satisfaction personnelle de voir
réellement le soleil, tandis que les messieurs et les dames de la ville
sont condamnés à lire toujours ce gigantesque mot MANUFACTURE
sur la façade de leur vis-à-vis, ou le nom moins agaçant fourniture
de bureau; et si ce vis-à-vis est un hôtelier, vous avez tout au plus la
chance de contempler l'image dorée du flambeau du ciel, avec des
rayons gros comme le pouce et des yeux louches. Que vous êtes à
plaindre si vous demeurez non loin d'un fossé d'où vous ne voyez
que de la glace noire avec des tas de cendres et d'ordures,
précisément jetés dehors pour votre récréation au moment où vous
quittez votre couche! Que vous êtes à plaindre encore si vous
habitez une chambre de derrière, et que votre vue se borne à un
étroit jardin qui est dominé par les murs sombres de hauts magasins
dont toutes les fenêtres sont fermées et condamnées! Mais venez à
cette fenêtre qui s'ouvre à l'orient, regardez cette prairie que le givre
semble couvrir d'une couche de plumes grises, l'horizon couleur de
cuivre, avec ce disque d'un rouge de sang, à demi levé, à demi
couché encore, qui, si nous étions à la fête de Noël, jetterait sur la
neige un reflet rouge, mille fois plus beau que les plus beaux feux du
Bengale sur les héros chanteurs du cinquième acte d'un opéra, ou
sur les collines de toile d'un ballet. Ou bien, regardez par cette autre
fenêtre qui donne sur le couchant, et voyez ces verts sapins
enveloppés d'un voile léger et scintillant, et la foule majestueuse des
vénérables hêtres dépouillés de leurs feuilles (une tête chauve est
toujours respectable!). Là, derrière la cime cachée dans un nuage,
vous voyez ce pin dont le tronc est arrosé par des gouttelettes
résineuses; ceux-là auront aussi à Noël leur éclatant manteau de
neige, espérons-le. Tout cela est beau, dites-vous, mon cher lecteur,
mais on ne peut pas, durant toute la journée, regarder le soleil et les
arbres. Que fait l'homme de la campagne? De quoi s'occupe-t-il?
Comment s'amuse-t-il?
C'est le mois de décembre; son bois doit être abattu, et il fait la
ronde avec son surveillant, pour désigner les arbres qui doivent
tomber sous la hache, et quel bois taillis a atteint l'âge d'être coupé.
La chasse n'est pas encore fermée, et il charge son fusil avec du
gros plomb en guise de plomb fin, car le lièvre a pris, comme vous,
sa pelisse d'hiver; et lorsqu'il a porté jusqu'à la nuit la carnassière
sur l'épaule droite, le sac à dragées sur l'épaule gauche, et le fusil à
la main, et que de plus il rapporte une couple de lièvres et autant de
bécasses de bois pour les amis de la ville, au souper, il mange
comme un loup, et aussi bien que vous, monsieur, bien que le poêle
de votre comptoir brûle encore et que vous vous soyez tant animé à
la Bourse! Le soir, il est beaucoup trop fatigué, pour s'ennuyer, il se
met à l'aise dans sa robe de chambre et ses pantoufles, et songe à
la peine qu'il a eue avec le lièvre qu'il a blessé à la patte et qui criait
comme un enfant, le lièvre qu'il jette dans la chambre et qui gît là,
roide mort; puis, il songe à cet autre dont il a vu voler les poils, qui a
fait culbute sur la tête, a repris ses jambes à son cou pour aller
mourir dans quelque coin inconnu; ou bien, s'élançant sur le char
des hypothèses, il se demande où est allé celui qui s'est levé dans la
plaine et où se sont abattues les bécasses sur lesquelles son fusil a
raté. Sa famille et ses voisins, rassemblés autour du foyer, écoutent
avec intérêt les vieilles histoires de chasse, des trois poulets et des
deux canards tués d'un seul coup. Les paysans ne viennent-ils pas
aussi payer et expliquer leurs affaires domestiques? Le dominé ne
vient-il pas faire une partie d'échecs? Et n'écrivez-vous pas vous-
même, dans les murs de la ville, assez de livres pour lui? Et ne
reçoit-il pas deux fois par semaine tout un paquet de journaux, où il
lit, à sa grande édification, les visites des rois et des princesses dans
la capitale? les tabliers de diamants et les toilettes d'or des acteurs
qui excellent dans leur nouveau rôle; le nom des grands, plus
grands, infiniment grands virtuoses; des salles combles à étouffer?
n'y voit-il pas les brillantes coiffures de femmes, les plaisirs
artistiques qui ne trompent pas; le plombage de dents creuses dont
il n'a pas besoin; de la source de vie à un florin vingt-cinq cent. la
boîte qu'il trouve encore à meilleur marché à la campagne; puis les
chicanes et les querelles de ceux qui écrivent des livres, sorte de
péché dont il est bien innocent; le jeu du violon auquel il se livre
uniquement pour son propre plaisir; les attestations des rédacteurs,
par lesquelles il juge qu'ils n'ont pas coutume d'agir ainsi; ce qu'il
peut remarquer lui-même dans ce tas de journaux qu'il a devant lui?
Il a aussi ses jours de fête. Ce sera, par exemple, le lundi perdu, un
jour où, chez vous, à la ville, les ouvriers imprimeurs courent les
portes en mendiant honnêtement; dernier appel à une générosité
qui a déjà dû pourvoir auparavant à l'avidité des domestiques, des
sacristains, des placeurs de poêles, des allumeurs de lanternes, des
éteigneurs d'incendie, des veilleurs des tours, des garçons de la
société tot Nut Van Allgermeen, et de Dieu sait qui encore. Nous ne
connaissons ici personne dans ce genre que le garde forestier, qui
vient nous offrir son almanach vert, et auquel nous recommandons à
nouveau, dans cette occasion, les voleurs de bois. Car, pour dire la
vérité, ce sont avec les innombrables corneilles, nos seuls malheurs
de l'hiver. Mais je voulais parler du lundi perdu. Nous avons, par
exemple, ce jour-là, la grande vente de bois, une solennité publique
infiniment plus amusante qu'une grande parade; vous pouvez m'en
croire.
Venez voir à dix heures, dix heures et demie! Alors les paysans
arrivent par troupes à travers le bois; un paysan connaisseur n'a
pas, sauf pour la foire aux fromages, plus de hâte pour arriver de
façon à avoir une bonne place. Peu à peu, ils s'approchent tous, l'un
les mains derrière le dos, l'autre les mains dans les poches de son
habit, de l'endroit où se trouvent les parcs et les arbres de haute
futaie qui sont désignés à la mort par une blessure de hache et un
numéro, et l'on recherche, des premiers aux derniers, les numéros;
chacun des acheteurs cache son plan, son envie d'acheter et son
intérêt calculé, sous le plus complet laconisme.
—Ainsi, Gaspard, dit l'un, vous voudriez aussi avoir un lot?
—Mon Dieu oui, je viens un peu voir.
—Maintenant,—les paysans commencent presque toutes leurs
phrases par ce mot,—maintenant, il y a là-bas beaucoup de beaux
parcs, mais il y a aussi une partie de fins acheteurs.
—Oui, dit un autre qui a envie d'acheter plusieurs lots, et avant que
je ne les aie à la maison...
—Ainsi, Jean Splitter, une couple de nouvelles chaumières, dit un
autre propriétaire de ce nom qui a envie d'acheter un parc dont il
prend note; cela va commencer. Jean Splitter va faire enchérir tout.
—Un beau petit temps, remarque un cinquième, qui est surpris à
regarder un hêtre dont il évalue le rapport, un très-beau temps;
mais il y a encore beaucoup de vent en l'air; j'aimerais mieux qu'il fit
un peu sec.
—Cela devrait être, frère, dit un petit vieux paysan en allumant sa
pipe et en remplissant à l'instant l'air de nuages à la forte odeur.
—Il y a aussi des marchands de la ville, à ce que je vois, dit un
pauvre paysan qui craint que ces citadins ne l'empêchent d'acheter.
—Voyez-les avec leurs bottes fines, dit un jeune garçon a cravate
rouge de sang, qui prend mieux son parti de la présence des gens
de la ville; ainsi, boulanger, vous voudriez faire un bon coup?
Le boulanger fait une figure embarrassée, et fait semblant de ne pas
avoir entendu; mais il réfléchit, tire sa tabatière, prend sa prise avec
une vraie gloutonnerie de boulanger, et répond;
—Oui, je voudrais bien avoir ma petite part.
Sur ces entrefaites, le propriétaire est, avec les fils de la maison et le
maître du bien, près d'un foyer où se brûle un bloc de bois de la
grosseur d'une côte de bœuf; c'est un arbre de l'année dernière et
qui a tellement profité au maître du bois, qu'il a regagné son argent
avec le menu bois, et que le tronc lui est resté pour rien. Là est aussi
le secrétaire de la commune avec son bâton d'épine, des mitaines
vertes, une tête grise, et un employé de la ville qui va acheter une
partie considérable du bois. Une petite conversation, une tasse de
café; puis l'encan s'ouvre et on se rassemble autour du numéro un.
En ce moment, les conditions de la vente sont lues avec de terribles
menaces contre ceux qui n'auraient pas payé comptant dans les six
semaines, ne fermeraient pas convenablement les trous, et lors de
l'arpentage amèneraient des chiens dans le bois; menaces qui, à
défaut de moyens de contrainte, n'ont que la force de prières
bienveillantes. Alors commencent la presse et l'agitation. Plusieurs
achètent au commencement, parce que cela sera meilleur marché;
plusieurs diffèrent leurs enchères dans l'espoir que la plupart des
gens se retireront tout doucement et que les meilleurs marchés se
feront à la fin. Le secrétaire fait de son mieux pour vendre au plus
cher, et en même temps pour mettre les acheteurs, autant que
possible, à même de débourser sur-le-champ te moins d'argent. On
échange toutes sortes de gentillesses, et d'autant plus à mesure que
les abatteurs de bois circulent plus gaiement avec le baril, et que les
petites boutiques établies partout dans le bois taillis ont plus à faire.
—Avez-vous conservé votre argent? dit le secrétaire avec une
admiration peu dissimulée pour la parcelle de terrain qu'il touche
avec l'extrémité de sa baguette. Mes amis, quels arbres! Vous
pouvez en faire du feu pendant deux ans! Combien pour ce parc?
Qui met à prix sur douze florins? Ah! vous voulez en donner six!
vous voulez plaisanter, mes enfants! Il vous les faudrait pour trois...
—Haussez donc, dit un instant après le même magistrat à un paysan
qui semble disposé à enchérir et qui, dès qu'on lui adresse la parole,
s'enfuit comme s'il craignait qu'on ne s'en fit son plastron; voyons,
Jeannot, haussez pour Jean le marchand de bois. C'est une honte,
Jeannot!
—Voyons, celui qui aura ce lot en aura cinq avec lui, plus un gâteau
de la boutique et la bouteille par-dessus le marché, dit-il en
plaisantant et en s'approchant d'une parcelle où une joyeuse
vivandière, couverte d'un épais manteau, est en train de se chauffer
les mains au petit pot à feu où les paysans viennent allumer leurs
pipes; j'en donne moi-même sept florins, sept un quart, et trois
quarte... Bon! une fois, deux fois, personne de plus que huit florins
pour cette jolie femme? Huit et demie!—Bah! Antoine, n'avez-vous
pas assez d'une femme, mon brave? Huit et demie! neuf ... pouvez-
vous donner l'eau-de-vie, compère? Encore un quart, une demie;
neuf et demie; une fois, deux fois, trois fois; je vous félicite; c'est un
beau lot, compère! Quel est votre nom?
—Jean van Schoten.
—Vous vous appelez Jean van Schoten? Vous n'avez donc pas de
bois chez vous, compère? Et se tournant vers le maître du bois, il
dit;
—Est-ce fait, maître? Que devons-nous décider? Après cette pièce-là,
le morceau qui touche à le terre de Simon, n'est-ce pas? Approchez,
enfants: que dira Simon, si nous tombons tous là-dessus, toute une
bande, comme sur des pannekoeks? La femme pourra cuire à la
maison pendant cinq jours.—Allons, mais procédons bien en
besogne. Numéro cent et trente; qui en donne cent trente et un
florins? Cent trente et un cents, c'est un bon commencement pour
mieux arriver...
—Deux ont mis à prix; qui a parlé le premier?
—Moi.
—Comment vous appelez-vous?
—Je m'appelle Pierre de Wit.
—Bon, je vais écrire cela en bonne encre noire.
Voilà des gentillesses, non pas de la plus fine espèce, et qui sont
bien au-dessous de tous les bons mots et calembours qui circulent
en ville, mais qui procèdent d'une joyeuse disposition et qui font
parfaitement leur chemin dans le pays des paysans, et qui le feront
aussi longtemps, pour employer le style nécrologique, que, les
gentillesses des paysans seront appréciées à leur juste valeur dans
la Néerlande.
Au milieu de tout cela, les hommes, les femmes, les enfants suivent
en criant à travers le bois, avec de la boisson, du pain d'épices et
des plats de friandises, et étendent partout leurs tentes portatives,
et intriguent de toutes leurs forces, comme si tous ceux qui sont
présents étaient soumis à l'obligation de consommer quelque chose

À
chez eux:—À qui le tour?—Vous avez déjà demandé depuis
longtemps une petite goutte, voisin?—Henri! Henri! comme votre
gosier; est sec! Ne risquez vous pas le voyage? Six par-dessus et
deux en dessous.—Voici Kees, voici Kees, vous n'avez rien à payer? Il
ne paie pas non plus au boulanger de gâteaux! Et tous souhaitent
pour la soixante-dixième fois de toucher le premier argent reçu de la
vente du jour; et les petits paysans boivent avec les enfants du
dominé et du chirurgien, et de la grande maison, et trottent à
travers la foule dans toutes les directions, pour jouer, pour se
réfugier dans les cachettes derrière les parcs, pour sauter comme de
jeunes acrobates d'un tronc sur l'autre, ou ils se font payer parle
maître du bois un schelling de gâteaux, et celui-ci les laisse aller
pour son compte jusqu'à ce qu'il en soit pour un florin.
Au dernier lot, il y a un peu de remue-ménage, et au dernier
numéro,—c'est un petit vieux arbre tout maigre, mort au sommet,—
on hausse de cinq cents, et un petit homme de la ville, qui est
beaucoup trop exalté pour calculer, demeure adjudicataire, à la joie
générale. Et la cérémonie est terminée, sauf pour le maître du bois
et pour les magistrats qui ont assisté à la vente et qui sont invités à
manger un morceau de bœuf rôti.

Mais, nous voici à la fin de janvier, et votre barbier vous fait chaque
matin de terribles tableaux des pouces de glace qui ont gelé dans les
fossés de la ville. Maintenant vous arrivez avec une fête populaire, et
vous me parlez de votre plaisir sur la glace! Votre plaisir sur la glace?
J'ai bien l'honneur de vous saluer: je ne tiens pas à la glace et j'aime
mieux ne pas m'y risquer, parce que je suis déjà à moitié fou sur
l'eau liquide et vivante. Votre kermesse de l'Amslet, ô
Amsterdammois, votre kermesse de la Mense, ô Rotterdammois,
offrent un singulier aspect, et vos journaux tien peuvent assez
parler; lorsque vous vous promenez, vous allez en voiture, vous
chevauchez eu galop, vous jouez à la crosse, au billard, vous vous
abreuvez d'amer et même vous vous aventurez sur la glace, où tous
les états se livrent au même plaisir, le personnage de haute
naissance dans sa polonaise et le passeur d'eau dans sa blouse de
batelier; c'est comme un accord de croassements réunis de milliers
de patineurs hollandais, anglais et frisons, qui remplissent l'air,
tandis que les babioles retentissent et que les vivandiers cherchent à
les dominer, en vendant leur eau-de-vie. Lorsque tout cet éclat de
douillettes doublées et bordées, de pelisses et de châles, est éclairé
par un austère soleil d'hiver, et qu'une société qui ne vit que de luxe
semble vouloir opposer l'excès de sa richesse à la sobre avarice de la
nature, on ne pense pas qu'à la campagne, si nous n'avons pas le
plaisir de la glace, nous avons celui de la vente, l'honnête vente, et
nous voudrions bien que vous l'eussiez aussi.
Je suppose que vous-même êtes propriétaire d'une petite campagne
voisine d'un petit village; vous pourriez aussi avoir le plaisir de la
glace, et si vous avez des enfants, cela vous ravira. Les grandes
personnes dédaignent cette petite mare, mais le petit Wilbert aux
grands yeux court prendre ses patins, dès qu'il entend dire que les
jeunes messieurs du château voisin vont se risquer dessus, et il
emmène avec lui son frère plus jeune qui commence à traîner
timidement les pieds sur la glace. Bientôt se rassemble de toutes les
demeures une jolie troupe de petits paysans de petites paysannes,
qui se nomment les uns les autres par leurs noms, et qui sont très-
familiers avec les petits messieurs et les petites demoiselles du
château, qui ont mis leurs patins avant de sortir de la chambre; et
qui, avec des pantalons bouffants tout rouges et des joues plus
rouges encore, viennent se mêler au cortège. Là, la gaieté monte à
son comble: la petite troupe glisse, traîne les pieds, tourbillonne et
tourne en commun, tombe tout d'un coup, se jette mutuellement
des boules de neige, et les jeunes gens mettent les jeunes filles sur
leurs patins et leur escamotent leurs petits chapeaux de dessus la
tête, sans que pour cela elles prennent aucun rhume; ils s'avancent
en triomphe sur la pointe de leurs patins, et le traîneau va et vient
avec toute une cargaison de petites filles et avec toute une bande de
jeunes gens par derrière, tourne et retourne si terriblement que tous
jettent les hauts cris. Et puis vous verriez le maître de la campagne
lui-même se donner la fantaisie de jouer le vivandier et de restaurer
la joyeuse jeunesse avec du gâteau et un petit verre d'eau-de-vie
avec du sucre; alors s'élève un cri de joie, et les enfants des paysans
n'ont jamais rien goûté de si bon; mais l'ouvrier qui a nettoyé la
glissoire n'est pas non plus oublié, et glisse du haut en bas et du bas
en haut avec son balai sur l'épaule, fait des folies avec les petits
polissons et reçoit à l'improviste une boule de neige sur l'oreille, si
bien qu'elle en tinte; puis le polisson qui a lancé la boule de neige la
ramasse et la jette bien loin sur la glace; là-dessus, un autre
polisson, qui est déjà deux fois tombé sur le nez, ne se sent plus de
plaisir. Mais une déchirure se produit dans la glace, sous le poids des
patineurs, si bien que le petit polisson, monté sur une paire de
patins rouillés et qui agite en l'air ses gros bras enfermés dans un
étroit pourpoint, ose encore avancer et détache doucement ses
patins; mais les hommes qui ont une expérience de deux ou trois
ans parlent de poutres qui viendront par-dessous, et tout est
agitation, acclamations et bonheur. Garçons et filles ne savent rien
de plus magnifique que quand il gèle fort et que le lendemain il y a
de nouveau un pouce de glace dans le trou qui s'était produit la
veille, et ils n'ont rien de plus pressé que de venir, le matin, vous en
montrer les preuves jusque dans votre lit. L'obscurité seule met fin à
la joie à laquelle le dîner n'apporte qu'une légère interruption. Mais,
laissez venir le clair de lune, la glace se durcira encore, et il y aura
un plus grand nombre de patineurs; voilà pourquoi, le soir, les autres
eaux sont trop éloignées ou trop pleines de danger; et si vous n'avez
pas envie de prendre part au plaisir, vous pouvez le voir, assis à
votre foyer, qui projette ses lueurs sur le visage de votre bien-aimée
femme et de vos charmantes filles, avec ces flammes de charbon de
terre qui prennent surtout un plus brillant éclat lorsque vous fendez
la motte avec la pointe du tisonnier; puis l'heure intime du
crépuscule amène avec elle une foule de doux souvenirs et provoque
une quantité de bavardages familiers. Et peut-être l'entretien porte-
t-il votre attention sur quelque beau poème ou quelque livre
intéressant qui orne votre petite bibliothèque; et le soir, quand tout
est calme dans la maison et au dehors, vous faites une lecture à
votre petit entourage, en savourant un verre de punch chaud ou
d'excellent chaudeau; et vous ne songez pas qu'en ce même
moment, dans une des salles de conférences de la capitale, une
jeune victime de son amour-propre et d'un secrétaire d'une société
savante, toute vêtue de noir et le visage pâle, est amenée au milieu
d'une imposante réunion d'hommes estimables, pour lire entre six
bougies, devant un nombre considérable de gens, décorés ou non,
et de dames en belle toilette, une dissertation somnolente, ou un
poème lugubre sur un homme qui par erreur épouse sa sœur, ou sur
une jeune fille qui se lamente au haut d'une tour et finit par s'en
précipiter.
Voulez-vous encore un autre contraste? Permettez-moi encore celui-
ci: Vous n'aimez peut-être pas les oppositions: mais, grâce encore
pour celle-ci; elle sera frappante. Il faut vous imaginer maintenant
que vous êtes citadin, et que vous habitez Amsterdam ou La Haye.
C'est à la fin de février; dans votre cercle, dans votre société, que
voulez-vous? dans votre maison peut-être, s'est développé un triste
drame, par-dessous le voile de l'étiquette et de l'indiscrétion des
caquets. La belle Emmeline était la reine du bal dans toutes les fêtes
de l'hiver; elle était fêtée, elle était adorée; sa mère était fière d'elle,
elle était fière d'elle-même. À la soirée de madame de W..., le jeune
van Straaten la rencontra et fit extrêmement cas d'elle. Au concert
de...,—nommer ici un des artistes inimitables parmi les dix mille de
notre temps,—il sautait aux yeux qu'il voltigeait autour d'elle; au bal
qui eut lieu chez vous (où l'on s'est amusé d'une manière si
charmante, madame), et au Casino, il la quittait à peine, était d'une
manière incroyable aux petits soins pour elle, et on a vu ses yeux
étinceler comme des yeux de tigre, quand elle valsait avec un autre.
Le jeune van Straaten a un extérieur très-séduisant, un très-bel
avenir devant lui, et une très-respectable famille derrière lui. Quoi
d'étonnant qu'il fit impression sur la jeune fille? Quoi d'étonnant
qu'elle voulût savoir, en boudant un peu, ce qu'il se proposait? Que
fait le monstre, à la dernière soirée à laquelle il assiste avec elle? Il
l'aborde un instant; il lui demande à peine avec une roide révérence
comment elle se porte; quand, sur les instances de tous, à
l'exception des siennes, elle s'assied au piano et chante, elle le voit
dans le miroir tout absorbé dans une conversation,... avec une autre
belle? Non, messieurs; avec un savant, avec un diplomate. Et un
instant après, il prend les cartes d'une vieille dame qui, parce qu'une
autre vieille dame et deux vieux messieurs l'ennuyaient à l'hombre,
l'a prié delà délivrer. Pendant toute la soirée, pas un mot, pas un
regard pour la belle Emmeline; et, le lendemain, le bruit court que
son engagement avec mademoiselle E. de X., qui, dès l'été, était
arrêté, est définitivement conclu. Le cœur de la pauvre Emmeline est
brisé ... non, empoisonné! Dès ce moment le monde entier n'est
pour elle que feinte et dissimulation, tous les hommes ne sont que
fausseté. Elle veut aussi porter un masque et feindre comme les
autres. Toutes ses amies la consolent dans leurs réunions, et,
pendant des semaines, elle n'est connue que sous le nom de la
jeune fille qui a été traitée d'une manière infâme: ce doit être le
refuge des conversations languissantes sur les sofas de velours, et
des tête-à-tête animés près des cheminées de marbre et sur les
bancs discrets des fenêtres.
Mais maintenant-je vois mon campagnard faire une visite à un de
ses paysans et s'asseoir à côté de lui pour partager son café et sa
tartine de l'après-dîner, en société avec un marchand qui porte sur
son dos un paquet oblong; et qui souffle son café sans mot dire,
tandis que la femme et les filles songent à ce qui est nécessaire
encore. Mais la file ainée est à la ville, et mon campagnard, qui parle
volontiers aux jeunes filles, trouve la circonstance opportune pour
faire quelques questions:
—Eh bien, Jeannette, est-il vrai ou non que vous vous, êtes mise en
tête de marier votre fille?
—Mais, monsieur, répond-elle, sans ménager le nombre des paroles,
les gens veulent bien le dire; mais ça irait mal si nous voulions tout
croire: je ne dis pas que ce n'est pas; la porte peut être
entr'ouverte; mais quant à se marier, je peux dire: non, on n'en est
pas là.
—Et vous, avez-vous pensé à prendre quelque chose, Trinette? dit le
marchand.
—Oui, dit Trinette, donnez-moi un peloton de fil noir.
—Et à moi, quatre boutons de chemise, dit la femme.
—J'avais entendu dire, l'automne dernier, que vous étiez allée à la
kermesse avec un amoureux, dit mon campagnard qui n'a jamais
rien entendu de cette espèce.
Mais le paysan et sa femme prennent une figure grave, qui donne à
entendre que le toit pèse trop sur la maison; et le citadin s'aperçoit
qu'il faut changer de conversation.
—Est-ce là un petit agneau? demanda-t-il en désignant un petit
animal noir, qui se trouvait agenouillé sur la pierre du foyer à côté
d'un gros chat taché de roux et de noir.
—Oh! mon Dieu! nous en avons deux, un blanc et un noir que voilà:
le blanc est fort et pousse bien, mais le noir laisse à désirer. Il ne
veut pas téter, et il faut le tenir pour l'y forcer; nous le laissons boire
dans un petit pot. Mais le pis, c'est qu'il fait des ordures partout.
—Oui, dit le paysan. Monsieur ne veut-il pas voir les veaux?
Monsieur se lève et le suit à l'étable, où ils se trouvent.
—Tenez, en voilà trois: deux génisses et un bouvillon; l'une des
génisses est venue aujourd'hui. Vilain poil, n'est-ce pas, monsieur?
—Il est tout noir.
—En effet, monsieur, mais savez-vous ce que je dis: il ne faut jamais
mépriser une bête pour son poil; je pense que cela n'est pas
convenable, et il peut y avoir une bénédiction en elle. Vous avez des
gens qui sont si difficiles sur ce point! mais je dis que cela no
convient pas, et j'élèverai la génisse noire aussi bien que la bigarrée;
et savez-vous ce que je pense? Il vaut encore mieux en avoir une
toute blanche, car celles-ci sont terriblement tourmentées par les
mouches et sont aussi très-méchantes; en voilà une, là-bas, qui, il y
a un an, s'est enfuie avec sa couverture.
—Mais, si c'était une génisse rouge?
—Alors, je ne la garderais pas; je n'aime pas la couleur de feu, dit le
paysan, si tendre pour les animaux, et qui veut qu'on n'en méprise
aucun pour sa peau, mais pour qui ce préjugé est trop puissant. Puis
tout à coup, reprenant le premier entretien, il va aux deux génisses
et au bouvillon, qu'il laisse tour à tour baver sur sa main.
—Tenez, vous êtes instruit; écoutez: Elle avait mis son idée sur lui
aussi, je puis le dire, mais cela ne nous allait pas, à ma femme et à
moi, et voilà pourquoi cela n'a pas abouti; car Trinette est une
excellente fille, cela n'est pas douteux; c'est une belle fille, mais quoi
qu'on en dise cela ne pouvait être mieux, et le maître dit qu'il n'en a
jamais vu de pareille et d'aussi bien; et Trine est la femme sans
pareille pour nettoyer, frotter, balayer; celui qui sera son mari aura
en elle une excellente femme. Je voulais donc dire seulement que
c'est une bonne fille, par la raison encore qu'elle tenait à ce garçon
et qu'elle s'est mis la chose hors de la tête. Je lui dis:—Trine, danse
au son du violon avec Jean, mais que ce soit la dernière fois. Je vis
bien qu'elle regardait sèchement, et elle me dit: Que voulez-vous
encore savoir? Mais voilà comment vont les affaires, monsieur, et je
pense que vous m'avez compris; dans mon jeune temps, j'ai eu un
caprice pour Joséphine, qui est maintenant la femme de Tak, mais
j'étais beaucoup trop mal monté pour m'établir, et j'ai dans Marie
une bien meilleure femme. Je vous dis donc que pour Trine et Jean,
cela n'aurait pas bien été, et je dis à ma femme: Tu peux encore
voir, mais la chose ne doit pas se faire. Ma femme pensa que le
mieux était de mettre la main à l'œuvre et qu'on ne pouvait pas le
renvoyer uniquement parce qu'il était catholique romain, car le
dominé dit que nous devions être patients vis-à-vis des romains,
mais la femme alla trouver le maître et lui expliqua l'affaire. Marie,
lui dis-je, ce garçon doit partir, car je veux rester le maître à la
maison. Ma femme me répondit; Eh bien! soit, puisque vous pensez
que cela vaut mieux pour Trinette.
—Et que dit Trinette de la chose? demanda le campagnard qui, ayant
lu vos derniers romans, ô messieurs de la ville, doit croire que la
jeune fille est devenue au moins poitrinaire.
—Eh bien! Trinette fit ce que nous voulions. Je vis au
commencement que cela lui faisait quelque chose, mais je lui dis:—
Laisse le chagrin de côté, ma fille, le garçon est parti et ne reviendra
plus. Songe à en choisir un autre, et veille aux vaches au moment où
il faudra les traire.
Tout à coup le loquet de bois de la porte est levé, et l'héroïne de
l'histoire apparaît, le front serein encadré dans les plis gracieux d'une
cornette, avec une jaquette jaune et un panier de pêcheur au bras;
la gaieté et l'espièglerie sont peintes dans ses yeux bleus, et le
campagnard lui pinçant doucement la joue:
—Je disais à votre père, Trinette, que je ne comprenais pas qu'une
jolie fille comme vous ne fit pas encore l'amour.
—Faire l'amour? dit Trinette, je ne sais pas ce que je n'aimerais pas
mieux faire; et elle sauta légèrement plus loin, demanda à sa mère
les commissions, aida au marchand ambulant à charger son paquet,
et lui demanda s'il pourrait bien se lever, parce qu'il penchait un peu
trop en avant.
—Me viendriez-vous en aide, Trinette? demanda le marchand avec
un regard suppliant, si vous me voyiez par terre.
—J'y réfléchirais d'abord, dit la joyeuse Trinette. Adieu, Doris, bon
voyage; mais prenez bien garde de tomber, si je suis dans votre
voisinage....
—Eh bien! quoi donc? demanda le marchand avec un sourire
sentimental.
—Venez ici, je vous aiderai. Bonjour, voisin Doris.

Le mois de mars règne à la campagne avec ses alternatives de


neige, de tempête et de pluie. Toute la ville tousse et éternue, et
demande avec indignation ce qui a valu à ce mois le nom si peu
mérité de mois du printemps. Le campagnard ne le demande pas,
car pour lui ce mois est riche en phénomènes encourageants, en
preuves d'une nouvelle vie et d'une nouvelle force de la nature.
Quand, dans les jours sereins et aux heures sereines du jour, il
prend son bâton de frêne à la main et va se promener, il voit partout
les champs en jachère remplis de belles brebis et de joyeux
agneaux, qui paissent sur le chaume; il voit la charrue retourner le
chaume d'autres champs qui doivent produire la moisson de l'année.
Dans ses étangs sont venus des canards qui feront un nid sous les
branches basses du sapin sur le rivage; les coudriers fleurissent; son
jardin potager est mis en ordre depuis la Chandeleur, et bientôt il
plantera ses pois précoces; encore une quinzaine de jours, et le
taureau commencera sa tournée, et déjà les merles chantent
gaiement dans son bois encore dépouillé. Avant la fin du mois on lui
apporte les premiers œufs de vanneau, et ses choux-fleurs sont déjà
plantés. À peine l'inconstant avril est-il arrivé que la cigogne vient
poser ses longues pattes sur son toit; ses pêchers commencent à
fleurir; son parc de violettes est tout bleu; ses poussins éclosent;
une légère teinte verte se répand sur ses arbres, et la verdure croît
dans ses champs; la fleur du châtaignier sauvage se montre déjà
dans le bouton, et le dix-huit ou le dix-neuf, le gai rossignol annonce
par son chant qu'il est là pour chanter la chanson du printemps.
Chaque matin il apprend à son déjeuner des nouvelles de ses arbres
qui sont devenus tout verts, et à chaque promenade, il rencontre de
nouvelles fleurs. Dans le jardin, se montre déjà au-dessus du sol le
verdoyant espoir de l'été; les tourterelles sauvages et les pigeons
bleus volent dans les arbres avec de petites branches dans leurs
becs rouges; l'hirondelle rase l'eau et vole à l'intérieur de l'étable
pour suspendre son nid au-dessus du râtelier; le jeune bétail mugit
dans la prairie, et les vaches laitières pourront être envoyées aux
champs au mois de mai.... Et le dimanche, les chemins sont remplis
de promeneurs qui viennent de la ville contempler toutes ces
merveilles; parmi eux on en voit un seul qui a mis le pantalon blanc
d'été, dans la bienheureuse, conviction qu'il est la première
primevère du printemps.
X

LE PROGRÈS

Petite fille éveillée,


Que fais-tu dans mon jardin?
Tu cueilles toutes mes fleurs
Et le fais trop brutalement.
(Vieille chanson.)

Des revenants! oh! j'ai tout respect pour nos lumières supérieures,
mais cela me peine terriblement qu'il n'y ait pas de revenants! Je
voudrais, y croire, aux revenants et aux fées. O Mère-l'Oie, chère
Mère-l'Oie! Bottes de sept lieues! Tache de sang ineffaçable sur cette
clef fatale! Et vous, torrents de roses et de perles qui sortez de la
bouche de la plus jeune fille du roi! comme vous avez réjoui ma
jeunesse! Ma grand'mère savait si bien raconter l'histoire du Petit
Chaperon-Rouge! Le samedi soir, quand elle venait aider à plier la
lessive, avant qu'elle entreprît cette grave besogne, à l'heure du
crépuscule, le plus petit de nous était sur ses genoux et jouait avec
son tire-bouchon d'argent en forme de marteau. Comme ses yeux
affaiblis brillaient encore lorsqu'elle imitait le loup au moment où il
mord! Certainement, Jacob et ses enfants est un beau petit drame,
le brave Henri est extrêmement brave; mais j'avais alors une
aversion pour les livres sur le titre desquels on voit écrit en brillant
caractères: Pour les enfants; et quant aux titres tels que Conseils et
instructions, ils me faisaient comme à tous les enfants; je ne
comprenais pas l'utilité de l'utile. Mais j'avais une très-jolie collection
de la Mère-l'Oie, demi-française, demi-hollandaise, sans couverture,
sans titre, et dont les feuillets par-dessus le marché étaient comme
déchirés par la dent d'un chien de chasse. De la poétique leçon de
morale imprimée en cursive, à la fin de chaque récit, je ne
comprenais rien. Mais je comprenais merveilleusement le terrible:
«Sœur Anne! sœur Anne! ne vois-tu rien venir?» Oh! la Barbe-Bleue,
cette terrible, cette affreuse, cette magnifique Barbe-bleue! Si son
histoire était pour moi la plus belle de toute la collection, je tournais
autour d'elle avec une certaine crainte désireuse, comme une
mouche autour d'une chandelle. Je lisais d'abord les autres, enfin je
tombais sur le bourreau de femmes et je dévorais son histoire. Mon
intérêt qui m'ôtait la respiration, mes joues pâles, ma chair de poule,
mes regards vers la porte, mes vives terreurs, quand dans ces
moments quelque chose tombait de la table, ou que quelqu'un
entrait! tout cela est encore vivant dans mon esprit: oh! je voudrais
pouvoir le sentir et en jouir encore aujourd'hui comme alors! Croyez-
vous que ce temps fût perdu? croyez-vous qu'une telle heure ainsi
employée ne contribuât pas à me former? que cela n'étendît pas, ne
fortifiât pas mon imagination et ne lui donnât pas des aliments?
Et maintenant, qu'est devenue ma Mère-l'Oie de ces jours-là? Je
n'en sais rien[1]; mes jeunes frères et sœurs n'en ont pas fait tant
de cas. Je ne l'ai jamais vue dans leurs mains. Les enfants de nos
jours lisent toutes sortes de choses sur l'utile; sur la science, toutes
choses très-ennuyeuses. Ils lisent des choses écrites sur de grandes
personnes qu'ils ne comprennent pas, et sur des enfants qu'ils
n'oseraient se proposer d'imiter: ce sont de petits anges en jaquette
et en pantalon qui donnent leurs épargnes à un pauvre homme, bien
qu'ils pensassent en acheter des jouets; puis, ils lisent l'histoire des
grands hommes mise à leur portée qu'ils comprennent à peine. Et
puis; on ne les appelle que jeunes gens studieux et chers enfants.
On ne sait pas que si mainte grande personne désire être encore
enfant; il n'y a pas d'enfant au monde qui ne s'entende volontiers
donner ce titre. Les paroles sensées de van der Palm à la jeunesse:
«Je ne veux pas vous abaisser[2], mais vous élever,» sont restées
une indication incomprise pour la plupart des auteurs qui ont écrit
pour les enfants. Et qui veut s'entendre toujours appeler studieux et
chers? Les enfants sont beaucoup trop modestes pour cela[3].
Mais tout change. Nos petites merveilles en pantalon sont devenus
des hommes faits. Pour eux, dès le giron de leur mère, il n'y a plus
une seule pieuse tromperie de permise, plus de joyeux badinage,
plus de surprise. Ils n'écoutent plus la Mère-l'Oie; ils savent que ce
qu'elle raconte est impossible; qu'il n'y a jamais eu de chats qui
sussent parler, qu'il n'y a jamais eu moyen de faire au monde une
voiture avec une citrouille; ils savent que saint Nicolas ne vient pas
par la cheminée, que celui qui croit à l'Homme Noir n'a pas d'esprit,
que tout cela, doit se faire naturellement, avec les mains, ou
s'achète avec de l'argent. C'est beau, c'est sensé, c'est mieux!
Et cependant, je crois que cette exclusion complète du monde
surnaturel, cette limitation absolue des idées de l'enfance au
domaine de ce qui est physiquement possible, a son mauvais côté et
pose dans maintes jeunes âmes les fondements d'un scepticisme
ultérieur, un rationalisme ou au moins une certaine froideur à propos
d'une foule de choses qui sans cela ont coutume de faire impression
sur l'âme. Vraiment on rend la jeunesse trop insensible aux
impressions. Nos petits hommes sont trop intelligents, trop
raisonnables. Ils apprennent à se fier trop aux phrases et aux
membres de phrase, et la volonté de voir et de toucher persiste chez
eux. Vous apprenez trop tôt à vos enfants à parler d'un cher
seigneur qui voit et entend tout; ne déployez pas trop de zèle contre
les récits de la chambre faits aux enfants; avec quelle croyance
s'accorde beaucoup mieux votre histoire naturelle précocement
imprimée? Mais vous craignez; dites-vous, que vos enfants ne
deviennent peureux, timides, lâches. Eh mon Dieu! mes amis, s'ils
ont cela dans leurs nerfs, ils le deviendront toujours; si ce n'est pour
des revenants, ce sera pour des bêtes, pour des voleurs, pour des
brigands de grands chemins. Une âme d'enfant veut avoir ses
terreurs. Le merveilleux,—comme c'est attrayant! n'est-ce pas même
un plaisir pour vous de lire des histoires de revenants ou des
histoires merveilleuses? Pour moi, je lis plus volontiers Swedenborg
que Balthasar Bekker; vous feuilletez les Mille et une Nuits avec
plaisir; un de nos premiers hommes les lit depuis un temps
immémorial. Vous allez voir des ballets fantastiques; vous êtes la
dupe volontaire d'un Faust, d'un Samiel et d'un Cheval de bronze. Le
surnaturel, l'incompréhensible vous caresse. Eh bien! cet attrait est
encore plus grand chez les enfants. Laissez à la jeunesse ses
enchantements; à elle tout l'éclat d'une riche parure, à elle Brise-
montagne, à elle la Belle au bois dormant, à elle le Pays de
Cocagne; à vous la pâle, sèche et vraie réalité, à vous nos petits
grands hommes, nos vilains railleurs, et notre pauvre monde où l'on
n'a rien gratis; cela est si équitablement partagé! voudriez-vous que
les enfants fussent aussi sages que nous sommes puérils?
Poëtes, écrivains, peintres, entre nous, ne croyez-vous pas que vous
devez beaucoup, infiniment, à votre nourrice, à votre bonne, à votre
grand'mère? Vous êtes-vous surpris vous-même recevant une
impression de la chambre d'enfants? Ne pouvez-vous vous figurer
que le beau monde de votre idéal est placé là, qui est tout peuplé...
et vous pourriez être cruel pour la génération naissante?
Voilà pour les enfants. Mais en vérité, notre sort à tous est devenu
plus triste depuis qu'on est allé avec tant d'ardeur à la recherche de
la réalité. L'enjolivement est beaucoup plus beau, la tromperie
beaucoup moins ennuyeuse. L'heureux temps que celui de ces
fables! s'écriait Voltaire; et il serait à désirer qu'il l'eût mieux senti, le
vilain railleur! Il n'en aurait pas tant dévoilé! Il n'aurait pas tant aidé
à briser nos beaux châteaux en Espagne et à dévaster nos
splendides Eldorados. Pauvre temps! Au lieu d'animaux merveilleux
et de forces miraculeuses,—l'histoire naturelle et la physique! Au lieu
de sorcellerie,—des manuels d'escamotage! Combien la poésie n'a-t-
elle pas perdu à tout cela! Plus d'oiseau-phénix se consumant dans
sa tombe d'ambre et de bois odoriférant, et renaissant de ses
cendres; plus de salamandre respirant dans le feu; plus de cèdre
croissant d'autant plus qu'il est plus comprimé! En dépit des armes
d'Angleterre, plus de licornes! Plus de dragon volant, plus de basilic!
Monsieur le comté de Buffon et beaucoup d'autres amateurs de sa
trempe ont extirpé toutes ces races-là; l'envie et le meurtre soufflant
sur des illusions: c'est comme si on avait fait un grand festin de tous
ces animaux. Ce serait un beau sujet de roman intéressant que
celui-ci: Néra, ou la dernière des Sirènes. La haine de famille entre la
race des naturalistes et les nobles habitants de la mer pourrait y être
décrite d'une maniéré saisissante. Et comme nous sommes mieux
instruits que nos pères sur bien des points! Les crapauds ne sont
point venimeux et n'ont pas de diamant sur le front (c'était pourtant
une belle allégorie, une vérité morale); la baleine n'est pas un
poisson et Jonas a été dans le ventre d'un requin; les autruches
n'emportent pas, comme Enée, leurs vieux parents sur leur dos; les
éléphants ressemblent plus aux hommes que les singes; on ne doit
pas croire que les chacals épient la proie du lion;—ces messieurs
nous ont appris tout cela, et, au lieu de toutes ces belles bêtes
merveilleuses, ils nous ont jeté à la tête quelques misérables
mammouths, ichthyosaures et mastodontes, dont nous devons croire
tout ce qu'il leur plaît de nous raconter. Je ne conteste pas l'utilité de
ces sciences. Mais ne refroidissent-elles pas notre cœur? La belle
nature reste à peine la belle nature, lorsqu'on l'a classée et
anatomisée avec tant de sang-froid. Ouvrez-les, ces livres d'histoire
naturelle avec leurs classes, leurs ordres, leurs familles, leurs genres,
leurs espèces, avec leurs classifications naturelles et artificielles,—
combien souvent y chercherez-vous en vain un mot pieux venant du
cœur ou une parole d'admiration et d'enthousiasme! Vraiment, on a
trop déchiffré la merveilleuse nature, on l'a trop poursuivie avec des
compas, des scalpels, des tableaux et des verres grossissants.
Goëthe (ou un autre, mais je crois que c'était Goëthe) a parlé selon
son cœur quand il a lancé son anathème contre les microscopes et
les verres grossissants. Notre œil, pensait Goëthe ou l'autre, notre
œil et notre sentiment de la beauté ne sont organisés et disposés
que pour comprendre et saisir la beauté de ce monde, telle qu'elle
tombe sous nos sens. C'est pourquoi nous ne devons pas nous faire
à nous-mêmes le tort de nous rendre dans un monde pour lequel
nous n'avons ni sens ni sympathie, et qui doit nous paraître laid, à
nous, habitués à d'autres proportions et à d'autres fermes. Et, en
effet, il y a pour moi quelque chose d'ingrat, d'indiscret, dans la
possession de cette grande terre, à poursuivre ce qui se trouve au
delà de notre souveraineté; curiosité que nous expions
ordinairement par le dégoût, l'épouvante et l'horreur. Ne sentez-vous
pas un mélange de ces trois sensations, lorsque le microscope vous
montre les horreurs d'une goutte d'eau et nous fait trembler devant
les monstres affreux qui s'y meuvent? Pour moi, le bonheur que
j'éprouvais le matin quand, le visage joyeux, je prenais mon
aiguière, pour jeter une eau fraîche et limpide sur mes mains, a
beaucoup perdu de son charme, depuis que j'ai appris à voir que
cette eau claire est le véhicule de ces horreurs; depuis que je ne
puis m'empêcher de penser à ces monstres à queue de scorpion et
armés de griffes qui combattent[4].
Chers semblables! quel est votre sentiment quand vous pensez qu'à
chaque pas vous commettez mille meurtres, qu'à chaque soupir vous
déplacez mille corps d'armée, que vous engloutissez des bandes
entières de créatures, que le baiser de l'amour en écrase des
milliers, et, ce qui est plus, que vous exercez ces meurtres dans
chaque pore de votre peau, auprès de laquelle celle de Hatem, dont
la tente avait cent portes, n'est rien? Quant à moi, je voudrais bien
ne pas savoir que je suis si généreux. Vraiment, mes amis, cette vie
universelle est insupportable. Songez-y donc, peut-être en ce
moment un tournoi a-t-il lieu dans les coins de votre bouche ou une
bataille sur le bord de votre oreille. Peut-être, mademoiselle, le
menu fretin des infiniment petits fête-t-il une bacchanale sur votre
cou sans tache; peut-être, illustre savant, une bande de ces animaux
danse-t-elle dans les plis de votre menton. Bah! c'est affreux!
Comment secouer cette vermine? Comment échapper à ce
fourmillement? Hélas! la force d'attraction et la force centrifuge,—
l'impitoyable science le dit,—nous le défendent. Heureux temps que
celui où vous ne le saviez pas! Alors vous pouviez, dans vos
pensées, vous croire beau, pur, seul,—mais vous avez mangé de
l'arbre de la science, et vous êtes devenu en horreur à vous-même?
Pour moi, j'aime mieux croire à la sirène d'Encknis.
Voilà pour la nature. Et qu'est devenue l'histoire? Là aussi, la vérité,
la froide vérité a été poursuivie avec opiniâtreté jusque dans les
minuties. J'approuve que de nouvelles recherches aient supprimé
Sardanapale et fait des changements non moins importants que
ceux du médecin malgré lui, qui déplace le cœur et le porte da la
gauche à la droite de la poitrine; par exemple, le tonneau de
Diogène est devenu une petite cabane, comme si ce tonneau n'était
pas plus joli que la plus petite hutte du monde! De la louve qui
allaita Romulus et Rémus, on a fait une femme ordinaire. David
n'était pas si petit, ni Goliath aussi grand. On a en vue l'hébreu,
quand on dit d'Erasme qu'il avait douze ans avant de connaître l'A B
C; les pannekoeken que le czar Pierre mangea à Zaandam n'étaient
pas si vulgairement faites, et ses travaux de charpentier n'étaient
pas si parfaits. Et puis toutes les villes fondées par des hommes qui
n'ont jamais été dans l'endroit qu'elles occupent, et tous ces beaux
dires qui n'étaient pas si beaux et qui avaient trait à autre chose; et
puis ces chants magnifiques qui n'ont pas eu de poëte; et puis cette
minutie à rectifier les chiffres; Léonidas défendit bien les
Thermopyles avec trois cents Spartiates seulement, mais il y avait
encore plusieurs centaines d'autres combattants qui n'étaient pas
Spartiates; sainte Ursule n'a pas subi le martyre en compagnie de
onze mille vierges, il y en avait beaucoup moins que cela; combien y
en avait-il donc? Et puis on rit, lorsque nous avons pitié du Tasse et
de Pétrarque, et on nous dit que le premier ne menait pas une vie si
dure à Ferrare, et que l'autre n'était pas si amoureux! Si un spirituel
écrivain a dit que l'histoire n'est qu'une fable, sur laquelle on est
d'accord, pourquoi y a-t-il tant de trouble-fêtes qui, avec un odieux
sourire, enlèvent, changent, altèrent quelque chose partout? Je crois
que tout cela est utile, mais cela me donne envie de pleurer! Ah!
donnez-moi ce petit livre-là, sur le bord de ce canapé. Je vous
remercie. «Il y avait une fois un roi et une reine....»
Encore un mot. Savez-vous ce qui m'étonne? C'est que, tandis que
notre temps cherche querelle pour la moindre bagatelle aux anciens
historiens et chroniqueurs, et leur reproche d'avoir faussé les choses,
ce même siècle mette tout en œuvre pour transmettre ce qui se
passe sous ses yeux à la postérité, aussi orné et aussi enjolivé que
possible. Nous qui frappons des médailles à propos de tout, qui
faisons des odes sur tout, qui mesurons tout au plus large et le
présentons le plus pittoresquement possible; nous qui écrivons et
chantons, en admiration devant nous-mêmes, et qui plaçons tout
dans le feu d'artifice de notre enthousiasme; nous qui donnons une
teinte romanesque et chevaleresque à tout ce qui est à nous, nous
prenons si gravement à partie les générations antérieures parce
qu'elles ont aidé un peu les héros et les sages dans leur héroïsme et
dans leur sagesse, et parce qu'elles ont mis ici une petite lumière, là
une fleur, ailleurs une perle ou un rideau: c'est inconvenant!
«Il y avait une fois un roi et une reine qui étaient si tristes, etc.»
1837.

[1] Je dois ici rendre justice à la générosité de mon ami Baculus,


qui m'a causé une surprise très-agréable, il y a quelques mois, en
m'envoyant un exemplaire de mon ouvrage de prédilection. Le
bonhomme a fait ce qu'il pouvait, mais ce n'était pas ma Mère-
l'Oie.
[2] Bible pour la jeunesse, D. 1, part. 3.
[3] Si on leur laisse feuilleter des livres, c'est par exemple les
Fables de Gellert (qui ne sont pas écrites pour la jeunesse); afin
qu'ils puissent apprendre plus tôt à se défier de leurs semblables
et à se moquer des femmes.
[4] Depuis qu'on a commencé à civiliser le monde des insectes
dont M. Bertolotto a donné un sublime exemple, nous avons du
moins un rayon de consolation. Et quant à la société de
l'amélioration morale et à la société de tempérance, il faut
s'attendre a ce que le microscope nous offre dos scènes plus
pacifiques!

XI

L'EAU

Non, je reviens de mon idée, qu'en dépit de Newton et d'Herschell,


un changement a eu lieu dans notre système du monde. Mon
barbier me l'avait presque persuadé. La commère de Halley, avait-il
dit au moins dix fois, n'a pas été loyale,—et lorsque les hivers
s'adoucirent, et qu'il fit plus froid en Italie que chez nous; lorsque les
mois de mai amenèrent un temps de novembre; lorsque le samedi
avant Pâques (et Pâques tombait tard cette année-là), on cueillait
trois violettes au bord de la chaussée,—alors je commençai à ajouter
foi à l'homme à la longue redingote bleue et aux boucles d'oreilles
en argent, qui avait toujours à raser et à jaser, et je lui dis:—C'est la
commère de Halley qui l'aura fait.
Mais maintenant les choses semblent s'être rétablies sur l'ancien
pied, et s'il est vraisemblable que nous avons fait un pas de côté,
nous sommes certainement rentrés dans la voie ordinaire, nous nous
retrouvons chez nous. L'hiver règne de nouveau en janvier. Ma
grand'mère était fière de l'hiver de 95, alors qu'il n'y avait pas encore
de poêle, et; m'enorgueillis du froid de 1830, lorsque de quarante
petits garçons, sept seulement revinrent de l'école, dont j'étais un;
et l'éloge que cela me valut de la part du maître s'adressa à un nez
gelé, pour ne pas parler de la carte d'application et de zèle que je
reçus, parce que mes mains étaient beaucoup trop rouges et trop
froides pour faire une belle écriture moyenne, au-dessus et entre la
ligne, avec de belles liaisons et sans grossir les traits. Hélas! je n'ai
jamais été loin en écriture, et c'est pour cela que je fais imprimer
aujourd'hui!
J'aime une vue d'hiver. Tous les peintres de paysage commencent
par des vues d'hiver, d'où il résulte qu'une vue d'hiver est une chose
facile et simple. Il y a dans la sobriété de la nature pendant les mois
froids quelque chose d'attrayant, de solennel, de calme et d'élevé. Si
ces vitres gelées voulaient bien le permettre, quelle vue étendue
j'aurais! Vraiment, c'est beau! Un air serein, bleu, toute clarté,
comme si le soleil voulait compenser ce qu'il donne de moins en
chaleur. Un magnifique jour du Nord,
Un rejeton du soleil en robe de neige.
Mais la neige est peu de chose encore. Comme elle repose
gracieusement en couche légère sur les branches toujours vertes des
sapins! Tous les autres arbres l'ont secouée; mais la longue allée de
hêtres, avec sa ligne de branchage a perte de vue, produit aussi une
certaine impression. Et le lointain horizon, comme il est distinct!
comme ce toit de roseau se détache nettement sur le ciel d'azur!...
mais il y a une chose qui gâte pour mon âme toute la beauté de ce
tableau d'hiver... C'est... dois-je le dire? c'est la glace!
Un beau jour du Nord, froid et serein, a donné à l'homme la
conscience de sa force, et le fait jouir avec volupté du sentiment qu'il
a de sa santé. Le froid donne un noble courage; il fortifie l'âme
comme les muscles. On sait aussi quels hommes et quels principes
le Nord a produits; quelles saines, pures et sereines idées sont
sorties du Nord glacé; quelles nobles forces le rude Nord a
déployées; quels géants habitués à sentir les flocons dans leur barbe
et le cliquetis de la grêle sur leur cuirasse,
Avec des faits dans les poings,
sont sortis du Nord au sol durci par la gelée! C'est pour cela que
j'honore le froid, le vent pur et sain, la neige éclatante d'une
blancheur sans tache,—mais la glace! oh! permettez-moi de la haïr!
Le froid nécessite le mouvement et rend la paresse impossible, à
moins que ce ne soit la paresse du lit. Toute effort, toute activité,
toute fatigue est récompensée par le plus grand bien-être qu'on
puisse goûter en hiver: avoir chaud. Et le foyer, le cher foyer. O toi,
centre de tous les plaisirs de l'hiver! ardent objet de l'ardent amour
des hommes et des animaux de la maison! gage et autel de la
domesticité même! combien tu perds de tes charmes, de ta valeur et
de ton autorité, dans les hivers fades, humides, timides, pleins
d'eau! On te délaisse avec dédain, on t'oublie, on parle mal de toi.
Deux fois par semaine la cheminée refuse de tirer, six fois en quinze
jours le bois est trop humide pour brûler; tous les jours tu es une
pomme de discorde dans les familles, lorsque l'un te trouve trop
chaud et l'autre pas assez. Mais maintenant tu deviens un mal
nécessaire, un indescriptible bonheur, une princesse fêtée par un
domestique aux petits soins. On t'encourage, on te prise, on t'exalte,
on t'admire; tu es adoré! On veut rester des heures à te contempler
fixement. Tu es l'idéal du bonheur de l'hiver! Oh! être assis devant
tes joyeuses flammes, le livre d'un écrivain favori à la main et la
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

ebookmasss.com

You might also like