Skip to Content
ロバストPython ―クリーンで保守しやすいコードを書く
book

ロバストPython ―クリーンで保守しやすいコードを書く

by Patrick Viafore, 鈴木 駿, 長尾 高弘
March 2023
Intermediate to advanced
384 pages
5h 30m
Japanese
O'Reilly Japan, Inc.
Content preview from ロバストPython ―クリーンで保守しやすいコードを書く

3章型アノテーション

Pythonは動的型付け言語であり、データ型は実行時までわからない。これはロバストコードを書く際の妨げになる。データ型は値自体に埋め込まれているので、開発者は自分が扱っているデータ型が何であるかを知るのに一苦労する。確かに、今はstr型のような名前の変数だが、誰かがそれをbytesにしたらどうなるだろうか。動的型付け言語では、データ型を推測しようにも土台が安定しない。しかし、希望を失ったわけではない。Python 3.5で、型アノテーションが導入された。

型アノテーションにより、ロバストコードを全く新しいレベルで書けるようになった。Pythonの作者であるグイド・ヴァン・ロッサムがその効果をうまく説明している。

私は苦い教訓を学んだ。確かに小さなプログラムでは動的型付けはすばらしい。しかし、大規模なプログラムではもっと規律の取れたアプローチが必要である。「君は何でも好きにして良いんだよ」などと言わずに言語自体がその規律を与えたほうが効果的なのだ†1

[†1] Guido van Rossum.“A Language Creators’ Conversation.” PuPPy (Puget Sound Programming Python) Annual Benefit 2019. https://oreil.ly/1xf01

型アノテーションは規律の取れたアプローチであり、大規模なコードベースを扱う際に必要になるものである。この章では、型アノテーションの使い方、型アノテーションが重要な理由、コードベース全体に意図を浸透させるための型チェッカの使い方を説明する。

3.1 型アノテーションとは何か

型アノテーションは「2章 Pythonデータ型入門」で初登場した。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

Ken Youens-Clark, 中山 光樹
scikit-learn、Keras、TensorFlowによる実践機械学習 第2版

scikit-learn、Keras、TensorFlowによる実践機械学習 第2版

Aurélien Géron, 下田 倫大, 長尾 高弘
Node.jsデザインパターン 第2版

Node.jsデザインパターン 第2版

Mario Casciaro, Luciano Mammino, 武舎 広幸, 阿部 和也
サイトリライアビリティワークブック ―SREの実践方法

サイトリライアビリティワークブック ―SREの実践方法

Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, 玉川 竜司

Publisher Resources

ISBN: 9784814400171Other