python

はじめに

最近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__ = "yorozuya-se.valuesv.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")

pipをインストールする

パッケージ管理ツールです。swiftでいうcocoapodみたいなものと今のところ理解しています。 早速インストールしましょう。

  1. https://bootstrap.pypa.io/get-pip.pyからget-pip.pyをダウンロード
  2. ターミナルから「sudo python get-pip.py」を投入

pylintをインストールする

pylintはコードチェッカーです。Visual Studioでビルドした時に表示される「利用していない変数です」的なワーニングを表示してくれます。※はじめのうちはインストールしないほうが良いかもしれません。無駄なチェックが多くて警告がうるさいです。

  1. ターミナルから「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()

実行結果

$ cat /tmp/testpy.txt
こんにちわんこそば 0杯目
こんにちわんこそば 1杯目
こんにちわんこそば 2杯目
こんにちわんこそば 3杯目
こんにちわんこそば 4杯目
こんにちわんこそば 5杯目
こんにちわんこそば 6杯目
こんにちわんこそば 7杯目
こんにちわんこそば 8杯目
こんにちわんこそば 9杯目
$

グラフを表示する

まずは環境を整えます。(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

社内LANでプロキシサーバーを経由しないと外に出れない方はこんな感じです。
「−−proxy△IPアドレス:ポート番号」をオプションで付けます。

pip install plotly --proxy 192.168.XXX.XXX:8181

すべてインストールが終わったら以下のコマンドを実行

jupyter notebook

メッセージの最後に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)

今日は一旦ここまで。
そろそろきれいにまとめようと思います。

Django

勉強のために入門サイトを色々と探しましたが、一番分かりやすかったのがこちらのページでした。ステップ・バイ・ステップで実装を解説していただいているのでよく理解できます。

DjangoによるWebアプリケーション開発入門 (https://eiry.bitbucket.io/index.html

ロギング

log4jのようなロガーがあります。使い方はこちらが参考になります。
djangoのloggerの(最低限の)使い方

ライブラリ

ライブラリをインポートすることで、機能を追加できます。

#import os