タグ

ブックマーク / atsuoishimoto.hatenablog.com (6)

  • Python 3.8 の概要 (その1) - Assignment expressions - atsuoishimoto's diary

    古来、Pythonでは「代入は文であるべき!」と一貫して主張してきました。 C言語などでは、代入は足し算や掛け算と同じ、値を計算する「式」で、たとえば a = (b=100) / 2; と書くと、b には 100 を代入し、a に 100/2=50 を代入します。1+1 は 2 という値になる 式 ですが、b=100 も同様に値が 100 となる 式 なのです。 Pythonでは、代入は式ではないので、こういう書き方はできません。 Pythonの代入は、足し算などの演算子の仲間ではなく、if や for のような制御文の仲間で、あまり自由な書き方は出来ないのです。 Python FAQ では、その理由として Python の式中での代入を許さない理由は、この構造によって起こる、他の言語ではありがちで見つけづらいバグです: if (x = 0) { // error handling } e

    Python 3.8 の概要 (その1) - Assignment expressions - atsuoishimoto's diary
    hiroomi
    hiroomi 2019/09/03
  • docs.python.jpでのドキュメント公開終了 - atsuoishimoto's diary

    これまで、python.jpではPythonの日語ドキュメントを公開してきたが、この度、ドキュメントのホスティングを終了し、docs.python.org へのリダイレクトのみをおこなうようになった。 www.python.jp 実に喜ばしいことである。これまで、日語ドキュメントは python.jp においてある私家版でしかなかったが、python.orgで公開されることで、一定の公式っぽさを得ることができる。 また、python.jpは私が一人でほそぼそと、さくらインターネットの一番安いVPSで管理運用してきた。しかし、これからはPython家の運用チームできっちり運用していただけるのである。 別に難しいことをしていたわけではないが、python.jp運営のプレッシャーはちょっとしたものだった。ここ近年のPythonブームも、私がちょっとしくじってドキュメントを参照できなくなる、

    docs.python.jpでのドキュメント公開終了 - atsuoishimoto's diary
    hiroomi
    hiroomi 2019/02/27
  • Pythonのfor文は遅い? - atsuoishimoto's diary

    bicycle1885.hatenablog.com こちらの記事を拝見していて、ちょっと気になったので注釈。 PythonやRを使っている人で、ある程度重い計算をする人達には半ば常識になっていることとして、いわゆる「for文を使ってはいけない。ベクトル化*1しろ。」という助言があります。 これは、PythonやRのようなインタープリター方式の処理系をもつ言語では、極めてfor文が遅いため、C言語やFortranで実装されたベクトル化計算を使うほうが速いという意味です。 昔からよくこういう言い方がよくされるが、当にPythonのfor文は遅いのだろうか。 聞くところによるとRのfor文はガチで遅いそうだが、Pythonの計算が遅いのはインタープリタ方式だからでも、for文が遅いからでもない。もちろん、Pythonはインタープリタなので遅いし、for文だって極めて遅い。しかし、これはPyt

    Pythonのfor文は遅い? - atsuoishimoto's diary
    hiroomi
    hiroomi 2018/01/07
  • Python3用パッケージってどのぐらい増えただろ? - atsuoishimoto's diary

    Python3を使ってても、PyPIのパッケージがPython3対応かどうか、あんまり心配しなくなった気がする今日このごろです。 体感的にはPython3であまり不自由はない感じになってきたが、実際問題、どの程度Python3対応が進んでいるのか、気になったので簡単に調べてみた。 PyPIの情報は xmlrpcインターフェース で簡単に取得できる。あまり速くないので、全件取得するとかなり時間がかかるが。。。 最新パッケージの情報を取得し、Programming Language として Python 3 を明記しているパッケージの件数をカウントした。もちろん、メタ情報を記述していないパッケージもあるので誤差はあるが、それほど多くはないだろう。 で、2016年6月18日時点でダウンロード可能なパッケージ数は 70524件。そのうち、Python 3 と明示的に表記しているパッケージは。。。

    Python3用パッケージってどのぐらい増えただろ? - atsuoishimoto's diary
    hiroomi
    hiroomi 2016/07/20
  • Zipファイル一個で実行可能なPythonアプリケーションを作ってみる - atsuoishimoto's diary

    アプリケーションを作成して配布するとき、配布するのは複数のファイルやディレクトリではなく、ファイル一つだけで済ませることができたらそれに越したことはないだろう。Pythonには cx_Freeze や py2exe のような、プラットフォーム固有な実行可能ファイルを開発するための環境も揃っているが、ここではもうちょっとライトに、Pythonの実行環境があれば実行できる zip ファイルの作り方を紹介したい。例として、flaskを使った簡単なWebアプリケーションを作ってみよう。 尚、ここで作成したファイルは https://github.com/atsuoishimoto/demo_pkgrsrc に置いてあるのでご参照いただきたい。 リソースファイルの使い方 普通、アプリケーションにはスクリプトファイル以外にいろんなファイルが含まれる。この例のようなWebアプリケーションではHTMLやC

    Zipファイル一個で実行可能なPythonアプリケーションを作ってみる - atsuoishimoto's diary
    hiroomi
    hiroomi 2012/05/04
  • The Zen of Python 解題 - 前編 - atsuoishimoto's diary

    The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In

    The Zen of Python 解題 - 前編 - atsuoishimoto's diary
  • 1