Chapter 1. The __init__() Method
The __init__()
method is profound for two reasons. Initialization is the first big step in an object's life; every object must be initialized properly to work properly. The second reason is that the argument values for __init__()
can take on many forms.
Because there are so many ways to provide argument values to __init__()
, there is a vast array of use cases for object creation. We take a look at several of them. We want to maximize clarity, so we need to define an initialization that properly characterizes the problem domain.
Before we can get to the __init__()
method, however, we need to take a look at the implicit class hierarchy in Python, glancing, briefly, at the class named object
. This will set the stage for comparing default behavior with the different kinds of behavior we want from our own classes.
In this chapter, we take a look at different forms of initialization for simple objects (for example, playing cards). After this, we can take a look at more complex objects, such as hands that involve collections and players that involve strategies and states.