タグ

*Pythonに関するmasapon1967のブックマーク (16)

  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • Java meets Python - 第4回 配列と別れる50の方法(2) オセロゲーム:CodeZine

    はじめに 伝統的なスタイルを卒業して、OOPを習得するときに、越えなければならない壁の一つが配列です。2次元配列を扱った事例は多数ありますが、ともすると、配列が主役になり、その中身が脇役になる場面も少なくありません。そこで、発想を転換して主客逆転させると、新しい世界、オブジェクト指向の世界が開けてきます。 その効用は、冗長な条件判定や例外処理が不要になり、例外が発生するのを防ぐだけではありません。コードの見通しをよくし、バグの発見が容易になる、強力な処方箋となります。 今回は、第2回に続いて、伊藤が担当します。先の連載で紹介した2つのゲームから、共通するフレームワークを抽出して、それをもとにオセロゲームを作成します。前回の復習を兼ねて、初心に還ったつもりで解説しますので、よろしくお願いします。

    masapon1967
    masapon1967 2008/06/18
    Java meets Python - 第4回 配列と別れる50の方法(2) オセロゲーム
  • Java meets Python - 第7回 ハリウッドの原則:CodeZine

    はじめに 過去に作成したコードを眺めると、プログラミングを始めた頃には気付かなかった欠陥(必ずしもバグとは言えないもの)が見えてきます。リサイクルと同様、あるソフトウェアを設計する際に、後の再利用を考慮した場合とそうでない場合では、メンテナンスに伴うコストが激変します。同じ教訓は「西暦二千年問題」からも学べます。 今回は、先の連載で紹介した3つのゲームから共通する部分をフレームワークとして抽出し、再考します。対象読者 こんな症状を抱えているなら……。コーディングよりデバッグ/メンテナンス作業に時間を割かれる仕様の変更に柔軟かつ迅速に対処できない 前にも同じことが 先の連載で紹介した15パズル/ライフゲームには、重複する部分があります。これらのコードを作成しているときに、デジャビュにも似た「何度も同じようなコードを書いた」感覚がしませんでしたか。実際にオセロゲームは、15パズルゲームの改良

    masapon1967
    masapon1967 2008/06/18
    Java meets Python - 第7回 ハリウッドの原則
  • Java meets Python - 第6回 配列と別れる50の方法(3) ライフゲーム:CodeZine

    はじめに 伝統的な手法では配列が主役を演じ、その値は脇役として扱われてきました。主客逆転させて脇役にスポットを当てると、オブジェクト指向の世界が開けてきます。その効用は、冗長な条件判定の排除による例外の発生防止だけではありません。コードの見通しを良くすることは、バグを発見するための強力な処方箋となります。 今回は、先に紹介したパズルゲームを参考にしながら、新たにライフゲームの作成を行います。担当は第4回に引き続き伊藤です。前回の復習を兼ねて、初心に還って解説しますのでよろしくお願いします。

    masapon1967
    masapon1967 2008/06/16
    Java meets Python - 第6回 配列と別れる50の方法(3) ライフゲーム
  • PythonとDjangoでExcelファイルを作成:CodeZine

    はじめに クライアントにデータを操作させる必要がある場合には、Excelのスプレッドシートを用意するのが最も簡単です。スプレッドシートはPythonを使って簡単に作成できますし、スプレッドシートをWebからダウンロードさせることも、DjangoというWebフレームワークを使えば簡単です。この記事ではスプレッドシートの進化の歴史について簡単に触れた後、この2つの操作方法について説明します。スプレッドシートの進化の歴史 サメは何百年もの間、あまり進化していません。その最大の理由は、野生で十分に生きていけるからです。獲物を実に上手く捕らえることができるので、サメは自らを適応させる必要も、変化する必要もなかったのです。これ以上進化させるところはないというほどに、サメは完璧な恐怖のフィッシュハンターです。 サメと同様に、スプレッドシートも数十年の間、あまり進化してきませんでした。サメの例と同じく、ス

    masapon1967
    masapon1967 2008/04/30
    Excelファイルを作成
  • PythonとWSGIによるフォトギャラリーの作成:CodeZine

    PythonにおけるWebフレームワーク 数年前にPythonでWebアプリケーションを書こうとした人たちは、選択肢の多さに戸惑ったことでしょう。一群のWebフレームワークの中からどれかを選び、アプリケーションをプロダクション環境にデプロイする妥当な方法を考えなければならなかったはずです。そういうわけで、Pythonは千個のフレームワークを持つ言語だというジョークが流布することになったのです。 Pythonコミュニティには、この問題の解決策として、フレームワークの数を絞るか、それとも多様性を良しとするかという選択がありました。コミュニティの性格上、フレームワークを絞り込むのは魅力的なオプションに見えなかったので、Webの開発にPythonを使用するための障壁を低くする方法としてPEP 333が書かれ、Web Server Gateway Interface(WSGI)が生まれました。WSG

    masapon1967
    masapon1967 2008/04/28
    WSGIのサンプル
  • pyWinAuto:

    pywinauto (c) Mark Mc Mahon 2006 Released under the LGPL licence What is it pywinauto is a set of python modules to automate the Microsoft Windows GUI. At it's simplest it allows you to send mouse and keyboard actions to windows dialogs and controls. Installation Download pywinauto from https://sourceforge.net/project/showfiles.php?group_id=157379 Unzip the pywinauto zip file to a folder. Run pyth

  • Python Unit Testing Framework (in Japanese)

    Ãø¼Ô: Steve Purcell, <stephen_purcell at yahoo dot com> Project website: http://pyunit.sourceforge.net/ ÆâÍÆ ³µ´Ñ ¥·¥¹¥Æ¥àÍ×·ï PyUnit ¤ò»È¤Ã¤Æ¥Æ¥¹¥È¤ò½ñ¤¯¤Ë¤Ï ¥¤¥ó¥¹¥È¡¼¥ëÊýË¡ TestCases ¤Î¾Ò²ð ñ½ã¤Ê¥Æ¥¹¥È¡¦¥±¡¼¥¹¤òºî¤ë Á°½àÈ÷¥³¡¼¥É¤ÎºÆÍøÍÑ: ¡Öºî¤êÉÕ¤±¡×¤òºî¤ë Ê£¿ô¤Î¥Æ¥¹¥È¡¦¥á¥½¥Ã¥É¤ò¤â¤Ã¤¿ TestCase ¥¯¥é¥¹ ¥Æ¥¹¥È¡¦¥±¡¼¥¹¤ò¥Æ¥¹¥È¡¦¥¹¡¼¥Ä¤Ë¤Þ¤È¤á¤ë ¥Æ¥¹¥È¡¦¥¹¡¼¥Ä¤òÆþ¤ì»Ò¤Ë¤¹¤ë ¥Æ¥¹¥È¤ò¤¹¤ë¥³¡¼¥É¤ÎÃÖ

    masapon1967
    masapon1967 2008/04/19
    Python Unit Testing Framework (in Japanese)
  • Java meets Python - 第5回 二分木と辞書:CodeZine

    >>> from random import * >>> m = {} >>> for e in range(100): ... k = randint(0,9) ... m[k] = m.get(k,0) + 1 >>> reduce(lambda acc,e:acc+e, m.values(), 0) 100 >>> for k,v in m.items(): print "%d: %s %d"%(k,"*"*v,v) 0: ******** 8 1: ********** 10 2: ******** 8 3: ******** 8 4: ************* 13 5: ******** 8 6: ********* 9 7: ************ 12 8: ************ 12 9: ************ 12 これは

    masapon1967
    masapon1967 2008/04/07
    Java meets Python - 第5回 二分木と辞書
  • Java meets Python - 第3回 構造体とクラス:二分木:CodeZine

    何を今さらC言語? K&Rと言えば、C言語のバイブルとされ、世界中で愛読されています。一般書と肩を並べて、専門書がロングセラーを続けるという、希有な事例の一つです。特に、hello worldを出力するコードの断片は、世界で最も有名なプログラムになりました。最近では「K&Rを読んだことがない」という新人に遭遇しますが、新しいプログラミング言語を学ぶときには、なぜかhello worldの事例を繰り返し引用します。 これから、Pythonを学ぼうとするときに、まるで「寝てる子を起こすな」とでも言われんばかりに「何を今さらC言語」という声が聞こえてきそうです。極論すると、Javaに限らず、Ruby/Pythonさえも「C言語で書かれたアプリケーション」の一つにすぎません。プログラミング言語Objective-Cの開発者でもあるBrad Coxさんは、ソフトウェアICという概念を提唱しました。機

    masapon1967
    masapon1967 2007/12/04
    Java meets Python - 第3回 構造体とリスト:二分木
  • Java meets Python - 第2回 配列と別れる50の方法:CodeZine

    はじめに 連載2回目は、プログラミング歴2年余の伊藤が担当します。今回のパズルゲームは、プログラミングを始めたばかりの半年に満たない頃に作成したものです。当時を振り返りながら、初心に還ったつもりで解説しますので、よろしくお願いします。 伝統的なスタイルを卒業して、OOPを習得するときに、越えなければならない壁の一つが配列です。2次元配列を扱った事例は多数ありますが、ともすると配列が主役になり、その中身が脇役になる場面も少なくありません。そこで、発想を転換して主客逆転させると、新しい世界が見えてくるかもしれません。

    masapon1967
    masapon1967 2007/11/16
    Java meets Python - 第2回 配列と別れる50の方法
  • Java meets Python - 第1回 JavaBeansの美味しい煎り方:CodeZine

    はじめに 連載の初回は、プログラミング歴6か月の間が担当します。初心者の皆さんと同じ立場から記述しますので、よろしくお願いします。 Java meet Python。そして、Jythonが産まれました。Jythonでは、JavaBeansに準拠するJavaのリソースを再利用するときに、便利な機能を提供します。今回は、一粒で二度美味しい、Jythonの魅力(旨味)を紹介します。対象読者 こんな症状を抱えているなら……。JavaBeansに準拠した既存の資産(負債?)は今後も運用したい。しかし、そのメンテナンスには多大な費用が掛かる。Javaの開発効率の悪さにストレスが溜まる。

    masapon1967
    masapon1967 2007/11/16
    Java meets Python - 第1回 JavaBeansの美味しい煎り方
  • Python 2.7ja1 ドキュメント

    グローバルモジュールインデクス (全ドキュメントにすばやくアクセスできます) ライブラリリファレンス (枕の下にいつも置いておきましょう) Macintosh モジュールリファレンス (Macintosh を使っているならこれも) Python モジュールのインストール (管理者向け) Python モジュールの配布 (開発者,パッケージ作成者向け)

    masapon1967
    masapon1967 2007/11/15
    Python 2.4 ドキュメント
  • Pythonを始めよう:CodeZine

    はじめに こんにちわ、hirataraです。 稿では、オブジェクト指向のスクリプト言語であるPythonの紹介をしたいと思います。と言っても、実は私がPythonを勉強し始めたのは数ヶ月前のことで、まだPythonに関してさほど詳しいとは言えません。それでもこの記事を書こうと思い立ったのは、ある言語が他の言語に比べて面白い部分と言うのは、その言語にどっぷり漬かってその言語を使うことが当たり前になっている人間よりも、その言語を好きになり始めたくらいの人間の方が見つけやすいのではないかという思いからです。 そのような事情で、もしかすると当のPythonistaからお叱りを受けるような内容も含まれるかもしれませんが、その点はTBやコメントでご教授頂けると幸いです。この記事で、少しでもPythonに興味を持ってくれる方が増えることを願っています。対象読者他言語でのプログラミング経験者Pytho

    masapon1967
    masapon1967 2007/11/15
    Pythonを始めよう
  • Java meets Python - 第0回 Jythonはじめました(後編):CodeZine

    世界の中心でモデルを叫ぶ 最初に、アブリケーションの中核となるモデルを規定します。ここでは、サイクロイドを表現することが目的なので、そのために必要な情報を管理するクラスCycloidを規定します。 from math import * class Cycloid: def __init__(self, radius, cycle, step): self.path = self._path(radius, cycle, step) self.context = radius, cycle, step def _path(self, radius, cycle, step): s = [] for i in range(step+1): t = i*cycle/step x = radius*(t-sin(t)) y = radius*(1-cos(t)) s.appe

    masapon1967
    masapon1967 2007/11/15
    Java meets Python - 第0回 Jythonはじめました(後編)
  • Java meets Python - 第0回 Jythonはじめました(前編):CodeZine

    masapon1967
    masapon1967 2007/11/14
    Java meets Python - 第0回 Jythonはじめました(前編)
  • 1