Efficient String Concatenation in Python (http://www.skymind.com/~ocrow/python_string/) 2.5.2でテスト。 import time def profile(func): def foo(*a, **k): t = time.time() r = func(*a, **k) print '%s: %g sec elapsed' % (func.__name__, time.time() - t) return r return foo @profile def method1(): out_str = '' for num in xrange(loop_count): out_str += `num` return out_str @profile def method2(): from UserStr
ここ数日でHTMLからTagを除去する方法を、色々知った。とても勉強になりました。教えてくれた人ありがとうです。 具体的には、BeautifulSoupとHTMLParserとlxmlという3つのライブラリでそれぞれTag除去が可能な事が分かった。実際どれも満足な挙動で、じゃあどれを使えばいいのさ!と、迷ったので実行速度を適当に測ってみた。 時間を計るところのコードが激しく恥ずかしい。ホントは、3つのファンクションを配列に入れて、forで回したかったけど、配列に入れる時に評価されてしまってNG、map関数で、関数と関数(計測したい関数と、計測する関数)を2つ渡すやり方がわかんなかったので、同じ事を3回書く事にした。マジ恥ずかしいがこれしか思いつかなかった。 計測用のHTMLには、はてダのトップページとした、コメント、Style、Script、htmlがそこそこのボリュームで入っていた為 計
屋号の由来 同じ会社を二度受けたことがある。一度目は新卒採用のとき。十代の頃から憧れていた地元の新聞社へどうしても入りたかったにも関わらずまともに受験勉強をしたこともなければ大した一般教養もなかった私は一番外してはならない筆記試験であえなく落選した。新聞記者に…
urllib2 モジュールで http プロトコルを使用する際選べる(選ばれる)メソッドは GET か POST 。では HEAD で十分な時は http モジュールレベルまで戻らなくてはいけないのだろうか? もしくは問答無用で GET して対象サーバーにはごめんなさいで済ませるのか? さすがにこれはない、はず。 コード読んでみた。 urllib2.Request.get_method メソッドは has.data() の真偽値を見て GET か POST を返すようになっている。 AbstractHTTPHandler.do_open メソッドはこの戻り値を第1引数にして、 http_class 変数に収まっているインスタンスの request メソッドを実行する。そして、 http_class 変数の中身は… urllib2.HTTPHandler 経由のアクセスの場合、 httpli
1. Python は一部の引数を与えて関数を呼び出すことができない Haskell では、関数に複数の引数があるとき、先に一部の引数のみ渡しておき、後から残りの引数を渡すことができる。一部の引数を与えることを「部分適用」と言う。 Python では、普通そういうことはできない。例えば、3つの引数を足し合わせる関数 addThree 関数に対して、1つの引数だけ与える。 def addThree(a,b,c): return a + b + c print addThree(1) 上記を実行すると、引数が足りないとエラーが表示される。 exceptions.TypeError: addThree() takes exactly 3 arguments (1 given) 2. functools の partial 関数で部分適用 6.6 functools モジュールの partial
1. timeit モジュールでコードの実行時間を計測する Python で大雑把にコードの実行時間を知りたい場合、datatime オブジェクトを利用する。 Python のコードを実行するとき、バックグラウンドで実行されているプロセスがある。正確なメソッドの実行時間を測定するには、datetime はなく、timeit モジュール を使う必要がある。 18.2. Using the timeit Module によると、 Before you start your timing tests, turn everything off and disconnect from the network. Then turn off all the things you forgot to turn off the first time, then turn off the service th
Python 2.6(Final)が正式リリースされました。 概要: 主にPython3に近づいていくリリースです。600個以上のBUGFIXが行った。 ・future_builtinsモジュール: このモジュールはPython 3で動作が変る2.x関数に関して集まったモジュールです。 Python3と汎用性を保ちたいなら、このモジュールをimportするべきです。 例: from future_builtins import map, filter ... code using Python 3-style map and filter ... Python3のprint関数も既にbuiltinsに入れたが、下記をimportしないと3の動作はしません。 from __future__ import print_function ・-3警告:Python3からサポートしない関数に対して、
Python2.6きましたね。ということで、自分用にも主な変更点メモ。なぐり書きなのでミス多いかも。個人的な注目部分は with文 multiprocessing itertoolsへのメソッド追加 ABCの導入 クラスデコレータの導入 ネットワーク系ライブラリ(http,ftp,telnet..etc)でタイムアウトが設定できるようになった。 あたりですかね。ではどうぞ。 Python 3.0由来の変更点 複素数へオブジェクトを変換する __complex__ メソッド。 例外補足のためのもう一つ書き方: except TypeError as exc build-inの reduce() に加え、 functools.reduce の追加。(3.0では reduce はfunctools経由でしか使えない) 3.0では他にもbuild-in関数に変更がある。3.0互換のコードを書きたい
1. float, Decimal の有効桁数を確認しておく これまでに 「float よりも精度の高い Decimal」 、「Decimal を文字列として出力するときの str() と repr() の違い」について見てきた。 Python で正確な小数の計算 (1) - Decimal モジュールを使う Python で正確な小数の計算 (2) - Decimal の値を文字列にして、eval () で評価するときは repr 関数を使う 今回は、float と Decimal 有効桁数、str() と repr() の有効桁数について試しておく。こういうのは、一度自分で動作を確認しておかないと気持ちが悪い。 (+_+) 2. 事前準備 毎回 print 文で、式と結果を書くのは面倒。予め、与えられた式の文字列を受けとると、str() と repr() の結果を表示する関数を作成して
1. type, isinstance 関数で、変数の型を調べる Python で、変数の中身が、どのクラスに所属するのか、または、関数なのか調べたい。 2.1 組み込み関数 によると、 (装飾は、引用者による) type(object) object の型を返します。返される値は型オブジェクトです。 isinstance(object, classinfo) 引数 object が引数 classinfo のインスタンスであるか、 (直接または間接的な) サブクラスのインスタンスの場合に真を返します。 例えば、「数値」の場合、次のようにして、数値に対して type 関数を適用する。 print type(100) #=> <type 'int'> type 関数の結果を用いて、isinstance 関数の引数に指定した。 print isinstance(100, int)
コンテンツへスキップ 無料で使える!HubSpotの顧客リストの活用法 無料のアンケート作成ツール 比較/まとめ 無料「Excel」 テンプレート 比較/まとめ 無料で使えるノートアプリ比較 (Evernote / OneNote / Google Keep) おすすめの無料Web会議システム5選 WebP Converter 徹底解説!初心者でも直ぐに使える HubSpot は、マーケティング、セールス、サービスのためのCRM(Continue reading 多くの人の声を聞くことで改善できることも多い 企業や団体など運営していContinue reading 就職・転職には必須となる履歴書・職務経歴書 これから就職活動をスタートContinue reading 便利なノートアプリで効率的な仕事をしよう いつの時代も仕事をしていてメContinue reading 近年、リモートワーク
コンテンツへスキップ 無料で使える!HubSpotの顧客リストの活用法 無料のアンケート作成ツール 比較/まとめ 無料「Excel」 テンプレート 比較/まとめ 無料で使えるノートアプリ比較 (Evernote / OneNote / Google Keep) おすすめの無料Web会議システム5選 WebP Converter 徹底解説!初心者でも直ぐに使える HubSpot は、マーケティング、セールス、サービスのためのCRM(Continue reading 多くの人の声を聞くことで改善できることも多い 企業や団体など運営していContinue reading 就職・転職には必須となる履歴書・職務経歴書 これから就職活動をスタートContinue reading 便利なノートアプリで効率的な仕事をしよう いつの時代も仕事をしていてメContinue reading 近年、リモートワーク
グローバルインタプリタロック(英: Global Interpreter Lock, GIL)とは、プログラミング言語のインタプリタのスレッドによって保持されるスレッドセーフでないコードを、他のスレッドと共有してしまうことを防ぐための排他 ロックである。インタプリタのひとつのプロセスごとに必ずひとつの GIL が存在する。 プログラミング言語においてグローバルインタプリタロックを採用した場合、複数のスレッドを持つインタプリタプロセスの並行性を制限してしまう。プロセスをマルチプロセッサのマシンで実行させた場合、ほとんどあるいはまったく速度の向上が見られない。 こうしたロックを採用する理由として、下記のものがある。 シングルスレッドのプログラムの速度向上(すべてのデータ構造に対して別々にロックを獲得・解放する必要がなくなる) 通例スレッドセーフではないC言語のライブラリとの結合が容易である。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く