仕事でPython使うことになったので、0から勉強してみた(Python入門編)

はじめに

はじめまして syoppylife です。
Pythonを使うことになったので、Java と PHP の経験しかない自分が0から Python/Django を学んで感じたことや、ハマったこと、Pythonを覚えたことでできるようになったこと等を自分が経験した範囲で書きます。

まずは何かを書かないと始まらない!ということで皆さんお馴染み ”Hello World !”
まずは、こちら からご自身のPCに合わせて Python をインストール。とりあえず最新版(2016/5/2時点ではバージョン3.5.1)を!

僕の使用しているPCはWIndowsなので 自動で”for Windows”となっています。ダウンロードしたexeファイルをクリックしてインストールを開始。その後はインストーラーの指示に従ってひたすら ”次へ” をクリック。

Python3.5ダウンロード画面

ちなみに開発を始める前にいくつかの外部勉強会に参加したけど、聞こえてくるのは ”WindowsでPythonを動かすにはコツがいる”とか ”動かない” 、”日本語(Unicode)の扱いが難しい”などなど。
始める前から不安にさせてくれましたが、結果としてPythonだけならWindowsでも問題なく動作しました。また、Unicodeの扱いについても”Python3系”からは意識する必要がなくなっています。
僕の担当している案件では、既存のJavaで構築したサイトをPython/Djangoへ作り変えるので、”Python2系”との互換性を保つ必要はない為”Python3系” を選択することになりました。Unicodeの問題は気にする必要はなさそう。
インストールが完了したので、さっそくコマンドプロンプトを立ち上げて ”python” と入力!

'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

どうやら自動でパスは通してくれないようですね。
今度は管理者権限でコマンドプロンプトを立ち上げパスを設定

※ちなみにWindows7の場合Windowsボタン押して検索窓に”cmd”と入力したあと”Ctrl + Shift + Enter”で管理者モードで起動。WIndows8の場合”Win+X”で表示される一覧から起動。

C:\Windows\system32>setx /M PATH "%PATH%;パス名"

成功: 指定した値は保存されました。

※デフォルトでインストールしている場合は下記に ”python.exe”があるはず。

C:\Users\あなたのユーザー名\AppData\Local\Programs\Python\Python35

再びコマンドプロンプトを立ち上げ直して、

Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

ちゃんとPythonコマンドが通りましたね。
この”>>>”は対話形式と呼ばれていて、1行1行プログラムを書き込んでいくと実行してくれる優れもの。

いちいちファイルを作る必要なし。

では早速!

>>> print('hello world')
hello world
>>>

うーん。これじゃない感満載です。ファイルを作っていないせいか、Shellで以下のコマンドを入力したときと同じ感じ。。。

$ echo "hello world"

”クラス”や”メソッド”等はどう書くのだろう・・・。

ということで、後述する書籍 みんなのPython 第3版を読み始めましたが、かなり後半でそれっぽい記述を発見するも、探し求めていた情報は出てこない・・・。

なので、公式のPythonチュートリアルを確認することに。

最初の方は ”みんなのPython” と同様のことが書いてるけど、目次を追っていくと 4.6. 関数を定義するを発見。

def は関数の 定義 (definition) を導くキーワードです。 def の後には、関数名と仮引数を丸括弧で囲んだリストを続けなければなりません。

とりあえず関数の書き方はわかった。
もうしばらく読んでいくと 6.1.1. モジュールをスクリプトとして実行する 書いてある。

__name__ == "__main__"

このコードを追加することで、スクリプトとしても使えるようになります。なぜならモジュールが “main” ファイルとして起動されたときだけ、コマンドラインを解釈するコードが実行されるからです

つまりこういうことでしょう。


def hello(args): print('hello ' + args) if __name__ == "__main__": hello("world!!")

Pythonファイルは拡張子を.pyで作成。実行方法は下記。

$ python hello.py

ちなみにファイルの先頭にシバン(Shebang)#!/user/bin/env pythonと書くことでファイルに実行権限つけたときに直接実行可能になるそうです。

$ ./hello.py

Windowsの場合はコマンドプロンプトから下記のコマンドを入力。

c:\tmp>python hello.py
hello world!!

無事 ”hello world” が表示されました!

今はまだ少ないコード量ですが、実際に開発するときはIDE(統合開発環境)を使うと思うので、いたるところでオススメされている”Pycharm”をいれてみようと思います。仕事では既存の開発者へのことを考えて”Eclipse(PyDev)”で開発を行うことになりましたが、せっかくなので使ったことがないものに触れてみます。

ダウンロードはこちらから。
有償版の”Professional”(30日間無料で使える)と無償版の”Community”がありますが、今回は”Community”をインストール。
それぞれの違いはこちら
ちなみに”Pycharm”とは”JetBrains”というチェコの開発会社が提供している”IDE”(統合開発環境)で、”Java”の”IntelliJ IDEA”や”JavaScript”の”WebStorm”なんかが”JetBrains”社製です。

インストーラーの指示に従い、完了したら”Pycharm”を起動します。

起動したら以下の手順でhello.pyを作成。

  1. ”File”>”New project…”>”untitled1”を任意の名前に変更
  2. 作成したプロジェクトを右クリック>”New”>”Python Package”
  3. 作成したパッケージを右クリック>”New”>”Python File”>”hello”
  4. 作成したファイルを右クリックして、”Run ‘hello’”をクリック、または”Ctrl+Shift+F10”

こんな感じです。
Pycharm

※ちなみにPythonでは__init__.pyを配置したディレクトリをパッケージとして扱うそうなので空ファイルで問題なし。

Pycharmの下ペインに先ほど同様にhello world が表示されましたね。
ちなみに”Run”タブの左隣の”Terminal”タブをクリックするとPycharmをターミナルとして操作できるのでコマンドプロンプトを立ち上げる必要がなくなります。
対話モードを閉じるにはLinuxでは ”Ctrl + D” 、Windowsでは ”quit()” と打つか、”Ctrl + Z” を押した後 ”Enterキー” を押す。

第一回Pythonブログは以上となります。

今回は新たな言語ということで、Hello World出すまでにもまぁまぁな時間を費やしてしまいました。次回はPythonで最も有名はWebフレームワーク Django について書きます。

おわりに

最後にPythonを勉強するに辺り僕が読んだ本を紹介。
Pythonを始める前に勉強会で紹介された本だったのでありがたく会社に買ってもらいました。

  • Pythonスタートブック
  • 本書は、プログラミングの知識がゼロの方でも理解できる、いちばん簡単なPythonの学習書です。

※ただし本書はPython2系で書かれており、2系と3系はだいぶ違うとのことなので、そこは次に紹介する本で補うよう薦められていました

  • みんなのPython 第3版
  • Python入門者のための定番的解説書が、バージョン3に完全対応で新登場。
    サンプルコードも増量で、より洗練されたPythonのプログラミングスタイルを親切丁寧に解説しています。

また、こちらは書籍ではないのですが、Pythonのコーディング規約についてです。

Pythonではコードは書くよりも読まれることの方が多いということでコードを読みやすくするとともに、Pythonで書かれた幅広いコードのスタイルを一貫させることを目的としたガイドラインが存在するそうなので、なるべくこちらを守ってコーディングするのが良いと思います。

とはいえ、書くたびに規約を意識するのは最初の方は厳しいと思いますのでIDEにプラグインを入れて警告してくれるようにするのが良さそうですね。先ほど導入したPycharmには標準でプラグインが導入されています。

Pycharm上で”File”>”Settings…”>”Editor”>”Inspections”>”Python”とクリックしていくと確認できます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>