1 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:59:28 ] Pythonオフィシャルサイト www.python.org/ 日本Pythonユーザ会 www.python.jp/Zope/ まとめWiki python.rdy.jp/ 関連スレ find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python 前スレ pc12.2ch.net/test/read.cgi/tech/1264924208/
369 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 01:22:16 ] im自体をメモリ上に持つのはだめなの? 一応tostringっていうメソッドはあるみたいだけど
370 名前:338 [2010/03/31(水) 01:31:57 ] Tutorialって日本語訳として出版されたものでないと、 書籍の形にはなってないんですか?
371 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 01:41:29 ] You can use a file object instead of a filename. In this case, *** you must always specify the format. *** The file object must implement the seek, tell, and write methods, and be opened in binary mode.
372 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 01:42:36 ] >>368 im.save(s, 'gif') かな。format指定しないとダメと思う。 fileオブジェクトの場合は .name の拡張子から フォーマット判断してくれる(たしか
373 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 01:48:12 ] >>369 ありがとうございます tostring() だと pixel 部分の sequence のみ?とか良くわからないデータになってしまいます 所謂ファイルに出力されるそのままのイメージでバイナリでメモリ上に持ちたかったので・・・ >>371 ありがとうございます 解決しました s = StringIO.StringIO() im.save(s, 'gif') でうまくいきました そのあと試しに s.seek(0) open('hoge.gif', 'wb').write(s.read()) とやったら同じファイルが作成されました
374 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 01:50:31 ] >>372 ありがとうございます リロードずれたので行き違いになってしまいました 結果は >>373 の通りです
375 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:31:34 ] 初心者的な質問で申し訳ありませんが a = open("hage.txt", "r") for b in a.readlines(): fugafuga a.close() と書くのと for b in open("hage.txt", "r").readlines(): fugafuga と書くのと(close書かない&ファイルオブジェクトの参照を変数に持たない) どっちが良いですか?
376 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 14:06:20 ] readlinesすると全部読み込んでメモリ上に乗ってしまうから バカでかいファイルを読み込むと死ねます。 ということで、 with open("hoge.txt") as f: for line in f: fugafuga がいいと思います。 こう書くとwithのブロックが終わった直後に f が自動でcloseされます。
377 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 19:44:36 ] for line in open("hoge.txt"): fugafuga
378 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 20:21:13 ] ファイルの最後3行だけ読みたいときに perl だと open(F, "tail -3 /hoge/fuga/hage.txt | "); while(<F>){ print $_; } みたいな書きかたが出来たと思いますが python だとどう書けばよいのでしょうか?
379 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 20:46:56 ] lmgtfy.com/?q=python+tail
380 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 20:48:45 ] pipeがやりたいならsubprocess.Popenだけど、もっとPythonicな方法がありそう import subprocess path = "tail -3 lazy.py" f = subprocess.Popen(path, stdout=subprocess.PIPE).stdout for line in f: print line, f.close()
381 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 20:50:46 ] 空白置換すんの忘れてた…… import subprocess path = "tail -3 /hoge/fuga/hage.txt" f = subprocess.Popen(path, stdout=subprocess.PIPE).stdout for line in f: print line, f.close()
382 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 21:31:07 ] (´゚ c_,゚`)プッ
383 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 23:34:05 ] pipe使わないならこんな感じか? limit = 3 lis = [] for line in open('/hoge/fuga/hage.txt ', 'r'): if len(lis) >= limit: lis[:-limit+1] = [] lis.append(line) print ''.join(lis)
384 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 01:26:32 ] tailは前から読み込んで捨てていくんじゃなくて、後ろから読みながら指定行をゲットしたい。
385 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 01:45:36 ] >>383 前から全部読むにしても、せめてdeque使ったほうがいいな file-like objectがseekableなら、 ttp://stackoverflow.com/questions/136168/get-last-n-lines-of-a-file-with-python-similar-to-tail この辺で
386 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 02:25:17 ] >>380 できました ありがとうございました subprocess.Popen で気になるのは stdout だけ close() してるので stdin とか stderr とかは close() 書かなくても大丈夫なのかどうかってことです
387 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 02:28:50 ] >>378 PythonスレにPerlのコードを貼るな 汚いから誰も見たくないだろう
388 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 05:01:16 ] 正直に言うとlinux環境だとちょっとしたプログラムなら ついperlで書いてしまうんだよ、ごめんね
389 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 05:24:19 ] >>388 ゆる
390 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 08:47:21 ] >>388 一人でこっそり書くなら許す
391 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 12:46:13 ] >>388 ぜったいにゆるさない
392 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 12:55:37 ] >>388 Perlのコードを人に見せるなんて、 おな(ryを人に見せるのと同じだ!!
393 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 13:37:37 ] perlの様なもので殴られた後があり
394 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 14:55:27 ] sageに入ってるpythonはデフォで色々入ってるのはいいけど 日本語通らないね
395 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 15:53:18 ] 2.4 以前は糞
396 名前:デフォルトの名無しさん [2010/04/01(木) 17:03:54 ] Tutorialって日本語訳として出版されたものでないと、 書籍の形にはなってないんですか?
397 名前:デフォルトの名無しさん [2010/04/01(木) 17:06:26 ] Pythonスレで聞くのもなんだが、LL内で1つ覚えるならPython? Perlに劣ってることってある?
398 名前:デフォルトの名無しさん [2010/04/01(木) 17:07:13 ] Pythonのバイブル本って何なんですか? Cでいうカーニハン&リッチー的な
399 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 17:10:34 ] そんなものはねえ
400 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 18:29:20 ] >>397 Perlキモイ、Ruby氏ねな俺でもPythonがベストとは言わない Pythonよりも目標に向いてる言語があるならそっち使った方がよい
401 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 18:30:55 ] >>397 起動が遅い。 Webプログラミング以外の用途も考えているのなら、 Pythonを進めるが。
402 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 18:37:27 ] 今までプログラム書いたことないなら Perl より Python の方を薦めるよ いきなり Perl から始めると変な癖つくからね
403 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 18:50:42 ] まぁスクリプト言語学びたいならLinux使えよ スペックあるならWinでもVMWare使えばいいし
404 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 18:52:50 ] Linuxを学びたいならLinuxを学べばいいが、 スクリプト言語を学ぶのにわざわざOS環境まで用意する必要は無い。
405 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 18:56:47 ] >>398 信者と言われそうだがはじぱいなんかそれに近いんじゃないか?
406 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 18:59:15 ] 東京キャビネットにperlとrubyのバインディングあるのにpythonがないのは何で? LL言語間とWebプログラミングに派閥みたいなもがあるのかな?
407 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:05:01 ] >>460 pytc
408 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:10:01 ] >>397 1つ覚えるならPerlじゃないか? どこのWebサーバ借りても大抵は最新のが使えるのは有りがたい。 Pythonはいまだに2.3なんてとこもある。 ただし、PythonにはGAEという無料で使える最強のサーバが存在するので、 自分で1からWebサービス作りたいとかならPythonが有利ではある。 ぶっちゃけ、1つ覚えたら他のなんてリファレンス片手に1日で使えるようになるから、 何を覚えるかなんて気にしなくていい。
409 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:13:06 ] Perl Rubyはライブラリの充実度や汎用性からいってにありえないな。 日本はWebプログラミング中心に語れることがおおいから Pythonに人気無いんだと思う。
410 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:15:08 ] 日本語が不自由だということはよくわかった
411 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:15:47 ] Pythonに人気がないのはRubyの作者が日本人でみんなそっちに流れていくからじゃないのか
412 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:20:03 ] いや日本ではWeb以外のプログラマにスクリプト言語がまだまだ普及して無いからだと思うよ。 ハード系エンジニアで面倒なときにPythonつかうことがあるんですが、 こっちの世界の人はC/C++書いてるくせにスクリプト言語といっても通じない人が多いんです。
413 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:34:24 ] そういう奴らはbashすら使えないクズだろ
414 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:37:34 ] まあクズだね。 自分シェルスクリプトなんてやらないけど。 VHDLとかハード記述言語は本業なので使えるけど。
415 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:40:44 ] Pythonが教育で使われてるのはコードが綺麗で変な癖がないというのもあるだろうけど、 ほかのスクリプト言語が応用範囲が狭すぎるってのがでかいな。 研究用途ではPerlが一部あるけど、Rubyなんてほとんどないのでは? PythonはPerlやRubyだけでなくてJavaなどとも競合している言語です。 Webだけで言語の優劣論はできないと思うよ。
416 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:43:51 ] だからPythonもPerlもJavaも使えるようになれよ こんな所で駄レスしてる間に覚えられるっつーの
417 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:53:07 ] アプリケーションのモジュール書くという実際の要求があって 採用されてるのがPythonだった俺に選択の自由はなかった
418 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:55:39 ] Pythonは研究用途でも使われてますよ
419 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:56:54 ] いつも書くたびに思うがサーバーサイドのスクリプト言語の中ではPythonが1番いいよね。
420 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 19:57:24 ] Python も Ruby もこの世に存在していなくて HTML すら無かった時代だったから Pascal とか C くらいしか魅力なかったな FORTRAN や COBOL は論外
421 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 20:00:06 ] 論外と思う言語でも使わざるを得ないときもある。 大体最近の言語は文法を把握してコードがかけるようになるより、 ライブラリ把握してつかいたおうほうが時間がかかる。
422 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 20:00:17 ] Lispでいいから
423 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 20:04:51 ] >>416 そんなのわかった上で書いてるんだろう。 そもそもスクリプト言語なんてがんばって覚えるほどのものでもないだろう。 どうせ使うときにすぐ覚えられるんだからな。 どんな言語をつかってもだめなやつはだめ。
424 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 21:43:21 ] dbist_wininstでつくったらしい.exeってサイレントインストールできないのかな? install directoryも編集できないしちょっと困る
425 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 21:57:29 ] setuptools入れて python -m easy_install 424のexe が一番楽だと思う。オプションである程度ディレクトリとかいじれる
426 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 22:18:23 ] easy_installに渡すのはすごくいい案!と喜んでやってみたら share/ にデータつくるやつとかpost_installで.bat作るやつとか(ipython)は 無視されちゃいました。 でも柔軟なアイディアをありがとう
427 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 22:30:11 ] 別にPythonのスレなんだからPythonいいよねぇ みたいな話がでてきてもいいと思うんだが、 よくないと思ってるのに使ってる人が多いのかここは…w 初学者を追い払おうと変なやつが常駐しているみたいにみえる。
428 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 22:41:40 ] yam install -y (python-)[hoge]の方が楽だよね
429 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 22:51:05 ] >>426 setuptoolsはinstall_script/pre_install_scriptオプションに対応してないね メタデータをexeに埋め込んでるけど探そうともしてないみたい
430 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 23:27:20 ] pass
431 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 23:29:02 ] github.com/reverie/autolib これネタなのかな 発想は面白いと思うんだけどw
432 名前:デフォルトの名無しさん [2010/04/02(金) 01:46:13 ] Pythonの本は何が決定版なの?
433 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 01:54:51 ] 今年発売されるExpert Python Programming
434 名前:デフォルトの名無しさん [2010/04/02(金) 03:42:22 ] 今から勉強するならPython 3がいいですよね? でも人気のある本はだいたい2が主流で、3は2との違いを最後のほうに少し解説しているだけのようです。 どうすればいいでしょうか?
435 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 03:44:38 ] 本とか関係なしに2がいいよ
436 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 05:33:55 ] python3は最新版じゃなくて永遠の実験場
437 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 07:06:04 ] Google App Engineとxreaが2だからずっと2でしか書いてない
438 名前:デフォルトの名無しさん [2010/04/02(金) 07:17:18 ] みんなのpythonとはじめてのpythonどっちがいいですか?
439 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:00:21 ] とりあえずみんなのPython買えば?
440 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:05:57 ] >>438 君はみんなのPythonが似合ってると思うよ twitter.com/mopemope/status/11461863638
441 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:08:00 ] はじめての Python は 「初ぱい」と「恥ぱい」の二種類あるから要注意 後者は糞
442 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:14:17 ] >>440 真実と嘘の区別が付かないひとは 2ch に向かない
443 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 14:31:15 ] linuxのyum使うとwinでいちいちexe落とすの面倒になるな もうwinのサポート切っちまうか
444 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 14:39:26 ] どうぞどうぞ
445 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 17:11:33 ] Macportsの壊れっぷりはなんとかならないのか
446 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 21:39:43 ] *BSD涙目6ぷぎゃー9
447 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 01:59:24 ] >>440 みっともねーw
448 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 03:08:04 ] Python環境作るとき真っ先にeasy_installを入れるんだけど、 標準に入れない理由ってなんだろ。
449 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 03:34:53 ] python自体の機能じゃないからかな 知らんけど
450 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 03:57:23 ] >>426 きちんと調べたけどwininst-*.exeにくっつけたリソースとかは探してた でもpre_install_script/install_scriptは呼んでない DATA/*以下を無視してるし、eggに全部固めるというポリシーなんだと思う >>448 setuptools/distutilsはカオスさ半端ないし、上に書いてみたいに仕様が違ったりするし 誰もやりたがらないんじゃないの
451 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 10:53:05 ] Tarek Ziade ががんばってる。 Python 2.7 では easy_install が標準に入るはず。 しかもアンインストールもできるようになるはず。
452 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 10:58:59 ] わあいわあい
453 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 13:30:06 ] >Python 2.7 では easy_install が標準に入るはず。 これはどうでもいいけど >しかもアンインストールもできるようになるはず。 こっちはありがたい
454 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 16:41:52 ] 2.7なんてあるのか 2系は2.6で終わりかと思ってた
455 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 16:44:49 ] www.python.org/download/releases/2.7/
456 名前:デフォルトの名無しさん [2010/04/04(日) 04:50:39 ] >>451 easy_installを標準にするんならpypiを使い易いようにして欲しい。
457 名前:デフォルトの名無しさん [2010/04/05(月) 14:16:48 ] >>451 >>453 distribute easy_install -> pip packages.python.org/distribute/roadmap.html#id1
458 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 19:33:05 ] datetime.utcnow() でつくったdatetimeを、JSTに変換して出力したいんですが どうしたらいいでしょうか。 >>> from datetime import datetime >>> dt = datetime.utcnow() >>> dt.strftime('%Y-%m-%d %H:%M:%S %Z') '2010-04-05 00:09:44 ' # JST に変換して出力したい マニュアルよんでもわけわかめです。
459 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 19:41:51 ] >>> from datetime import datetime >>> dt = datetime.utcnow() >>> tz = datetime.now() - datetime.utcnow() >>> tz datetime.timedelta(0, 32400) >>> dt + tz datetime.datetime(2010, 4, 6, 19, 40, 18, 922000) >>> (dt + tz).strftime('%Y-%m-%d %H:%M:%S %Z') '2010-04-06 19:40:18 '
460 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 19:47:22 ] なんかインチキっぽいな
461 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 19:55:19 ] 大丈夫
462 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 22:32:50 ] JSTって分かってるんだったら datetime.timedelta(0, 60*60*9) でいいのでは?
463 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:31:37 ] そりゃそうだ
464 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:32:46 ] レンサバだと datetime.now() が何返すか判らんからなwww
465 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 00:16:10 ] サーバーサイドでユーザーのlocaleはpytzとかで自前解析だねえ
466 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 06:34:07 ] >>458 Pythonは標準ではタイムゾーン関係のクラスが用意されていないので、 class JST(datetime.tzinfo): def utcoffset(self,dt): return datetime.timedelta(hours=9) def dst(self,dt): return datetime.timedelta(0) def tzname(self,dt): return "JST" みたいに自分で定義して、datetime.astimezone(JST())でJSTにする。
467 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 08:44:34 ] (´・ω・`)
468 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 10:27:50 ] だれかが一覧を書いてくれればOKってこと? サマータイムとかがうざくて面倒すぎるのかな
469 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 15:20:28 ] PyPyってGoogleのプロジェクトだったの?知らなかった。 google-opensource.blogspot.com/2010/04/pypy-12-released.html
470 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 15:38:30 ] それ読むとGoogleが金出してるみたいね
471 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 12:21:50 ] >>458 ドキュメントに載ってたこれをコピペして class FixedOffset(tzinfo): """Fixed offset in minutes east from UTC.""" def __init__(self, offset, name): self.__offset = timedelta(minutes = offset) self.__name = name def utcoffset(self, dt): return self.__offset def tzname(self, dt): return self.__name def dst(self, dt): return ZERO JST = FixedOffset(9*60, "JST") でいいのかな。
472 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 18:07:54 ] >>468 ttp://www.python.jp/doc/release/lib/module-datetime.html >世界各国における時刻の修正に関する法則は合理的というよりも政治的なものであり、全てのアプリケーションに適した標準というものが存在しないのです。 日本でも夏時間を導入するなんて議論がしょっちゅう行われているしねぇ。 今JSTを定義しても、数年後には変わっている可能性がなくもない。
473 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 18:27:37 ] 理解できない。 JSTそのものを変更するんじゃなくて、 サマータイム版の標準時(JST-SummerTime)を導入すればいいだけじゃん。 てか「規格」ってそういうもんだろ? IPがv4からv6になるかもしれないから、 ネットワーク関連のクラス入れないよとかありえないだろ?
474 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 20:02:32 ] >>473 っつーか日本が中共に飲み込まれたら JST自体なくなってしまうかも試練ぞ
475 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 20:27:26 ] >>474 こういうのいらないから誰か引き取って
476 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 21:04:16 ] いらないです(´;ω;`)
477 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 21:07:23 ] ■AA対応チェック ┏━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ ┌───────────────┐ ┃ ┃ │ .右のAAのズレない環境が標準モナ.| ┃ ┃ └──y────────────‐┘ ┃ ┃ ∧_∧ | |\|/ | | | ┃ ┃ ( ´∀`) | ∧ ∧ |/⌒ヽ、| ∧_∧ | ∧∧ | ┃ ┃ ( つ |(,,゚Д゚)||,,゚ Θ゚)|(; ´Д`)|(=゚ω゚)| ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━┛ | | コソッ| | | |∧_∧ ジー ∧_/.| | __ |_|´◛ω◛`) .(´◛ω|_| .[lШШl] | | o【◎】 ( o| | (´◛ω◛`) ジー | ̄|―u' `u. | ̄||| | | | | """""""" """""""""""""""" ┏━┯━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━┻━┥ _,,.. ┃ ┠────┤ ⊂⊃ /,' 3~~\ ⊂.⊃ ┃ ┗━━┳━┥..............,,,,傘傘傘::::::::傘傘傘............. おてもと ┃ ┗━┷━━━━━━━━━━━━━━━━━━━━━━━┛ ┏━┯━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━┻━┥ (⌒-⌒) お食事処 仔熊庵 ┃ ┠────┤ ⊂⊃ (・(ェ)・ ) ⊂⊃ ┃ ┗━━┳━┥..............,,,,傘傘傘::::::::傘傘傘............. おてもと ┃ ┗━┷━━━━━━━━━━━━━━━━━━━━━━━┛
478 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 23:06:41 ] おてもと二つはきれいに揃ってるが一番上の看板は微妙にまっすぐじゃない。。。 俺の環境は標準じゃないようだ。ちなみにV2C。
479 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 23:09:50 ] monospaceフォントにしろ
480 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 23:15:29 ] >>478 16ptにしてもズレる?
481 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 23:33:35 ] >>479 480 pt16だす。なんか色々試したけど揃わない なんか線の太さが1.0だとすると0.1とか0.2とかってくらいに微妙にずれてるんだわ 内側の「標準モナ.| 」←こいつもなんか微妙にずれてるし とりあえずスレちなんで色んな所まわって勉強してきます ありがとん
482 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 23:34:25 ] 俺もV2Cでズレる(2ドット位だけど) まぁスレチ
483 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 04:42:59 ] ┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
484 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 17:22:43 ] Python 3 プログラミング徹底入門は評判どうなんでしょうか。 買った方いらしたらどんなもんか教えてください。
485 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 17:26:13 ] 本屋やってますが仕入れません
486 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 18:45:50 ] OS:windows バージョン:python3.1 標準のIDLEの使用に関して、 環境変数IDLESTARTUP(PYTHONSTARTUP)を設定していくつか初期設定を した上で動かしたいです。 しかしながら、上記環境変数を設定して、該当ファイルを配置しても、 ファイルの中身がIDLEに反映されません。 python shellであれば、PYTHONSTARTUPのファイルの内容が反映されます。 Windows版のIDLEは何か別に設定する必要があるのでしょうか。
487 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 19:10:10 ] この文は語学の観点から見まして非常に難解で抽象的です。 >標準のIDLEの使用に関して: IDLEの使用に関しての記載はないようです >環境変数IDLESTARTUP(PYTHONSTARTUP): 括弧を使っての「又は・或いは」の表現は理解できません。 >初期設定をした上で: 固有名詞には独自の定義が必要です。=抽象的 >上記環境変数: そういった記載は存在しません=解釈:環境変数名と値 >該当ファイル|ファイルの中身: 文をあからさまに難解にする原因となっていると推測されます。
488 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 19:18:48 ] どっちもどっちって感じだなw 何だよ語学的な観点って
489 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 19:43:18 ] setup.py
490 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 19:45:52 ] 間違えた こっち sitecustomize.py
491 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 20:37:04 ] >>487 センスはいいけど、それをここでいわないでくださいよ。 ていうか、そこまでやって回答なしですか? ちなみに、 >初期設定をした上で: 固有名詞には独自の定義が必要です。=抽象的 は、抽象的じゃなくて、あえていうなら曖昧ですよ。 個体の抽象は個体のクラスと同義だからね。
492 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 20:40:18 ] そもそも、いちいち意味論を完全にして書き込みなんかしない。
493 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 21:01:28 ] sitecustomize.pyでググッたらわかりましたが、 これもIDLEでは反映されないです。
494 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 21:06:45 ] idleを-sオプション付けて起動しなきゃ駄目じゃない?
495 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 21:20:25 ] -sオプションをつけても反映されないです。 とりあえず、PyShell.pyでロードしているみたいなので、 PyShell.pyを読み解いてなんとかします。 どうもどうも。
496 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 22:17:26 ] 自分で出来ゐなら質問しないで下さい。うざいだけです。
497 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 00:57:32 ] 出来い…?
498 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 01:00:42 ] 出来ゑ
499 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 09:48:52 ] 'はじめてのpython'に書いてあったことなんだけど res = [] for x in range(5): if x%2 == 0: for y in range(5): if y%2 == 1: res.append((x,y)) print res //(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3) をfilterとmap関数で表現したいのですが print map(lambda x:map(lambda y:(x,y), filter(lambda x:x%2==1, range(5))), filter(lambda x:x%2==0, range(5))) //[[(0, 1), (0, 3)], [(2, 1), (2, 3)], [(4, 1), (4, 3)]] てな感じで配列具合がうまいこと出来ません。 どうしたら良いのでしょう?
500 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 10:20:56 ] www.josw.net/blog/?p=987
501 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 10:51:45 ] reduce(lambda x, y: x + y, map(lambda x: map(lambda y: (x, y), range(1, 5, 2)), range(0, 5, 2)))
502 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:06:01 ] 非実用的な動的コードを書くのはやめて下さい。 even = filter(lambda x: x%2 == 0, range(5)) # 0-5の偶数をリストとして返します odd = filter(lambda x:x%2==1, range(5)) # 0-5の奇数をリストとして返します print map(lambda x:map(lambda y: (x, y), odd), even) # これを内包表記で表現すると原因が分かります。 [[(x, y) for y in odd] for x in even] # この場合は以下の通りに書き換えれば配列の具合が良くなります res = [] [[res.append((x, y)) for y in odd], for x in even] print res # 或いは res = [] map(lambda x:map(lambda y:res.append((x,y)), filter(lambda x:x%2==1, range(5))), filter(lambda x:x%2==0, range(5)))
503 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:13:00 ] print (lambda x,y,z: '%s, %s, %s'%((lambda x,y: '%s, %s'%(x,y))(*x),(lambda x,y: '%s, %s'%(x,y))(*y),(lambda x,y: '%s, %s'%(x,y))(*z)))(*map(lambda x:map(lambda y:(x,y), filter(lambda x:x%2==1, range(5))), filter(lambda x:x%2==0, range(5))))
504 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:16:39 ] わらた
505 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:17:20 ] >>502 こういうのは一行に拘るから意味があるのであって 二行以上でいいなら出来るのは当たり前で楽しくない ↓以下一行野郎うぜーのレス
506 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:18:17 ] どうみても、役には立たないな。 理論とは適当に折り合いをつけてプログラムしろぐらいの意味しかないだろ。
507 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:27:45 ] >>505 499の質問にはそういった事は書いて居ないと言うことは 君には協調性も知性もないということだな。 そして君はここから出ていくべきだ。
508 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:32:47 ] 1行にまとめる場合はlambdaを使う必要はないし、むしろ使うのはタブーだ 499ならまだしも、505はPython道を理解できてないし、それかただのperl流れの初心者であると推測できる
509 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:49:15 ] >>499 ようは、mapをネストするとリストのリストになってしまうわけだ。 >>501 のようにreduce使えばリストに戻せるが、mapとfilterでそれをする方法は少なくとも俺は知らない。 mapのネストをしないように気をつけて書いてみたら、こういう風になった(もっといい方法求む) つまり5進数で考えて、10(5)の位をx、1の位をyに置いた。 map(lambda x:(x//5, x%5), filter(lambda x: (x//5)%2 == 0 and (x%5)%2 == 1, range(5*5))) ただ、pythonではmap使うくらいなら内包表記をすることが推奨されている。 それだと、回りくどい方法を考えなくても素直にこう書ける。 [(x, y) for x in range(5) for y in range(5) if x%2 == 0 if y%2 == 1]
510 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 12:02:38 ] どう見ても内包表記向きの問題だが、それを使わないのなら flatmapを使うのが定石 Pythonにはないけど、 flatmap = lambda f, xs: sum(map(f, xs)), []) のように定義すればよい flatmapを使うと、以下のようになるよ flatmap( lambda x: map(lambda y: (x, y), filter(lambda x: x % 2 == 1, range(5))), filter(lambda x: x % 2 == 0, range(5)))
511 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 12:03:38 ] ああごめん flatmap = lambda f, xs: sum(map(f, xs), []) こうね
512 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 13:43:40 ] おまえらって文法で遊んでるだけじゃね?
513 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 13:46:58 ] 初心者に変なこと刷り込むわけでもないし別にいいじゃん
514 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 13:47:26 ] 失せろクズ
515 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 14:07:03 ] >>512 Lispスレで言ってこい。
516 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 14:11:28 ] >>512 おい ム板の核心を突くのはよせ
517 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 14:16:39 ] >503
518 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 14:37:53 ] >>512 それ以外にプログラミングやる意味あるの?
519 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 14:40:44 ] よくわかんないけど、流れで >>512
520 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 14:43:47 ] whenever you use python
521 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 21:26:06 ] csvファイルを開くときに filename=input("Open File Name? >") x=csv.reader(open("c:\data\filename.csv")) csvファイルは、c:\data内へ確実に置くとして任意のファイル名を入力させて認識させるにはどうすればいいかわかる方おしえて下さい。 (o_ _)o))
522 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 21:31:19 ] open("C:/data/%s.csv" % filename, "w")
523 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 21:32:08 ] filename=input('Open File Name? >') x=csv.reader(open(u'c:/data/%s.csv'%unicode(filename))) os.path.join()もある
524 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 21:34:15 ] Open File Name? って何語だよ
525 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 21:38:16 ] 他のスレで聞いて
526 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 21:38:36 ] >>522 >>523 ありがとうございます。
527 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 21:39:13 ] os.path.join() は絶対パスを優先するので os.path.basename() を通した方がいい >>> os.path.join(r'C:\data', r'D:\data\hoge.csv') 'D:\\data\\hoge.csv' >>> os.path.join(r'C:\data', os.path.basename(r'D:\data\hoge.csv')) 'C:\\data\\hoge.csv'
528 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 21:54:57 ] >>527 ありがとうございます。(o_ _)o))
529 名前:499 mailto:sage [2010/04/11(日) 00:05:39 ] >502 >507 すみません私の不足で誤解が生じたみたいで。 余興程度の質問でした。内包表記のほうがいいとゆうのは理解しております。 perlのTMTOWTDIに悪影響を受けている初心者なのでちょっとした好奇心でした。 >501 >509 >510 ネスト抜けるにはreduce必須だったりするんですね。 いろいろ勉強になりました。ありがとうございます。
530 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 00:34:42 ] reduceって嫌われてる?
531 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 00:41:58 ] マイナーだから使われてないが正確ではないかと
532 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 01:10:27 ] >>530 >>509 だが、>>499 にはfilterとmapで、と書いてあったからreduce使うのを避けたが、むしろ俺は結構好き。 python3ではGuidoが「美しくない」って理由だけでfunctools送りになったらしいが、ループ回すよりずっと美しくなることだって多い。 そのまま残すか、代替の美しい表記法を作ってから削除、という形にしてほしかった。まぁ、このはなしはスレ違いだろうが。
533 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 01:21:59 ] >>530 そんなことないんじゃないの sum()はreduce()の劣化版みたいなもんだし、 map()もリスト一個でいいんなら def map(f, xs): return reduce(lambda x, y: x.append(f(y)) or x, xs, []) でreduce()から簡単に作れる Guidoが嫌っているのは確かかもな
534 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 01:38:17 ] 関数型言語風の低レベルなビルディングブロックとしてreduceが有用なのは判るが、 Pythonとしてはより読みやすい+使いやすい高レベルな関数や機能で90%以上の需要を満たしているから、 reduceはあまり使われないし、使う場合だけfunctoolsから持ってこいという扱いをされる。
535 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 01:42:58 ] map/reduce/filter使い出すときりがないからな functoolsに分離したのは正解だと思う __fuiltins__ はできるだけ綺麗な方がいいし
536 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 02:52:03 ] pythonでLINQ使える?
537 名前:デフォルトの名無しさん [2010/04/11(日) 20:05:30 ] ┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
538 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 21:49:19 ] >>535 map, filterは内包表記に置き換え可能だよ。 ぶっちゃけ、内包表記だって、ちょっと複雑になると解読困難になる。
539 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 22:28:53 ] ky現る
540 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 00:10:55 ] >535 フ、フルチン?
541 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 00:17:38 ] ちょっとわらった
542 名前:535 mailto:sage [2010/04/12(月) 00:36:30 ] ホントなんでこんなタイポしたんだろう
543 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 03:26:30 ] はるか過去のこのスレで 野太いティンポがぱいそんぽいって 誰かが言ってたのを思い出した >>535 はそのひとか?
544 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 08:17:59 ] みんなごめん もうだめだ 会社の貯金も半年後には底をつく 大口の顧客がこの景気で調子悪いのが原因なんだ みんなごめん 本当にごめん
545 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 09:47:11 ] 逝ってヨシ
546 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 14:33:49 ] これが本とのデフォルトの名無しさん
547 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 14:35:01 ] 今 setup.py install の形式でしか提供してない自分のパッケ0時あるんだけど pypi にした方が便利なの?
548 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 15:16:02 ] "パッケ0時"の検索結果 1 件中 1 - 1 件目 (0.11 秒)
549 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 15:51:56 ] パッケ0時 -> パッケージ
550 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 16:13:03 ] テンキ0使えよ
551 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 20:12:14 ] ああ、0とーの誤爆か。 今更気がついたw。
552 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 20:43:24 ] テンキーなんて使わないだろ。
553 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 21:11:53 ] よそでやれ
554 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 07:33:37 ] 上のほうのタイムゾーンの話だけど、処理を自分で作らないで dateutil を入れてほしい(でないとすぐ「日本でしか動かない」 プログラムが量産されちゃうんだよね……)。 dateutil が標準で入っていないのは、データの更新が早すぎる とかいう政治的な理由だったはず。
555 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 08:48:38 ] タイムゾーンなんて、民主党が子ども手当みたいに無理矢理「来年からサマータイム導入」とか 言ったら本当に導入されちゃうくらい、不安定だからな。 標準ライブラリに入れるのは難しいだろ。 プログラマは普段からUTC使ったら良いと思うよ。
556 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 09:40:10 ] dateutilよりpytz使おうぜ
557 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 16:14:10 ] やっぱりwebだけはrubyにしようかね バージョン間の互換性ないのがすごい嫌だけど
558 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 16:37:36 ] >>557 なんで「やっぱり」になるのかさっぱり判らん。 DjangoやTG2、Kayで何か不満?
559 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 17:06:02 ] むしろサーバー的にRubyは駄目だろ
560 名前:デフォルトの名無しさん [2010/04/13(火) 20:04:52 ] sourceforge.jp/magazine/10/04/12/0751213 easy_installが標準に入るんじゃなかったのか?
561 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 20:07:31 ] >>560 ごめん、嘘だった。 Python3.3から標準。 それまでは、夏頃にdistutils2がリリースされて、それをインストールすると 標準ライブラリを置き換えるようになるはず。 インストーラはpipが推奨されるようになるかも。
562 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 21:34:55 ] >>559 なんでサーバー的にダメなんだ?
563 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 21:45:14 ] Pythonなら標準で入ってるからとかかな?
564 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 22:10:55 ] >>562 遅いからじゃないかな
565 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 14:05:19 ] Pythonより数倍遅いのはいただけないねえ
566 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 15:18:25 ] Ruby はメモリも食うしな
567 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 17:19:08 ] つーかrubyは動作が不安だろ
568 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 20:51:02 ] あれだ そもそもこのスレでRubyを出しちゃいけなかったと思うんだ
569 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 21:57:07 ] python厨とruby厨が仲直りするスレって昔あったよね
570 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 22:02:51 ] 厨は天敵への偏見に使うものだと認識されているよ 日本語の基礎すら出来てないようだね
571 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 22:06:04 ] ヘ⌒ヽフ ( ・ω・) dd / ~つと)
572 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 23:01:13 ] >>555 UTC使うのが当たり前なマだけしか使わないならいいんだけど、 そんなこと考えもしないバカがバカやらかすからそれじゃダメ。 ttp://www.itmedia.co.jp/news/articles/0811/19/news051.html
573 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 23:03:40 ] >>570 使い方として間違ってない気がするが、それはこの際どうでもいい。 ネットスラングの誤用で日本語の基礎力疑われるのか。 インターネットも身近になったものだ。
574 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 23:05:17 ] 文系はこれだから
575 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 11:27:06 ] >>561 つまりこれからはpipでパッケージ書くのが推奨ってことでいい?
576 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 11:51:31 ] スラングこそ基礎力が試されるだろ >>505 みたいな基礎力がない奴が短縮化するとアホみたいなコードが出来る
577 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 11:53:09 ] >>575 pip はタダのインストーラで、distutilsやsetuptoolsの置き換えではなく、 setuptoolsの中のeasy_installだけの置き換え。 パッケージ作る人が使うのは、現時点ではdistributeが推奨で、distutils2 1.0が リリースされたらそちらが推奨になる。 現時点だと、pipだとeggをインストールできないので、eggに依存しているもの (Tracプラグインとか)はeasy_installを使わないといけない。 なので、まだコミュニティ全体の方針としてpipが推奨されている訳はない。 pipにも良いところがあるけど、使い分けが面倒だから俺はeasy_installを使っている。
578 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:19:53 ] __(ダブルアンダースコア)の名前修飾ルールについての質問です。 class Foo: __x = 100 def func(self): return self.__x Foo().func() # (1)これはOK def func(self): return self.__x Foo.func = func Foo().func() # (2)これはダメ この原因を教えて欲しいです。そもそも__xは_Foo__xという 名前に変えられてしまうのに、何故(1)のときにエラーにならないのか不明です。 クラス定義が終了した瞬間に、すべての__で始まる名前(呼出側も)書き換える、 ということなのでしょうか。
579 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:24:17 ] >>578 Yes。関数名だけじゃなくて、全部の __ が置き換えられる。 でも、 __ は非推奨。 _ だけ使えば良い。
580 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:27:33 ] インデントがorz class Foo: __x = 100 def func(self): return self.__x Foo().func() # (1)これはOK def func(self): return self.__x Foo.func = func Foo().func() # (2)これはダメ すみませんでした。
581 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:31:55 ] >>579 ありがとうございます。__はprivate(サブクラスへの隠蔽)で、_は protected(外部への隠蔽)として使う。また、普段はprotectedで十分なので_を使う。 ということでよろしいでしょうか。 サブクラスで自由なアトリビュートを持たせられるようにするために、 この名前修飾ルールがあるのですよね。
582 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:35:26 ] >>> class Foo: ... __x = 100 ... def func(self): ... return self.__x ... >>> Foo().func() 100 >>> vars(Foo()) {} >>> class Hage: ... def __init__(self): ... self.__x = 200 ... def func(self): ... return self.__x ... >>> Hage().func() 200 >>> vars(Hage()) {'_Hage__x': 200} この違いは何でしょう?
583 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:40:50 ] Fooの__xの方はインスタンス変数でなくてクラス変数 vars(Foo), vars(Hoge)もみるといいと思う
584 名前:581 mailto:sage [2010/04/15(木) 21:45:21 ] >>582 Fooでの__xはクラスのアトリビュートでインスタンスからは間接的に参照される。 Hageでの__xはインスタンスに直接所属するアトリビュート、ですよね。 P.S. 以下のコードで呼出側も修飾されることがわかりました。 >>> class Foo: ... __x = 100 ... def func(self, other): ... return other.__x ... >>> Foo().func(Foo()) 100 Pythonってよくできていますね。Javaのprivateと全く同じです。
585 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:46:32 ] 文系乙
586 名前:581 mailto:sage [2010/04/15(木) 21:50:45 ] >>585 理系大学生です。でも物理の成績は悪いので、文系頭かもしれません。
587 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 11:10:11 ] 確か、完全に隠蔽するつもりはGuidoにはなかったよね。 隠蔽しなかったら、わかる人には便利だし、わからないのに使う人はタダのバカだから放っとけばいいって話だったかと。
588 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 11:34:09 ] やべー いままで自分が作ったクラスのメンバ全部 self.hoge って書いてた これからは self._hoge を使わなきゃ
589 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 18:42:08 ] Python 2.6.2のcsv書き出しについて質問です。 x=csv.writer(file(csvfile.csv,"wb"))としたとき x.writerow(["あああ","いいい","ううう"]) と出力させたところ、生成されたcsvはメモ帳などで表示させればきちんと表示されているんですが excelで表示させたところ文字化けします。 utf-8から、shift-jisで出力させる方法を教えて欲しいのですが。dialect='excel'としてもエラーを吐きます;
590 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 19:42:56 ] x.writerow([u"あああ",u"いいい",u"ううう"])
591 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 19:44:26 ] やってみます。ありがとうございます。
592 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 19:48:19 ] 駄目みたいです もっと調べてみます。すみませんでした。
593 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 20:08:25 ] u"あああ".encode('shift-jis')
594 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 20:43:01 ] >>593 ありがとうございます。 レスに気付かないまま夢中でやってました; いったん、unicodeでutf-8からunicodeへ変換して→encodeでunicode→shift-jisへ変換して無事に解決しました。 リスト化しているので、for文を使用し手前で変換しておいて吐き出すようにしようと思います。 >>590 >>593 ヒントありがとうございました。
595 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 20:48:01 ] "あああ".decode('utf-8').encode('cp932')
596 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 20:52:46 ] 最近打ち合わせでは分かり切ったことは飛ばして話を進めているのに 知識として持っててあたりまえのことを質問する馬鹿が増えた
597 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 21:52:39 ] Pythonで日本語の出力とか使うつもりなら 3.x使うか他の言語にした方がいいよ
598 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 22:16:22 ] そんなばなな
599 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 23:12:52 ] 勉強会やるやる詐欺。
600 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 01:54:13 ] >>594 codecsは使えない?
601 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 11:07:50 ] >>597 同意。 2.xは本格的に文字列処理するには面倒だし、3.xでかなり変更されてるのに今更本格的に覚えるのもバカバカしいよね。
602 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 11:57:50 ] rubyを使えば解決だね!
603 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 12:30:45 ] >>602 うん。本格的な文字列処理とか正規表現とかやりたいんだったらruby使えばいいと思う。 エンコードの問題の他にもPythonは文字列処理のしにくさを抱えている。 rubyやらがどうなってるかは知らんが、Pythonでは文字列は変更不可能な型だから破壊的な処理ができなくて、 一文字でも変更しようと思ったらインスタンスを作り直すことになる。
604 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 12:52:04 ] じゃあperlでいいや
605 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 14:03:37 ] 変更可能な文字列型があるのはともかく デフォルトの文字列が変更可能なのはダメだろ……
606 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 14:11:55 ] ruby使うぐらいならperlの方がまだマシだな
607 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 14:59:11 ] ruby って結局 perl の汚いところと C++ の汚いところを両方引き継いでるよね www
608 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 15:42:44 ] from ctypes import * s = "aaaaa" get_charptr = lambda s, pos: c_char_p(memset(s, 0, 0) + pos) memset(get_charptr(s, 2), ord('b'), 2) print s # ===> aabba まったく推奨しないが、こういう変換方法もないわけではない。
609 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 16:03:03 ] >>608 流石にそれでctypes使うのは行き過ぎじゃないのかな 大抵arrayでいいと思う
610 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 16:43:15 ] 以下のようにlistにして変更して最後に''.joinとかはどうだろうか。 ham = list('ham') ham[1] = 'm' ham = ''.join(ham)
611 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 17:10:32 ] >>609 >一文字でも変更しようと思ったらインスタンスを作り直すことになる。 への反例だろ
612 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 17:13:43 ] >>610 それはインスタンスを作り直すことになるだろ 第一listは文字列じゃないし
613 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 17:15:49 ] アイライクシーライク
614 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 17:27:22 ] >>611 は?arrayってinplaceで変更できるでしょ x = array.array('c') x.fromstring('abcde') x[4] = 'D' とか
615 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 18:13:08 ] arrayは文字列じゃない
616 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 18:15:25 ] っつーか「インスタンスの作り直し」の意味が判ってないアホがいるなw
617 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 18:15:27 ] ああ、Stringがimmutableな世界で、StringBuilderみたいなものも 使わない方向で考えたわけね やっと意味分かった、すまんかった
618 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 18:18:53 ] >>614 先生! s が変わりません! >>> import array >>> s = 'hogehogefugafuga' >>> x = array.array('c') >>> x.fromstring(s) >>> x[4] = 'D' >>> x array('c', 'hogeDogefugafuga') >>> s 'hogehogefugafuga'
619 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 18:20:13 ] >>618 うん、意図を誤解してた 「C風にinplaceなバイト列の編集がしたい」という話だと思っていて、 immutableなstringを「弄る」ことを本質だと思ってなかった
620 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 18:23:55 ] >>619 先生ごめん reload してなくて入れ違いになった
621 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 21:51:30 ] 文字列がimmutableなのは別にかまわん。 問題は、時々EUCのdecodeに失敗すること。 面倒でかなわんぜ。
622 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 21:54:10 ] ignore指定すりゃええが
623 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 21:56:07 ] >>621 euc_jpを使っているのなら euc_jisx0213を使えば少しマシになるかも
624 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 00:50:08 ] >>622 今はそうしてる。 エラーがあったかわからないのが困るが… >>623 ありがとう。試してみるよ。
625 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 02:02:18 ] 〜が変になるね
626 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 02:18:45 ] 誰がマッピングを間違えたんだろうな
627 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 02:42:56 ] カと力が間違われなくてよかったな
628 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 14:05:07 ] decimalってデフォルトだと四捨五入するらしいんですが 精度を2に設定した下記の計算では切り捨てられています。 これはどういうことでしょう??本来ならDecimal("2.1")になると思うのですが・・・。 >>> import decimal >>> decimal.getcontext().prec = 2 >>> a = decimal.Decimal(str(1.01)) >>> b = decimal.Decimal(str(1.04)) >>> a + b Decimal("2.0")
629 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 14:20:01 ] decimal.Decimal(str(1.01+1.04)) >Decimal("2.05") decimal.getcontext().prec = 3 a = decimal.Decimal(str(1.01)) b = decimal.Decimal(str(1.04)) a + b >Decimal("2.05")
630 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 14:24:27 ] >>> decimal.getcontext()
631 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 14:25:54 ] 途中で投稿してしまったが、 python decimal 四捨五入 でGoogle検索すればデフォルトで四捨五入されるなんてことはないと分かるはず
632 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 14:30:10 ] 食いつきのいいえさだな
633 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 14:32:30 ] 食いつきのいい餌ってなんだよ 餌は生きたサメでアジでも釣るのか?
634 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 14:34:58 ] >>633 >>633 >>633
635 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 14:39:58 ] >>628 Pythonライブラリリファレンスのやつは読んだ? DecimalはFAQもあるからそれ読んだほうがいいよ
636 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 14:48:25 ] pygameの64bitピルドのパージョンはリリーズされてるんですかね?
637 名前:628 mailto:sage [2010/04/18(日) 16:49:02 ] >>631 ありがとうございます。四捨五入では無いですね。 オライリーのPythonクックブックに四捨五入って記載されていたので。。。
638 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 16:56:34 ] ひどすwww
639 名前:デフォルトの名無しさん [2010/04/18(日) 17:01:57 ] >>637 四捨五入されるなんてどこにも書かれてないぞwww ttp://www.python.jp/doc/pdf/release/tut.pdf
640 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 17:04:38 ] >>637 立ち読みすればわかるけどクックブックは初心者向けの章がごっそり削られてるから初心者は買わないほうがいい
641 名前:628 mailto:sage [2010/04/18(日) 18:03:39 ] >>639 チュートリアルでなくクックブックの方です。 beebee2see.appspot.com/i/agpiZWViZWUyc2VlchQLEgxJbWFnZUFuZFRleHQYl5NlDA.jpg p117 beebee2see.appspot.com/i/agpiZWViZWUyc2VlchQLEgxJbWFnZUFuZFRleHQYoONsDA.jpg
642 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 21:10:09 ] Decimal.quantizeのオプションで指定すれば四捨五入してくれる
643 名前:628 mailto:sage [2010/04/18(日) 22:51:21 ] >>641 2枚目の写真横向きで撮ればよかった。こういうセンスが足りないんだよなぁ
644 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 22:56:22 ] は?
645 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 22:59:58 ] pythonの公式オフ会に参加した奴いる?
646 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 01:54:45 ] 単三電池の方なら参加されたのではないでしょうか
647 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 03:10:40 ] 彼は単二電池を入れることができるまでに成長しました
648 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 15:14:02 ] 質問です Pythonではglobal変数を関数内では更新できない らしいことをようやくながらおぼろげに理解しました 複数の関数内にて更新すべきglobal変数を多く抱えている場合 これらの全てにglobal宣言していくしかないのでしょうか?
649 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 15:15:50 ] うん
650 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 15:23:31 ] >>649 そすか こりゃ1から書き直した方が良いのかもしれん…
651 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 15:37:00 ] module にするだけでも楽になるよ
652 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 16:12:17 ] そういう場合は自分はまとめてクラスにしてしまう。 けど何か負けたような気がするのも確か。
653 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:14:00 ] 辞書にすればいいんじゃね? 辞書をグローバルに置くと、辞書そのものは変更できないけど 要素は(グローバル宣言しなくても)好き勝手に変更出来る。
654 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:24:03 ] なんのためのクラスだよ 静的クラス使えばよし
655 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:44:47 ] 静的クラスってなんだよ monostateパターンのことか?
656 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:49:08 ] クラス変数と静的メソッドを併用しろってことでhそ
657 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:55:22 ] で、そのクラス変数をglobalに置いて(ry
658 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:57:05 ] マジレスすると globals.py とかを作ってそこに全部global変数書く 他のコードから使うときは import globalsして、 全部 globals.foo でいい global文要らなくなる
659 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:10:40 ] 今は角電池くらいがちょうどいいです。
660 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:16:07 ] >>658 正解
661 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:25:21 ] 昔は電池と言っただけでこのスレがあっというまに埋まったのに
662 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:46:19 ] 突拍子もないセンスもないので廃れました
663 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:49:42 ] ぼるたんの電池おっきいです。
664 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 00:12:00 ] ぼるたん?
665 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 00:17:13 ] >>658 別ファイルに隔離することも目的の一つならいいんだけど、そうでないなら globals()['foo'] でよくね?
666 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 00:33:45 ] >>665 毎回そんな風にタイプしたくないべ
667 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 01:03:14 ] >>666 g = globals() g['foo'] = 'foooo' print foo # ==> foooo
668 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 02:03:10 ] >>658 pylonsのg.(グローバル変数),h.(ヘルパー関数),c.(コンテキスト)みたいな使い方だろ。 こんな感じだったっけ。 globals.py: class Globals: a = 1 g = Globals() app.py: from globals import g g.b = 2 def hoge(): print g.a, g.b g.c = g.a + g.b g.a = 4 hoge() print g.a, g.b, g.c グローバル変数を余所で書き換えたり、定義するのはアレだが例なので。 実際のg.はグローバル定数として使って、リクエスト毎にc.(コンテキスト)を処理していく感じ。
669 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 10:48:27 ] XMLを処理するには何がお勧めでしょうか? 色々と選択肢があって 迷います。 使い方としてはデータモデルを定義したXML(たぶんW3C XML Schema)を 読み込み、そのツリーを辿りながらテンプレートエンジンCheetahを使って コード生成するという考えでいます。 選択肢としてはlxmlとElementTreeがあるように思えますが、他にもありますでしょうか? 使っているのはPython 2.4なのですが、ElementTreeは2.5で標準装備になったという事で、 これがベストだと判断されたという事でしょうか?
670 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 11:01:50 ] せやで!
671 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 11:24:00 ] ElementTree は小さすぎるので、自分は全部 lxml だけれど、 ElementTree で処理がすむならそれでいいと思う。 速度や機能が不足したら lxml を入れれば、移行は大して 手間がかからないし。
672 名前:669 mailto:sage [2010/04/20(火) 11:33:08 ] >>671 なるほど。 ということはElementTreeはlxmlのサブセットという理解で いいのですね。
673 名前:669 mailto:sage [2010/04/20(火) 11:53:32 ] >>671 ちなみにRPMパッケージでもないかなと探し始めたらlibxml2ライブラリに付属するPython バインディングでlibxml2-pythonというパッケージがインスコされている事に気づきました。 これはあまり主流ではないのでしょうか?
674 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 12:41:25 ] yaml使えや
675 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 15:43:32 ] Yaml知りませんでした。 参考にさせていただきます。
676 名前:デフォルトの名無しさん [2010/04/20(火) 16:08:02 ] >>669 amara Gnosis_Util Cheetahは今時ありえない。spitfireなりchameleon.genshiなり使ったほうがいいかと
677 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 16:48:54 ] >>676 >amara っげ、また選択肢が(汗) > Gnosis_Util あの、ググったら3ヒットだったんですがw これ全部ネタじゃないでしょうね? >Cheetahは今時ありえない。spitfireなりchameleon.genshiなり使ったほうがいいかと そうだったんですか! いや、それぞれのサイトを見てると流行り廃りの実感は良く分かりませんね. Cheetahは今でもある程度頻繁にアップデートされているので廃っているとは感じませんでした。 テンプレートの文法のコンパクトさが気に入ってたのですが。 薦められた他のも検討してみます。
678 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 17:21:51 ] 日本語のみ検索でググるとは言わんだろ
679 名前:677 mailto:sage [2010/04/20(火) 17:44:41 ] >>677 あ、Gnosis-utilsで沢山ヒットしましたw。 英語環境でwww.google.comで ググってますがgnosis_utilは本当に3ヒット。
680 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 17:54:05 ] アンダーバーの意味はモジュール名だろ というかそれをスペースで区切って検索するのが普通だろ
681 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 18:36:06 ] 648です。一応事後報告だけ モジュールでどうにかしようとするもダメ リストや辞書なら行けそうとあたりを付けたがダメ モジュールに辞書置いてどうにか動きましたとさ もっと早くここに戻ってれば良かったorz 参考意見を見ながらもうちょっと色々試してみます どもでした
682 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 18:49:25 ] >>681 クラス使えって散々いわれてるだろ。 class Foo: pass Foo.bar = 1 Foo.baz = 2 これなら用途ごとに分けられるし、スタティックメソッドで処理書けたりと便利。
683 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 23:25:46 ] 過去のスレも見てればわかるが 時期によっては変なレスつける奴が多い グローバル変数にglobalsだとか辞書だとかなんて初めて聞いたわ
684 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 23:30:10 ] 誰にでも初めてはあるさ 少しずつ成長していこう
685 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 23:42:37 ] >>683 class使えってのはもう出てたから、別のを出したまでだ。
686 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 01:49:38 ] There's more than one way to do it!
687 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 06:51:25 ] more than one way ということは 1 つとは限らないから There's じゃなくて There are じゃないのかな
688 名前:669 mailto:sage [2010/04/21(水) 08:31:56 ] >>676 結論としてはお勧め頂いたパッケージはどれも2年ほどアップデートがされておらず、 半死亡状態と判断しました。 今のところドキュメントも整っており、最近もリリースが 行われているlxml+Cheetahで行こうと思います.
689 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 09:52:30 ] 過去のスレ読んでない奴は初心者スレ行けってことですね
690 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 20:54:04 ] >>687 ttp://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_do_it
691 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 21:05:54 ] There's なのは知ってるんだけど 文法上なんでそうなるのってことだろう >>687 q.hatena.ne.jp/1183288572 www.biseisha.co.jp/lab/lab1/24.html
692 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 21:08:21 ] 不可算名詞じゃね?
693 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:47:36 ] one way って数えてるんですけど
694 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:49:53 ] one wayは色んな道って意味だろ まさかoneを1と解釈してる訳じゃないだろうな?
695 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:50:44 ] en.wikipedia.org/wiki/There 's_more_than_one_way_to_do_it
696 名前:695 mailto:sage [2010/04/21(水) 22:51:57 ] すまん、既出だったな
697 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:57:44 ] >>691 勉強になりました ありがとうございました
698 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 23:01:26 ] academy6.2ch.net/english/
699 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:06:43 ] 組込言語として使う場合なんだけど、 C++のクラスとかをPython側 に公開するのに オススメなバインダーとかありますか?
700 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:36:05 ] ctypes swig cython
701 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:47:43 ] >>699 boost.python
702 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:49:11 ] ExtensionじゃなくてEmbeddingだよね boost.pythonがいいんじゃないの ttp://wiki.python.org/moin/boost.python/EmbeddingPython
703 名前:702 mailto:sage [2010/04/24(土) 10:50:06 ] かぶった
704 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 12:26:44 ] >>700-702 さんくす boost.pythonすごいですね これ使ってみます
705 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 12:58:17 ] みんなのPythonのWebアプリ編って2.6でも大丈夫でしょうか?
706 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 14:17:44 ] ok
707 名前:デフォルトの名無しさん [2010/04/24(土) 22:50:02 ] www.python.org/dev/peps/pep-3146/ これCPythonが大量にメモリーを食うようになるということ?
708 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 22:52:25 ] 今時メモリ使用量を気にするようなやつはクソか鯖缶のヘタレ野郎だけだ。
709 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 22:58:19 ] なるほど、おれがメモリ使用量を気にする理由がわかった
710 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 23:28:08 ] バイナリでかすぎだろ>>Unladen Swallow
711 名前:デフォルトの名無しさん [2010/04/24(土) 23:34:26 ] >>710 LLVMがでかいんじゃないの?
712 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 00:25:42 ] >>711 そうらしいけどpy2exeとかで配布しにくくなるなあ
713 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 00:29:02 ] 今時ファイル容量を気にするような
714 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 11:00:55 ] なんか実行速度が1.N倍程度のオーダーなのに バイナリが10倍オーダー、起動時間も遅くなるってシロモノに見えるのは 気のせいか
715 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 12:01:47 ] ベイジアンフィルタが酷いことになってるなww 将来性はあるのかもしれないが、少なくとも現状では入れる価値があるようには見えない。
716 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 12:28:50 ] PyPyの方が速いね speed.pypy.org/overview/