きっかけは以下のような変数名を使った事。 fp = csv.reader(filename) 「fpてファイルポインタの略だよね?pythonにポインタとか無いんですけどププーm9」たかが変数名されど変数名。 これがどこぞへ影響を与えるわけでも与えたわけでもないけど、知らなか…
これもいいけど、 f = open("distribute_setup.py") len([None for l in f]) こうするとより速いらしい。 sum(1 for line in open('filename')) 参考:http://stackoverflow.com/questions/845058/how-to-get-line-count-cheaply-in-python社内の人達++
ちまたではブログがどーのこーの言われてるけどあまり興味は沸かず。 日々、記憶に留めておける自信がないのでメモとか書き留めておきたいこととかを保存するものとして使用できりゃなんでもいい。
とあるコードを読んでいると @classmethod というデコレータが出現。 調べたりしてみた。 # -*- coding: utf-8 -*- class Hey1: def hi(self, name): print "Hi, " + name + "!" print type(Hey1) # <type 'classobj'> print type(Hey1()) # <type 'instance'> print type(Hey1.hi) # <type 'isntancemethod> Hey1().h</type></type></type>…
頻繁にこんなのに出会う。 「受け取った文字列 "20110801" を "2011-08-01" にする」 文字列を切ったり繋いだりするのに、どちらが早いのかなーと思って調べた。
例1 db =& $db; } function setName($name) { $this->name = $name; } function setPosition($position) { $this->position = $position; } function create() { // create } function destroy() { // destroy …
extends aa(); # A - aa $a->bb(); # B - bb ?> implements
ちょっくらテスト
type nul > .hgignore
>>> text = 'ABC' >>> hogea, hogeb, hobec = text >>> hogea 'A' >>> hogeb 'B' >>> hogec 'C' >>> text = 'ABCD' >>> hogea, hogeb, hobec = text Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: too many values to unpack >>> ri</module></stdin>…
ずっと修正したくてたまらなかったものを修正した。指定したdatetime値でのfilter思い込みって怖い。
さっきインストールしたModipydを実際に使ってみた。チュートリアルに従って動作させる。 Modipyd の自動テストツールを使ってみよう — Modipyd テストコード用意 テスト用ディレクトリ「C:\pytest\」作成。チュートリアルにあった2つのファイルを作成。 wid…
「python 自動テスト ツール」でググって1件目によさげなツールを発見。さっそくインストールした手順をメモ。 Modipyd のインストールに足りないツールがあった Modipyd のインストール自分の環境は windows なので ishikawa-modipyd-4ebdf28.zip をダウン…
よくある「該当するものに全てチェックをつけてください」で値を受け取るというやつです。 フォーム <form method="post" action=""> 好きな天気は?<br> <input type="checkbox" name="choice" value="hare" checked>晴れ<br> <input type="checkbox" name="choice" value="kumori" checked>曇り<br> <input type="checkbox" name="choice" value="ame" checked>雨<br> </form>
http://code.google.com/intl/ja/appengine/docs/python/datastore/gqlqueryclass.html 「limit は必須の引数です。結果の数が不明のとき、クエリからすべての結果を得るには、fetch() メソッドを使用せずに GqlQuery オブジェクトを iterable として使用し…
最近、はてだからはてだへ引越しをしたので、前に書いていた方にもらっていたコメント等がない状態になってしまった。あちゃー前のはてだ http://d.hatena.ne.jp/Kmizukix/
これで何かをするわけではないが、必要になったので書いた。 import datetime import time def __get_timestr_by_now(): now = datetime.datetime.now() micro_str = str(now.microsecond).zfill(6) time_str = str(int(time.mktime(now.utctimetuple()))) r…
気になったので比較して結果を確認した。 # -*- encode: utf-8 -*- if u'0' < u'1': print '0 < 1' if u'1' < u'2': print '1 < 2' if u'2' < u'3': print '2 < 3' if u'3' < u'4': print '3 < 4' if u'4' < u'5': print '4 < 5' if u'5' < u'6': print '5 <…
もしかして邪道なのかな。 st1 = 'a' st2 = 'b' st3 = st4 = st1 print st1 # => 'a' print id(st1) # => 26430944 print st2 # => 'b' print id(st2) # => 26431008 print st3 # => 'a' print id(st3) # => 26430944 print st4 # => 'a' print id(st4) # =>…
ユーザー一覧の表示でページ遷移などする時に fetch() を使おうとすると1000件の壁にぶち当たる。そこで datetime 値での filter を使用した。 こんなモデルがあったとする from google.appengine.ext import db class Member(db.Model): insert_datetime = …
「*.pyc」ファイルは管理しなくていいだろ、ということで。 リポジトリに「.gitignore」ファイルを作成 「.gitignore」ファイルへ以下のように記載*/**/*.pyc コミット > cd C:\sample > echo '' > .gitignore ## .gitignore ファイル編集 ## Git 起動 $ cd …
ファイル内の改行コードが「LF」の際に出たワーニングに対応したメモ $ git add . warning: LF will be replaced by CRLF in appl/views.pyなにやら Git が改行コードを CRLF へ変更しようとするらしい。 で、以下を実行 $ git config --global core.autoCRL…
とりあえず ## sampleリポジトリへ移動 $ pwd /c/repos/sample ## app/sample.txt を編集 ## ここではファイル内に「sample」という文字を記載した ## ステータスを見る $ git status # On branch master # Changed but not updated: # (use "git add <file>..." t</file>…
インストール まずダウンロード。コマンドライン版を入れる。 msysgit - Project Hosting on Google Codeここの「Download」から「msysGit-fullinstall-1.6.4-preview20090729.exe」をダウンロード&インストール。どうでもいいがインストール中はぼーっとし…
これはびっくりした。なのでメモ。 i = 123 isinstance(i, int) # => True a = True isinstance(a, int) # => True b = False isinstance(b, int) # => True c = 1 isinstance(c, int) # => True d = 0 isinstance(d, int) # => True えぇー! i = 123 isins…
久々にテキスト入力フォームの「初期入力モードをアルファベットで指定する」なんて書いた。対応したのは Docomo , Ezweb , Softbank(Yahoo? Disney?) の3キャリア向けのXHTML。というわけでフォーム部分の記録を残す。 # For Docomo <form method="post" action="/login/" guid=ON> アカウント<br /> <input type="text" name="account" value="" style="-wap-input-format:"*<ja:en>"" /></form>
入れる環境は WindowsVista。参考にしたのはここMercurialでバージョン管理Mercurial本体を取得Download - Mercurial「Binary packages」→「Windows版」→「Mercurial-1.4.1 installer」をダウンロード。 インストール先は「C」直下にした。つづく
西尾さんに質問したら丁寧に解説してくれた。Pythonで2つの文字列がa == bだけどもnot(a is b)であるようなケース質問するに当たって確認された事は、対話的環境を使用したかどうか。答えはyes。というわけで試してみた。 対話型インタプリタとの会話 d1 = '…
疑問点が変わったけどこのタイトルのままで。 d1 = 'aaa' d2 = 'aaa' id(d1) # => 27605792 id(d2) # => 27605792 ふむ。で、ここから疑問。 d1 = 'a a' d2 = 'a a' id(d1) # => 27605856 id(d2) # => 27606080 えっなんで?
d1 = 'string' d2 = d1 'yes' if d1 == d2 else 'no' # => 'yes' 'yes' if d1 is d2 else 'no' # => 'yes' おっ?何かが見えてきたような気がする。[追記]気のせいだった。うーむ。