python
1年前に開発したアプリケーションの機能拡張に伴い、徹底的にリファクタリングしてやろうと気合を入れて改修中です。そんな中、HTML タグ付き文字列を動的に生成する - forest book で書いた処理を、いま見返すと見た目があまりよろしくありませんね。もうち…
2008年のお正月休みに「初めての Python」*1 を購入したところから私は Python を勉強し始めました。このブログを書き始めた当初の目的も Python の勉強のためでした *2 。当時、Python を勉強しようと思って自分なりに調べた結果、Python チュートリアル と…
元ネタ: Pythonで5分で便利なことをするレシピ - 西尾泰和のはてなダイアリーお正月なので(?)、挑戦してみます。Python に限ったお話ではないですが、スクリプト言語の嬉しさを実感するのは文字列の扱いがメインのときではないでしょうか。緊急でちょっとデ…
モダンな Python の開発環境で virtualenv/virtualenvwrapper は必須らしいです。 http://labs.unoh.net/2009/12/2009python.html Python開発環境 | Go for it! Good night, Posterous virutualenvとvirtualenvwrapperとpipを使う - YAMAGUCHI::weblog Pytho…
@ymotongpoo (Python製テンプレートエンジンあれこれとJinja2 - YAMAGUCHI::weblog) さんから Python Web フレームワーク アドベントカレンダー2010 のバトンがまわってきました *1 *2 。今年のお題は「Web フレームワーク」です。普通だったら何を書こうか…
はてなダイアリーへの要望 によると はてなアイデア で要望や不具合報告を行うようです。はてなアイデア - はてなダイアリーのスーパー pre 記法(シンタックス・ハイライト)で Python の with 文をハイライトしてくださいPython の予約語は __import__ で…
見てしまった、、、 で、optparseをテストしたいのだが、どうすんべ2010-11-24 17:47:14 via Echofon 昨日の今日なのでやりましょう、頼まれていませんがー(> テスト対象のサンプルとして http://d.hatena.ne.jp/t2y-1979/20101124/1290534464 から optparse…
ログ解析ツールを作っててノッテきてつぶやいたら、 ログ解析ツールを python で書いているときの嬉しさを誰かに共有したい、本当に簡潔に書けて便利なんだよ2010-11-18 20:29:14 via TweetDeck @t2y 例題とかみてみたいです。2010-11-18 22:37:54 via TwitB…
プログラミングは創造性を発揮できる創作活動の1つです。機能を実現したり、決められた仕様通りに出力すること自体は単なるお仕事の作業でしかありません。しかし、要件を満たすためにどう設計、抽象化してメンテナンスし易く拡張性の高い仕組みに創り上げる…
Python Hack-a-thon 2010.11 : ATND で @ransui による PyQt4 のハンズオンに参加してきました。お題は以下の通りです。 「メディアプレーヤ&スクリーンショット作成機能付き俺様ブラウザを作りながらPyQt4の基礎を学ぶ」 GUIとPhononというマルチメディア…
エキスパートPythonプログラミング読書会04 : ATND に参加してきました。今回は第3章のクラスのお話です。私は小規模開発や普通のアプリケーション開発にしか携わったことがないのですが、wikipedia:オブジェクト指向プログラミング を行うところの、本質的…
エキスパートPythonプログラミング読書会03 : ATND に参加して講師のお手伝いをしてきました。2章の後半、以下の内容を行いました。 イテレータとジェネレータ itertools モジュール デコレータ with と contextlib エキ Py 読書会02 2章後半最後にこんな質…
最近の Linux だと Poppler というライブラリを使用して PDF の処理を行っているようです *1 。Poppler をインストール(Fedora13 だと poppler-utils パッケージ)すると pdftotext というコマンドが付属していて、そのコマンドからテキスト抽出することもで…
Qt でフォーム画面を作成する際に QDialog や QWidget でちょっとした画面を作成することもできますが、メイン画面は QMainWindow で作成します。Qt Main Window Framework によると、QMainWindow にはメニューバー、ツールバー、ドックウィジェット、中央ウ…
Qt Designer を使用してウィンドウやフォームを作成すると .ui という XML ファイルが作成されます。そして pyuic4 というコマンドを使用して .ui ファイルから uic モジュール(Python モジュール)へ変換することができます。ここで生成された uic モジュー…
PyQt4 のシグナル/スロットの新旧スタイルの違いを比較するサンプル - forest book で紹介したサンプル、指定したディレクトリ配下にあるファイル数を数える簡単なアプリケーションでは、大量のファイルがあるディレクトリを指定した場合、全てのファイル数…
wikipedia:Qt ではオブジェクト間通信、具体的には「ボタンをクリックした」「ラベルの表示を変更する」といったオブジェクトやウィジェットの状態の変更を通知する仕組みにシグナルとスロットを使用します。シグナルとスロットの詳細はここ *1 を参照してく…
エキスパートPythonプログラミング読書会02 : ATND に参加して講師のお手伝いをしてきました。今回の読書会でお話できたのは第2章のうち以下の内容だけでした。 リスト内包表記 イテレータとジェネレータ ジェネレータ コルーチン ジェネレータ式 準備不足で…
0と1を次々返す方法 - When it’s ready. を考えてみました。私だったらこう実装するかな。 #!/usr/bin/env python # -*- coding: utf-8 -*- from operator import not_ def toggle(obj): while True: obj = not_(obj) yield obj def main(): g = toggle(True…
以下の標準モジュールのチュートリアルを翻訳しました。 mailbox – メールアーカイブのアクセスと操作 - Python Module of the Week mhlib – MH メールボックスと連携する - Python Module of the Week os.path – プラットホーム独自のファイル名を操作する …
Taru-hime's waterfall posted by (C)t2yPyMOTW-ja *1 という Python 標準モジュールのチュートリアルを翻訳しています。2009年の5月頃から始めて、一時中断していたものの、現在は数10個のチュートリアルの翻訳が完了し、まだまだ鋭意翻訳中です。PyMOTW そ…
クリアコード さんが開発している Pikzie (ピクジー) という Python のための書きやすさとデバッグのしやすさを重視した Unit Testing Framework があります。ブログでデータ駆動テスト *1 の紹介をされていました。以前、素数を求めるアルゴリズム -エラト…
以下の標準モジュールのチュートリアルを翻訳しました。 abc – 抽象基底クラス - Python Module of the Week dis – Python バイトコードディスアセンブラ - Python Module of the Week functools – 関数を巧みに操作するためのツール - Python Module of the…
アリエル・ネットワークさんで Python を学び始めた @na_toi さんの パスワード認証 を見て、私だったらこう実装するなって書いてみました。calendar.weekday() が曜日を表す値を返すなら、そのままタプルのインデックスとして使用すると良いと思います。リ…
以下の標準モジュールのチュートリアルを翻訳しました。 array – データ型固定のシーケンス - Python Module of the Week contextlib – コンテキストマネージャユーティリティ - Python Module of the Week difflib – シーケンスを比較する - Python Module …
呼称: send() メソッドを使用してジェネレータへ値を渡す 目的: yield を式として使用する際の動作を学ぶ 特徴: 特になし 用例: コルーチンの実装の一つ 備考: エキスパート Python プログラミングの第2章「構文ベストプラクティス - クラスの世界」-イテレ…
呼称: select モジュールの基本 目的: select モジュールの動作を学ぶ 特徴: 標準出力/エラーの判別をファイルディスクリプタで行う 用例: 複数のソケットやパイプから非同期にデータのやり取りをする 備考: subprocess の PIPE 経由でデータをやり取りする…
methane のつぶやき を見て IPython で timeit を使用すると、簡単に実行時間を計測することができるのを知りました。例えば、[1,3,2,3,4,1,5] -> [1,3,2,4,5] のような、同じ値を含むリストから順序を保持した上で重複を取り除きたいときに色んな実装が考え…
呼称: ブール演算による条件比較 目的: 条件比較に定数を利用してメンテナンス性を高める 特徴: 条件のグループ化ができて、且つソースコードが読み易くなる 用例: コマンドラインのオプションや設定ファイルの設定項目などに使用する 備考: エキスパート Py…
nakagami さんから Zope/Ploneアドベントカレンダー 2009 のバトンが贈られてきました。Plone サイトにブログプロダクトを追加して RSS フィードを配信するのに挑戦してみます。ポータルタブの News や Events がどのようにして作成されているのかを確認しな…