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 @dataclass class Contact: name: str email: str phone: str
You created a
Contact type with the name, email and phone fields of type
You can now instances of
>>> contact = Contact("test","firstname.lastname@example.org","00 00 00 00") >>> contact Contact(name='test', email@example.com', 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="firstname.lastname@example.org",phone="+01 00 00 00") >>> contact1 Contact(name='test1', email@example.com', phone='+01 00 00 00')
Latest Questions and Answers
How to add Bootstrap 4 to my Angular 9 app?
What’s the use of TypeScript 3.8/ECMAScript Private Fields?
How to update/Upgrade Angular 8 to Angular 9 by CLI ng update?
How to Install and Use jQuery with Angular 9?
How to Upload Image Files with Laravel 7 and Angular 9?
What Is Angular 9 ivy?
What’s Alpine.js vs, React, Vue.js and Angular?
How to Use HttpClient Module and Service to Send Ajax/Http Requests in Angular 9?
How to Create a New Angular 9 Project Using npm?