1 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 01:45:30 ] Pythonオフィシャルサイト www.python.org/ 日本Pythonユーザ会 www.python.jp/Zope/ まとめWiki python.rdy.jp/ 関連スレ find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python 前スレ pc11.2ch.net/test/read.cgi/tech/1230821097/
151 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 20:10:18 ] lambda x, i=i: i*x
152 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 20:27:38 ] >>150 Pythonでもクロージャは環境をキャプチャするんだが そのforループではiが逐次破壊的に書き換えられてしまう (let束縛ではなくset!のイメージ)んでそういう動作になる 単一代入でない&クロージャをサポートする言語で破壊的なループを使って そういう書き方をすると、そういう動作になるのが普通で、 JavaScriptやPerlなんかもそうなったはず Pythonでは>>151 のような方法で対処できるが、魔術的だと感じられるなら ループの中でさらにdefで明示的にブロックを作って、その中で クロージャを作ったりするといいと思うよ
153 名前:152 mailto:sage [2009/02/22(日) 20:34:39 ] 例えばこんな風に書くということね def make_funcs(n): def make_func(i): return lambda x: i * x fn_list = [] for i in range(n): fn_list.append(make_func(i)) return fn_list もっと短く書く書くこともできる def make_funcs(n): make_func = lambda i: lambda x: i * x return [ make_func(i) for i in range(n) ]
154 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 20:54:37 ] >> 151, 152 非常に分かりやすい説明で、問題の原因が良く理解できました。 また、正しい書き方も分かりました。 ありがとうございました。
155 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:13:08 ] …で、実際処理速度はどうなの?>パイソン PHPより早いのかな?
156 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:19:48 ] おおむねPython>Perl>PHP>Rubyってとこじゃね?
157 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:33:59 ] shootout.alioth.debian.org/u32/ その手のベンチマークで定番?になってるサイトです。 言語の種類だけでなく、プログラミングの手法によっても結構変わるみたいですね。
158 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:47:06 ] shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all&box=1
159 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:55:27 ] C++が0.08秒で、PHPが48分って・・・orz 完全にやる気なくした・・www
160 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:01:33 ] >>156 馬鹿じゃない?
161 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:03:23 ] >>142 この回答って Error : callback_ssl_client_cert_prompt required これの対処法の回答という認識でいいんですかね・・・? ググってみたんですがどれが回答になるのか分からなかったんですけど・・・。 そういうレベルの人はここに来てはいけないということですかね??
162 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:14:19 ] >>159 用途に合わせて言語を選ぶ。 当たり前のことじゃないか。
163 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:31:45 ] >>160 なんで?
164 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:33:07 ] >>161 こっちで質問しる gimpo.2ch.net/esp/
165 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:50:42 ] >>157 python 3 もっとがんがれ おれもPHPが一番鈍足だとはしらんかった
166 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:54:23 ] >>163 根拠を示さないレス乞食はそっとしてあげて。
167 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:04:54 ] pass
168 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:34:42 ] インタプリタが遅いのは当たり前田のSPAM
169 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:37:20 ] まぁ>>156 自体に根拠がないけどね
170 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:40:26 ] まあ・・ウェブならスクリプト言語でも十分ですけどね 2〜3秒以上もかかる計算滅多にないし 確かにベンチマークではpythonの方が良い成績のことが多いみたいだけど スクリプト言語である以上、ドングリの背比べのような気もしないではない ただ、pythonってphpに取って代わるメジャーなスクリプト言語になり得るのかな?
171 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:41:30 ] >>158 見ると>>156 の順番通りだけど?
172 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:44:35 ] >>170 パフォーマンスを気にする必要があるのは、10K問題とかだと思う。
173 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:57:17 ] しっかしPHP6はいつ出るんだ? WEBはDBへの接続とDB自体の処理速度が一番ボトルネックだと思う。 そこが早ければある程度なら問題ないんじゃないだろうか。
174 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:59:41 ] PHPは(言語)仕様がどうのってよりも、ビジネス戦略で広まってるだけですがな。
175 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 00:02:38 ] 10k問題という言葉・・初めて知りましたw 一万接続なんて、スクリプトじゃむりぽ …というか、アパッチも無理なんじゃ
176 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 00:02:43 ] ビジネス戦略って一体何なんだ?
177 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 00:52:54 ] Python 3.0の変更点を調べていると、 text.world.coocan.jp/TSNET/?What 'sNewInPython3.0 > callable関数は削除されました。 >『callable(f)』の代わりに、 >『hasattr(f, '__call__')』が使えます。 > operator.isCallable関数もなくなりました。 とあるのですが、後者の方が書き難いのではないかと思います。 Pythonでは複数のやり方を嫌うという説明を見ました。 しかし、より良いものが残るべきとう意見は分かります。 でも、今回の件は消す必要が無かったのでは? と思ってしまいます。 皆さんの意見はいかがでしょうか?
178 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 01:01:28 ] 正直 2.x でも callable なんて使ってなかったからどうでもいい。 EAFPってやつだ。
179 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 01:32:36 ] レスありがとうございます。 EAFPという考え方、初めて知りました。 Googleで調べたら、いろいろ勉強になりました。 そもそもオブジェクトの属性が持つかどうかをチェックするよりは、 try, ecept構文で実行して、例外を補足するスタイルが推奨されているんですね。
180 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 08:03:08 ] >>175 > 一万接続なんて、スクリプトじゃむりぽ Erlangなんかの実績はあるよ。
181 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 08:34:59 ] 魚病理学者って何だ?
182 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 09:57:42 ] pass
183 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 11:36:33 ] 10k問題って西暦で10000年になって桁が増えるときの問題かと思ったぜ
184 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 14:29:48 ] 10種類も苦しいことがあるなんてどんな業界だよ。
185 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 14:42:07 ] 休憩がない、帰れない、給料安い、休暇(取れ)ない、雇用不安定 キリがない、規則が理不尽、経費が自腹、心を病む、過労死 で10kじゃね
186 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 14:51:47 ] >>185 おいおい、「彼女ができない」 が抜けてるぞ
187 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 14:54:28 ] 「彼女(or結婚)できない」、すっかり忘れてたよ
188 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 20:50:30 ] Erlangでいけるなら stackless + libev でいけるだろ、たぶん、きっと
189 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 20:51:29 ] >>157 これ見ると、概してCよりC++のほうが早いと思って良いのかなぁ。
190 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 21:04:40 ] >>188 有望ではあるよね。 C10K問題への対策の一つが高次並列化なんだが、stacklessが 変数使い捨てを強化すれば、並列化との相性が良くなる。
191 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 21:08:43 ] C10K問題対策って普通単にサーバ分散させるだけじゃねえの?
192 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 21:13:41 ] >>185-191 C10K: >>185 - 規則が理不尽 + 彼女ができない + コーディング規則が理不尽
193 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 21:26:10 ] >>191 静的コンテンツを同時に多数同時に見てもらうだけの時代はそれで済む事もあったけど、 例えば「10万人同時ログイン&互いに同じ関心を持つ者のグループをダイナミックに」 などとやろうとすると、別の手が必要。 関数型言語が並列化と相性がいいんで、stacklessみたいなのが関数型のいい所を 取り込んでくれるといいな、というのが感想。
194 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 22:06:09 ] 10万人同時ログインってw GLAYの幕張ライブやないねんからw
195 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 22:14:08 ] チャットみたいなもんか? よくわかんねえけど 10万人で一緒にチャットする必要は感じないが…… 今の大規模サービスって別にダイナミックコンテンツでも 普通にスケールさせてないか? 勿論サーバ分散させて
196 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 22:38:39 ] 少数のサーバーに集中 ↓ 安価な多数のサーバーに分散するといいぜ ↓ でも、物理メンテ大変だし、あんまり安いマシンじゃなくて ちょっと高級な中グレードのマシンで台数減らした方がよくね? (イマココ)
197 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 23:08:25 ] C10K問題の先駆けは既に、Skype、Twitterなどでも出始めてる。 10万人というのは一例で、従来型サービスの延長じゃない事を スケールさせたい場合の問題の一つ。
198 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 23:44:25 ] あんまり言語とは関係ない話になってるなw
199 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 00:07:49 ] 10万人同時チャットってwww 忙しすぎw
200 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 11:41:28 ] ちょっと面白そうだな>10万人チャット
201 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 12:53:56 ] 2chのスレの一番速い流れでスレあたり1000人だもんな。
202 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 13:35:13 ] 人数の多いチャット部屋覗いたことあるが、大半はROM専 数人が発言しまくりで、残りは単発発言の奴かな 余程盛り上がる話題が無いとそんなにログ流れんし ログが流れる時ってのは会話が成立しない祭状態で 会話したい奴は「特定の相手とのみ会話する機能」使って身内話
203 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 14:17:58 ] 10KのKはKOBITOのK。
204 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 16:40:23 ] TwitterのPublic Timelineがある意味10万人チャットみたいなものか
205 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 17:50:41 ] 聖徳太子「10Kまで同時通話おk」
206 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 20:37:20 ] pythonでhtmlを処理しようと思うんだがどういう方法がベターなの?
207 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 20:37:35 ] >>189 Linusの回答 tabesugi.net/memo/2009/1a.html オリジナル lwn.net/Articles/249460/
208 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 20:53:57 ] C++のそういうネタは好きw
209 名前:デフォルトの名無しさん [2009/02/24(火) 23:45:18 ] ネストした関数をunittestモジュールで外からテストにかける方法って ない?
210 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 00:23:43 ] BeautifulSoupが流行ってる
211 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 01:21:36 ] >>206 htmlparserってのがあるけど、速度的には正規表現で処理するのがお勧め。
212 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 01:55:50 ] lxml
213 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 08:37:03 ] "substandard programmers"が書くCのコードもそれはそれは恐ろしいけどな。
214 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 02:22:46 ] lxmlが最強って聞いたけどそうでもないの?
215 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 14:51:02 ] lxmlが最強
216 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 15:21:07 ] lxmlが速いみたいだよ。どうしてもpure pythonが良いならBeautifulSoupだろうけど。
217 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 20:08:27 ] 人の書いた作例とどう動くかが多数解説されたサイトを教えて下さい 解説サイトの理論を見ても理解できません つーかPrologしかやったことないです
218 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 20:58:40 ] >>217 俺はむしろPrologのほうが分からんぜ…。 ・ドキュメントのチュートリアルを一通り読む ・>>1 のまとめwikiにある問題集とドキュメントを照らし合わせながら読む ・とにかく書く 辺りかなぁ。 他の手続き型言語からの人なら 「自分の前に書いてたコードを今の言語に書き直してみる」 ってのも結構有効なのだろうけれど、Prologは毛色が違い過ぎて難しいだろうなぁ…。 特にユニフィケーションをフル活用するようなコードは言語としてサポートしてるPrologのほうが楽だろうし。 小さな練習問題が欲しいなら「練習問題 Python」辺りでググると大量に出てくると思う。
219 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 04:08:54 ] 作例で数が多いとこならcookbook。でも、詳細な解説は期待できないかな。 いろんな人が投稿してるので質はバラバラだけど、 コードをベースに議論したりするので、他よりは割とコメント(解説)多めだと思う。 code.activestate.com/recipes/langs/python/
220 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 08:52:56 ] generator について一言で言うと何なんでしょうか?
221 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 09:02:06 ] >>220 魔法
222 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 09:08:31 ] 関数をイテレータ化するための魔法
223 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 14:28:57 ] 今 www.python.jp/doc/2.4/tut/node6.html#SECTION006700000000000000000 の 4.7.1 デフォルトの引数値 の中の def f(a, L=[]): L.append(a) return L print f(1) print f(2) print f(3) このコードを打とうとしてたんだけど、eclipseに 「.」ピリオド打つと固まってしまう。 コピペすると落ちないんだけど、直接「.」打つ方法ありませんか? 環境は Eclipse Classic(SDK)3.4.1 Pydev 1.4.4.2636 Python 2.6 です。 お分かりの方いらっしゃいますか?
224 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 15:04:14 ] >>223 > 「.」ピリオド打つと固まってしまう。 「.」を入力した瞬間に、メソッド一覧を表示しようとしてると推測。
225 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 15:16:14 ] >>223 1日ほっとく
226 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 15:37:35 ] >>223 もっと早いマシン買えよ底辺ドカタ。
227 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 16:00:44 ] pass
228 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:58:08 ] >>220 遅延リスト
229 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:59:40 ] 新しくpythonを勉強する際に、3.0対応の書籍・サイト・マニュアルはありますか?
230 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 18:36:20 ] >>229 はじめてのPython3 中身読んでないのでどのくらい使えるのかわからんけど。
231 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 19:08:48 ] www.catonmat.net/blog/better-faster-smarter-python-yesterday-today-and-tomorrow/ inkhorn.org/c-extensions-for-python/ 根性 types, object, attributes, method 理解
232 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 22:27:08 ] んじゃぁ 比較的新しいいい本は?
233 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 01:11:09 ] 西尾さんが書いたJython本だな
234 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 01:34:54 ] >>229 pc11.2ch.net/test/read.cgi/tech/1235050215/
235 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 01:48:17 ] >>229 www.amazon.co.jp/dp/4839922829 この本が一番日本語のPython本として一番よく出来ている。 他のがかすんで見えてしまうほどだ。この一冊さえあれば Pythonについて完璧にマスターできるだろう。
236 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 02:47:46 ] >>235 その本を買って初心者を脱出したいと思います。 良著紹介ありがとうございました。
237 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 04:00:27 ] >>236 どういたしまして
238 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 07:30:36 ] >>235 Python関係ないだろ
239 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 09:29:57 ] >>238 はあ? 言語自体はPythonだろ
240 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 09:39:32 ] つか、Jythonってジャイソンって読むのか。ジェイソンだと思ってたw
241 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 09:48:20 ] 爺さんって読むんだよ
242 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 09:48:25 ] >218-219 thx パズル感覚でやってみます
243 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 11:55:31 ] >>239 Jthon本に対するコメントだよ 言語自体はPythonだけどその本に Python的内容を期待してたら外れ
244 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 11:59:56 ] >>243 どっちかっつーとありゃJavaの本だ ターゲット読者の絞込みが中途半端なんだよ Java使いにとってはJavaのインストールとかEclipseとか わざわざ説明してるのは馬鹿じゃないかと思う訳で Python使いにとっては何が嬉しくてわざわざ Javaインストールしてまで(ry
245 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:11:42 ] CPython から Java を呼び出して使えますか?
246 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:30:08 ] これから槍始める人は3.0かそれ以前をやるべきなのか・・・
247 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:40:18 ] 2.5の日本語ドキュメントを利用できて、3.0の雰囲気も味わえる2.6
248 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:00:38 ] Guidoによると2.2の頃に書かれて改訂されたクソ本は買わない方がよいらしいよ。
249 名前:デフォルトの名無しさん [2009/02/28(土) 13:06:40 ] クイックリファレンス一冊でオケ ただし古すぎみたいな
250 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:19:37 ] Jython本をいつも推薦してくれるjava-jaの非モテ君ありがとう。
251 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:23:38 ] ジャイソン以外の良本はないのか