タグ

loopに関するwerdandiのブックマーク (3)

  • Pythonを高速にするTips集

    この記事は,Pythonを少しでも高速に実行するための方法をまとめたTips集です. 随時更新予定です. グローバル名前空間で大きな処理を書かない Pythonではメソッド内に処理を書かずにグローバル名前空間に処理を書くこともできます。 Pythonは変数アクセスを名前空間ごとの辞書(ハッシュマップみたいなもの)で検索することで実現しています。 グローバル名前空間の辞書にはデフォルトの状態でいくつかの要素が追加されているので、メソッド内でローカル変数にアクセスする場合に比べて変数アクセスのコストが重くなります。 なので、グローバル名前空間でforループなどを回すと変数アクセスのコストが無視できなくなるので、forループを回すなどの大きな処理を行う場合はメソッド内に処理を書くようにしましょう。 グローバル名前空間にforループの処理をべた書きした場合と、メソッド内に同じ処理を書いた場合での実

  • A Dramatic Tour through Python’s Data Visualization Landscape (including ggplot and Altair)

    Why Even Try, Man? I recently came upon Brian Granger and Jake VanderPlas’s Altair, a promising young visualization library. Altair seems well-suited to addressing Python’s ggplot envy, and its tie-in with JavaScript’s Vega-Lite grammar means that as the latter develops new functionality (e.g., tooltips and zooming), Altair benefits — seemingly for free! Indeed, I was so impressed by Altair that t

    A Dramatic Tour through Python’s Data Visualization Landscape (including ggplot and Altair)
  • python の asyncio について調べる その4 - memo

    2016-06-06 python の asyncio について調べる その4前回 の最後で書いたように、今回は coroutine と future, そして task について調べる。 coroutineCoroutine は asyncio とか関係なく、昔から python にあるもの。 Generator の特殊な使い方という感じ。 一応復習しておく。 def my_coroutine(): # yield から値を受け取ることができる。 ret = yield 'ping' print('coroutine got', ret) ret = yield 'ping2' print('coroutine got', ret) coro = my_coroutine() # まずは iterator 同様 next() を使って処理を動かす。 # 最初の yield まで処理が進ん

  • 1