Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Functional Python Programming, 3rd edition
  • Table Of Contents Toc
  • Feedback & Rating feedback
Functional Python Programming, 3rd edition

Functional Python Programming, 3rd edition

By : Steven F. Lott
4.5 (28)
close
close
Functional Python Programming, 3rd edition

Functional Python Programming, 3rd edition

4.5 (28)
By: Steven F. Lott

Overview of this book

Not enough developers understand the benefits of functional programming, or even what it is. Author Steven Lott demystifies the approach, teaching you how to improve the way you code in Python and make gains in memory use and performance. If you’re a leetcoder preparing for coding interviews, this book is for you. Starting from the fundamentals, this book shows you how to apply functional thinking and techniques in a range of scenarios, with Python 3.10+ examples focused on mathematical and statistical algorithms, data cleaning, and exploratory data analysis. You'll learn how to use generator expressions, list comprehensions, and decorators to your advantage. You don't have to abandon object-oriented design completely, though – you'll also see how Python's native object orientation is used in conjunction with functional programming techniques. By the end of this book, you'll be well-versed in the essential functional programming features of Python and understand why and when functional thinking helps. You'll also have all the tools you need to pursue any additional functional topics that are not part of the Python language.
Table of Contents (18 chapters)
close
close
Preface
In Progress | 0 / 1 sections completed | 0%
16
Other Books You Might Enjoy
In Progress | 0 / 1 sections completed | 0%
17
Index
In Progress | 0 / 1 sections completed | 0%

7.2 Using NamedTuple to collect data

The second technique for collecting data into a complex structure is typing.NamedTuple. The idea is to create a class that is an immutable tuple with named attributes. There are two variations available:

  • The namedtuple function in the collections module.

  • The NamedTuple base class in the typing module. We’ll use this almost exclusively because it allows explicit type hinting.

In the following examples, we’ll use nested NamedTuple classes such as the following:

from typing import NamedTuple 
 
class PointNT(NamedTuple): 
    latitude: float 
    longitude: float 
 
class LegNT(NamedTuple): 
    start: PointNT 
    end: PointNT 
    distance: float

This changes the data structure from simple anonymous tuples to named tuples with type hints provided for each attribute. Here’s an example...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech

Create a Note

Modal Close icon
You need to login to use this feature.
notes
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Delete Note

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY