Reader small image

You're reading from  Scientific Computing with Python - Second Edition

Product typeBook
Published inJul 2021
Reading LevelIntermediate
PublisherPackt
ISBN-139781838822323
Edition2nd Edition
Languages
Right arrow
Authors (3):
Claus Führer
Claus Führer
author image
Claus Führer

Claus Führer is a professor of scientific computations at Lund University, Sweden. He has an extensive teaching record that includes intensive programming courses in numerical analysis and engineering mathematics across various levels in many different countries and teaching environments. Claus also develops numerical software in research collaboration with industry and received Lund University's Faculty of Engineering Best Teacher Award in 2016.
Read more about Claus Führer

View More author details
Right arrow

8.4.1 Class attributes

Attributes specified in the class declaration are called class attributes. Consider the following example:

class Newton:
    tol = 1e-8 # this is a class attribute
    def __init__(self,f):
        self.f = f # this is not a class attribute
    ...

Class attributes are useful for simulating default values and can be used if values have to be reset:

N1 = Newton(f)
N2 = Newton(g)

Both instances have an attribute, tol, with the value initialized in the class definition:

N1.tol # 1e-8
N2.tol # 1e-8

Altering the class attribute automatically affects all the corresponding attributes of all instances:

Newton.tol = 1e-10
N1.tol # 1e-10
N2.tol # 1e-10

Altering tol for one instance does not affect the other instance:

N2.tol = 1.e-4
N1.tol  # still 1.e-10

But now, N2.tol is detached from the class attribute. Changing Newton.tol no longer has any effect on N2.tol:

Newton.tol = 1e-5 
# now all instances of the Newton classes have tol=1e-5 N1.tol # 1.e-5 N2.tol # 1.e-4
# N2.tol...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Scientific Computing with Python - Second Edition
Published in: Jul 2021Publisher: PacktISBN-13: 9781838822323

Authors (3)

author image
Claus Führer

Claus Führer is a professor of scientific computations at Lund University, Sweden. He has an extensive teaching record that includes intensive programming courses in numerical analysis and engineering mathematics across various levels in many different countries and teaching environments. Claus also develops numerical software in research collaboration with industry and received Lund University's Faculty of Engineering Best Teacher Award in 2016.
Read more about Claus Führer