1
1
Preface
2
2
=======
3
3
4
- Computers have revolutionised mathematics and the many scientific, engineering
4
+ Computers have revolutionised mathematics and the many scientific, engineering,
5
5
and economic fields in which mathematics is applied. In the applications of
6
6
mathematics the role of computation has long been obvious and prominent. Now,
7
7
the development of theorem proving software is increasing the prominence of
@@ -68,7 +68,7 @@ who would like to learn to be a more capable programmer. The mathematical
68
68
examples assume that you know how to differentiate functions of one variable,
69
69
but very little beyond that. Where examples or exercises employ other
70
70
mathematics, such as cellular automata in :numref: `Chapter %s <style >` and
71
- groups in :numref: `Chapter %s <abstract_data_types >`, enough of the mathematics
71
+ groups in :numref: `Chapter %s <inheritance >`, enough of the mathematics
72
72
will be introduced that the reader should be able to understand the programming
73
73
concept being explained, without necessarily understanding all of the
74
74
mathematical details of the example.
@@ -78,7 +78,7 @@ the sort of basic Python usually covered in a first programming or
78
78
computational methods course. In particular the reader will be assumed to be
79
79
familiar with writing functions, variable assignments, loops, and list
80
80
comprehensions. The reader is also assumed to have used numeric and string data
81
- values, as well as dictionaries, lists, and tuples.
81
+ values, as well as dictionaries, sets, lists, and tuples.
82
82
83
83
Many introductory Python courses exclusively use Jupyter notebooks, so nothing
84
84
beyond that is assumed. Getting set up with a working Python installation is
@@ -126,8 +126,8 @@ it's better to watch the video *after* reading the relevant section.
126
126
The videos are marked in the text by a blue box at the right hand side,
127
127
containing the video number. This corresponds to the list of links at:
128
128
129
- `https://object-oriented-python.github.io/edition1 /videos.html
130
- <https://object-oriented-python.github.io/edition1 /videos.html> `__
129
+ `https://object-oriented-python.github.io/edition2 /videos.html
130
+ <https://object-oriented-python.github.io/edition2 /videos.html> `__
131
131
132
132
The exercises
133
133
.............
@@ -141,8 +141,8 @@ correct responses to a range of inputs. Tests like this provide immediate
141
141
feedback and enable you to know how you are doing. Links to the skeleton code
142
142
for each chapter are provided at:
143
143
144
- `https://object-oriented-python.github.io/edition1 /exercises.html
145
- <https://object-oriented-python.github.io/edition1 /exercises.html> `__
144
+ `https://object-oriented-python.github.io/edition2 /exercises.html
145
+ <https://object-oriented-python.github.io/edition2 /exercises.html> `__
146
146
147
147
148
148
Conventions employed
@@ -202,8 +202,8 @@ outstanding. Pulling out all the stops to deliver the written and video
202
202
materials for online learning meant a lot of evenings and weekends. I am
203
203
exceptionally grateful to my wife Gebina Ham for disproportionately picking up
204
204
our childcare responsibilities in that period in order to make this possible.
205
- I'd also like to thank Dr Aaron Pereira for his eagle-eyed corrections to the
206
- text.
205
+ I'd also like to thank Dr Aaron Pereira and Reuben Nixon-Hill for their
206
+ eagle-eyed corrections to the text.
207
207
208
208
This is a textbook about programming in Python, so it would be remiss of me not
209
209
to also thank the developers of the Python language, its CPython reference
@@ -215,3 +215,14 @@ This book is typeset using the Sphinx documentation system. Among other things
215
215
this facilitates generating the web, PDF, and print versions of the book from a
216
216
single source. Thanks are due to its authors as well as those of the underlying
217
217
LaTeX and TeX typesetting systems.
218
+
219
+ Changes in the second edition
220
+ -----------------------------
221
+
222
+ The second edition is a minor update correcting numerous small issues that have
223
+ been pointed out over the last year. A more substantive change is that the
224
+ explanation of packaging in :numref: `programs_files ` has been modernised to use
225
+ :file: `pyproject.toml ` in place of `setup.py `.
226
+ :numref: `assignment_and_instantiation ` has been added in response to confusion
227
+ expressed by a number of students about the distinction between instantiating
228
+ new objects and assigning new variable names to existing objects.
0 commit comments