akiyoko blog

akiyoko の IT技術系ブログです

Python

Python で MagicMock を使う

MagicMock は mock.Mock のサブクラスで、薄いラッパーです。 >>> from mock import Mock, MagicMock >>> issubclass(MagicMock, Mock) True >>> list(set(dir(MagicMock)) - set(dir(Mock))) ['_mock_set_magics'] MagicMock を使えば、クラスだろうがオブ…

Python, Django 界隈の単体テスト事情(unittest / nose / django-nose)

前々から、Python, Django 界隈の単体テスト事情をまとめたいと思っていたのですが、こんな素敵なまとめ記事を見つけました。 Python用のユニットテストツールまとめ | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記 この記事では、unittest, unittest2, doct…

PDB QUEST ~ pdb のショートカットはドラクエ風に覚えよう ~

この投稿は 「Python Advent Calendar 2014 - Qiita」 の 17日目の記事です。 Python のコードをデバッグするには、Python標準のデバッガである「pdb」モジュールを使いますが、使い方(ショートカット)がなかなか覚えられず、いつもネットで探してしまうこ…

Python でリストのソートまとめ

今回は、Python でリストをソートするやり方をまとめてみます。 環境 Python 2.7 で動作確認 list.sort() でソート 破壊的なメソッドなので、元のリストオブジェクトの順序を入れ替えてしまいます。 あまり使うことは少ないのではないでしょうか。 次に紹介…

バージョン1.7 になる前に Django の再入門

Django は、 DRY (Don't Repeat Yourself) の精神 Python 製の MVC フレームワーク(All-in-One & Pluggable) BSDライセンスの OSS O/R マッピング API 強力なテンプレートエンジン ユーザ認証・セッション 国際化 などの特徴を備えた Webフレームワークで…

Python でメール送受信(Gmail で SMTP と IMAP を使う場合)

Python でメールの送受信をするちょっとしたクライアントが欲しかったのですが、これぞ!というサンプルが無かったり、Python 2.6.2以前の書き方だったりしたので、自作してみました。 なお、「Python 2.6.2以前の書き方」というのは、こういうことです。 メ…

Python でシンプルなテーブルを(PrettyTableを使わずに)出力する方法

Python で、 +--------------+----------+----------+ | Header 1 | Header 2 | Header 3 | +--------------+----------+----------+ | aaa | bbb | ccc | | aaaaaaaaaaaa | bb | ccccc | | a | b | | +--------------+----------+----------+ こんな感じの…

Python で Selenium WebDriver を使ったブラウザテストをする方法

ブラウザテストツールの代表格と言えば「Selenium」ですが、実は、6年前にも一度調査したことがあったのです。しかしながらその当時は結局、業務で採用されることはありませんでした。現在の「Selenium2」は、「WebDriver」というツールが統合されるなど、当…

Python で簡易サーバを立てる

Windowsで、ちょっとした HTMLファイルの見栄えをブラウザでチェックしたい場合、わざわざ Apacheが起動した物理サーバや仮想マシンにファイルを転送したり、XAMPP を起動するまでもないんだよなぁ、というケースがありますよね。 実は、そういったニーズに…

Amazon EC2インスタンスのデスクトップ環境を操作する方法(Ubuntu Server から X window を飛ばす)

「Xを飛ばす」というのは、Windowsでいうところの「リモートデスクトップ接続」のように、Linuxのデスクトップ環境を別マシンから操作することを指します。いくつかやり方があるようですが、今回は、Linuxサーバ側に「vnc4server」を起動させて、Windowsから…

Ubuntu+virtualenv環境で Djangoアプリケーションを作ってみる

やりたいこと Ubuntu に virtualenv環境を作る(virtualenvwrapperを使用) Djangoをインストール virtualenv環境で Djangoアプリケーションを作る 環境 Ubuntu Server 12.04.4 LTS(on VMware Player) Python 2.7.3 pip 未インストール(Ubuntuインストー…

Pythonで棒グラフ

今回は、NumPy と matplotlibライブラリで棒グラフを描いてみます。シチュエーションとしては、あるテストの国ごとの平均点を棒グラフにしてみたいと思います。で、Excel上に、スコアのデータと国籍のデータが下方向に並んでいるとします。 USA 42 Denmark 4…

Pythonで円グラフ

今回は、matplotlibライブラリを使って、円グラフを描きたいと思います。例として、参加者の国籍ごとの人数を表示する、という用途で使う前提で考えます。 Excelのあるセル(D10)から下方向に、参加者の国籍データが並んでいるものとします。 USA Denmark J…

Pythonで単回帰直線

今回は「Pythonで散布図」の続きで、散布図に使った二系統のデータから、最小二乗法で求めた単回帰直線を描いてみたいと思います。単回帰直線を求めるためのライブラリ SciPy は、前回の「Mac に SciPy をインストール」をみてインストールしてください。 単…

Mac に SciPy をインストール

Pythonで統計解析シリーズの続きです。単回帰分析などの統計解析をするときは、SciPy を使うのが簡単です。しかし、いざ Mac に SciPy をインストールしようとしたら、なかなかうまく行かず。。 同じ悩みを抱えている人も多かったのですが、これぞ!という正…

Pythonで散布図

今回は、Pythonで散布図を描こうと思います。 内容的には「Pythonでヒストグラム」の続編のような形になっていますのでご注意を。 相関係数を求める シチュエーションとしては、ExcelのセルF10から下にデータ(テストの点数)がずらっと並んでいて、それと対…

Pythonでヒストグラム

前回「PythonでExcel操作」の続きで、今回は、Excelから取得したデータを使ってPythonでヒストグラムを描こうと思います。 matplotlib のインストール グラフ描画のライブラリには、「matplotlib」を使います。 $ sudo easy_install matplotlib matplotlib 1…

PythonでExcel操作

Pythonで Excelからデータを抜き出すサンプルを作ってみました。 実行環境は、Mac OS X 10.7.5、Python 2.7.1 です。 python-excel のインストール Excel操作のライブラリとして、「python-excel」を使います。 python-excel は xlrd, xlwt, xlutilsというパ…

Pythonのself

Pythonでインスタンスメソッドというのは,インスタンスにバウンド(ヒモ付?束縛?)されている関数に過ぎないhttp://blog.livedoor.jp/odaxsen/archives/1596542.html これまでぼんやりとしか理解できていなかった「Pythonのself」について、上のエントリー…