タグ

Pythonとpythonに関するWackyのブックマーク (1,422)

  • IronPythonでマルチプラットフォームGUIの可能性 #1 - 路傍のプログラマ

    ちょっと時間を取って、IronPythonでいわゆるWinformsを使うGUIを試してみます。Windowsで動くのは当然として、できれば、Ubuntuでも動いてくれるとうれしい。 Ubuntu 9.04のMonoは2.0、要は.Net Framework 2.0相当なので、このバージョンの機能ならおそらく動いてくれるはずです。 いろいろやって気がついたのは、IronPythonの配布ファイルに含まれている、winforms.pyはMonoでは動かないこと。 これは惜しい。このwinforms.pyは2つの意味で便利なので。 1つ目は、winfoms.pyをインポートすることにより、対話モードでGUIを試すことができます。 IronPythonのシェルから、対話的にフォームを作って、ボタンを貼り付けて、テキストや色を変えて、と、いろいろ実験するにはうってつけです。 2つ目は、winfor

    IronPythonでマルチプラットフォームGUIの可能性 #1 - 路傍のプログラマ
    Wacky
    Wacky 2009/06/28
    Ubuntu 9.04のMonoは2.0、要は.Net Framework 2.0相当なので、このバージョンの機能ならおそらく動いてくれるはずです。
  • Mitsukuni Sato on about.me

    Mitsukuni SatoSoftware Engineer and Web Developer in 東京, 日 I am a software engineer and web developer currently living in Tokyo, Japan. My interests range from cycling to Motorbike. I am also interested in programming, outdoors, and web development. You can click the button above to read my blog. If you’d like to get in touch, feel free to say hello through any of the social links below.

    Mitsukuni Sato on about.me
    Wacky
    Wacky 2009/06/23
  • Pythonで(変な)末尾再帰の書き方 | BoxHeadRoom

    [pukiwiki] こちらの記事の続きです。 [[Pythonで末尾再帰的な何か:http://boxheadroom.com/2009/04/29/py_tro_lip_reading]] 末尾再帰”最適化”ではありませんが。 再帰関数の中で、自分自身を呼び出すのに、self(引数) で呼び出せるようにする方法を考えてみました。 (Javascriptや、ActionScriptにおける arguments.callee的な。) [/pukiwiki] [pukiwiki] 今回はデコレータを使いますー -[[ググる:Python デコレータ]] Pythonにおける関数名は、あくまで参照として保持されています。 たとえば、こんな再帰関数を書いたとして、 [/pukiwiki] def f(x): u"1からxの総和" if x<=1: return 1 else : return x

    Wacky
    Wacky 2009/06/22
  • virtualenv - Doge log

    最近、流行りのvirtualenvですが、仕組み的なものにあまり触れられてないように 思えたので書いてみます。 機能 とりあえずvirtualenvの機能は ライブラリがまっさらな状態な環境を作る 作られた環境に対してのみモジュールをインストールできる です。 これを実現する仕掛けはそれほど難しくありません。 (virtualenv自体も基的に1ファイルのモジュールです。) とりあえず簡単に見ていきます。 ライブラリパス まっさらなライブラリを持った状態のpython環境はどうやって作るのでしょう? pythonは自分自身のパスの上位のlib/pythonx.xをライブラリとして認識します。 (pythonをソースからprefix指定でビルドした事があればわかると思います。) . |-- bin | `-- python `-- lib `-- python2.5 `-- ここが標準ライ

    virtualenv - Doge log
    Wacky
    Wacky 2009/06/20
  • ”Ironpython in Action” ch.3 -.Net objects and Ironpython- まとめ - CanI's diary

    トラバもらったりして思い出したので。 実は、結構読み進めてありました(ぁ MSDN documentationを有効利用しましょうというお話。 Pythonerの方は、.Netの仕様なんて知らないでしょうから、この辺を随時、参照して活用して下さい。 Formクラス http://msdn.microsoft.com/ja-jp/library/system.windows.forms.form(VS.80).aspx ここでは、Textプロパティを例にとり、Ironpythonでも.Netのプロパティが正常動作することを解説してあります。.Net(C#)での宣言は以下。 public override string Text { get; set; } Ironpythonでも、以下のように入力し実行すれば、Titleが"Hello, World"なフォームを生成できます。 import

    ”Ironpython in Action” ch.3 -.Net objects and Ironpython- まとめ - CanI's diary
  • 第11回 標準になったjsonモジュール | gihyo.jp

    jsonモジュール WebアプリケーションなどではJavaScriptと連携させることが珍しくないと思います。Python3.0および、Python2.6ではJSON(JavaScript Object Notation)をサポートするためのjsonモジュールが標準として追加されました。これにより、手軽にPythonJavaScript間でデータのやりとりを行うことができるようになりました。 基的な使い方 jsonモジュールの基的な使い方はPickleと同じです。文字列にして返すにはdumps、ファイルオブジェクトの場合はdumpを使用します。同様に、文字列からPythonのオブジェクトにするためにはloadsを使用し、ファイルオブジェクトから読み込む場合にはloadを使います。 リスト1 dumpsを使った例 import json s = json.dumps( list(ran

    第11回 標準になったjsonモジュール | gihyo.jp
  • Pythonで補完 - モスマン

    Twitterで”bpythonがいい”という書き込みを見たので試してみた。ついでに補完でpythonのプログラミングを楽にする方法を自分のためにメモ。 ところで補完ってのは一般の人に通じそうでない通じないIT用語の筆頭格だよね。 vimを使う場合 pydyctionというvim拡張機能を使います。僕はここをみながらやりました。 ここからダウンロードして。下の設定をvimrcにいれるだけです。簡単。 " Pydictionを読み込む if has("autocmd") autocmd FileType python set complete+=k~/.pydiction/pydiction iskeyword+=.,( endif " has("autocmd") " python supportが有効ならこれでいけるはず. Mac OSは駄目だった。 "autocmd FileType

    Pythonで補完 - モスマン
    Wacky
    Wacky 2009/06/13
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    Wacky
    Wacky 2009/06/09
    RPyC (Remote Python Call) は多くのマシンやプロセスに Python のプロセスを統合するためのシームレスなライブラリーです
  • which コマンドの実装の書き直し - forest book

    会社の先輩が python を勉強し始めました。それならっ!と簡単なサンプルを提示することにしました。以前、which コマンドを python で書いたことを思い出して探してみました。ちょうど python を勉強し始めたときで、約1年2ヶ月前に書いたコードが以下になります。 #!/usr/bin/env python import os import sys import glob cmd_name = sys.argv[1] path_list = [ item for item in os.environ['PATH'].split(':') ] path_to_file = [ glob.glob(str(item) + '/' + cmd_name) for item in set(path_list) ] # list comprehension cmd_name)), pa

    which コマンドの実装の書き直し - forest book
    Wacky
    Wacky 2009/06/08
  • はてなブログ | 無料ブログを作成しよう

    思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。

    はてなブログ | 無料ブログを作成しよう
    Wacky
    Wacky 2009/06/08
    AmazonのパブリッククラウドAWSの各サービスをpythonで使ってみるシリーズ
  • はてなブログ | 無料ブログを作成しよう

    家のなかを森にしたい、という欲望 今年はなんだか観葉植物の観察が楽しい。日は植物についての記事ですが、土や根っこなどの画像もあるので苦手な方は避けてくださいね。 フィカス・ウンベラータ うちのメイン的存在はフィカス・ウンベラータ。ウンベ殿が我が家にやってきたのは2020年5月。コロナ禍初…

    はてなブログ | 無料ブログを作成しよう
    Wacky
    Wacky 2009/06/08
  • IronPython で簡単動画再生 | Paepoi Blog

    川西 裕幸のブログ : Media Foundation の更新 @ Windows 7 Windows 7 の Media Foundation は H.264 もサポートらしい。 WMV 以外はまともに再生できなかったのに、FLV は流石にサポートしないか。 せっかくなので IronPython で動画再生方法、書くまでもなく WPF。 もちろん System.Windows.Controls.MediaElement を使います。 こいつが Media Foundation のフロントエンドです。 # -*- coding: UTF-8 -*- import clr clr.AddReferenceByPartialName("PresentationCore") clr.AddReferenceByPartialName("PresentationFramework") clr.A

    Wacky
    Wacky 2009/06/05
    IronPython で動画再生方法、書くまでもなく WPF。
  • PythonのGCについて

    PythonのGarbageCollection 原文 Neil Schemenauer (翻訳:中村 成洋) ポータブルなGarbageCollection 概要 循環参照はリスト,タプル,インスタンス,クラス,辞書,関数に伴って見つかります. インスタンスの __del__ メソッドは正常に取り扱われます. 新しいタイプをGCの対象に追加するのは簡単です. このGCが有効なPythonは,通常のPythonとバイナリ互換です. 世代別GCが動いています(今は三世代).このオーバヘッドをpybenchで測ったら,大体4%くらい占めていました. 実質的に,すべての拡張モジュールは,不変に(私は,標準的な配布において 新しいものとcPickleを修正しなければなりませんでした)ならなければなりま せん.gcと呼ばれている新しいモジュールは,コレクターを調整して,デバッ ギングオプションをセッ

    Wacky
    Wacky 2009/06/05
  • pythonでクロージャを渡して順列生成 - yattのブログ

    組み合わせを解く問題をやるときに毎回コーディングするのは面倒だ。一般的なコード書こう。 個のシーケンスseqの中から個を選び出す順列を生成する。 # permutation.py def default_term(x): return [x] def default_concat(x, y): return [x] + y def kperm(seq, k, terminal_procedure=default_term, concat_procedure=default_concat): # seqからk個取り出す順列を生成する if k==1: for item in seq: yield terminal_procedure(item) else: for i in xrange(len(seq)): for p in kperm([seq[idx] for idx in xrang

    pythonでクロージャを渡して順列生成 - yattのブログ
    Wacky
    Wacky 2009/06/01
  • WSGIとしても、CGIとしても動作する環境変数表示アプリ - ぱいそにすたん!

    WSGI アプリは iterable を返すという規約が面白い. ジェネレータ関数で iterable が簡単に返せる Python ならではだなあ. #!/usr/bin/env python # -*- coding: utf-8 -*- def application(environ, start_response): status = '200 OK' response_headers = [('Content-type','text/plain')] start_response(status, response_headers) return ('%s: %s\n' % (i, environ[i]) for i in environ) if __name__ == '__main__': from wsgiref.handlers import CGIHandler CGIH

    WSGIとしても、CGIとしても動作する環境変数表示アプリ - ぱいそにすたん!
    Wacky
    Wacky 2009/05/28
  • Sign in - Google Accounts

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

    Wacky
    Wacky 2009/05/28
  • Java開発者の読むDjangoの設計思想 - やさしいデスマーチ

    Djangoのサイトには「Djangoの設計思想」というドキュメントがあります。どんなフレームワークでもそうですが、設計思想を理解し、その流れをつかむ事で正しい利用への最短ルートです。もし、自分の思想にあわないならば問題です。可能であれば、そのフレームワークの検討を取り止めるべきでしょう。それが出来ないならば利用している時にはそのフレームワークの思想で思考することが求められます。 Djangoの設計思想は、緩く結合し、必要最低限のコードで、だが隠蔽せずに明示するという事です。DjangoではMVT(モデル/ビュー/テンプレート)と呼ばれるMVCに近い構造をとります。それらの3つのレイヤーはお互いに疎な関係を持ち、モデルとテンプレートはデフォルトの実装以外を容易に採用できるようになっています。また、ほどよく規約を適用し必要なコード量は少なくなっていまが、なんでもかんでも裏側で処理せずに、なに

    Java開発者の読むDjangoの設計思想 - やさしいデスマーチ
    Wacky
    Wacky 2009/05/15
  • 第9回 Python3にもC拡張モジュールを─Python3.0でも使える拡張モジュール開発手法の確立 | gihyo.jp

    Python 3.0 Hacks 第9回Python3にもC拡張モジュールを─Python3.0でも使える拡張モジュール開発手法の確立 目的 Python3.0に限らず、新しいバージョンのPythonがリリースされるたびに悩ましい問題があります。バイナリ製の拡張モジュールが豊富である所がPythonのひとつのウリなんですが、Pythonのメジャーバージョンをまたいでは動作しないのがツライところ。特にWindowsではコンパイラが標準でインストールされていないこともあり、他のOSほどソースからのビルドが容易ではありません。バイナリがリリースするまで待つことになると、拡張モジュールの新しいバージョンが出揃うのにどうしても時間がかかってしまうのです。これが、Pythonのニューバージョンの普及が出遅れる要因のひとつになっています。 この問題の主な要因に、ライブラリとPythonの「橋渡し部分」を

    第9回 Python3にもC拡張モジュールを─Python3.0でも使える拡張モジュール開発手法の確立 | gihyo.jp
    Wacky
    Wacky 2009/05/08
    C言語で作られたダイナミックリンクライブラリとヘッダから橋渡し部分のPythonモジュールを自動生成し,そのモジュールがPython3.0で動作することを示します。
  • Phactory: Python: DjangoをApacheから呼び出せるようにする方法

    ApacheにDjangoのハンドラ群を呼び出せるよう、設定します。 ApacheにどのURI以下をDjangoに任せるかをLocationディレクティブで指定する必要があります。 ここでは、/var/www/py/ 以下をDjangoに任せるよう設定する例を示します。 <Location "/py/"> SetHandler python-program PythonHandler django.core.handlers.modpython PythonOption django.root /my/dir/hoge_proj PythonPath "['/my/dir'] + sys.path" SetEnv DJANGO_SETTINGS_MODULE hoge_proj.settings # PythonAutoReload On PythonDebug On </Locati

    Wacky
    Wacky 2009/05/06
  • 第8回 リスト処理と内包表記 | gihyo.jp

    リスト処理関数の仕様変更 Python3.0では、リスト処理に関わる多くの関数/メソッドに変更が加えられました。また、リスト処理を行う際に非常に便利なリスト内包表記にも追加・変更が加えられています。今回は、それらの関数/メソッド/構文について書きたいと思います。 iteratorへの変更 まずは、リスト1のソースをPython2とPython3で実行してみてください。 リスト1 リスト処理関数 print(range(10)) # range print(map((2).__mul__, range(10))) # map print(filter(lambda x: x % 2, range(10))) # filter print(zip(range(5), range(5, 10))) # zip d = dict(aa=100, bb=300) print(d.keys()) #

    第8回 リスト処理と内包表記 | gihyo.jp
    Wacky
    Wacky 2009/04/27