タグ

ブックマーク / www.lifewithpython.com (3)

  • Python のデコレータの使い方

    Python のデコレータの使い方について見てみます。 デコレータとは、関数やクラスを「装飾」する機能のこと。デコレータを使うことで、既存の関数やクラスの中身を直接触ることなく、その外側から機能を追加したり書き換えたりすることができます。 Python では、関数やクラスもオブジェクトということもあって、自分オリジナルのデコレータをかんたんに作ることができます。デコレータは @ 文字を使用して記述します。 具体的に見ていきましょう。次のような hello 関数が定義されているものとします。 # あいさつを返す関数 def hello(): return "konichiwa" print hello() # => konichiwa # 定義したとおりの結果が返ってくる # デコレータパターンを使うために # 関数を受け取り関数を返す関数を定義する def mydec(func): def

    Python のデコレータの使い方
  • Python の staticmethod と classmethod のちがい

    Python には staticmethod と classmethod というよく似たふたつのデコレータが存在します。一見わかりづらいこれらのちがいについて今回は見ていきます。 結論からざっくり言うと両者のちがいは次のとおりになるかと思います。 staticmethod の高機能版が classmethod ふたつのちがいは「引数の扱い」 staticmethod ではメソッドは実引数をそのまま受け取る classmethod ではクラス自身が暗黙的に第一引数として挿入される ことばだけではわかりづらいので、例を見てみましょう。 class MyClass(object): @staticmethod def static_method(*args): print(*args) @classmethod def class_method(*args): print(*args) MyCl

    Python の staticmethod と classmethod のちがい
  • Python Tips: ライブラリをまとめてインストールしたい

    Pythonのライブラリをまとめてインストールする方法をご紹介します。 pip がインストールされていれば、 pip install の -r オプションで一括インストールが可能です。 $ pip install -r requirements.txt $ pip install --require requirements.txt # このように書いても OK requirements.txt の中身は次のような形でライブラリの一覧を書きます。 cssselect==0.9.1 lxml==3.2.4 mechanize==0.2.5 pyquery==1.2.6 requests==2.0.1 selenium==2.37.2 wsgiref==0.1.2 この形は pip freeze の出力形式と同じなので、特定のライブラリ環境を別のところに移したい場合なんかにも pip free

    Python Tips: ライブラリをまとめてインストールしたい
    BigFatCat
    BigFatCat 2015/10/20
    pip freeze > requirements.txt
  • 1