タグ

pythonに関するyaakaitoのブックマーク (52)

  • Pythonテンプレートエンジン Mako - HDEラボ

    今回は最近会社で触っているMakoの使い方について紹介します。 始めに Javaにはvelocity、PHPにはsmartyがあるようにpythonには以下のようなテンプレートエンジンがあります。 cheetah : 昔からある安定したテンプレートエンジンです。大規模サイトでの運用実績等もオフィシャルサイトで紹介されています。genshi : Tracでも使用されているテンプレートエンジンです。HTML/XMLのパースや国際化、HTML/XMLのシリアライズ、フィルタリング等がありとても高機能です。mako : 最近人気の出てきたテンプレートエンジンです。ドキュメントが整備されているので導入しやすいと思います。 導入 ダウンロードしてインストール# python setup.py installeasy_installでインストール# easy_install Mako最新ソースでインスト

  • memo/python/mako/mako_v0.3.4_install – common

  • welcome to Mako!

    Hyperfast and lightweight templating for the Python platform. Mako Templates for Python Mako is a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. Mako's syntax and API borrows from the best ideas of many others, including Django and Jinja2 templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded

  • ウノウラボ Unoh Labs: Pythonのテンプレートエンジン

    こんにちは、chihiroです。今回はPythonのテンプレートエンジンを紹介したいと思います。 Pythonを使い始めた頃、PHPのSmartyや、JavaのVelocity/FreeMarkerに相当するテンプレートエンジンとして、Pythonにはどんなものがあるのか、どれを使えばよいのかよく分からなかった経験があるので、これからPythonを始める方の参考になれば幸いです。 テンプレートエンジンを使う目的の一つに、Webサイト構築・運営の容易化ということがあると思いますが、今回はテンプレートエンジンの性格をざっと紹介したいと思いますので、HTMLの出力ではなく、次のような単純なテキストの出力を例にとって話を進めていきます。 * Hello unoh!! ** Unoh services - photozou - eiga seikatu - video pop - sugu.cc C

  • Pythonのメタプログラミング (メタクラス) を理解したい人のための短いコード片と禅問答 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのメタプログラミング手法の一つ「メタクラス」は,初心者にとっては「なんか強そう/経験値たくさんもらえそう」なアイテムの最右翼だと思う。反面「どうすればいいか/なにができるか」ということがなかなか理解しづらい。 英語のブログを見ていたら,メタクラスの理解に役立ちそうなちょうどよいサンプルを見つけたので,紹介がてら独自の解説を付け加えたいと思います。 メタクラスを簡単に説明すると,「来コードを書かなければ実現できないような処理を黒魔術的な処理でなんとかしちゃう」ためのテクニックです。コード量を(時には劇的に)減らすことができたり,すっきりした見通しの良いクラス設計を実現できま

  • python入門チートシート - ナマアシタノム

    内容 python初学者向けの頻出アイテムチートシートを作成してみました。 A4用紙に印刷してちょうどいいように必要事項をみっしりと敷き詰めています。pythonプログラミングのお供にどうぞ。 目次 if文 while文 for文 continue/break文 論理演算 算術演算 関数 リスト ディクショナリ map タプル モジュール クラス 例外 の基的なことをできるだけたくさん盛り込みたかったので記述順番はぐちゃぐちゃしてしまった感じです。 記述ミスあったらごめんなさい。指摘あれば直します 最新版のDLは こちらからどうぞ(v1.1)。 (zip/約50kb/中身はpdf) 古いバージョン v1.1 コメントのid:t-tanakaさん指摘を修正 b:id:cu39さんのコメント「M+2VM+IPAG circleですね。」を見てフォントを「M+2VM+IPAG circle」に

    python入門チートシート - ナマアシタノム
  • Big Sky :: デスクトップアプリケーションでも認証可能なOAuth「xAuth」をpythonから試してみた。

    TwitterのBasic認証APIは6月で廃止される予定なのですが、OAuthという認証方法はブラウザを起動してユーザに認証して貰わなければなりません。一見flickrアプリケーションの様な認証方法を想定しますが、OAuthはflickr認証の様にサーバから貰ったトークンをブラウザから渡して認証させる様な物ではありません。 今回OAuthの問題を解決すべくOAuthを拡張した認証方式であるxAuthが取り入れられました。 詳しくはAPIドキュメントか以下のサイトが分かりやすいかと思います。 s-take Blog.: Twitterによる簡易版OAuth: "xAuth" 従来のOAuth認証ではまずアプリケーション(OAuthコンシューマ)がTwitterに接続してRequest Tokenを取得し、認証画面を開いてRequest Tokenを承認させ、承認されたRequest Tok

    Big Sky :: デスクトップアプリケーションでも認証可能なOAuth「xAuth」をpythonから試してみた。
  • Python Packages Index: Home

    Find, install and publish Python packages with the Python Package Index Search PyPI Search Or browse projects The Python Package Index (PyPI) is a repository of software for the Python programming language. PyPI helps you find and install software developed and shared by the Python community. Learn about installing packages. Package authors use PyPI to distribute their software. Learn how to packa

    Python Packages Index: Home
  • Pythonプログラミングを楽にするEclipseプラグイン

    一般に,PerlPythonなどの軽量言語(Lightweight Language)でプログラムを作るときは,テキスト・エディタでコードを記述することが多いでしょう。専用の開発ツールなどを使わなくても,さっと書いてさっと実行できることが軽量言語の魅力の一つです。とはいえ,ある程度規模の大きい格的なプログラムを作りたいときは,コード入力支援やデバッガなどの機能を備えた統合開発環境(IDE)を使うほうが便利です。軽量言語プログラミングを支援するIDEはいくつかありますが,その中からPython用IDE「PyDev」を紹介します。 PyDevは,Eclipse上でPythonプログラミングを可能にするプラグインです。言語としてはPythonのほかにJython(Java仮想マシンで動くPython処理系)にも対応します。インストールは簡単です。Eclipseが備えるソフトウエアの更新機能を

    Pythonプログラミングを楽にするEclipseプラグイン
  • Python の lambda の中で手続き的な書き方をする - IT戦記

    PythonJavaScript は似てる でも、 lambda の中に手続き的な書き方ができない Pythonlambda lambda 引数: 式 で、式の部分にはブロックも書けない。 これでは、 JavaScript 脳の人はコードを書けないではないか!!! というわけで lambda の中で手続きを書く方法を考えてみた 逐次処理 (lambda: ( 式, 式, )[-1]) 条件分岐 (lambda: ( 式, (lambda: ( 式, 式, 式, )[-1]) if (条件) else (lambda: ( 式, 式, 式, )[-1]), 式, )[-1]) 繰り返しは。。。。 まあ、再帰で書くとしておこう でも>< Python の代入 = は文だった>< なので、 lambda の中で文を書けない。困った。 で、以下のような感じにしてみた // print

    Python の lambda の中で手続き的な書き方をする - IT戦記
  • Pythonメモ

    型の比較 import types a = 'string' if type(a) == types.StringType: print 'yes' else: print 'no' type()で型が取得できる。typesモジュールにはシステム定義型の値が用意されている。 文字列型 unicode型あるいはstr型であるかどうかは、basestringを使うと判定できる。 a = 'hello' b = 150 c = u'漢字' isinstance(a, basestring) --> True isinstance(b, basestring) --> False isinstance(c, basestring) --> True basestringは、ビルトイン関数として定義されているが、呼び出したり、インスタンス化することができない。 ジェネレーター関数(generator

  • 再帰可能な回数の上限を変更する - 偏った言語信者の垂れ流し

    sys.setrecursionlimitで再帰可能な回数の上限を変更できるのか。知らなかった。 >>> import sys >>> sys.setrecursionlimit(100000) >>> def sum2(lst): ... if lst: ... return lambda :lst[0]+sum2(lst[1:])() ... else: ... return lambda :0 ... >>> sum2(range(10000)) <function <lambda> at 0x00CCDEB0> >>> _() 49995000 おもしれー。

    再帰可能な回数の上限を変更する - 偏った言語信者の垂れ流し
  • [PDF] Python チュートリアル

    Python チュートリアル リリース 2.5 Guido van Rossum Fred L. Drake, Jr., editor 日語訳: Python ドキュメント翻訳プロジェクト 19th September, 2006 Python Software Foundation Email: docs@python.org Copyright © 2001-2006 Python Software Foundation. All rights reserved. Copyright © 2000 BeOpen.com. All rights reserved. Copyright © 1995-2000 Corporation for National Research Initiatives. All rights reserved. Copyright © 1991-1995

  • 11. 標準ライブラリミニツアー - その 2

    もう一つのツアーでは、プロフェッショナルプログラミングを支える もっと高度なモジュールをカバーします。ここで挙げるモジュールは、 小さなスクリプトの開発ではほとんど使いません。 11.1 出力のフォーマット repr モジュールでは、 大きなコンテナや、深くネストしたコンテナを省略して表示するバージョンの repr() を提供しています: >>> import repr >>> repr.repr(set('supercalifragilisticexpialidocious')) "set(['a', 'c', 'd', 'e', 'f', 'g', ...])" pprint モジュールを使うと、 組み込み型やユーザ定義型がより洗練された形式で出力されるよう制御できます。 出力が複数行にわたる場合には、``pretty printer'' が改行を追加して、 入れ子構造を理解しやすいよ

    yaakaito
    yaakaito 2010/02/22
    logging モジュールでは、 数多くの機能をそなえた柔軟性のあるログ記録システムを提供しています。 最も簡単な使い方では、ログメッセージをファイルや sys.stderr に送信します: import logging logging.debug('Debugging information') loggin
  • 13.13 sqlite3 -- SQLite データベースに対する DB-API 2.0 インタフェース

    13.13 sqlite3 -- SQLite データベースに対する DB-API 2.0 インタフェース バージョン 2.5 で 新たに追加 された仕様です。 SQLite は、別にサーバプロセスは必要とせずデータベースのアクセスに SQL 問い合わせ言語の非標準的な一種を使える軽量なディスク上のデータベースを 提供する C ライブラリです。ある種のアプリケーションは内部データ保存 に SQLite を使えます。また、SQLite を使ってアプリケーションのプロトタイ プを作りその後そのコードを PostgreSQLOracle のような大規模データベー スに移植するということも可能です。 pysqlite は Gerhard Häring によって書かれ、PEP 249 に記述され た DB-API 2.0 仕様に準拠したSQL インタフェースを提供するものです。 このモジュール

    yaakaito
    yaakaito 2010/02/22
    たいてい、SQL 操作は Python 変数の値を使う必要があります。この時、クエ リーを Python の文字列操作を使って構築することは、安全とは言えないので、 すべきではありません。そのようなことをするとプログラムが SQL イン
  • Python ライブラリリファレンス

    Guido van Rossum Python Software Foundation Email: docs@python.org Fred L. Drake, Jr., editor リリース 2.4 平成18年6月27日 日語訳: Python ドキュメント翻訳プロジェクト

  • http://www.python.jp/doc/nightly/tut/node8.html

    yaakaito
    yaakaito 2010/02/20
    .pyc ファイルや .pyo ファイルから 読み出されたとしても、プログラムは何ら高速に動作するわけでは ありません。.pyc ファイルや .pyo ファイルで高速化される のは、読み込まれるときの速度だけです。
  • SQLite3を使用する - Python Tips

    軽量・高速なデータベースSQLitePythonから扱うためのライブラリ。 インストール Python2.5から標準ライブラリに入りました。 インストール作業は不要です。 使用方法 sqlite3をインポートする #!python2.6 # -*- coding: utf-8 -*- import sqlite3 データベースを作成する con = sqlite3.connect("data.db") ファイルがすでに存在するときはファイルを開く。 ファイルがないときは新しいデータベースを作成する。 isolation_levelにNoneを指定すると、自動コミットモードになります。 con = sqlite3.connect('temp.db', isolation_level=None) 特別な名前である ":memory:" を使うとRAM上にデータベースを作ることもできます。 c

  • sqlite3

    1. 初めに (書きかけ) SQLite は RDMS (関係データベース管理システム) の一種です。 通常の RDMS と異なり面倒なセットアップが不要で、簡単に利用することができます。 通常のファイル並に簡単に扱えるので、 今まではテキストファイルなどに保存していたデータは sqlite に保存するようにすると便利です。 2. Python から SQLite を使う もちろん、Python からも SQLite を利用できます。 Python 2.5 から sqlite3 が build-in package として配布されているので、 すぐに使うことができます。 次の例のように、データファイルに connect するだけで、使うことができます。 データファイルは、 存在しなければ自動的に作成され、 存在すれば、それが開かれます。 また、データの保存はデータベースオブジェクトの co

  • Python でネストした関数の定義と、呼び出し

    1. 関数の中の関数 Python では、関数の中に、関数を定義することができる。 例えば、ITmedia エンタープライズ:2.4への機能強化で広がるPythonの世界 (3/4) には、以下のような例が書かれている。 def declareArgs(*argTypes): def checkArguments(func): assert func.func_code.co_argcount == len(argTypes) def wrapper(*args, **kwargs): ... ネストした関数を呼び出すには、関数の呼び出しで、順に引数を与えれば良い。 7.5 関数定義 に、呼び出し方の例が書かれている。 func = f1(arg)(f2(func)) 2. 関数のネストと、スコープ E. 用語集 によると、 ネストされたスコープ (nested scope) ある文が何ら

    Python でネストした関数の定義と、呼び出し