サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
あなたがもしPythonを作る前のGuidoに憑依して - ネットリサーチ - livedoor ニュース が面白すぎた。2位と3位の すべてを式にする lambdaの構文を変える は、同じ願いを別の言い方でしてるような気がした。lambdaにifとforを入れたいをかなえるには、ifとforを式にするか、lambdaに文が入るようにするか、どちらか一方だし。 それはさておき、このエントリの本題は、「Pythonにはselfが要る」というGuidoさんの主張について、具体例で理解することです。「こうだったらいいのにな」逆の視点、もしselfがないとどう困るのか、を考えましょう。 そこで、Pythonとは別の母親から産まれた双子、JavaScriptを例に、thisについて考えてみます。Pythonに対して、JavaScriptは「メソッド定義の第一引数に余分なアレがないこと」が特徴でしたね
Pythonを選択した理由 通常のプログラマの皆さんと同様に、筆者もいろいろな業務や私的なプログラミングにおいて複数の言語を利用しています。組み込みシステムの業務をするときはC言語を使用しますし、最近の私的なプロジェクトではErlangを使っていますし、趣味においてはMathematica、Rなどを使用します。 過去、システムインテグレーションを業としていた時期は、C++やJavaも利用していましたし、現在もそれらを利用することに強い抵抗を感じるわけではありません。このように目的に応じて利用するプログラム言語を変えているのですが、総じてみると、Pythonを利用する頻度が高くなっています。筆者が日常的に利用する言語として、Pythonを選択する理由は大きく次の2つがあります。 ・アイデアをすぐに実現できるから。 ・Zopeで利用しているから。 以降、この2つの理由について説明しますが、一言
普段Perl使ってて、sprintf()ってよく使うんだけど、Perlの場合、引数の部分に配列を指定して、たとえば以下のように書ける。 my @list = ('foo', 'bar'); my $str = sprintf('%s, %s', @list); これは、 my $str = sprintf('%s, %s', @list); が my $str = sprintf('%s, %s', 'foo', 'bar'); と同じだから、引数の数が書式指定と一致しておkになります。 これ、配列に値を入れといてあとで使えるから便利なんだけど、これってPHPとかRubyとか他の言語だとできないんですね。配列が、Perlでいうところの配列リファレンスなので、sprintf('%s, %s', list);とかやると引数がすくないよ!っていわれるわけです。もちろんPerlでもsprintf(
先週の金曜日にちょっとした集まりがあって、どういう流れでそうなったのか思い出せないんだけど、なぜかPythonistaがJavaScriptをDisって私がJSを弁護するという展開になった。 まぁでもここではそれの場外乱闘をしたいわけではなくて、ただそんとき言い忘れたことを思い出したので、それについてちょっと書きたい。 要は「PythonとJavaScriptってわりと似てね?」って話。 Pythonの勉強を始めて最初に思ったことなんだけど、PythonとJS、この二つはなんだか他人と思えない。別に上のPythonistaに喧嘩売ってる訳ではなくて、以前ホントにそう思った・・・んだけどなぁ。 ・・・ ずっと以前にJavaScriptの本読んでかなり驚いたことの一つに変数のスコープの話がある。JSだと変数がブロックのどの位置で宣言されてもその変数はブロックの先頭から有効になるという奴。例えば
2017-04-16 FreeBSD/mpd 2016-12-23 RecentDeleted Blogアプリ 日記 2016-11-17 本当にあった怖いコード/1 2016-05-16 .NET 2015-07-06 書きたいこと 2015-07-05 postgres Java/変数の初期化に安易に空オブジェクトを代入しない 2015-06-30 PukiWiki/1.4/マニュアル/プラグイン/u 本当にあった怖いコード/15 2014-10-01 日記/2014-10-01 2014-09-09 日記/2014-09-09 2014-08-13 日記/2014-08-10 2014-05-28 バグパターン/日時 バグパターン 2014-04-13 IPv6 2014-03-20 パスワード問題 2014-01-27 DNS/ルートサーバーは13台という神話 2014-01-25
それにしても、Pythonのjoin()はなんでArray#joinでなくてString#joinなんだ? これ、理由は明解で、「join メソッドは文字列の処理だから」です。 This method can be used with any argument which obeys the rules for sequence objects, including any new classes you might define yourself. 弾さんのところのコメントに出てきている、「General Python FAQ - 1.4.8 Why is join() a string method instead of a list or tuple method?」で全てなわけですが、str.join (unicode.join) は 任意の sequence に適用できて、 ",
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
2006年11月21日13:30 カテゴリ書評/画評/品評Lightweight Languages There's more than one language to cook your problems 今書いている本の資料として両書とも購入したのだけど、よせばいいのに二つとも一気読みしてしまった。 Python Cookbook (2nd Ed.) Ruby Cookbook コンデンスミルクを二缶いっきのみしたような感じ。うぐぐ... Perl Cookbook (English) Christiansen / Torkington [邦訳: Perlクックブック] 見てすぐわかるとおり、"Python Cookbook"も"Ruby Cookbook"も、大好評だった"Perl Cookbook"(404 Blog Not Found:perl - "Hello, world!"
Ramblings through technology, politics, culture and philosophy by the creator of the Python programming language. Someone jokingly asked me how I would sort a million 32-bit integers in 2 megabytes of RAM, using Python. Taking up the challenge, I leared something about buffered I/O. Obviously this is a joke question -- the data alone would take up 4 megabytes, assuming binary encoding! But there's
とりあえずテスト結果の傾向のみメモ。 昨日のcompact_number_listをインデクシングを使ったリスト版とイテレータ版の時間を比較していたが、短いリストだとインデクシングの方が速いが、長いリストになるとイテレータの方が速い。compact_number_listではchainとteeがボトルネックになっていて特にchainが遅い。Python3.0では2.5よりもchainは少し速くなっていて、chainの代わりにzip_longestも使えるがchainとほぼ同等の速度だった。 扱うリストが長ければイテレータの方が有利になってくるという傾向は一般的なように思える。 Python 3.0をテストしていて驚いたのが以下の例。 >>> from timeit import * >>> t1 = Timer('L[5000]', 'L=range(10000)') >>> t2 = T
Some _mysql examples Okay, so you want to use _mysql anyway. Here are some examples. The simplest possible database connection is: import _mysql db=_mysql.connect() This creates a connection to the MySQL server running on the local machine using the standard UNIX socket (or named pipe on Windows), your login name (from the USER environment variable), no password, and does not USE a database. Chanc
MySQLdb is a Python DB API-2.0-compliant interface; see PEP-249 for details. For up-to-date versions of MySQLdb, use the homepage link. Supported versions: * MySQL versions from 3.23 to 5.5; 5.0 or newer recommended. MariaDB should also work. * Python versions 2.4-2.7; Python 3 support coming soon. ZMySQLDA is a Database Adapter for Zope2.
Develogger: codecsで使えるエンコーディング (http://www.r-stone.net/blogs/satoshi/2008/02/codecs.html) Pythonのcodecsで使用できるエンコーディングは「encodings」モジュールにあるようです。 ... WindowsXPでは「C:\Python25\Lib\encodings」になります。 リストを先読みするには以下のようにイテレータを複製して、ポインタを必要な分だけ進めておく。そして並列に回す。 >>> from itertools import * >>> xs = range(7) >>> xs1 = chain(xs, [None, None]) >>> xs1, xs2, xs3 = tee(xs1, 3) >>> xs2.next() 0 >>> xs3.next(); xs3.next
multiprocessingといっても今まであったos.forkをうまくラップしてくれてる というだけなのでプロセスをforkしたらどうなるの?っていうのを知らないと 扱えないと思われる。 forkすると子プロセスには今までの状態がコピーされるがその後はメモリ空間が 別々になる。 (当たり前の話) だが開いているfdとかファイルエントリテーブルなどは共有される。 どのタイミングでforkするかが個人的には重要。 例ではPIPEはいっさい使ってない。 from multiprocessing import current_process, cpu_count, Process, Manager, Queue import time class Parent(object): def __init__(self, name): self.name = name self.queue = Qu
2008.10.02 Python 2.6 リリース関連 テーマ:プログラミング言語 Python を使う(339) カテゴリ:Python Python 2.6 がリリースされたのね。PEP: 361 Python 2.6 and 3.0 Release Schedule もアップデートされている。Oct 01 2008: Python 2.6 final released だけど、Python 3.0 の方は ??? になっているなぁw Python 2.6 と 3.0 のリリース予定 (2008.03.20) の時点では、Sep 03 2008: Python 2.6 and 3.0 final だったから、1ヶ月ほど遅れたようだが、この手のものとしてはほぼスケジュール通り優秀って感じ。 What’s New in Python 2.6 をさらっと見ておく。Python 2.6 は、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く