Python で文字列を真偽値(bool)に変換する

今日、AWS Lambda を書いていたところ、環境変数から読み込んだ設定を条件判定に使うために、文字列を真偽値に変換する必要がありました。ふつうに考えると、Python が自動で変換してくれるか、bool("True") で変換できると思いますよね。しかし、まず大事なことですが、Python は型の自動変換を行いません。エラーは潔く出すだけです。では bool() を使えば問題ないと思いますよね? ところが、これが地雷でした……。今日は30分もこの地雷に時間を取られてしまいました…… ...

2016年12月8日 · 1 分

Python の GroupBy でデータをグループ化する方法(List+Dict)

Python でデータを扱うとき、ある Key で GroupBy(グループ化)するのはよくある作業です。たとえば Email Log を分析するときに、件名ごとの送信件数を知りたい場合や、件名ごとの Email Provider の上位5件を一覧にしたい場合などです。データベースがあれば、これは非常に簡単な作業です。しかし、データをデータベースに入れたくない場合はどうすればよいでしょうか。 そうした場合、非常に強力なデータ処理ライブラリである Pandas がおすすめですが、実は Python 本体にも GroupBy が用意されています! ...

2016年12月7日 · 1 分

参加者として見たこと - PyCon Taiwan 2016

PyCon Taiwan 2016 から、もうすぐ1か月が経ちました。今回は jserv さんのチケット贈呈企画のおかげで、台湾の Python 開発者による年に一度の大きなイベントに参加することができ、本当にありがたく思っています。イベントが終わってからずっと、このレポートをどの視点で書くか考えていました。これまで私は、コミュニティイベントではスタッフとして参加することが多かったのですが、今回の PyCon は参加者として来たので、参加者の視点から、今年の PyCon Taiwan で見た良い点と悪い点をまとめることにしました。良い点は他のカンファレンスでも参考になりますし、悪い点も改善のための教訓として役立ててほしいと思います。 ...

2016年6月23日 · 1 分

uWSGI

はじめに uWSGI はプロトコルであり、同時にプログラムでもあります。 なぜこれほど複雑なのでしょうか。まずはプログラムの話から始めましょう。uWSGI は、もともと Python で書かれた Web アプリケーションが Nginx や Apache などの Web サーバーと通信できるようにするために作られたプログラムです。uWSGI は独自の uwsgi 通信プロトコルを採用しています。また、cgi、fastcgi、socket などほかのプロトコルにも対応しているため、Python だけでなく PHP や Go などのプログラミング言語とも連携できます。 ...

2015年7月24日 · 3 分

Linux に Python を手動でインストールし、yum が動かなくなる問題を避ける方法

以前、Linux 上の重要なデータを自動でバックアップして Google Storage にアップロードするプログラムを書いたことがあります。当時は Python 2.7 を使っていましたが、Linux に標準で入っている Python は 2.4 で、yum でアップグレードしても最新は 2.4 までです。そのため新しいバージョンの Python を使うには、自分でコンパイルするしかありません。以下では Python 3.2 を例に説明します。 ...

2011年8月19日 · 1 分

Python のモジュールインストールをもっと簡単に~ easy_install の使い方と egg ファイルのインストール方法

ご存じのとおり、Python は拡張性が非常に高いのが特徴です。サードパーティ製のモジュールをインストールすれば、欲しい機能を追加できます。例えば、「中国語」でプログラムを書きたい場合は zhpy というモジュールをインストールできます。ただ、こうしたモジュールのインストールは、難しくはないものの手間がかかります。ボタンを何回か押すだけで済むものもあれば、システムの設定を変更しなければならないものもあります。そこで今回は「easy_install」というプログラムを紹介します。これを使うと、Python でのモジュールのインストールがずっと簡単になります。Linux の yum に近い使い方で、一行のコマンドでモジュールをインストールできます~ さらに easy_install では、いわゆる egg 形式のパッケージもインストールできます。 ...

2011年5月1日 · 1 分

【Python】Python の世界への第一歩:HelloWorld(文字の出力とコメントの書き方)

多くのプログラミング言語の入門書では、最初の練習プログラムは HelloWorld です。HelloWorld とは、プログラムに「HelloWorld」と出力させることです。この記事では、最初の Python プログラムの書き方を紹介し、Python の基本的な使い方もあわせて簡単に解説します。...

2011年2月20日 · 1 分

【Python】Python インタプリタのインストール方法

最近 Google Storage で遊んでいたので、長らく眠らせていた Python の本を取り出して読んでみました。Google Code のドキュメントも参考にしながら、自動バックアップの小さなプログラムを書きました。まだ簡単なものなので今は公開しませんが、このプログラムを書いてみて、Python はかなり簡単なプログラミング言語だと実感しました。習得のしやすさや厳密さでは VB と同じくらいですが、冗長さでは Python のほうが VB より優れています(VB のほうが冗長だという意味です XD)。たとえば VB の条件文は if.....then.......end if と書く必要がありますが、Python なら if....: だけで始められます。また Python ではインデントがとても重要です。インデントが正しくないとプログラムは実行できません。インタプリタがインデントを使って、条件分岐やループなどの構造がどこで終わるかを判断しているためです。個人的には、初心者の方に Python をおすすめします。とてもきれいなコードが書けるようになりますよ~...

2011年2月18日 · 1 分