Click here to Skip to main content
14,430,765 members

Python 3.7 Data Classes — Tutorial by Example

Rate this:
2.09 (3 votes)
Please Sign up or sign in to vote.
2.09 (3 votes)
15 Dec 2019CPOL
Python 3.7 data classes - tutorial by example

Data classes are a new feature of Python 3.7 that allows you to create classes that contain only fields of data and methods to get or access the fields. They serve as containers for data that can be used by other classes that implement the logic of your application.

First of all, you need to have the latest Python 3.7 version installed on your system. From your terminal, type the following command to start an interactive Python shell:

$ python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information. 

Next, you can use data classes by importing the dataclass decorator from the dataclasses module. For instance, this is a simple example:

from dataclasses import dataclass

class Contact:
    name: str
    email: str
    phone: str

You created a Contact type with the name, email and phone fields of type str.

You can now create instances of Contact:

>>> contact = Contact("test","","00 00 00 00")
>>> contact
Contact(name='test', email='', phone='00 00 00 00')

You need to provide the positional arguments: ‘name’, ‘email’, and ‘phone’ or otherwise, you’ll get an error. You can also use keyword arguments:

>>> contact1 = Contact(name="test1",email="",phone="+01 00 00 00")
>>> contact1
Contact(name='test1', email='', phone='+01 00 00 00')


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Ahmed Bouchefra
Software Developer
Morocco Morocco
Ahmed is a web developer.

Comments and Discussions

-- There are no messages in this forum --
Technical Blog
Posted 15 Dec 2019

Tagged as


3 bookmarked