Skip to main content
HomeAbout PythonLearn Python

Python Classes Tutorial

In Python, everything is an object. Numbers, strings, DataFrames, even functions are objects. In particular, everything you deal with in Python has a class, a blueprint associated with it under the hood.
Oct 2020  · 3 min read

An object-oriented approach is most useful when your code involves complex interactions of many objects. In real production code, classes can have dozens of attributes and methods with complicated logic, but the underlying structure is the same as with the most simple class.

Classes are like a blueprint for objects outlining possible behaviors and states that every object of a certain type could have. For example, if you say, "every customer will have a phone number and an email, and will be able to place and cancel orders", you just defined a class! This way, you can talk about customers in a unified way. Then a specific Customer object is just a realization of this class with a particular state value.

customer class graphic

Finding Python Classes

In Python, everything is an object. Numbers, strings, DataFrames, even functions are objects. In particular, everything you deal with in Python has a class, a blueprint associated with it under the hood. The existence of these unified interfaces is why you can use, for example, any DataFrame in the same way.

You can call type() on any Python object to find out its class. For example, the class of a numpy array is actually called ndarray (for n-dimensional array).

import numpy as np
a = np.array([1,2,3,4])
print(type(a))
numpy.ndarray

Classes incorporate information about state and behavior. State information in Python is contained in attributes and behavior information in methods.

Attributes and Methods

Take a numpy array: you have already been using some of its methods and attributes!

For example, every numpy array has an attribute "shape" that you can access by specifying the array's name followed by a dot and shape.

State <--> Attributes

import numpy as np
a = np.array([1,2,3,4])
# shape attribute
a.shape
(4,)

It also has methods like max and reshape which are also accessible via dot.

Behavior <--> Methods

import numpy as np
a = np.array([1,2,3,4])
# reshape method
a.reshape(2,2)
array([[1, 2],
       [3, 4]])

Creating your First Class

In this example, you will create an empty class Employee. Then you will create an object emp of the class Employee by calling Employee().

Try printing the .name attribute of emp object in the console. What happens?

# Create an empty class Employee
class Employee:
    pass
# Create an object emp of class Employee
emp = Employee()

Try it for yourself.

To learn more about object-oriented programming in python, please see this video from our course, Object-Oriented Programming in Python.

This content is taken from DataCamp’s Object-Oriented Programming in Python course by Aliaksandra Yarosh. 

Take a look at DataCamp's Python Object-Oriented Programming (OOP) Tutorial.

Learn more about Python

Introduction to Python

BeginnerSkill Level
4 hr
5.1M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
See DetailsRight Arrow
Start Course
See MoreRight Arrow
Related

How to Learn Python From Scratch in 2023: An Expert Guide

Discover how to learn Python, its applications, and the demand for Python skills. Start your Python journey today ​​with our comprehensive guide.
Matt Crabtree's photo

Matt Crabtree

19 min

10 Essential Python Skills All Data Scientists Should Master

All data scientists need expertise in Python, but which skills are the most important for them to master? Find out the ten most vital Python skills in the latest rundown.

Thaylise Nakamoto

9 min

Benchmarking High-Performance pandas Alternatives

Discover the latest benchmarking of Python's powerful pandas alternatives, Polars, Vaex, and Datatable. Discover their performance in data loading, grouping, sorting, and more.
Zoumana Keita 's photo

Zoumana Keita

13 min

Distributed Processing using Ray framework in Python

Unlocking the Power of Scalable Distributed Systems: A Guide to Ray Framework in Python
Moez Ali's photo

Moez Ali

11 min

Geocoding for Data Scientists: An Introduction With Examples

In this tutorial, you will learn three different ways to convert an address into latitude and longitude using Geopy.
Eugenia Anello's photo

Eugenia Anello

9 min

A Complete Guide to Socket Programming in Python

Learn the fundamentals of socket programming in Python
Serhii Orlivskyi's photo

Serhii Orlivskyi

41 min

See MoreSee More