Lesson 8
Making Objects the Main Star!
Chapter 3: Classes and attributes
Classes and instances
As a recap, to use a custom function, you will first need to provide a function definition. Then you use your function by calling it.
1 2 3 4 |
|
It is the same with objects. Remember, an object has a type.
You first need a definition for the type. Then you can create an instance of the type.
1 2 3 4 |
|
The definition of a type
is generally known as a class
. You should think of class
as a blueprint or a template. So lines 1-2 give you the class definition for the class Person
.
Once you have a blueprint, then you can instantiate a class to create a class instance (line 4). A class instance is just the ‘proper’ way of saying “object”. Class instantiation is basically creating a new object.
As an analogy, a class is the blueprint/plan for a house, and a class instance is a house that is built according to the blueprint.
Have you wondered why when you use the type()
function, it returns class
? Now you know! Basically, 3
is an instance of class
'int'
. All instances of Python built-in data types are classes.
>>> type(3)
<class 'int'>
>>> type("python")
<class 'str'>
You can use the terms class
and type
informally to mean the same thing in Python 3. There is a very subtle difference that makes it slightly confusing (a class
is an instance of type
), but this is not important!
>>> type(3)
<class 'int'>
>>> type(int)
<class 'type'>