ブックマーク / www.shido.info (4)

  • wxPython と Tkinter で Eight Queens を作る

    1. 初めに wxPython と Tkinter で Eight Queens を作って遊んでみました。 Eight Queens はチェス盤上に8つの Queen を互いに利き筋が重ならないように 配置するパズルです。解は全部で92個あり、対称操作で合同になる解を1つの解と数えると 解の数は12個になります。ここでは、対称操作を考慮した12個の解を表示する プログラムを書きます。gui はこんな感じになります。 2. 体 Eight Queens を解くコードを示します。 Queen は縦横斜めに利いているので、各行には1つの Queen しか置けません。 n 行目に Queen を置くときは すでに 0--(n-1) 行に置かれている Queen と縦、斜めの利きが 衝突しないように置きます。利きが衝突しないかどうかは queen_ok で調べます。 また、queen_pos は

  • Python のクラスシステム

    1. 初めに この文書の目的は、 Python で自前の class を作るとき、メソッドの第一引数がそのクラスのインスタンスそれ自身 (一般に self と書かれる) であることの理由を説明することです。 他の言語ではメソッドを定義するときに第一引数をインスタンスにするという方法は取り入れておらず、 this などの予約語を使ってインスタンスを表すのが一般的です。 Python だけが、独自の流儀をとっています。 しかし、このことを説明したサイトは見当たりませんでした。 どのサイトもそれは決まりごとだで済ませてしまっています。 しかし、それではどうも Python のクラスシステムを理解した気になれないので、Python でクラスシステムが どのように実装しているか推測しながら、例の self について説明したいと思います。 2. オブジェクト指向プログラミングの復習 オブジェクトとは、

  • xyzzy から pydoc を利用する

    1. はじめに python 2.4 をインストールすると、 python document を HTML または text 形式で生成する pydoc というスクリプトが付いてきます。 このスクリプトは大変よく出来ていて、ソースコードに含まれるドキュメントから、 インタープリターのオンラインヘルプ、 や HTML 形式のマニュアルを自動で生成します。 (詳しい説明は pydoc を使って生成した pydoc のマニュアルを見てください。) ここでは、マニュアルを表示するローカルホストを起動させ、 それをブラウザで表示する方法について述べます。 また、これらのことを行う xyzzy スクリプトも書いてみました。 2. ローカルホストの起動とブラウザでの表示 2.1. ローカルホストの起動 DOS プロンプトから、 python c:\python24\lib\pydoc.pyc -p 50

  • On Python

    Python は最近人気のスクリプト言語です。 Python の魅力はシンプルな文法と、拡張性の高さでしょう。 Python はちょっとしたスクリプトを書くのにも、大規模なプログラムを書くにも適した言語です。 最近の Version は日語にも完全に対応し、日でも愛用者が増えていると思われます。 Web 上で見当たらなかった文書やスクリプトを書いて公開しています。 特に Tkinter について詳しく書いてあります。 Python メモ Perl, Python, Ruby の比較 Python 早めぐり xyzzy から pydoc を使う wxPython でお気軽 guiwxPython と Tkinter で Eight Queens を作る Python のクラスシステム Python を使った FTP アップロード Python の”新しい”クラス Python 2.5

  • 1