タグ

pythonに関するyzixvxizyのブックマーク (12)

  • 効果的なunittest - または、callFUTの秘密

    Contents unittest を効果的に使うための覚書 目的 ルール: テスト対象のモジュール(module-under-test)をテストモジュールに直接importしない ガイドライン: モジュールスコープでの依存を最小限にする ルール: 各テストメソッドでは、1つの事実だけを確認する ルール: テストメソッドは内容を表すようにしよう ガイドライン: setupはヘルパーメソッドで提供しよう。テストケースのselfで共有するのはやめよう。 ガイドライン: フィクスチャは可能な限り簡潔に ガイドライン: フックやレジストリなどの利用は注意深く ガイドライン: 依存関係を明確にするためにモックを利用する ルール: テストモジュール間でテキストを共有しない まとめ https://twitter.com/tokibito/status/412074246026698753 ということで

  • Python のクラスメソッド – デコレータ @classmethod, @staticmethod を使って

    1. メソッドをクラスメソッドにするときは、デコレータを使う あるメソッドをクラスメソッドにするとき、 Python ではデコレータを使うことができる。 2.1 組み込み関数 によると、(太字は引用者による) classmethod( function) function のクラスメソッドを返します。 クラスメソッドは、インスタンスメソッドが暗黙の第一引数としてインスタンスをとるように、第一引数としてクラスをとります。クラスメソッドを宣言するには、以下の書きならわしを使います: class C: @classmethod def f(cls, arg1, arg2, ...): ... ふーむ、ここでも第一引数が必須で、それがクラスを参照するということか。Python のこういう書き方は、最初とっつきにくいと感じた。 (+_+) デコレータの書き方としては、関数の前に @classmeth

    Python のクラスメソッド – デコレータ @classmethod, @staticmethod を使って
  • http://www17.atpages.jp/~lambda7/py/decorator.html

  • Python独特の概念であるデコレータを勉強してみた。 | ぼくのあたまのしくみ

    sponsored link expart python programingに沿って勉強していたところ、Pythonのデコレーターという概念が出てきた。ちょっとに書いてある内容では何を言っているかわからなかったので、いろいろ調べてみました。 参考URL 下記にURLを参考にさせていただいたので、掲載させていただきます。 Python – デコレータ. 魅力的な Python: デコレーターで魔法を身近に メタプログラミングのための最新 Python 機能についての考察 python のデコレーター構文 デコレーターとは デコレートとは修飾する。って意味になりますが、デコレータとは、簡単に言うと、ある関数を修飾するための関数とその仕組みです。例えば、ある関数があったとします。ここでは次のようなtest()関数とその実行スクリプトを見てみましょう。 サンプルスクリプト1 def test

  • Pythonのデコレータを理解するときに残したメモ - PYTHONIC BOOM BOOM HEAD

    Pythonのデコレータ(decorator)を理解する 3 - -を1,2,3全て読んで、以前僕がデコレータを理解するために残したメモもこんな感じだったなというのを思い出した。ずっと記事にしようと思いつつ忘れてたんだけどせっかくなので加筆修正しつつ公開してみる。 引数無しのデコレータ デコレータとは、その名の通り元の関数を装飾するもの。別の言い方をすれば、元の関数そのものを弄ること無く挙動を変更するもの。 まずは単純なデコレータから。 def hello(function): def _hello(*args, **kw): result = function(*args, **kw) return "Hello, {0}".format(result) return _hello @hello def name(arg): """my docstring""" return arg #

    Pythonのデコレータを理解するときに残したメモ - PYTHONIC BOOM BOOM HEAD
  • Pythonのデコレータとは何者か? - まどろみの思考空間

    最近やっとPythonのデコレータがわかってきたのでなぜわからなかったのか、そして結局どういうものなのか書いておく。 Pythonのデコレータのわかりにくい理由はまず挙げられているサンプルがよくないのだと思う。 def hoge(func): print "hoge" @hoge def bar(): print "bar" でこれで実行するとhogeが出力されるとか何がなされているのか意味不明だ。 def hoge(func): print "hoge" def bar(): print "bar" bar = hoge(bar) さらに以上のサンプルと同値であるといわれても余計何のこっちゃ?となる。 さらに高階関数を使い始めてとかいうサンプルまで存在する。 要するに難しく見える理由は何かというといくつもの知識が必要とされていてそれがなんの断りもなしに使われているかということではないだろ

    Pythonのデコレータとは何者か? - まどろみの思考空間
  • Python Tips: Python でクロージャを使いたい

    Python でクロージャを使う方法をご紹介します。 クロージャとは 一言でいうと、クロージャとは「関数内の変数の名前解決がその関数が 宣言されたときのスコープ で行われるもの」です。 もう少し丁寧にいうなら、クロージャとは 関数内のローカル変数以外の変数の名前解決が 呼び出し時のスコープではなく 宣言時のスコープによって行われるもの。 またそのような機能を持った関数のこと。 を指します。 例をあげます。 x = 1 def get_x(): return x class MyClass(object): x = 10 print get_x() # 10 ではなく 1 が返される MyClass 内の print get_x() は何を出力するでしょうか?答えは「 1 」です。 10 ではないというところがポイントです。 この挙動になる理由は get_x() の中の x は「呼び出し時の

    Python Tips: Python でクロージャを使いたい
  • [Webサービス] Pythonプログラミングを2時間で学べる43個のチュートリアル動画。 | Last Day. jp

    [Webサービス] Pythonプログラミングを2時間で学べる43個のチュートリアル動画。 最終更新日: 2012/03/19 Python はじめにプログラミングが楽しくなってきました。([Programming] Rubyを始めました 基礎文法まとめ | Last Day. jp) Youtubeには沢山の動画がアップロードされているのは皆さんご存知だと思いますが、今の時代プログラミングもYoutubeで学べてしまうんです。 今日紹介するのはPythonというプログラミング言語のYoutubeチュートリアル動画です。 初心者向けです。動画は英語ですが、スクリーンキャストを見ながらなのでわかりやすいです。 Python チュートリアルPython Programming Tutorial – 1 – Installing Python Pythonをインストールする所から教えてくれま

  • Google App Engine / Python 上での開発で最初から知ってればよかった、ってことをいくつか - Masatomo Nakano Blog

    ここ数ヶ月、Google App Engine/Pythonを使い、初めてちょっとしたものを作ってみているのだけど、開発初期から知っておけばよかったなー、と思うノウハウ/tips的なものをずらずらと書いてみる。 基的な環境設定は、 以前書いた まま。 0. 公式ドキュメントを良く読む 言うまでもなく、だけど、 マニュアル はもちろん、 この辺 の下の読み物も、流し読みだけでもしておいたほうがいい。 datastoreとmodel的なところ 1. key nameを使いこなす key nameは、レコードの作成時に指定できる(RDBでいう)primary keyの別名みたいなもの。primary key自体は自動的で作成されるので開発者が指定できるのはkey nameだけ。 key nameをうまく使うことで、datastoreを使いやすくすることができる。特にdatastore上で"un

  • Pythonを使う理由と作った物(ソース付)

    みなさん、Pythonってご存知でしょうか? ニシキヘビ。。ではないです。 プログラミング言語のPythonです。 ↓Pythonのロゴ。蛇が2匹です。 このPython。日国内では、それほど知名度は高くないのですが、2010年で最も成長したプログラミング言語にも選ばれるなど、急速に人気の高まりつつある言語です。2011年にはPHPC++を抜かして3位になれそうな勢いです!では、このPython、どうして急に人気がでてきたのでしょうか?理由は大きくわけて3つあると思います。 Pythonが急に普及し始めた理由 GAEで動作する これが最大の理由だと思います。Googleのサーバを使って簡単にサービスを提供できます。1日あたり1GBまでの転送なら、料金は一切かかりません ※1。無料利用分を超えて使った場合も、課金設定(1日当たりの支払い額の上限)を設定するだけで、簡単にサーバを増強できま

    Pythonを使う理由と作った物(ソース付)
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • FriendFeedで使われているリアルタイムウェブ用Webアプリケーションサーバ·Tornado MOONGIFT

    TornadoはPython製のオープンソース・ソフトウェア。ここ半年くらいで盛り上がりを見せているワードが「リアルタイムウェブ」だ。Twitterのようなリアルタイム検索やFriendFeedのようなソーシャルアグリゲートサービスをはじめ、多数のサービスがこのリアルタイムウェブに向かって突き進んでいる。 サンプルアプリケーションのブログ そこで使われているWebサーバにはこれまでとは違うニーズが発生する。Tornadoはまさにリアルタイムウェブのために作られた、Webアプリケーションサーバだ。 TornadoはFriendFeedが自社のサービスを支えるために開発したWebアプリケーションサーバだ。ノンブロッキング通信をサポートし、epoll(I/Oイベント通知)を使って同時に1,000ものコネクションをさばくことができる。さらにロングポーリング(Long Polling)やHTTPスト

    FriendFeedで使われているリアルタイムウェブ用Webアプリケーションサーバ·Tornado MOONGIFT
  • 1