基礎からわかる Python
Pythonの基礎はもちろん、外部パッケージを含めた、よく使う機能を丁寧に解説! Python開発のために押さえておきたいポイントがわかる! Pythonの入門に最適な1冊!
【「はじめに」より抜粋】
本書はそのような、プログラミングそれ自体を初めて学ぼうという読者から、Python言語の初~中級者に向けて、Pythonによるプログラミングの基本を解説します。また、Pythonを実際の業務で使用するための最初のステップになるべく、GUIアプリケーションやCGIプログラムの作成方法、Jupyter Notebook上でのPythonコードの実行など、単純なコンソールアプリの作成だけではない、実践的な内容も紹介しています。
本書では、一から新しくプログラミングを学ぼうという読者でも十分に理解できること、プログラミング特有のさまざまな概念について把握すること、Python言語の仕様について学ぶこと、さまざまなPythonパッケージの使い方を知ることなど、いくつかの目標を設定しました。本書を構成する各章は、それぞれの章を順番に読み進めることで、それらの目標を自然と達成できるように構成されています。
もちろん、Pythonの言語仕様はそれだけで膨大ですし、外部パッケージの機能なども含めてしまうと、その内容はとても1冊に収まる分量ではなくなってしまいます。そのため、本書で紹介している内容には、かなりの程度、筆者の主観によって削り落とした、限定的なものになっている箇所があります。
しかし、本書を通じてPythonの世界をある程度でも理解することで、次のステップとしてPythonの言語仕様書を読んだり、外部パッケージの機能について調べたりできる程度のスキルを身に付けられるだろうと、筆者としては考えています。
本書があなたのプログラマとしての成長を助ける、良い入門書となることを祈って、前書きとさせていただきます。
■Python上級者に向けての補遺
Pythonは学習が容易な言語といわれています。確かに、Python以外の何らかのオブジェクト指向言語を扱ったことのあるプログラマにとって、Pythonの習得は容易なことでしょう。しかし、その他のどのような言語も扱ったことのない、完全なプログラミング初心者にとって、プログラミングに特有の概念を新しく理解する必要があることに、特に変わりはないはずです。
本書はそのような、まったくのプログラミング初心者でも理解できることを目標に構成されています。その目標のために本書では、全体を通して1つのポリシーを採用することにしました。
それは、「理論的な順序では物事を解説しない」というものです。
理論的でないと聞くとギョッとする方もいるでしょうが、それにはきちんとした理由があります。たとえば、「理論的な順序」に従うならば、Pythonの言語仕様と外部パッケージの仕様とは別のものです。しかし、似たような概念を含むリストとNumpyについて、言語仕様としてのリストを解説した200ページも後になって外部パッケージのNumpyを解説するのが、果たして親切といえるでしょうか(しかも実際のプログラムではNumpyの方が出現頻度が高いかもしれないにもかかわらず、です)。
また、リストとNumpyとで「+」演算子の扱われかたが違うことを「理論的な順序」で解説しようとすれば、その前にまず演算子のオーバーロードについて解説することになります。そして必然的に、その前にはオブジェクト指向という概念、クラス、インスタンス、参照、ガベージコレクションなど、ありとあらゆる面倒事について理解をしなければならなくなります。
それよりも、(必ずしも正確な喩えでないにせよ)変数は箱、配列は箱の列、そしてPythonにはリストとNumpyという配列があり、それらの違いはこれこれ……と解説する方が、少なくとも初心者にとっては親切なのではないでしょうか。
そうしたポリシーによる構成を採用したため、本書では(特にクラスや外部パッケージの機能について)同一の要素を異なる章の違う場所でバラバラに解説せざるを得なくなった部分も存在します。しかし、それらも、本書を読み進めることが、まったくの初心者がいっぱしのPythonプログラマになるための道程になる、という目標のため、そのようになっているのです。
ですので、Python上級者やオブジェクト指向言語のエキスパートにおかれましては、どうぞ初学のことの気持ちに戻った上で本書を読んでいただければと思います。
目次
CHAPTER 01 Pythonの基礎
CHAPTER 02 処理制御と関数
CHAPTER 03 データ型とクラス
CHAPTER 04 データに対する処理とテクニック
CHAPTER 05 文字列とマークアップ言語
CHAPTER 06 ファイル操作とマルチメディア
CHAPTER 07 オペレーティングシステムとGUI
CHAPTER 08 ネットワーク通信とCGI
著者紹介
●坂本 俊之(さかもと としゆき)
ココン株式会社 AI戦略室 主任
現在は人工知能を使用したセキュリティ診断や、人工知能に対する欺瞞・攻撃方法の研究を行う。
担当編集者から
Pythonの入門にぴったりの1冊が登場しました。AI開発、データ解析などで注目を集めるPythonを勉強したい人にオススメです。(吉成)