Python入門 - Pythonの準備をする
Pythonのバージョン
Pythonには、Python 2.x系と、Python 3.x系の2種類の系統があり、それぞれ現在でもアップデートされ、サポートされている状態です。この2種類は、基本は同じですが、違うところも多いです。2.x系で作成したコードをそのまま3.x系に持ってきても、エラーになってしまう場合もあります。
どちらを利用してもいいのですが、このサイトでは3.x系を使っていきたいと思います。
Pythonの導入
Pythonはフリーのプログラミング言語なので、実はLinuxやMacなどでは、もともとインストールされていたりします。Windowsにはインストールされていないので、自分でインストールする必要があります。
Windowsは自分でダウンロードしてきて、インストールするのでいいのですが、LinuxやMacでは、インストールされているかどうか調べる必要があるかもしれません。
そのためには、ターミナルを起動し、プロンプトでpython、またはpython3と入力しみましょう。その時に、以下のような表示が出てきたら、pythonがすでにインストールされています。また、その時にversion情報も一緒に出てきます。
以下は、私のMacのターミナルでpythonと入力した結果です。
foo$ python
Python 2.7.10 (default, Jul 30 2016, 19:40:32)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
ちなみに、この状態がpythonの「インタラクティブ(対話)モード」というものです。exit()と入力すればインタラクティブモードを終了できます。このインタラクティブモードでは、直接コードを打ち込むことで、すぐにプログラムを実行することができます。
せっかくなので、python 2.x系とpython 3.x系の違いをインタラクティブモードで確認してみたいと思います。まずは、python 2.x系で試してみたいと思います。
foo$ python
Python 2.7.10 (default, Jul 30 2016, 19:40:32)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'Hello World!'
Hello World!
>>> print('Hello World')
Hello World
このように、Python 2.x系では「 print 'Hello World!'」と「print('Hello World!')」のどちらも成功して、「Hello World!」と表示されます。
次に、Python 3.x系で試してみましょう。
foo$ python3
Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'Hello World!'
File "", line 1
print 'Hello World!'
^
SyntaxError: Missing parentheses in call to 'print'
>>> print('Hello World!')
Hello World!
>>>
このようにPython 3.x系では、「 print 'Hello World!'」がエラーになっています。「SyntaxError: Missing parentheses in call to 'print'」がエラーメッセージです。文法エラーになってしまうというわけです。
Pythonのダウンロードとインストール
Pythonは公式サイトからダウンロードできます。
日本語;python.jp
Pythonのインストーラをダウンロードしたら、インストーラを起動して、Pythonをインストールしましょう。インストール自体は、画面の表示に従って操作すれば問題なく完了できると思います。
もし、詳細なインストール構成の情報が必要であれば下記にあります。
日本語:Python のセットアップと利用 — Python 2.7.x ドキュメント
インストールすると、標準でIDLEという統合開発環境(IDE)がついてきます。他にもIDEはさまざまなものがあります。IDLEも十分な機能を備えているので、まずはIDLEを使っていきたいと思います。
Pythonって何? 前 | Python入門 | 次 IDLEとPythonの基本的な使い方
Python入門 - Pythonって何?
Pythonとは何なのか?
公式サイト(英語):Welcome to Python.org
公式サイト(日本語):python.jp
Pytnonには、いろいろいいところがあるため、世界中の様々なシーンで利用されています。例えば、実際のアプリとしては、
など、世界的に有名なものもたくさんあります。
このような、実際のアプリ以外にも、大学のプログラミングの授業でもPythonがよく使われます。これは、Pythonは使いやすい、目的のアプリを作るのに(比較的)時間がかからない、という特徴があるからです。
そのため、Pythonはノンプログラマーのためのプログラミング言語としても最適です。最近では、
- 統計
- 画像処理
- データ分析
- AI
といった分野の研究開発でも、Pythonはよく利用されています。
やりたいことがある人にとって、プログラムはただの手段でしかありません。そういった人にとって手間をかけずにプログラムできるため、Pythonは人気というわけです。
Pythonのメリット
様々な目的のために、世界中でPythonが利用されているのには理由があります。先ほども少し紹介しましたが、Pythonには、いろいろなメリットがあるからです。
- 文法がわかりやすく、コードの読み書きが楽にできる
- 使いやすく、メンテナンスも簡単
- もともと、高機能なライブラリがある
- インタラクティブ(対話)モードで気軽に短いプログラムのテストができる。もちろん、普通の開発環境もある
- 必要があれば、CやC++で新しくライブラリを作ることができる
- マルチプラットフォームである(Windows / Mac / Linux / Unix)
- プリーである
たくさん箇条書きにしましたが、要約すると、「Pythonは便利だ!」ということなのだろうと思います。
Pythonの特徴
次に、Pythonのプログラミング言語としての特徴を見てみましょう。
- 数値、文字列(ASCII / Unicode)、リスト、辞書などをサポートしている
- オブジェクト指向をサポートしている(ただし、強制はしない)
- プログラムをモジュールやパッケージに分けることができる
- 例外をサポートしている
- ガベージコレクションをサポートしている
なかなか、ピンとこないものもあると思います。ここでは、ふーんそうなんだ、くらいでキーワードだけふんわり覚えておけばいいと思います。
これらの内容について、これから情報をまとめた記事を書いていきたいです。
Python入門 | 次 Pythonの準備をする
このブログ「Python Works」について
何をするブログ?
このブログ「Python Works」は、
「Pythonというプログラミング言語を使っていろいろプログラムしよう!」
をテーマにやっていきたいと思っています。
プログラミング初心者の方や、プログラミングの勉強はしたけど、実際にどうアプリを作ったらいいかわからないって方のお役に立てれば幸いです。
なんでブログをやろうと思ったの?
私はエンジニアとして仕事をしていますが、残念ながら普段Pythonを使う機会がありません。現在、仕事が組み込み寄りのため、C言語がメインなのです。
だから、自分自身の勉強として、いろいろこのブログを通じてPythonの勉強をしたりアプリを作ったりと楽しんでいきたいと思っています。。
このブログのコンテンツは何?
大きく3種類のコンテンツをやっていけたらいいと考えています。
私自身、仕事でもプログラミングをするのですが、Pythonについては素人です。
ですので、まずは、Pythonの基本的な情報や文法のまとめから入っていきたいと思います。
そのあと、少しずつ、実際にアプリを使ってみたり、Pythonを利用したデザインパターンなどの勉強をしてみたいと考えています。
このブログはどこを目指すのだろう?
- プログラミングをやってみたい!けど、どうやって始めたらいいかわからない!
- 少しCとかやってみたけど、よくわからない、ピンとこなくてやめちゃった
- いろいろ勉強しているけど、いまいちわからん
- プログラムの文法はわかるけど、具体的にどうやったらアプリを作れるのかイメージできない
- だいたい、作りたいものを作れるようになった。けど、もっと上手に作りたい
というような方の助けになるブログにしていければと考えています。
私自身、まだまだ力不足なので、このブログを通じて、より勉強していきたいと思います。
目標は高くいきたいです。