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.
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.
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))
In this tutorial, you'll learn all about Python Strings: slicing and striding, manipulating and formatting them with the Formatter class, f-strings, templates and more!
Get introduced to Python data structures: learn more about data types and primitive as well as non-primitive data structures, such as strings, lists, stacks, etc.
Zanurz się w data science z Pythonem i naucz się skutecznie analizować oraz wizualizować dane. Nie potrzeba doświadczenia ani umiejętności programowania.
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.
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 anumpyarray is actually calledndarray(for n-dimensional array).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
numpyarray: you have already been using some of its methods and attributes!For example, every
numpyarray has an attribute "shape" that you can access by specifying the array's name followed by a dot and shape.State <--> Attributes
It also has methods like
maxandreshapewhich are also accessible via dot.Behavior <--> Methods
Creating your First Class
In this example, you will create an empty class
Employee. Then you will create an objectempof the classEmployeeby callingEmployee().Try printing the
.nameattribute ofempobject in the console. What happens?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.