Python for Chemists Christian Hilldownload
Python for Chemists Christian Hilldownload
or textbooks at https://ebookmass.com
https://ebookmass.com/product/python-for-chemists-christian-
hill/
https://ebookmass.com/product/learning-scientific-programming-with-
python-2nd-edition-christian-hill-2/
https://ebookmass.com/product/learning-scientific-programming-with-
python-2nd-edition-christian-hill/
https://ebookmass.com/product/modern-thermodynamics-for-chemists-and-
biochemists-2nd-edition-dennis-sherwood/
https://ebookmass.com/product/io-sono-jai-christian-hill/
Assassinio nella band Christian Hill
https://ebookmass.com/product/assassinio-nella-band-christian-hill/
https://ebookmass.com/product/io-sono-jai-christian-hill-2/
https://ebookmass.com/product/learning-scientific-programming-with-
python-hill/
https://ebookmass.com/product/the-python-advantage-python-for-excel-
in-2024-hayden-van-der-post/
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
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
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
v
vi Contents
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
14 LaTeX 134
14.1 Mathematics with LaTeX 134
14.2 Chemical Equations 143
14.3 Example 144
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
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
40 Solutions 479
Index 541
Acknowledgments
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
2 1 Introduction
2
These packages are sometimes collectively referred to as the Python scientific computing “stack.”
1.3 Installing Python 3
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.
In [x]: 10 / 4
Out[x]: 2.5
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
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
+ Addition
- Subtraction
* Multiplication
/ Floating-point division
// Integer division
% Modulus (remainder)
** Exponentiation
** (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
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
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
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
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
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)
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
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]: import = 0
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 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
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.
In [x]: 1 / 0
---------------------------------------------------------------------------
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
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:
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 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
13.88888888888889
8.363888888888889 e+24
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
import numpy as np
# The gas constant in J.K -1.mol -1 (4 s.f.).
R = 8.314
M = 29 / 1000
# Ratio of the heat capacities C_p / C_V ( adiabatic index ) for a diatomic gas.
gamma = 7 / 5
345.84234000181505
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
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
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
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 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
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)
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)
r G = r H − Tr S .
At 298 K, we have:
DrG = DrH - T * DrS / 1000
20 2 Basic Python Usage
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 .
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))
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
Strings can be concatenated with the + operator and repeated with the * operator:
In [x]: 'CH3 ' + 'CH2 '*3 + 'CH3 '
Out[x]: 'CH3CH2CH2CH2CH3 '
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
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:
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:
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
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 }")
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 '
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 '
In [x]: # remove any of the characters 'C', 'H', '3' from both ends of f
In [x]: f.strip ('CH3 ')
Out[x]: '2CH2 '
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
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 '
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
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
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))
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'
print (s)
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
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
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
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]
31
32 4 Lists and Loops
Unlike strings, lists are mutable: They can be changed in place in various ways,
for example by direct assignment:
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
Out[x]: [4, 'Sn', 'sodium ', 3.14159 , -42]
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']
À
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 PROGRÈS
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.
XI
L'EAU
ebookmasss.com