Pythonをざっくりとイジってみた

うぉー!

こんにちは,サンマ目黒です.
久しぶりにnote書きます.よろしくお願いします.

1月某日,エンジニアの先輩からPythonの入門書をお借りしたのですが,そのまま1年あまり時間が経過してしまいました. (先送りくん)

反省の意味を込めて以下に学習した内容をざっくりノート形式でまとめたものをコピペしたので,気になった箇所がございましたがご活用ください.

では,さっそくやってみます. えいっ (「Ctrl + V」 をタップ )



1. はじめに

プログラムを書くためのプログラミング言語

  • コンピュータが実行できる命令は,「マシン語」と呼ばれるもので,数値の羅列の集まり

  • 人間にとって扱いやすくするために,英語に似た文法で命令を記述する仕組みが考案された

  • この文法の規約が「プログラミング言語」である

プログラミング言語はたくさんある

世の中にはたくさんのプログラミング言語があり,それぞれ特徴がある

  • マシン語に変換した結果,とても高速に動くもの

  • たくさんのデータを取り扱えるもの

  • 科学計算が得意なもの

  • 金銭の計算が得意なもの

  • 文法が簡単で,すぐに習得できるもの

  • Webで実行されるソフトが作りやすいもの

プログラミング言語は英語ではない

  • プログラミング言語の目的は,書かれた命令をマシン語に変換すること

  • カンマ(,)とピリオド(.)の間違い,括弧が対応していないなどですぐエラーになる

Pythonは汎用的に使えるバランスのとれたプログラミング言語

  • Pythonは,これからプログラミングをはじめる人にとって,適切なプログラミング言語

  • 以下の要求を実用的なレベルで満たしている

    1. たくさんのデータを取り扱えるもの

    2. 科学計算が得意なもの

    3. 金銭の計算が得意なもの

    4. 文法が簡単で,すぐに習得できるもの

    5. Webで実行されるソフトが作りやすいもの

プログラムを作るには何が必要なの?

  • プログラムを作るには,プログラムを編集するためのテキストエディタが必要

  • そして,記述した命令をマシン語に変換するためのソフトも必要

  • これは「インタプリタ」や「コンパイラ」と呼ばれる

  • プログラミング言語によっては,テキストエディタとインタプリタやコンパイラなどをワンパッケージにまとめた「統合開発環境」が提供されていることもある

プログラムを記述するためのテキストエディタ

  • プログラムの編集には,ワープロソフトのようなフォントの変更や見出しの設定などの装飾を一切しないソフトを使う

  • そのようなソフトを「テキストエディタ」という

  • プログラマは,こうしたテキストエディタを使ってプログラムを編集する

  • このプログラムファイルのことを,すべての基 (source) となるファイルであることから「ソースコード (source code)」「ソースファイル (source file)」という

変換するためのコンパイラまたはインタプリタ

  • マシン語に変換する役割を担うのが,「コンパイラ (compiler)」または「インタプリタ (interpreter)

  • 違いは,「完全に変換してマシン語に変換してしまう」か「少しずつマシン語に変換して,変換したものからすぐに実行するか」

① コンパイラ

  • コンパイラはソースコードを完全に変換して,マシン語で構成されたファイルを作る

  • この変換作業を「コンパイル (compile)」という

  • 実行に際しては,変換後のマシン語で構成されたファイルだけあればよく,ソースコードやコンパイラは不要

  • 反面,ソースコードを修正した場合は,もう一度すべて変換し直す操作が必要になる

② インタプリタ

  • 1行ずつ読み込んで変換して実行

  • まとめて変換しないので,マシン語の命令はファイルとして作られない

  • 実行に際して,ソースコードとインタプリタが必要

  • コンパイラと違って,明示的な全体の変換作業がないので,ソースコードを修正したい場合も,実行し直せば,その修正はすぐ反映される

コンパイラやインタプリタを入手する

  • コンパイラとインタプリタのどちらが提供されるのか (もしくは両方提供されるのか) はプログラミング言語によって異なる

  • Pythonは,インタプリタとして提供

すべてをまとめた統合開発環境

  • プログラムを作るのに必要となるのは,次の2つ

    1. プログラムを編集するためのテキストエディタ

    2. プログラムを変換するためのコンパイラまたはインタプリタ

  • プログラミング言語によっては,プログラム作成に必要な環境一式を,ワンパッケージで提供している.これを「統合開発環境 (IDE: Integrated Development Environment)」と呼ぶ

  • 統合開発環境では,単純にプログラムを記述して実行する一連の流れをボタン一つで行えるだけでなく,実行の際にエラーがあったときは,その位置で実行を一時停止して状況を調べたり,データに異常がないかを調べたりする機能も持ち合わせている

Pythonでも統合開発環境が利用できる

  • Pythonには「IDLE (アイドル)」という統合開発環境がある

  • 事前準備が簡単なので,本書では「IDLE」を使ってPythonプログラミングを説明

何を勉強すればいいの

  1. プログラムを入力して実行するまでの流れ (2,3章)

  2. 基本的な文法の取得 (3章)

  3. 命令の書き方や使い方の習得 (4章以降)

  4. デバイスの操作方法

  • 上記1~3までの習得は3週間あれば十分

  • 4はいわゆる応用.他の言語でも使えるため,広く使える知識

  • ただし,分野がとても広く,すべて習得するのは現実的ではない

  • ともかく,範囲が広いので,自分の専門分野以外の知識は少ないことが多く,必要になったときに調べながら,その都度対応する

  • プログラムを作るには,全部を理解する必要がない

  • 基本的なことを習得したら,あとは実際にやってみて,おいおい身につけていけばよい


2. Pythonを始めよう

万人のためのプログラミング言語「Python」

  • オランダ人のプログラマが暇つぶしでPythonを作った

  • Python側が万人のためのコンピュータプログラミングを目指して作っており,具体的な目標は次の4つ

    1. 簡単で直感的な言語である

    2. 簡単でありながら主要なプログラミング言語と同程度のことができる.つまり,学習用ではなくて,きちんと実用的なプログラムを作れる

    3. ソースが公開されているオープンソースである

    4. 日常的タスクに適していて学習時間が短い.つまり,日々のちょっとした出来事に,ちょっとの間でプログラムを作れる

  • 言うなれば「やさしくパワフルなプログラミング言語」である

  • パソコンでのプログラミングはもちろん,サーバ上で動くプログラム,科学計算や機械学習,そして,IoT (Internet of Things) で使われるセンサや通信の制御など,幅広い分野で使われている

Pythonでプログラミングするのに必要なもの

  • Python公式サイトテキストエディタインタプリタが配布されており,ダウン路^度したファイルには,統合開発環境 の「IDLE (Integrated DeveLopment Environment)」というソフトがあり,それを使えば,別途,テキストエディタを用意する必要はない

バージョン2系と3系

  • Pythonと一口に言っても,実は「バージョン2系統 (Python2)」「バージョン3系統 (Python3)」の2種類がある 執筆時点での最新版はそれぞれ,「バージョン2.7.13」「バージョン3.6.0」

  • 「バージョン3.0」にて,言語仕様の大幅な整理と改修が行われたため,バージョン2のプログラムがそのままでは動かなくなったため,2種類ある

これから使うならバージョン3系

  • バージョン2系は,いわば,「古いPython」 2010年から保守体制に入っており,致命的な不具合があれば修正されるが,新しい機能は追加されない

  • 本書では,バージョン3系をベースに説明.Python2での挙動については,随時補足


続く (長い)

ここから先は

14,688字 / 13画像

¥ 50,000

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?