Raymond Hettinger Learn to take better advantage of Python's best features and improve existing code through a series of code transformations, "When you see this, do that instead."
最近プロコン(プログラミング・コンテスト)をはじめました。 基本的にはアルゴリズム勝負なのですが、とにかく速度を競うプロコンです。 小手先の速度チューニングもバカにできません。 何が速くて何が遅いのかはっきりさせるため、ボトルネックになりそうな操作のベンチマークを取りました。 実行環境は下記のとおりです。 python2.7.5 OS: MacOSX 11 CPU: Core i7 2GHz (4core) MEM: 16GB その1. 配列の初期化を高速化する まずはプロコンの基本中の基本、配列の初期化です。 下記7つの初期化方法を比較してみます。 空配列へappendして配列をつくる for内包表記で配列をつくる サイズ1(None)の配列を乗算してから値を代入する サイズ1(None)の配列を乗算する サイズ1(ゼロ)の配列を乗算する すべてゼロのarrayをつくる 0〜nのarra
Pythonのデコレータ(decorator)を理解する 3 - -を1,2,3全て読んで、以前僕がデコレータを理解するために残したメモもこんな感じだったなというのを思い出した。ずっと記事にしようと思いつつ忘れてたんだけどせっかくなので加筆修正しつつ公開してみる。 引数無しのデコレータ デコレータとは、その名の通り元の関数を装飾するもの。別の言い方をすれば、元の関数そのものを弄ること無く挙動を変更するもの。 まずは単純なデコレータから。 def hello(function): def _hello(*args, **kw): result = function(*args, **kw) return "Hello, {0}".format(result) return _hello @hello def name(arg): """my docstring""" return arg #
Download: --------------- asNode along with example code as shown in video is available for free download here : http://www.creativecrash.com/maya/script/asnode-one-node-for-most-of-the-general-process-in-maya-rigging Purpose: ------------ This node is the key module in maya rigging process. One node for the most of the rigging process. asNode is still going to include many general methods requi
はてなブログに移行して最初の記事はやはりPythonネタにしました。 はてなブログいいですね。デザインの編集がやりやすくなったのと、Markdownで書けるのが素晴らしいです。 PyCon 2013の動画を見ていたら、素晴らしい"Transforming Code into Beautiful, Idiomatic Python"という発表を見つけたのでそのまとめです。 今どきのPythonコードのベターな書き方を紹介しています。 Transforming Code into Beautiful, Idiomatic Python ... スライドはこちらにありました 結構長くなってしまったので、知ってる項目は読み飛ばしてもらえばと思います。 ループの基本 整数のループ まずは基本のループ。 Cのfor int i=0; i<6; i++をPythonで単純に書くとこうなります。 for
生まれてはじめて PyPI にコードを登録した。Python 2.7 と 3.3 で使えるようにするにあたり、ライブラリの実装とは直接関係ないところで、とまどった。現時点での手順を記録しておく。 以下を前提とする。 OS X 10.9.1 (Mavericks) homebrew でパッケージを管理 pyenv, pyenv-virtualenv で OS 上の Python 環境を管理 PyPI に登録するライブラリは Python 2.7 と 3.3 に対応 まず始める shimizukawa によるハンズオン資料と公式ドキュメントを併読しながら進める。基本的な作業はハンズオンでだいたい分かる。とはいえ、あなたが持っているライブラリは、必ずしもチュートリアルどおりではないだろうから、公式ドキュメントのガイドが必要になるだろう。 ところで、ナウなヤングは egg じゃなくて wheel
A blog about technical art, particularly Maya, Python, and Unity. With lots of obscurantist references The blog has been retired - it's up for legacy reasons, but these days I'm blogging at blog.theodox.com. All of the content from this site has been replicated there, and that's where all of the new content will be posted. The new feed is here . I'm experimenting with crossposting from the live si
Given a string of a Python class, e.g. my_package.my_module.MyClass, what is the best possible way to load it? In other words I am looking for a equivalent Class.forName() in Java, function in Python. It needs to work on Google App Engine. Preferably this would be a function that accepts the FQN of the class as a string, and returns a reference to the class: my_class = load_class('my_package.my_mo
Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基本だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に
expressionを使用して数値を文字列に組み合わせる ftoa --- 数値を文字列に変換 ftoa(number) //sample タイムが20frameの場合 `ftoa($F)`Frame = 20Frame padzero --- 指定したpadding数値に変換 (zero padding) padzero(size, value) //sample タイムが20frameの場合 `padzero(4, $F)`Frame = 0020Frame geoファイルの読み込みに10frameのオフセット。 X:/geo/file.$F4.bgeo.sc X:/geo/file.`padzero(4, $F+10)`.bgeo.sc
本日は少し趣向を変えて、機械学習や統計に関する情報収集源についてまとめてみたいと思います。 機械学習 機械学習界隈の情報収集方法 http://d.hatena.ne.jp/kisa12012/20131215/1387082769 いきなりですが上記の記事に機械学習に関する有力な情報源がまとまっています。まずはここを参考にするのが良いかと思います。ただ情報が多すぎですので、筆者は Wikicfp と arXiv.org あたりの論文、それにはてなブックマークをチェックしています。 また論文については機械学習の論文を探すにも良い情報がまとまっています。こちらも参考になります。 機械学習は日進月歩の世界ですので、最新の査読済み論文を追って概略だけでも理解する能力を身に付けると良いかと思います。 書籍としては次の 2 冊が聖書とも言える必読書で、本気で機械学習をやりたければ必ず参考になるかと思
はじめに こんにちは、Python界の情弱です。長らくvirtualenv & virtualenvwrapperでやってきたんですが、そろそろPython2系とPython3系を共存させるに当たってvirtualenvでちまちま環境を切り替えたり細かいオプション設定したりするのにつかれたのでpythonbrewを使うことにしました。 参考 utahta/pythonbrew · GitHub 作者さんのブログ pythonbrewで構築するPython開発環境 | ninxit.blog pythonbrewで構築するPython環境 その2 | ninxit.blog Python3に乗り換える?待ってみる?でも試したいよ、戻れる前提ならね。そんな方法。 - When it’s ready. (a2c.get.diary) 設定 上のエントリにあるとおりに設定すれば済む話ではある。 下
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く