100% found this document useful (6 votes)
21 views

Advanced Guide to Python 3 Programming, 2nd John Hunt 2024 Scribd Download

Advanced

Uploaded by

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

Advanced Guide to Python 3 Programming, 2nd John Hunt 2024 Scribd Download

Advanced

Uploaded by

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

Get ebook downloads in full at ebookmeta.

com

Advanced Guide to Python 3 Programming, 2nd John


Hunt

https://ebookmeta.com/product/advanced-guide-to-
python-3-programming-2nd-john-hunt/

OR CLICK BUTTON

DOWNLOAD NOW

Explore and download more ebook at https://ebookmeta.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

A Beginners Guide to Python 3 Programming 2nd Edition John


Hunt

https://ebookmeta.com/product/a-beginners-guide-to-
python-3-programming-2nd-edition-john-hunt/

ebookmeta.com

Beginner s Guide to Kotlin Programming John Hunt

https://ebookmeta.com/product/beginner-s-guide-to-kotlin-programming-
john-hunt/

ebookmeta.com

Learn to Program with Python 3: A Step-by-Step Guide to


Programming - 2nd ed 2nd Edition Irv Kalb

https://ebookmeta.com/product/learn-to-program-with-python-3-a-step-
by-step-guide-to-programming-2nd-ed-2nd-edition-irv-kalb/

ebookmeta.com

Social Capital Economic Growth and Well Being 1st Edition


Francesco Sarracino

https://ebookmeta.com/product/social-capital-economic-growth-and-well-
being-1st-edition-francesco-sarracino/

ebookmeta.com
My Government Means To Kill Me 1st Edition Rasheed Newson

https://ebookmeta.com/product/my-government-means-to-kill-me-1st-
edition-rasheed-newson/

ebookmeta.com

Traders and Tinkers Bazaars in the Global Economy 1st


Edition Maitrayee Deka

https://ebookmeta.com/product/traders-and-tinkers-bazaars-in-the-
global-economy-1st-edition-maitrayee-deka/

ebookmeta.com

Texas Law for the Social Worker A 2016 Sourcebook 4th


Edition Vicki Hansen

https://ebookmeta.com/product/texas-law-for-the-social-
worker-a-2016-sourcebook-4th-edition-vicki-hansen/

ebookmeta.com

Evil Roman Emperors The Shocking History of Ancient Rome s


Most Wicked Rulers from Caligula to Nero and More 1st
Edition Phillip Barlag
https://ebookmeta.com/product/evil-roman-emperors-the-shocking-
history-of-ancient-rome-s-most-wicked-rulers-from-caligula-to-nero-
and-more-1st-edition-phillip-barlag/
ebookmeta.com

Sex Lies Techy Guys Love on the Sunshine Coast Collection


1st Edition Campbell Barbra

https://ebookmeta.com/product/sex-lies-techy-guys-love-on-the-
sunshine-coast-collection-1st-edition-campbell-barbra/

ebookmeta.com
Like I Needed (Heather Bay 3) 1st Edition Charlie Novak

https://ebookmeta.com/product/like-i-needed-heather-bay-3-1st-edition-
charlie-novak/

ebookmeta.com
Undergraduate Topics in Computer Science

John Hunt

Advanced Guide
to Python 3
Programming
Second Edition
Undergraduate Topics in Computer Science

Series Editor
Ian Mackie, University of Sussex, Brighton, UK

Advisory Editors
Samson Abramsky , Department of Computer Science, University of Oxford,
Oxford, UK
Chris Hankin , Department of Computing, Imperial College London, London,
UK
Mike Hinchey , Lero – The Irish Software Research Centre, University of
Limerick, Limerick, Ireland
Dexter C. Kozen, Department of Computer Science, Cornell University, Ithaca,
NY, USA
Andrew Pitts , Department of Computer Science and Technology, University of
Cambridge, Cambridge, UK
Hanne Riis Nielson , Department of Applied Mathematics and Computer
Science, Technical University of Denmark, Kongens Lyngby, Denmark
Steven S. Skiena, Department of Computer Science, Stony Brook University,
Stony Brook, NY, USA
Iain Stewart , Department of Computer Science, Durham University, Durham,
UK
Joseph Migga Kizza, College of Engineering and Computer Science, The
University of Tennessee-Chattanooga, Chattanooga, TN, USA
‘Undergraduate Topics in Computer Science’ (UTiCS) delivers high-quality instruc-
tional content for undergraduates studying in all areas of computing and information
science. From core foundational and theoretical material to final-year topics and
applications, UTiCS books take a fresh, concise, and modern approach and are ideal
for self-study or for a one- or two-semester course. The texts are all authored by
established experts in their fields, reviewed by an international advisory board, and
contain numerous examples and problems, many of which include fully worked
solutions.
The UTiCS concept relies on high-quality, concise books in softback format, and
generally a maximum of 275–300 pages. For undergraduate textbooks that are likely
to be longer, more expository, Springer continues to offer the highly regarded Texts
in Computer Science series, to which we refer potential authors.
John Hunt

Advanced Guide to Python 3


Programming
Second Edition
John Hunt
Midmarsh Technology Ltd.
Chippenham, Wiltshire, UK

ISSN 1863-7310 ISSN 2197-1781 (electronic)


Undergraduate Topics in Computer Science
ISBN 978-3-031-40335-4 ISBN 978-3-031-40336-1 (eBook)
https://doi.org/10.1007/978-3-031-40336-1

© Springer Nature Switzerland AG 2019, 2023

This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of
the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology
now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors, and the editors are safe to assume that the advice and information in this book
are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or
the editors give a warranty, expressed or implied, with respect to the material contained herein or for any
errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.

This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
For Denise, my wife, my soulmate, my best
friend.
Preface to the Second Edition

This second edition represents a significant expansion of the material in the first
edition, as well as an update of that book from Python 3.7 to 3.12.
This book includes whole new sections on advanced language features, Reactive
Programming in Python and data analysts. New chapters on working with Tkinter,
on event handling with Tkinter and a simple drawing application using Tkinter have
been added. A new chapter on performance monitoring and profiling has also been
added. A chapter on pip and conda is included at the end of the book.
In all there are 18 completely new chapters that take you far further on your Python
journey. Enjoy the book and I hope you find it useful.

Chippenham, UK John Hunt

vii
Preface to the First Edition

Some of the key aspects of this book are


1. It assumes knowledge of Python 3 and of concepts such as functions, classes,
protocols, abstract base classes, decorators, iterables and collection types (such
as list and tuple).
2. However, the book assumes very little knowledge or experience of the topics
presented.
3. The book is divided into eleven topic areas: advanced language features,
Computer Graphics, games, testing, file input/output, database access, logging,
concurrency and parallelism, Reactive Programming, network programming and
data analytics.
4. Each topic in the book has an introductory chapter followed by chapters that
delve into that topic.
5. The book includes exercises at the end of most chapters.
6. All code examples (and exercise solutions) are provided on line in a GitHub
repository.

What You Need

You can of course just read this book; however following the examples in this book
will ensure that you get as much as possible out of the content. For this you will need
a computer.
Python is a cross-platform programming language, and as such you can use Python
on a Windows PC, a Linux box, an Apple Mac, etc. So you are not tied to a particular
type of operating system; you can use whatever you have available.
However you will need to install some software on that computer. At a minimum
you will need Python. The focus of this book is Python 3 so that is the version that
is assumed for all examples and exercises. As Python is available for a wide range

ix
x Preface to the First Edition

of platforms from Windows, to Mac OS and Linux, you will need to ensure that you
download the version for your operating system.
Python can be downloaded from the main Python website which can be found at
http://www.python.org/.

You will also need some form of editor to write your programs. There are numerous
generic programming editors available for different operating systems with VIM on
Linux, Notepad++ on Windows and Sublime Text on windows and Macs being
popular choices.
However, using an Integrated Development Environment (IDE) editor such as
PyCharm, Visual Studio Code or Spyder can make writing and running your programs
much easier.
However, this book does not assume any particular editor, IDE or environment
(other than Python 3 itself).

Conventions

Throughout this book you will find a number of conventions used for text styles.
These text styles distinguish between different kinds of information. Code words,
variable and Python values, used within the main body of the text, are shown using
a Courier font. A block of Python code is set out as shown here:
Preface to the First Edition xi

def draw_koch(size, depth):


if depth > 0:
for angle in ANGLES:
draw_koch(size / 3, depth - 1)
turtle.left(angle)
else:
turtle.forward(size)
# Draw three sides of snowflake
for_in range(3):
draw_koch(SIZE_OF_SNOWFLAKE, depth)
turtle.right(120)

Note that keywords and points of interest are shown in bold font.
Any command line or user input is shown in standard font as shown below, for
example:
Hello, world
Enter your name: John
Hello John

Example Code and Sample Solutions

The examples used in this book (along with sample solutions for the exercises at the
end of most chapters) are available in a GitHub repository. GitHub provides a web
interface to Git, as well as a server environment hosting Git.
Git is a version control system typically used to manage source code files (such
as those used to create systems in programming languages such as Python but also
Java, C#, C++ and Scala). Systems such as Git are very useful for collaborative
development as they allow multiple people to work on an implementation and to
merge their work together. They also provide a useful historical view of the code
(which also allows developers to roll back changes if modifications prove to be
unsuitable).
The GitHub repository for this book can be found at:
• https://github.com/johnehunt/advancedpython3_2nd
If you already have Git installed on your computer, then you can clone (obtain a
copy of) the repository locally using:
git clone https://github.com/johnehunt/advancedpyth
on3_2nd.git
If you do not have Git, then you can obtain a zip file of the examples using
https://github.com/johnehunt/advancedpython3_2nd/arc
hive/refs/heads/main.zip
xii Preface to the First Edition

You can of course install Git yourself if you wish. To do this, see https://git-scm.
com/downloads. Versions of the Git client for Mac OS, Windows and Linux/Unix
are available here.
However, many IDEs such as PyCharm come with Git support and so offer another
approach to obtaining a Git repository.
For more information on Git see http://git-scm.com/doc. This Git guide
provides a very good primer and is highly recommended.

Acknowledgement I would like to thank Phoebe Hunt for creating the pixel images used for the
Starship Meteors game in Chap. 22.
Contents

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Useful Python Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Part I Advanced Language Features


2 Python Type Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Pythons Type System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 The Challenge for Python Developers . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Static Typing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Python Type Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Type Hint Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7 Type Hints for Multiple Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.8 The Self Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.9 The Benefits of Type Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.11 Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Class Slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 The Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Slots to the Rescue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Performance Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5 Why Not Use Slots? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6 Online Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4 Weak References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 How Garbage Collection Works: Reference Counting . . . . . . . . 23
4.3 Weak References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4 When to Use Weak References . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

xiii
xiv Contents

4.5 The Weakref Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26


4.6 Creating Weak References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.7 Retrieving Objects from Weak References . . . . . . . . . . . . . . . . . . 28
4.8 The WeakValueDicitonary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.9 WeakKeyDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.10 Proxy Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.11 Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5 Data Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 A Traditional Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Defining Data Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4 Defining Additional Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5 The Dataclass Decorator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.6 Custom Factory for Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.7 Immutable Dataclasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.8 Data Classes and Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.9 Post Initialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.10 Initialisation Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.11 Positional Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.12 Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6 Structural Pattern Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.2 The Match Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.3 Matching Classes with Positional Attributes . . . . . . . . . . . . . . . . . 50
6.4 Matching Against Standard Classes . . . . . . . . . . . . . . . . . . . . . . . . 51
6.5 Online Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7 Working with pprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2 The pprint Data Printer Module . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.3 Basic pprint Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.4 Changing the Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.5 Changing the Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.6 Managing the Indentation Level . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.7 Reducing Line Breaks Using Compact . . . . . . . . . . . . . . . . . . . . . 59
7.8 The pformat Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.9 The saferepr() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.10 Using the PrettyPrinter Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.11 Online Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8 Shallow v Deep Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.2 Copying a List of Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.3 The Problem with Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Contents xv

8.4 The Copy Module to the Rescue . . . . . . . . . . . . . . . . . . . . . . . . . . . 68


8.5 Using the deepcopy() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.6 Online Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9 The __init__ Versus __new__ and __call . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.2 The __new__ and __init__ Methods . . . . . . . . . . . . . . . . . . . . . . . 71
9.3 The __new__ Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.4 When to Use the __new__ Method . . . . . . . . . . . . . . . . . . . . . . . . . 73
9.5 Using __new__ to Create a Singleton Object . . . . . . . . . . . . . . . . 74
9.6 The __init__ Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
9.7 Can __new__ and __init__ Be Used Together? . . . . . . . . . . . . . . 76
9.8 The __call__ Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
9.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
10 Python Metaclasses and Meta Programming . . . . . . . . . . . . . . . . . . . . . 79
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10.2 Metaprogramming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10.3 Decorators as a Form of Metaprogramming . . . . . . . . . . . . . . . . . 81
10.4 Metaclasses for Metaprogramming . . . . . . . . . . . . . . . . . . . . . . . . 83
10.4.1 Singleton Metaclass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.5 Exec and Eval for Metaprogramming . . . . . . . . . . . . . . . . . . . . . . 85
10.5.1 The exec() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.5.2 The eval() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.5.3 eval Versus exec() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Part II Computer Graphics and GUIs


11 Introduction to Computer Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
11.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
11.3 The Graphical Computer Era . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
11.4 Interactive and Non Interactive Graphics . . . . . . . . . . . . . . . . . . . . 93
11.5 Pixels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
11.6 Bit Map Versus Vector Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
11.7 Buffering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
11.8 Python and Computer Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
11.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
11.10 Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
12 Python Turtle Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
12.2 The Turtle Graphics Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
12.2.1 The Turtle Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
12.2.2 Basic Turtle Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
12.2.3 Drawing Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
12.2.4 Filling Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
xvi Contents

12.3 Other Graphics Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


12.4 3D Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
12.4.1 PyOpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
12.5 Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
12.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
13 Computer Generated Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
13.1 Creating Computer Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
13.2 A Computer Art Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
13.3 Fractals in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
13.4 The Koch Snowflake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
13.5 Mandelbrot Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
13.6 Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
13.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
14 Introduction to Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
14.2 Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
14.3 Plot Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
14.4 Matplotlib Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
14.4.1 Backend Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
14.4.2 The Artist Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
14.4.3 The Scripting Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
14.5 Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
15 Graphing with Matplotlib Pyplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
15.2 The pyplot API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
15.3 Line Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
15.3.1 Coded Format Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
15.4 Scatter Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
15.4.1 When to Use Scatter Graphs . . . . . . . . . . . . . . . . . . . . . 134
15.5 Pie Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
15.5.1 Expanding Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
15.5.2 When to Use Pie Charts . . . . . . . . . . . . . . . . . . . . . . . . . 138
15.6 Bar Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
15.6.1 Horizontal Bar Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
15.6.2 Coloured Bars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
15.6.3 Stacked Bar Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
15.6.4 Grouped Bar Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
15.7 Figures and Subplots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
15.8 3D Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
15.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Other documents randomly have
different content
de reprendre ma besogne, j’envoyai un mot à Élise pour qu’elle vînt poser
dans l’après-midi. Au moins, il y aurait un être humain près de moi, je ne
serais pas seul.
»Je la vois encore, enveloppée dans une grande mante en laine des
Pyrénées,—nous étions en plein hiver,—modeste vêtement de fille pauvre
qui ne laissait voir de toute sa personne que son beau visage infiniment pâle
et ses yeux de lac gelé. Je parlais avec volubilité pour m’étourdir:
»—Voilà, dis-je, la pose n’est pas fatigante. Tu n’as qu’à t’étendre là,
aussi raide, aussi droite que tu pourras. Tu es une petite fille morte,
comprends-tu? Ce n’est pas difficile n’est-ce pas?
»Elle eut un léger frisson après lequel son visage et ses yeux se glacèrent
encore davantage.
»—Mais il y a déjà une morte, ici, dit-elle, il y a une morte!
»Je criai:
»—Comment le sais-tu?
»Ce qu’elle venait de dire répondait tellement à mon angoisse et à ma
terreur que si j’eusse été moi-même l’assassin, je n’aurais pas eu d’autres
paroles. Élise répondit à voix basse et lentement:
»—Je ne sais pas, je ne sais pas plus que vous. J’ai peur avec vous.
Voilà.
»Elle était tombée assise sur un escabeau de bois, et bientôt parut
m’oublier. Ce n’était plus en moi qu’elle puisait sa pensée, mais ailleurs,
semblait-il, dans cette atmosphère affreuse qui m’avait étouffé durant des
jours et des nuits. Elle se releva, parcourut l’atelier comme si elle eût
cherché des traces.
»—Ils étaient deux ici, avant vous, dit-elle, un homme et une femme...
une femme plus âgée que moi. Oh! que l’homme la détestait! Il y a encore
de sa haine dans le plancher, dans les coins, et là-haut!
»Elle gravit le petit escalier qui menait à la galerie, et s’assit sur mon lit,
la tête dans ses mains.
»—Elle a couché là où je suis, des années. C’était son dernier amour.
Mais l’homme avait assez d’elle. Peut-être aussi qu’elle savait des choses...
Le marteau est dans le coin de droite, en face de la porte... La femme dort,
l’homme ne dort pas. Il écoute les heures. Il gâche du plâtre, des sacs, des
sacs, des sacs. Onze heures, minuit, une heure... l’homme souffle la lampe.
»Je frissonnai. C’était l’heure où ma lampe s’éteignait.
»—Il monte l’escalier tout doucement. Il a pris le marteau. Le voilà près
du lit... Ah! La femme s’est réveillée. La voilà qui court, pieds nus... Et
maintenant, elle est toute nue: les mains de l’homme ont déchiré sa
chemise. Elle s’échappe, elle est sur la première marche de l’escalier, mais
le marteau l’a rattrapée, le marteau l’a rattrapée!
»Après? demandai-je, après, Élise?
»—L’homme gâche encore du plâtre. Il met la femme dans le plâtre. Elle
est comme assise, on dirait une momie... Maintenant elle est cachée, on ne
voit plus rien... Elle est là! Elle est dans le socle, là, sous la lampe!
»Elle s’arrêta, glacée de nouveau, toute raide.
»J’avais pris un marteau, comme l’autre, celui dont elle venait de parler!
A grands coups, je tapai sur le bloc de plâtre. Par morceaux, tout blancs
d’abord, puis noircis, puis pourris, puis... mais il y a des choses qu’il ne faut
pas dire: c’est trop hideux! par morceaux, le bloc s’en allait. Puis ces
morceaux montrèrent des formes en creux: un moule, un effroyable moule!
La morte était là, accroupie, ramassée sur elle-même comme un enfant qui
n’est pas encore né.»
«C’est comme ça qu’Élise Dorpat s’est découvert le don de seconde vue,
ajouta Darthez après un silence.
—Mais alors, dit Suzanne Demeure, elle... l’a encore aujourd’hui,
comme ce jour-là?
—Ça, je n’en sais rien, fit Darthez.
Et, repris par le doute poignant qui le torturera jusqu’à la fin de ses jours,
il cria:
—Est-ce qu’on peut jamais savoir? Est-ce qu’un homme est sûr d’avoir
du génie toute sa vie, hein! toute sa vie? Eh bien! alors?...
POUSSIÈRES
—Les jolies fleurs! dit le professeur Laroque de ce ton plein, grave,
amoureux, qu’il avait à certains moments de sa vie, «sans cause», disaient
ceux qui ne comprenaient pas. Car il y avait une cause: la joie qu’il
éprouvait de sentir la vigueur de sa pensée, sans user encore de cette
vigueur. Il y a une volupté à se savoir intellectuellement riche, et à ne pas
encore dépenser.
Avant d’aller à son laboratoire, il déjeunait tous les matins à l’anglaise,
dès neuf heures, d’un œuf et d’une côtelette qu’il arrosait de quelques tasses
de thé très noir. Il s’avouait que ce moment, où il ne travaillait pas, était le
meilleur de sa journée. Son cerveau lui paraissait si fort et si vif! Il ne
voyait pas les obstacles: d’un bond, il franchissait d’immenses espaces
intellectuels, touchait le but, considérait comme réalisés les objets de ses
travaux, découvrait d’autres espaces à explorer, et se disait: «Quel bonheur!
Il n’y a d’éternel que la possibilité de toujours découvrir.»
—Les jolies fleurs! répéta-t-il.
Ce n’était pourtant que des mimosées, des œillets rouges, une branche de
lilas blanc, noyés dans des feuilles de houx épineux, pourpres et vertes
comme certaines carapaces de bêtes marines. Mais il pénétrait plus loin que
la forme et l’apparence des choses, il songeait aux milliers d’actions
chimiques et lumineuses qui les avaient produites—et ces actions avaient
fait aussi de la beauté, et c’était plus mystérieux que tout le reste!
Immobile, les coudes sur la table et les deux mains sous le menton,
Madame Laroque le regardait. Il contempla son beau visage, et dit avec
reconnaissance:
—C’est pour moi que tu les as choisies... Ma petite femme, ma chère
petite femme!
Madame Laroque eut un frisson intérieur. Non, elle n’avait pas pensé à
son mari en disposant cette gerbe! Et depuis bien des mois ce n’était plus à
lui qu’elle pensait: il était devenu si absorbé, si personnel! Et c’était
aujourd’hui, précisément, aujourd’hui qu’il redevenait expansif, qu’il se
montrait joyeux, aimant, confiant! Par contenance, elle tourna la clef d’un
petit poêle à pétrole, qui fumait.
—Tu vas au laboratoire? dit-elle évasivement.
—Oui, je vais au laboratoire, chanta Laroque. Où irais-je, où irais-je au
monde! Il n’y a que Jousseaume qui n’y sera pas. Il est malade,
Jousseaume.
Madame Laroque rougit. Elle savait pourquoi Jousseaume n’irait pas au
laboratoire.
—Eh bien! poursuivit-elle, pense donc à t’arrêter chez Antoine,
l’encadreur de la rue Coëtlogon, pour réclamer le tableau que nous lui
avons donné... Tu n’oublieras pas?
—Non, répondit-il, je n’oublierai pas. Je n’ai pas de chance, personne ne
me prendra jamais pour un savant: je ne suis pas distrait!
C’était vrai. Il y avait toujours de la place dans son cerveau toujours
rangé, il portait à toutes choses la même exactitude qu’à ses expériences.
Quelques minutes plus tard, il s’arrêtait devant la boutique d’Antoine.
Le vieil artisan essuya sur sa blouse blanche ses mains poissées de
mastic.
—Vous venez pour votre cadre? fit-il. Je le ferai porter chez vous,
monsieur Laroque, il est fini... Mais entrez donc, il faut que je vous montre
quelque chose qui vous intéressera, vous qui vous occupez de photographie.
Traversant la boutique, les deux hommes entrèrent dans une pièce
absolument obscure, sorte de galetas dont Antoine avait fait à la fois une
remise pour les vieux cadres qu’il achetait dans les ventes et un atelier de
photographie; car il avait été séduit, comme tant d’autres, par les plaisirs de
la chambre noire, et Laroque, parfois, en souriant, l’appelait son cher
confrère.
—Restez là, monsieur Laroque, dit-il, et ne bougez pas. Vous écraseriez
quelque chose. Je vais dehors allumer la lanterne rouge. Il faut agir
délicatement, délicatement!
Il revint bientôt avec la lanterne, dont la lueur sombre s’arrêtait à
quelques centimètres du verre, comme repoussée par une obscurité si lourde
qu’elle paraissait palpable et qu’on avait envie de l’écarter du geste.
—Tenez, voici l’affaire, dit Antoine.
Il élevait un cadre ovale comme on en fit, non seulement au dix-huitième
siècle, mais jusque sous la Restauration. Ce cadre, qui n’encerclait aucun
tableau, avait gardé le verre qui le couvrait.
—Eh bien? demanda le professeur, qui n’apercevait que cette vitre pâle
et ternie.
—Regardez par transparence.
Laroque prit le cadre dans ses deux mains, l’appuyant sur son gilet, car il
était assez lourd. Antoine, devant lui, dardait la lanterne.
—Voyez-vous?...
—Oui, dit Laroque, il me semble.
... C’était comme si le corps d’une noyée, remontant par miracle du fond
de la mer, s’arrêtait à quelque distance de la surface. Une tête de jeune fille
apparaissait sur cette glace vide, mais prête à s’évanouir, couleur de fumée,
ombre d’une ombre; et cependant, on distinguait encore tout ce que la
lumière, jadis, avait aimé: des cheveux fins et légers, lissés sur les tempes,
les fleurs claires des yeux qui, comme sur un cliché, faisaient deux points
sombres, et une autre tache pour le menton, très jeune, un peu pointu.
—J’ai entendu parler de ça, dit Laroque avec un haussement d’épaules
indifférent. C’est un phénomène fréquent sur les verres qui protègent les
vieux pastels: une poussière de couleurs se détache du papier desséché, se
fixe sur la vitre, y laisse un calque vague. Ce n’est pas neuf, monsieur
Antoine, ce que vous me montrez là, ce n’est pas neuf.
—Mais ce n’était pas un pastel, cria Antoine, c’était une peinture à
l’huile. Je ne l’ai retirée du cadre que dans ce cabinet noir, hier matin. Et
quant à la poussière... il y en a, de la poussière, et une bonne couche! Mais
ce n’est pas du côté de la peinture, c’est à l’extérieur, du côté exposé à l’air;
et c’est de la poussière comme celle qu’on voit sur toutes les glaces.
—Vous avez raison, dit Laroque, devenu très attentif.
—Alors, la cause de ça, la cause?
—C’est très curieux, oui... Mais la cause, si je vous disais toute suite que
je la sais, je serais un malhonnête homme. Il faut réfléchir, il faut faire des
expériences, enfin pouvoir reproduire le phénomène à volonté: alors, on
peut dire qu’on sait. Jamais avant... Allons, au revoir, monsieur Antoine.
—Au revoir, monsieur Laroque.
Le professeur, jusqu’à son laboratoire de la rue Lhomond, marcha très
vite. C’était ainsi toutes les fois qu’un nouvel aspect des choses se
présentait à lui: une extraordinaire allégresse s’emparait de son cerveau et
précipitait ses pas.
—Oui, se disait-il, oui, une infinité de matières arrêtent les vibrations
lumineuses et les fixent. Toutefois la lumière détruit elle-même son œuvre.
Elle décolore ce qu’elle a un instant coloré, elle refait une page blanche de
la page qu’elle a noircie. Mais cette glace, pourtant, cette glace du portrait?
Elle a dû conserver l’impression parce qu’elle a été plongée, l’ayant reçue,
dans l’obscurité complète. Ces grains de poussière ont agi comme autant de
plaques sensibles, comme autant de rétines. Et si on pouvait fixer
l’impression, si on trouvait le moyen de la fixer, on aurait un cliché, une
image. Il faudrait voir, il faudrait étudier ça.
Il rangea la question avec d’autres, dans un coin de sa tête ordonnée, et
au laboratoire ne s’occupa que des expériences en train, avec ses
préparateurs, sans effort, scrupuleusement, comme d’habitude. Ses aides le
quittèrent pour déjeuner. Il demeura seul, travaillant toujours, prenant des
notes, relevant des chiffres, infatigable. Vers deux heures, il prit une tasse
de thé, sobrement, suivant son usage, et se rendit à l’amphithéâtre Daguerre,
pour faire son cours. Puis il reçut des élèves, indiqua des plans de travaux.
La nuit était complète, en ce jour de janvier, quand il rentra chez lui. Il avait
faim.
—Je vais prendre un biscuit avant le dîner, songea-t-il gaîment.
Il ouvrit la porte de l’appartement avec sa clef, et d’un pas fut dans la
salle à manger.
C’était une salle à manger d’appartement moderne, ouvrant sur le salon
par une glace sans tain. Et il vit qu’une ampoule électrique était allumée
dans le salon. Cela ne le surprit pas: sa femme recevait quelqu’un, sans
doute. Mais il eut un choc physique, parce que cette lumière s’éteignit
brusquement.
—Jeannie! cria-t-il à voix haute, Jeannie!
Il lui semblait avoir distingué une ombre, très près de sa femme, très
près. Il ouvrit la porte du salon, les bras tendus.
—Jeannie!
Il entendit des pas étouffés qui fuyaient vers l’autre porte, gagnaient le
vestibule puis l’escalier. Il comprit, avec la puissance de déduction, la
roideur dans la recherche de la certitude d’un homme exercé à enchaîner
des phénomènes. Dans un éclair, cent petits faits qu’il avait vus, qu’il avait
enregistrés comme il enregistrait tout, par habitude, sans qu’il y prêtât
attention, cent petits faits subitement réunis lui firent soupçonner la vérité:
l’homme qui avait fui, c’était Jousseaume.
—Jeannie!
Il toucha un corps tremblant, prostré, sentit des joues brûlantes, une chair
nue sous des voiles ouverts.
—Jeannie, dit-il d’une voix affreuse, dont le timbre le bouleversa lui-
même, qui était-ce?
Elle ne répondit pas. Non, non, elle ne voulait rien dire. Elle avait trahi
son mari, elle ne trahirait pas l’autre, elle ne trahirait pas deux fois.
—Avoue, avoue! C’était Jousseaume?
Elle secoua la tête.
—Tu as éteint pour que je ne sois pas sûr, pour que je ne sache pas?
—Oui! fit-elle, orgueilleusement.
Laroque entendit le bruit de sa robe frôlant les meubles, dans l’ombre, et
demeura seul.
Il fit un pas vers le commutateur d’électricité, puis s’arrêta.
—On peut essayer, murmura-t-il.
Et il alla chercher, dans le réduit qu’il avait aménagé pour ses études,
une petite lampe à feu rouge. Avec un linge très blanc, il frotta la glace, du
côté du salon.
—Pas de poussière ici, dit-il. Mais le poêle à pétrole a fumé ce matin,
dans la salle à manger.
Il recommença le même geste de l’autre côté de la glace: une trace resta
sur le linge.
—Oui, on peut essayer, répéta-t-il.
Tout son sang-froid lui était revenu. Il ne s’agissait plus que de préparer
une expérience. La première chose qu’il fit fut de coller de longues bandes
de papier blanc tout autour de la glace, qu’il découpa nettement, avec un
diamant de vitrier, et porta ensuite dans son laboratoire.
Le lendemain, il arriva avec sa physionomie ordinaire rue Lhomond.
Jousseaume, cette fois, l’y attendait.
—Tiens, dit Laroque simplement, vous êtes guéri?
Jousseaume balbutia. Ses lèvres tremblaient.
—Tant mieux, continua Laroque, tant mieux, nous avons à travailler!
Voici une boîte dans laquelle j’ai mis quelques petits morceaux de verre. Il
est très important de n’ouvrir qu’à la lumière rouge. Les fragments sont
couchés sur de l’ouate, et il faut faire attention à ne pas enlever la poussière,
la petite couche de poussière qui est par-dessus... Je voudrais savoir si ces
fragments ont gardé une impression.
—On ne voit rien, dit Jousseaume.
—Rien comme ça. Mais en trouvant le révélateur... Paris ne s’est pas bâti
en un jour. Je sais bien que ce ne sera pas commode: les bains dilueraient la
poussière. Enfin, laissez ces tessons. Je m’en occuperai tout seul,
décidément.
Il travailla des jours, des jours avec un acharnement régulier. Madame
Laroque l’avait quitté. Elle lui écrivit de Nice, le suppliant de pardonner. Il
ne répondit pas. Il travaillait, voilà tout.
Enfin il dit à Jousseaume.
—J’ai trouvé. C’était très simple. Il n’y a qu’à doubler ces morceaux de
verre d’une autre plaque sensibilisée, et ensuite... Mais vous verrez ça en
opérant avec moi. Regardez, voici les clichés témoins.
On apercevait maintenant, sur les fragments qu’il avait apportés, l’image
d’objets divers: un dos de fauteuil, la rosace d’un tapis, le coin d’une
cheminée.
—Et bien? demanda Jousseaume.
—Oh! ça, c’était pour me rendre compte. Mais nous allons pouvoir
travailler en grand. Vous viendrez chez moi, demain. J’ai un cliché qu’on ne
déplace pas facilement.
—Mais... fit Jousseaume.
Depuis longtemps il avait deviné l’objet des recherches de son maître; et
de le voir avancer chaque jour dans sa tâche, et de l’y aider, c’était comme
si on l’eût traîné par la nuque avec un collier de force.
—Voyons, insista Laroque, vous viendrez, n’est-ce pas?
Le lendemain, ils étaient tous deux penchés sur la glace, maintenue par
une armature de bois qui faisait cuveau.
—Le développement est-il terminé? demanda Laroque, d’une voix
tranquille.
Jousseaume se retourna. Il prit un de ces gros blocs qui servent à presser
les papiers photographiques, et le jeta sur la glace. Elle s’étoila seulement,
maintenue par l’armature. Alors il s’acharna, la réduisit en miettes.
—C’était moi! cria-t-il. Vous le savez bien, que c’était moi! Et vous
m’avez fait faire ce métier! Vous m’avez imposé cette torture; vous avez
inventé ce supplice! C’était moi, moi, je vous le dis! Et que voulez-vous
maintenant?
—Moi? dit Laroque, ironiquement. Rien. Vous venez de supprimer la
preuve d’une belle découverte. Mais le cliché était un peu intime, et je peux
en faire d’autres, maintenant, je suis sûr du procédé... A propos, madame
Laroque est à Nice. Je n’ai plus besoin de vous. Ni d’elle. Vous pouvez
allez la rejoindre, si ça vous fait plaisir. Vous l’informerez que je suis décidé
à ne la revoir jamais!
Jousseaume s’éloignait, quand Laroque le rappela:
—Rendez-moi donc le carnet des manipulations, dit-il. Vous alliez le
garder dans votre poche. A quoi pensez-vous?
DEVANT LA MACHINE
Ils étaient assez ivres tous deux, Bogaërt et Delebecque: ce dimanche-là,
ç’avait été ducasse à Bareul. Aussi loin que les yeux pouvaient voir, devant
eux s’étendait la plaine de Flandre, riche, humide, grasse, herbeuse, toute
tachetée pourtant des cubes lourds des usines, hérissée de cheminées
droites, d’ateliers aux toits en dents de scie, coupée partout de routes noires
de charbon. Mais la terre est si fertile que le laboureur ne l’abandonne pas;
et le flot des cultures, les blés encore verts, les betteraves sombres, les
houblonnières échevelées, battaient ces îlots de briques rouges, sous le ciel
d’un bleu lourd, pommelé de nues.
Une fanfare passa, sonnant de tous ses cuivres, avec un drapeau
tricolore. Bogaërt régla son pas et fit le salut militaire, par habitude, comme
s’il avait encore porté l’uniforme; et puis il se mit à rire, par réaction.
—Pourquoi qu’tu ris? demanda Delebecque. Il était tout hébété par les
chopes qu’il avait bues, et marchait droit, mais trop raide. Bogaërt répondit:
—C’est qu’c’est moi, c’est moi, que j’suis Belge, qu’ai fait mon service
pour la France, à la Légion. Et toi, mon vieux, toi qu’es Français, t’as pas
tiré d’congé, t’as déserté; sans l’amnistie, tu serais encore en Belgique, au
lieu d’faire rattacheur comme moi à la filature Wauters. C’est drôle, la vie,
hein? C’est pas... c’est pas naturel!
—Si, c’est naturel, fit Delebecque, lentement. T’as fait comme tu
voulais. J’ai fait comme je voulais. On se reproche rien.
—Bien sûr, répliqua Bogaërt, bien sûr. Mais pourquoi t’as déserté, dis,
tout de même.
—J’m’avais marié, réfléchit Delebecque, rassemblant ses idées.
J’pouvais pas laisser ma femme et ma p’tite. Et puis, pour qui je m’battrais?
A quoi ça me servirait-il, la guerre? C’est des histoires de bourgeois. Ça ne
sert qu’aux bourgeois. Si j’étais mort, si j’avais attrapé un mauvais coup,
qui c’est qui les aurait nourris, dans m’maison? J’suis pas pour les choses
que j’comprends pas. Voilà.
—T’avais peur de mourir, alors, interrogea Bogaërt, gravement, t’es pas
brave?
Il posait ces questions sans méchanceté, dans l’idée que chacun a le droit
d’arranger sa vie comme il l’entend. Delebecque, la cervelle obscurcie,
médita encore; il répondit, sans songer lui-même à s’offenser:
—J’suis pas brave? J’suppose ben qu’t’as raison, on m’la déjà dit. Mais à
quoi ça sert-il, j’répète, d’aller s’faire attraper du mal pour les autres?
L’ivresse développe la sensibilité des simples. Il frémit à ce moment,
comme s’il avait senti une blessure dans sa chair.
—Tiens, dit-il, parlons plus de ça. Nous v’là rendus à c’maison. Viens
prendre une chope, avant l’souper.
Ses grandes courses à travers le monde avaient rendu Bogaërt ivrogne.
Mais il gardait toujours la tête froide, orgueilleux de bien porter la boisson.
—C’est du genièvre qu’il faut prendre, à c’t’heure, dit-il, pas d’la bière.
—J’en ai aussi, du genièvre, affirma le camarade, fièrement.
Ils entrèrent. Les quatre enfants de Céline, celle à Delebecque, jouaient
sur le trottoir de briques, assez loin de la porte. A force d’attraper des coups
toutes les fois qu’ils approchaient des deux marches du seuil, parce que leur
mère, qui les passait au grès le samedi, voulait les conserver sans tache le
plus longtemps possible, ils avaient pris une idée religieuse de la propreté et
de l’obéissance. D’ailleurs, malgré leur ivresse, Bogaërt et Delebecque
firent eux-mêmes attention: ils enjambèrent les degrés pour ne rien salir.
La maternité donne à beaucoup de Flamandes pauvres une beauté qui ne
tient pas à leurs traits. Les yeux bleus de Céline étaient presque délirants
dans sa figure maigre; son teint, fait pour être éclatant, s’était plombé, elle
avait un nez, trop mince et trop long à la fois, et l’épuisement de ses forces
tirait les deux coins de sa bouche. Mais quand elle avança vers les deux
hommes, elle eut un geste d’une fierté singulière. C’était comme si la petite
maison et la postérité sortie de ses flancs, non pas elle-même seulement,
recevaient son mari et son hôte. Telle est la façon, à la fois ingénue et
magnifique, des femmes de cette race d’être ménagères. Quand Bogaërt eut
fait ses politesses, Céline emplit trois chopes d’une bière pâle, qui moussait
très peu.
—C’est du genièvre qu’il veut, l’copain! dit Delebecque.
Et comme elle hésitait, voyant qu’ils étaient déjà très pris, une espèce de
rage lui vint, un de ces désirs d’ivresse et de fatigue qui veulent être
satisfaits tout de suite.
—Non de Dieu! cria-t-il, j’vas y aller, dans c’cave!
—Prends garde! dit Céline. C’est r’lavé seulement de c’t’heure. Des
œufs qui s’avaient cassé.
Delebecque n’écouta pas. Il ouvrit la trappe de la cave, on entendit ses
pieds chercher pesamment les marches, puis deux talons ferrés qui
grinçaient sous le poids d’un corps déjà renversé, un juron, le bruit d’un
corps qui glissait, enfin le tintement plat d’une cuve de zinc qui roulait sur
le sol.
—La lessiveuse! dit Céline.
Elle aimait son homme, mais elle avait pensé d’abord aux choses de son
administration, par instinct. Ses enfants avaient compris, au silence mortel
qui se fit après ce grand éclat, qu’il venait de se passer une chose qu’il
fallait savoir. Lucile, l’aînée, ôta ses souliers, prit son petit frère dans ses
bras. Les autres entrèrent derrière elle, plus hardis, sans précautions. Ils
virent Céline et Bogaërt qui remontaient, en criant, le corps de leur père.
—Il a rien, dit Bogaërt, essayant d’asseoir sur une chaise cette chose
inanimée. Pourquoi qu’il bouge pas?
Le corps glissa et retomba sur le carrelage. Céline crut que son mari était
mort; elle poussa un grand cri. Mais d’être ainsi allongé sur le sol ramena la
circulation au cerveau du blessé, qui ouvrit les yeux.
—Il a rien, répéta Bogaërt. C’est la peur. Il a toujours peur... Hé, capon!
Delebecque aussitôt revenu à lui porta la main à son ventre. Sans hésiter,
sa femme le dénuda et la chemise de grosse toile apparut toute pleine de
sang. Les enfants s’étaient rapprochés. Céline les chassa, pour la décence.
Quand Delebecque qu’on avait porté sur son lit, dans sa chambre, revint
complètement à lui quelques heures plus tard, le médecin ne s’en aperçut
pas assez vite. Voilà pourquoi il ne put arrêter Bogaërt, qui disait:
—C’est vrai? C’est vrai qu’on n’y peut plus rien?
—Rien, répondit le médecin. L’urètre est brisé. Il va s’empoisonner très
vite, et puis...
Il y eut un grand silence et Delebecque comprit qu’il était perdu. Alors il
se fit dans son esprit un calme extraordinaire parce que, sur le moment, rien
ne l’intéressa plus. C’est une bénédiction qui arrive souvent à ceux qui vont
mourir. Il dit seulement:
—Si ça s’rait arrivé à l’usine, au moins, et pas ici Ah! y en a qui n’ont
pas de chance!
Et Céline poussa le plus fort gémissement qui fût sorti de sa poitrine
depuis l’accident, parce qu’elle avait compris ce qu’il voulait dire.
—Il n’aura rien! cria-t-elle. L’assurance ne lui donnera rien, pa’ce que
c’est dans c’maison qui s’a tué!
Bogaërt la regarda un instant et comprit à son tour. Il cria:
—Bon sang d’bon Dieu, c’est tout d’même vrai qu’y en a qui n’ont pas
d’chance! Mon pauv’ Delebecque, va, mon pauv’ Delebecque!
Depuis le malheur, il avait fait ce qu’il avait pu pour le camarade, mais
tranquillement, gardant les yeux secs. Il en avait tant vu mourir, là-bas, en
Afrique et en Chine! Mais ce guignon-là, ne pas même toucher l’assurance,
parce qu’on fait la bêtise de tomber dans sa cave au lieu d’empoigner son
avarie une demi-lieue plus loin, chez le patron; crever pour la peau, comme
un bourgeois ou comme un soldat! C’était trop bête, trop injuste et trop
triste. Il se mit à gueuler de rage:
—Lui qui avait si peur des mauvais coups! dit-il. Il n’a même pas la
consolation d’attraper quéqu’ chose pour sa famille!
Céline gémissait tout doucement. Elle sentait avec confusion qu’elle
aurait voulu regretter son homme pour l’amour qu’elle avait de lui, pour les
nuits où elle avait senti la volupté passer sur son corps en ondes si fortes
qu’elle en oubliait la fatigue du jour, pour la fierté qu’elle avait eue, après
avoir été prise vierge, un soir de ducasse, pareil à celui-ci, d’être devenue
par lui une femme mariée, vivant dans sa maison. Oui, elle aurait voulu le
regretter pour tout ça, et elle ne pouvait plus! Elle ne pouvait plus songer
qu’à une chose: que cette mort aurait dû lui rapporter, faire d’elle une veuve
presque riche, donner des sous à ses enfants, jusqu’à leur majorité, et que le
destin, au contraire, lui enlevait en même temps son plaisir amoureux, son
orgueil domestique et son pain quotidien. Ah! misère de misère! il ne peut
jamais rien arriver de bon aux pauvres gens, leurs malheurs sont toujours de
plus grands malheurs que pour les autres. Elle se jeta sur le médecin:
—Y a quéqu’ chose à faire, tout de même, cria-t-elle, il doit y avoir?...
—Pour le guérir? dit-il à voix basse.
—Non, dit-elle, pour l’assurance?
Le médecin haussa les épaules. Ça ne le regardait pas.
Alors Bogaërt, à son tour, cria:
—Le monde, le bon Dieu, la société, le gouvernement, c’est des
cochons!
—Laissez-moi dormir, supplia simplement Delebecque.
Il s’était retourné vers la muraille. Dehors, les enfants s’étaient remis à
jouer.

Céline avait aimé son homme, elle l’aimait encore. Elle lui avait dévoué
son corps comme épouse, ses mains comme ménagère; elle avait été,
comme il convient, sa servante et sa femme. Pourtant elle dit, à haute voix,
devant lui:
—Vaut mieux qu’il meure tout d’bon, à c’t’heure, vaut mieux qu’il
meure! Quoi nous f’rons, s’il reste infirme!
—Et dire que s’il avait pris l’mal à l’usine, bon Dieu d’bon Dieu!...
répéta Bogaërt.
Ils pensaient toujours à l’assurance et leur cœur s’emplissait d’amertume
contre l’injustice du sort. Delebecque les entendait, mais il n’avait plus la
force de parler. Il s’assoupit.
Vers neuf heures, il commença de trembler. Ses dents claquaient, il eut
l’impression d’un grand froid, et cette sensation même le réveilla. Le
médecin avait prévenu: «Il aura de la fièvre à cause de sa blessure, et puis,
douze ou vingt-quatre heures après, son corps fabriquera des poisons, et
alors...» Céline et Bogaërt se regardèrent: ça commençait comme on leur
avait dit.
Mais Delebecque, bien qu’il ne dormît plus et souffrît beaucoup,
demeura longtemps les yeux fermés. Il méditait de toute la force ingénue,
douloureuse et maladroite de son pauvre cerveau. A la fin, il crut avoir
trouvé. Il demanda, pour s’éclaircir d’un doute suprême:
—Dis donc, Bogaërt, le docteur Roger, c’est pas l’médecin
d’l’assurance?
—Non, répondit Bogaërt.
—Et c’est-il vrai qu’ les médecins doivent rien dire sur les malades, rien
du tout?
C’est ainsi qu’il définissait le secret professionnel. Céline et Bogaërt
ignoraient le terme comme lui, mais ils avaient entendu parler de la chose;
ils confirmèrent.
—Alors, dit Delebecque au camarade, tu vas aller l’trouver, l’docteur
Roger, et tu diras qu’il a pas à parler, qu’il a rien vu. Tu entends: il a rien
vu, il sait rien!
—Quoi c’est qu’tu veux? fit Bogaërt sans comprendre.
—T’as pas b’soin de d’mander. Faut faire... Et puis d’main, dis, tu
passeras par c’maison ici, une demi-heure avant l’premier coup d’sirène à
l’filature.
—Quoi c’est qu’tu veux? répéta encore Bogaërt. Pourquoi c’est qu’il
faut que j’passe?
—Pour aider m’femme à m’habiller et qu’j’y aille, à c’filature.
Céline et Bogaërt crurent que la fièvre le faisait divaguer. Puisqu’il allait
mourir, à quoi ça lui servirait d’aller encore une fois à sa machine? Autant
finir dans son lit, ça fait une consolation, des vacances.
Mais Delebecque répéta:
—J’suis pas fou, j’sais c’que j’veux. Jure que tu viendras m’chercher?
—Je l’jure, dit Bogaërt.

Il revint le lendemain parce qu’il l’avait promis et qu’il aimait le


camarade.
—Il a encore eu l’hémorragie à c’nuit, dit Céline, mais ça l’a soulagé.
Est-ce qu’il vient pas de s’lever, à c’t’heure! L’idée l’tient. Possiblement
qu’il va mieux et que c’médecin s’a trompé.
—Possiblement qu’il s’a trompé, confirma Bogaërt, ça s’est vu, des fois.
Il changea d’opinion quand il vit Delebecque. Ah! le pauvre bougre!
Comment ça peut-il se faire qu’une seule nuit suffise à changer un homme
et en faire un autre, qui lui ressemble à peine, qui est à la fois comme un
enfant et comme un vieux? Jusqu’aux mains qui n’étaient plus les mêmes:
plus blanches déjà, avec des doigts amincis, qui tremblotaient et griffaient
dans le vide comme pour y crocher la vie! Toute la lumière, toute la tiédeur
du jeune été entraient par la fenêtre ouverte; la journée serait brûlante, car,
malgré l’heure matinale, pour avoir seulement marché un peu vite, Bogaërt
se sentait tout en nage; et pourtant Delebecque grelottait. Il avait tenu bon,
malgré tout; il faisait comme il avait dit: Céline lui passa un caleçon de
grosse toile, un pantalon de velours, un tricot, parce qu’il avait froid, et lui-
même entra ses pieds sans chaussettes dans les souliers lourds.
Sa femme apporta le café fumant. Il trempa ses lèvres dans le bol en
secouant la tête.
—J’peux pas, dit-il, ça passe pas. C’est du vin qu’il faut, un verre de vin.
Dans les ménages des Flandres, aussitôt qu’il entre un peu d’argent dans
la maison, au genièvre et à la bière on ajoute un peu de vin, breuvage de
luxe considéré comme un élixir magnifique et spirituel. Céline alla en
chercher une bouteille, et Delebecque, se forçant, coup sur coup, sans
plaisir, but deux verres.
—De quoi qu’j’ai l’air? demanda-t-il.
Les deux qui le regardaient, n’osèrent pas répondre.
Il alla se placer devant le petit miroir de quatre sous qui lui avait servi la
veille à se faire la barbe. Il s’étudiait à marcher droit, il grinçait des dents, à
force de serrer les mâchoires. Et ce fut lui qui fit la réponse:
—De quoi qu’j’ai l’air? D’un qui va s’habiller d’planches. Voilà. Ça peut
pas aller comme ça, faut trouver un truc.
Alors, par une inspiration subite, voyant cette couleur du vin, chaude et
rouge, de ses doigts rugueux il s’en barbouilla le visage. Et c’était pour
qu’on pensât en le voyant: «Ce n’est pas le mourant qui était là tout à
l’heure, c’est un autre homme», et qu’on n’eût pas pitié de lui... La sirène
de la filature retentit tout à coup: un long meuglement farouche, qui dura
cinq minutes, passa sur les arbres, l’herbe des prés, les blés encore verts en
les faisant frémir, imprima aux poitrines humaines une vibration intérieure.
Et Delebecque prononça d’une voix presque naturelle, malgré la tremblote
du bout de la langue qui le faisait bredouiller un peu:
—Hein, on part?
—Mais j’t’ai pas pansé, mon homme! cria Céline.
—M’panser, dit-il avec une sorte de rire, tout d’même, c’est pas ça qui
s’rait à faire!
Et Bogaërt, sans savoir pourquoi, sentit les sanglots lui monter à la
gorge. Il ne savait pas ce que Delebecque voulait faire avec cette
mascarade, mais il trouvait ça beau, il trouvait ça fou, il trouvait ça brave.
—Mon vieux, dit-il, mon vieux!
Il lui avait passé un bras autour du cou, légèrement. Mais l’autre était si
faible qu’il plia tout de suite.
—Pas comme ça, dit-il, non... Donne-moi l’bras, soutiens-moi.
Ils descendirent l’escalier ensemble. Delebecque s’appuyait d’une main
à la petite rampe de frêne.
—Ça va mieux, pas? demanda Bogaërt. Ça s’en va, ton mal?
—Non, répondit-il tranquillement comme s’il s’agissait d’un autre, ça
s’en va pas. J’vais mourir, vois-tu, j’suis foutu. Mais t’as-t-il vu l’médecin?
—Oui, dit Bogaërt, de la tête.
—Et il dira rien, c’est sûr?
—C’est sûr, fit-il encore.
—Eh ben, jure-moi qu’toi aussi tu diras rien, jamais rien, à personne,
malgré c’qui arrivera. Tu jures?
—Oui, dit encore Bogaërt.
Ce fut tout, ils ne se parlèrent plus. Delebecque s’engagea sur la route
qu’il avait faite tant de fois. Ça lui faisait un peu de bien, de la reconnaître,
ça le poussait, d’être dans le torrent des autres ouvriers qui s’en allaient
pesamment, comme lui, vers le même but. Le bruit de leurs pas traînants se
mêlait, dans ses oreilles, au bourdonnement du sang, et il marchait, ne
songeant qu’à avoir l’air de tout le monde, malgré ses entrailles déchirées,
son ventre qui lui paraissait s’ouvrir par l’intérieur, et la source rouge qui,
encore une fois, s’était rouverte. Il la sentait couler sur ses cuisses, elle s’y
caillait en grumeaux dont les poils de sa chair étaient agacés.
Heureusement, on ne le regardait guère ou on le regardait sans s’étonner.
C’était un lendemain de ducasse, d’autres que lui avaient les yeux malades,
la lèvre basse, le teint mâché, la démarche un peu vacillante. L’ivresse aussi
est une maladie, seulement on en revient, c’est la différence. Cette idée
banale occupa quelque temps son cerveau avec une force excessive, puis il
devint sensible aux odeurs comme il ne l’avait jamais été. Des exhalaisons
de vase mêlées à celles des drèches d’une sucrerie, lui soulevèrent le cœur,
accrurent la crainte qu’il avait de s’évanouir. Les vapeurs de chlore qui
sortaient des grandes pièces de toile qu’une blanchisserie avait étalées sur
un pré lui piquèrent, au contraire, agréablement les narines. Il fut comme
une femme à qui ont fait respirer un flacon de sel.
Comme il se plaignait à voix basse que le choc de ses souliers, sur les
pavés inégaux, lui retentissait dans le corps, Bogaërt, qui le soutenait
toujours, lui fit suivre les trottoirs de brique, le long des maisons. Chaque
fois que Delebecque apercevait une porte ouverte, surtout celle d’un
estaminet, il était obligé de détourner les yeux. Ce n’était pas qu’il eût envie
de boire, mais il connaissait trop ces demeures, il y voyait trop bien la place
où il aurait pu s’asseoir, et il était si fatigué! Seulement il songeait aussi: «Il
ne faut pas que je m’arrête: je ne pourrais pas repartir!» C’est ainsi qu’il
marchait mourant, et qu’il atteignit la porte de la filature.
Il fallait, d’après le règlement, se faire «piquer» entrant à l’heure. C’est à
ce moment-là, surtout, qu’il devait songer à bien se tenir: un comptable
n’est pas un camarade, c’est l’homme qui est déjà de l’autre côté, avec les
patrons. Il défila bien, il défila comme un vivant ordinaire, et son œil
chercha l’approbation de Bogaërt, qui dit:
—Tu as étalé!
C’était le terme militaire, celui dont l’ancien engagé à la légion avait
honoré là-bas, sous d’autres cieux, les efforts héroïques des hommes, la
lutte victorieuse de la volonté contre le désespoir, la faim, l’épuisement des
longues routes, l’épouvante et le fer. Alors Delebecque le déserteur, celui
qui n’était pas brave, eût presque un sourire.
Maintenant, ils n’avaient plus qu’à prendre leur poste à la machine.
C’était une vieille compound horizontale, qui actionnait les organes de la
filature. De temps en temps, les frères Wauters pensaient à la remplacer,
puis ils attendaient une année meilleure. Et pour Bogaërt et Delebecque, ils
ne s’en plaignaient point, parce qu’il eût fallu, pour comprendre et
manœuvrer une machine neuve, une souplesse cérébrale qu’ils n’avaient
plus. Les deux chauffeurs qui avaient entretenu les grilles, durant la nuit,
venaient de disparaître, remplacés par une équipe fraîche. Delebecque
remplit les graisseurs, et Bogaërt, après avoir examiné le serrage des
éclisses et des raccords d’écrou, fit sonner le métal des pièces comme on
ausculte une personne, et débraya. A travers la glissière, silencieusement, la
crosse du piston s’ébranla, le gigantesque volant se mit à tourner, l’air
ronfla dans la salle; et il y eût aussi, venant de partout, ces mille petits bruits
qui disent que les machines sont usées, qu’il y a du jeu dans leurs membres,
qu’elles fatiguent plus qu’elles ne devraient.
Delebecque était chez lui, maintenant, à son poste, Bogaërt lui dit:
—Repose-toi si tu veux, va! On suffit!
—Non, fit Delebecque. Tout à l’heure j’aurais plus la force.
La force de quoi! Bogaërt, depuis ce matin, avait peur d’avoir deviné.
Mais ce n’était pas son affaire et peut-être que le camarade avait raison. Les
deux chauffeurs à côté leur jetaient parfois un mot, et Delebecque avait le
courage de faire celui qui entend. Avec un chiffon gras il essuyait les pièces
comme d’habitude, presque avec le même soin, avec le même fini qu’en ses
jours de santé. Quand il eut terminé en bas, Bogaërt lui vit gravir les
coussinets, au-dessus de la fosse, pour continuer son travail dans les parties
supérieures. La bielle d’acier, claire, bien huilée, tournait autour de sa
manivelle comme un genou qui galope. Delebecque se baissa.
—Prends garde, vieux! gueula Bogaërt. Nom de Dieu, t’es fou!
A son cri, les chauffeurs avaient levé la tête. Ils virent Delebecque,
atteint au ventre par la tête de bielle, retomber comme un sac le long des
coussinets. En une seconde Bogaërt fut auprès de lui agenouillé.
—Ça y est, maintenant! dit Delebecque à voix basse. C’est plus dans m’
maison que j’l’ai eu, l’accident, c’est ici, à l’usine. T’es témoin, pas? les
chauffeurs, ils sont témoins!
Sa pauvre face douloureuse avait une expression de sérénité, presque de
triomphe. Il l’avait enfin, le droit à l’assurance, il l’avait, non pour lui, mais
pour Céline, pour les gosses; il pouvait mourir tranquille, oui! Ça y était.
L’un des frères Wauters, prévenu, vint en courant. Bogaërt ne le laissa
point parler.
—Il n’y avait pas d’balustrade du côté de la bielle, dit-il seulement.
Le patron comprit. Ce manque de précaution, de la part de l’employeur,
couvrait l’imprudence de l’ouvrier. Il faudrait payer.
Delebecque avait entendu. On venait de lui arranger une civière. Il serra
les mains de Bogaërt.

—Tu vois que j’ l’ai décrochée tout d’même, l’assurance, dit-il.


Et il mourut deux jours après...
LE BINOCLE
D’un gros vol plat et confus, à la fois rapide et pesant, avant que nous
eussions pu tirer un seul coup de fusil, la compagnie de perdreaux s’était
envolée vers la lisière du bois de Champromain. Les chiens interrompirent
leur quête, levant le nez d’un air indécis: car les chiens sont des animaux
qui se dirigent par l’odorat, mais en chasse, ils ne savent pas voir; ils n’en
n’ont même pas l’idée. Alors, les sifflant, Jacques Bertus et moi, nous
marchâmes vers les arbres.
D’abord, il fallut traverser des labours fraîchement charrués. Nos
souliers ramassaient sous eux la glèbe molle, que nous jetions parfois au
loin d’un grand coup de pied, comme une fronde lance un caillou. Puis une
clôture en pierres sèches nous arrêta.
Des ronces y avaient poussé, formant une muraille verte, épineuse et
drue, qui paraissait infranchissable. Mais nous la battîmes avec nos fusils à
l’endroit où cette barrière était plus mince. Autour de nous, les gouttelettes
de rosée retombaient en pluie; plus loin, retenues aux poils rudes des
ronciers, elles tremblotaient doucement, toutes pénétrées de lumière,
chacune reflétant à elle seule le soleil entier; une toile d’araignée était aussi
toute transfigurée par ces perles vivantes, un arc-en-ciel minuscule y jetait
sa courbe irisée, et l’araignée elle-même, immobile au centre, était comme
une étoile noircie.
Je passai le premier par la brèche que nous venions de faire et tendis la
main à Bertus. Il la dédaigna, malgré ses cinquante ans sonnés, escalada les
pierres roulantes et sauta de l’autre côté. Une des branches de l’arbuste
revint sur son visage et lui fit tomber son binocle.
Sa figure changea d’expression. Elle est d’habitude calme, assez froide,
avec quelque chose de volontairement fermé. Nous avons connu un Bertus
qui fiait souvent, mais c’est il y a des années, et nous savons tous, nous ses
amis, quelle douleur intime et toujours présente, dont il ne faut pas lui
parler, a changé son caractère. Mais ce tout petit et banal accident venait de
le transformer encore, comme il eût fait de tout homme dont la vue est
courte. C’était maintenant un malheureux presque aveugle, et ridicule
pourtant, parce qu’on avait conscience qu’il n’était pas aveugle: des traits

You might also like