タグ

Pythonとprogrammingに関するrawwellのブックマーク (12)

  • Pythonプログラムがメモリを大量に使っているとき - methaneのブログ

    もし想定以上のメモリを Python プログラムが消費しているのであれば、ループの中で循環参照が生まれていることや、回収不能オブジェクト(循環参照なうえに __del__ メソッドが存在するためにgcがどこから循環を切っていいのか判らないオブジェクト)が存在しないかを疑う。 import gc gc.set_debug(gc.DEBUG_LEAK) gc.disable() # 問題の処理 gc.collect() # 回収された循環参照や回収不能オブジェクトが表示される

    Pythonプログラムがメモリを大量に使っているとき - methaneのブログ
    rawwell
    rawwell 2009/06/02
    "もし想定以上のメモリを Python プログラムが消費しているのであれば、ループの中で循環参照が生まれていることや、回収不能オブジェクト(循環参照なうえに __del__ メソッドが存在するためにgcがどこから循環を切っていい
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    rawwell
    rawwell 2009/06/02
    "しかし、せっかく Gmail は IMAP をサポートしてるんだから IMAP を使おうよってことで、ちょっとぐぐったら * pythonからimapでgmailを操作してみる - Vox * Gmailのメール一覧を取得 - みずぴー日記 などが出てきた。 これらは
  • http://www.aminus.org/rbre/python/index.html

    rawwell
    rawwell 2009/04/22
    "Generation of recurring datetime objects"
  • re: Jythonはじめました - 西尾泰和のはてなダイアリー

    CodeZine:Java meets Python - 第0回 Jythonはじめました(前編)(java, Python) http://codezine.jp/a/article/aid/1714.aspx CodeZine:Java meets Python - 第0回 Jythonはじめました(後編)(java, Python) http://codezine.jp/a/article/aid/1727.aspx 僕が書いたんじゃないのか、と聞かれたけど、僕じゃありません。 - えっと、とりあえずDISりにならない程度に気をつけてすこし補足すると、 コマンドjythoncを使うと、Jythonのソースコードから.classファイルを生成できます。(中略)こうして、Java/Pythonの融合した世界が実現できます。 これってものすごくもったいないことをしている。わざわざ.clas

    re: Jythonはじめました - 西尾泰和のはてなダイアリー
    rawwell
    rawwell 2009/04/21
    『「Pythonでコードを記述して、jythoncで*.classにして、Java側でimportしてそれを取り込み…」いうアプローチではせっかくのJythonのメリット(コンパイルなしで挙動を変更できる)を殺してしまう。「Javaで書かれた部品をPython側で
  • 267:文字列をPythonスクリプトとして実行する

    267:文字列をPythonスクリプトとして実行する exec 文を用います。現在のスコープ内で実行されます。 >>> exec '''def hello(): ... return 'Hello World.' ... ''' >>> hello() 'Hello World.' 閉じた環境を用意する場合 in を用います。 >>> G = {} >>> L = {} >>> exec '''def hello(): ... return 'Hello World.' ... ''' in G, L >>> hello() Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'hello' is not defined >>> L['hello']() 'Hello

    rawwell
    rawwell 2009/04/21
    『文字列をPythonスクリプトとして実行する exec 文を用います。現在のスコープ内で実行されます。』 『なお、文字列をスクリプトではなく「文」単体として評価するには eval 関数を用います。』
  • 266:ファイルをPythonスクリプトとしてロードする

    rawwell
    rawwell 2009/04/21
    『ファイルをPythonスクリプトとしてロードする execfile 関数を用います。現在のスコープで実行されます。』
  • PythonRecipe

    このページは、Rubyレシピブック (詳細) をPythonで書こうというたくらみです。内容は当たり前のことばかりですが、たまにしかコードを書かない人間は、こうしたことがわからなくてイライラしてしまいます。10行くらいのプログラムならさっと見てさっとかけるようにするのが目標です。 2008年1月21日19:00 ロボットによる荒らし対策を施しました。 レシピブック作成にご協力いただける方がいらっしゃいましたら、最初にユーザー登録をお願いします。 レシピブックを修正する際は、一度ログインをしてください。ログインすると右肩の部分に編集の項目が現れます。 記述方法は、structuredText もしくはreStructuredText でお願いできればと思います。 WEB上の情報 Python クイックリファレンス日語訳 pythonライブラリリファレンス pythonチュートリアル Per

  • 118:ハッシュの要素を挿入した順に取り出す

    118:ハッシュの要素を挿入した順に取り出す Ruby のハッシュの役割をする Python の型は dict(辞書) です。 Python の辞書型には順序という概念はありません。そのため挿入した順に要素を取り出すことはできません。このため、標準の辞書型とは別の、順序を保持できる辞書型として、 collections.OrderedDict? が用意されています。 >>> from collections import OrderedDict >>> d = OrderedDict() >>> d['a'] = 1 >>> d['b'] = 2 >>> d['c'] = 3 >>> d OrderedDict([('a', 1), ('b', 2), ('c', 3)]) >>> >>> for k in d: ... print k, ... a b c OrderedDict? の

  • 西尾泰和のブログ: モナドを作るver. 0.1

    IOモナドは難しそうだったのでとりあえずMaybeモナドからはじめる。 >>> def Maybe(typ): class Foo(object): @classmethod def return_(_, x): return Just(x) @classmethod def bind(_, m, f): if isinstance(m, Nothing): return Nothing() elif isinstance(m, Just): return f(m.value) class Just(object): def __init__(self, x): assert isinstance(x, typ) self.value = x class Nothing(object): pass Foo.__name__ = "Maybe_%s" % typ.__name__ retur

    rawwell
    rawwell 2009/03/21
    "IOモナドは難しそうだったのでとりあえずMaybeモナドからはじめる。"
  • メタプログラミング:逆襲のニート

    ニートというのはダメな人じゃない。 ノーワークおじさんなのだ。 人間やればできる。 誰でも可能性の宝庫なのだ。 LISP、C++RubyPythonなどで、メタプログラミングを勉強できるみたいだ。 メタプログラミング 代表的なメタプログラミングの例はLISPのマクロである。 メタプログラミングの他の例としてはC++における「テンプレートメタプログラミング」などが挙げられる。 Rubyによるメタプログラミング演習 メタプログラミング ― つまり、"コードを生成するコード"を書くこと Pythonでのメタクラス・プログラミング ほとんどの読者は、オブジェクト指向プログラミングの継承、カプセル化、多態性といった概念については、すでによくご存じのことと思います。 といっても、いろいろな親を祖先とする何かのクラスからオブジェクトを生成する 操作は、通常、「単にそういう」ものとして捉えられています

    rawwell
    rawwell 2009/03/21
    "クラスがインスタンスの生成方法や振舞いを規定するのと同様に、 メタクラスはクラスの生成方法や振舞いを規定する。"
  • PerlPhrasebook - Python Wiki

    Introduction This phrasebook contains a collection of idioms, various ways of accomplishing common tasks, tricks and useful things to know, in Perl and Python side-by-side. I hope this will be useful for people switching from Perl to Python, and for people deciding which to choose. The first part of the phrasebook is based on Tom Christiansen's Perl Data Structures Cookbook. I have only been worki

  • メモ化機構を切り離してみる - 技術をかじる猫

    メモ化の概念的には、結局のところ、引数パターンに対する辞書があって、一度やった処理は記録して使いまわす。 前回のものから、メモ化部分を抽出するだけしてみると、 def tarai(x, y, z): if x <= y: return y return tarai(memorize(x - 1, y, z), memorize(y - 1, z, x), memorize(z - 1, x, y)) table = {} def memorize(*args): global table if not args in table: table[args] = tarai(*args) return table[args] で、汎用化しようとしたときに、memorize 中の tarai と、tarai 中の memorize が邪魔になるので、昔見た C# のコード(元ネタ第35回CLR/

    メモ化機構を切り離してみる - 技術をかじる猫
    rawwell
    rawwell 2008/11/15
    "メモ化の概念的には、結局のところ、引数パターンに対する辞書があって、一度やった処理は記録して使いまわす。"
  • 1