Pythonに関するhachibeechanのブックマーク (2)

  • Pythonのasync関数を扱いやすくする方法

    January 16, 2018 Pythonのasync関数を扱いやすくするライブラリの紹介 (最後に追記があります) 最新のPythonでは、JavaScriptのようにasync関数を使うことができるようになっています。しかしあまり普及しているようにはみえません。 コミュニティの性質上いまだにPython2がのさばっていることや、JavaScriptのように非同期前提の設計にAPIが(まだ)なっていないなどの理由があるんじゃあないかと推測していますが、もう1つAPIが古臭い少々複雑であるというのも少なからず影響しているかとおもいます。 https://docs.python.org/3.6/library/asyncio-task.html こちらがasync周りのドキュメントになっていますが、これだけ読んでも基的な使い方ですらピンとくる人はなかなか少ないんじゃないかとおもいます。

    hachibeechan
    hachibeechan 2018/01/17
    ドキュメントをちゃんと読まないと無駄な時間を使うよという学びをえてしまった
  • Pythonのラムダ辛い問題を解決する暗黙のプレースホルダ - タオルケット体操

    * ネタ元 Rubyのブロックつらい問題を解決する暗黙のブロックパラメータ - Qiita RubyPythonのブロックラムダつらい問題 Pythonでショートコードをしようとおもうと、時々こういうことが起きます。 map(lambda it: it.upper(), ['foo', 'bar', 'baz']) それぞれの要素に対してupcaseを適用する、ただそれだけのためにitを2回も記述しなければなりません。っていうかそもそもlambda:って読みにくいです。 Pythonはラムダをあまり使わない言語なのでこの様なコードを書く機会は少ないですが、それでもちょくちょく出番があり、やがてあなたは辟易するはずです。 <中略> 参考になる例として、ClojureやScalaでは暗黙のパラメータ(プレースホルダ)を導入することでこの問題を上手く解決しています。 <例は省略> やりましょう

    Pythonのラムダ辛い問題を解決する暗黙のプレースホルダ - タオルケット体操
    hachibeechan
    hachibeechan 2015/02/12
    業務でこういうコードを書いてはいけない(いましめ)
  • 1