11Preface
22=======
33
4- Computers have revolutionised mathematics and the many scientific, engineering
4+ Computers have revolutionised mathematics and the many scientific, engineering,
55and economic fields in which mathematics is applied. In the applications of
66mathematics the role of computation has long been obvious and prominent. Now,
77the 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
6868examples assume that you know how to differentiate functions of one variable,
6969but very little beyond that. Where examples or exercises employ other
7070mathematics, 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
7272will be introduced that the reader should be able to understand the programming
7373concept being explained, without necessarily understanding all of the
7474mathematical details of the example.
@@ -78,7 +78,7 @@ the sort of basic Python usually covered in a first programming or
7878computational methods course. In particular the reader will be assumed to be
7979familiar with writing functions, variable assignments, loops, and list
8080comprehensions. 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.
8282
8383Many introductory Python courses exclusively use Jupyter notebooks, so nothing
8484beyond 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.
126126 The videos are marked in the text by a blue box at the right hand side,
127127 containing the video number. This corresponds to the list of links at:
128128
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> `__
131131
132132The exercises
133133.............
@@ -141,8 +141,8 @@ correct responses to a range of inputs. Tests like this provide immediate
141141feedback and enable you to know how you are doing. Links to the skeleton code
142142for each chapter are provided at:
143143
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> `__
146146
147147
148148Conventions employed
@@ -202,8 +202,8 @@ outstanding. Pulling out all the stops to deliver the written and video
202202materials for online learning meant a lot of evenings and weekends. I am
203203exceptionally grateful to my wife Gebina Ham for disproportionately picking up
204204our 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.
207207
208208This is a textbook about programming in Python, so it would be remiss of me not
209209to 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
215215this facilitates generating the web, PDF, and print versions of the book from a
216216single source. Thanks are due to its authors as well as those of the underlying
217217LaTeX 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