はじめに
最近AIだとかの記事を読んでいると「python」の文字がチラホラ出てきます。Webアプリケーションから、Windowsフォームアプリ、スクリプトまで、なんでもできる言語だそうで。うまくすれば一生ものの言語になるかもしれない…。淡い期待を抱きながら勉強したことをまとめていきます。
実行環境
macOS Sierra(10.12.5)+BootCamp(Windows10 Pro)で動作させています。
Windows10 だと思ってもらってたぶん大丈夫です。今のところ環境起因のハマりポイントには遭遇していません。
環境整備
まずは公式サイトからPythonのインストーラーをダウンロードします。Windows版は64ビット版があるので、Windows10の方はこちらのURLから「Windows x86-64 executable installer」をダウンロードしてインストールします。
統合開発環境を選ぶ
プログラムを書いて、実行するための開発ツールはいくつかあります。
しばらく使ってみた感じですと、簡単なテストコードは Visual Studio Codeで書いてデバッグ実行し、ちょっと大きめの、例えばDjangoを使ったWebアプリケーションを作る場合などは、eclipseを使うようになりました。eclipseのコード補完より、Visual Studio Codeの方が精度が高い気がします。入門で勉強している間は Visual Studio Codeを使ったほうが動作も軽快で楽です。
PyCharmは、「Professional版」と「Community版」があり、「Community版」は無料で利用可能ですが、Visual Studio Codeに慣れたいということもあり、少し使って触らなくなりました。
NetBeansはpythonをサポート対象外にしたようですが、プラグインで対応できるようです。phpも同じ環境で開発できるのですが、コード補完がうまくできず、こちらもあまり使わなくなりました。
最近、プロジェクトでC#をVisual Studioを使っているのですが、使い勝手が良くなってきており、その延長で自宅ではVisual Studio Community 2017を使用するようになりました。Pythonも標準でサポートされていて、DjangoのWebアプリケーションもサクッと作れるようになっています。eclipseよりも軽くかなりおススメです。
Python日本語ドキュメント
日本語ドキュメントはこちらです。(https://docs.python.jp/3/)
サンプルコードを書く
まずはサクッと試し書き。コードが見やすく、シンプルで簡単な印象です。拡張子は.pyにしてあげるとVisual Studio Codeが勝手にシンタックスハイライトしてくれます。
__author__ = "code.eaglet.jp"
__date__ = "$2017/06/26 17:51:02$"
items = [10,20,30]
for item in items:
print(item)
print("end loop")
#パスの¥は2つ打ってエスケープする
file = open("C:\\temp\\test002.txt")
fileData = file.readlines()
file.close
for line in fileData:
print(line)
print("end loop2")
Pythonpipをインストールする
パッケージ管理ツールです。swiftでいうcocoapodみたいなものと今のところ理解しています。 早速インストールしましょう。
- https://bootstrap.pypa.io/get-pip.pyからget-pip.pyをダウンロード
- ターミナルから「sudo python get-pip.py」を投入
pylintをインストールする
pylintはコードチェッカーです。Visual Studioでビルドした時に表示される「利用していない変数です」的なワーニングを表示してくれます。※はじめのうちはインストールしないほうが良いかもしれません。無駄なチェックが多くて警告がうるさいです。
- ターミナルから「sudo pip install pylint」を投入(※pipをインストールしている前提です。)
参考:https://docs.microsoft.com/ja-jp/visualstudio/python/code-pylint
ファイル出力
ファイル出力はこんな感じ です。
Macでの改行は「\n」。バックスラッシュは「optionキー」+「¥キー」です。
"""testModule"""
#coding=utf-8
data = "こんにちわんこそば"
f = open("/tmp/testpy.txt", "a")
for i in range(10):
f.writelines("{0} {1}杯目\n".format(data, i))
f.close()
Python実行結果
$ cat /tmp/testpy.txt
こんにちわんこそば 0杯目
こんにちわんこそば 1杯目
こんにちわんこそば 2杯目
こんにちわんこそば 3杯目
こんにちわんこそば 4杯目
こんにちわんこそば 5杯目
こんにちわんこそば 6杯目
こんにちわんこそば 7杯目
こんにちわんこそば 8杯目
こんにちわんこそば 9杯目
$
ShellScriptグラフを表示する
まずは環境を整えます。(Mac環境です。)
python3.6がインストールしてある環境です。ライブラリをたくさん入れていますが、実際すぐ使うのは、「matplotlib」・「numpy」・「pandas」です。
pip3 install --upgrade setuptools
pip3 install --upgrade pip
pip3 install numpy
pip3 install scipy
pip3 install matplotlib
pip3 install Pillow
pip3 install pandas
ShellScript社内LANでプロキシサーバーを経由しないと外に出れない方はこんな感じです。
「−−proxy△IPアドレス:ポート番号」をオプションで付けます。
pip install plotly --proxy 192.168.XXX.XXX:8181
ShellScriptすべてインストールが終わったら以下のコマンドを実行
jupyter notebook
ShellScriptメッセージの最後にURLをコピーしてブラウザに貼り付けてとあるので
その通りにします。
jupyter notebookがブラウザに現れるので
右側の[new]→[python3]を選択します。
# jupyter notebook内にグラフを表示するコマンド
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# 乱数を生成
x = np.random.rand(10)
y = np.random.rand(10)
# 散布図を描画
plt.scatter(x, y)
# 折れ線グラフを描画
#plt.plot(x, y, marker="o", linestyle="dashed")
plt.show()
#データを表示
df = pd.DataFrame(x,y)
print(df)
Python今日は一旦ここまで。
そろそろきれいにまとめようと思います。
Django
勉強のために入門サイトを色々と探しましたが、一番分かりやすかったのがこちらのページでした。ステップ・バイ・ステップで実装を解説していただいているのでよく理解できます。
DjangoによるWebアプリケーション開発入門
ロギング
log4jのようなロガーがあります。使い方はこちらが参考になります。
djangoのloggerの(最低限の)使い方
ライブラリ
ライブラリをインポートすることで、機能を追加できます。
#import os
Python