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/
202 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 07:51:51 ] >>200 >ignore付けたら何を返せばいいの? 0 だと "0" を問題なくパースできたのと見分けがつかないよ。 もちろんそれでいい そのためのignoreなんだから u'hoge'.encode('fuga', errors='ignore') だって問題なくエンコードできたのと区別つかないでそ?
203 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 08:06:34 ] 型変換とエンコードを一緒にされちゃいました
204 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 09:08:52 ] 語るに堕ちたなw エンコードっつても unicodeとstrの型変換だぞ
205 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 10:25:08 ] ゆるしてやれ
206 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:00:26 ] Pythonではもともとstr型があったところにunicode型が導入されたという歴史的経緯がある Python3では文字列型がunicode型に統一されている 以上のようなことから、unicode <-> strの型変換は特殊な位置づけにあると思う
207 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:14:34 ] Python3でもstrのコンストラクタで相変わらずerrors='ignore'と書けるわけだが… それ、strのコンストラクタにerrors="ignore"と書けるのは良くて intではダメ、という合理的な論拠や説明にはちっともなってなくね? 「特殊」ってつまり何? なんかのマジックワードか何か?
208 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:16:48 ] >>200 str(b'\xff', errors='ignore') ''が返るね、問題なくパースできたのと見分けがつかないよね なんつうか前から思っていたが、しばしばPython信者の擁護は見苦しくて妄信的だね
209 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:19:32 ] まあ ignore を「敢えて」指定するのは > 問題なくパースできたのと見分けがつかないよね を覚悟の上でやっているわけで。 違う型を返しているわけでもないし
210 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:21:06 ] >>209 よく読もう 例えば>>200 の最後の文は滑稽でしかないということだよ strのことは忘れたかのように、握り潰せるインタフェースは邪悪だと 彼らは主張していたわけだからね
211 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:51:48 ] まだこんなくだらない話を続けているのか。 Pythonの仕様に文句があるなら、作者の見てるとこで言えよ。 こんなとこで言っても変更される可能性は0だろう。 それでも駄目なら、自分で新しい言語を作ればいい。
212 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:53:07 ] 2chやこのスレの存在意義を問うレスが来ました そろそろ春だなあ厨も来る頃ですね
213 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:53:39 ] 春厨は書き込みのすべてが滑稽
214 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:58:46 ] >>202 >>>200 >>ignore付けたら何を返せばいいの? 0 だと "0" を問題なくパースできたのと見分けがつかないよ。 > >もちろんそれでいい >そのためのignoreなんだから いや,この仕様はないわ、滑稽 型変換に失敗したときに0を返すべきかどうかは実装依存だし、 「じゃあdefaultをつけようぜ! xxにはあるじゃん!」 などと付け足すとしたら恥の上塗り ぜんぜんPythonicじゃないよ
215 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:59:59 ] 頑張るねえ
216 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 12:02:40 ] >>210 >彼らは主張していたわけだからね 脳内には300人の「彼ら」が居るわけだね。
217 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 12:05:47 ] おまえらレベル高すぎ
218 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 12:07:03 ] >>216 2人以上いるときは複数形を使うのが正しいんだよ 君は日本語の勉強からやりなおしたほうがいいんじゃないかな
219 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 12:24:23 ] 春厨はなかまになりたうそうにこっちをみている なかまにしますか?
220 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 12:44:40 ] そういう実装は色々と問題があるから エラー吐かせてるのに何で不毛な議論するの?
221 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:04:32 ] unicodeとstrの変換は、途中で例外出されたときに手動でハンドリングするのが難しい。 intは簡単だから、オプションを必要と言う主張が弱いだけ。
222 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:12:03 ] >>214 def int(str, , errors='strict', default=0): で定義して erros='ignore'
223 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:13:49 ] 途中で送ってしまった >>214 def int(s, base, errors='strict', default=0): で定義して erros='ignore' のときは default (もちろん変更可能) を返せば良い
224 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:15:04 ] ,ひとつ多くね?
225 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:29:42 ] >>223 221
226 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:31:25 ] 「じゃあdefaultをつけようぜ! xxにはあるじゃん!」 などと付け足すとしたら恥の上塗り
227 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:38:15 ] そろそろ次の話題マダー? ちんちん
228 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:45:59 ] メールの MIME-multipart のデコードをしようと思っているのですが Content-encoding と実際のデータのエンコードが違っているときがあります 適切に文字コードを判断してデコードするにはどのようにプロ倉民すればよいでしょうか 出力は UNICODE に統一出来ていれば良いです
229 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:06:29 ] 1. もちついてタイピングする事 2. 右見て左見てもう一度右見て気をつけて渡る
230 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:16:09 ] ι''ゃぁ、次の話題。 a = [2,2,5,6,3,8,9] とかいうリストがあって、これを "," 区切りの文字列にしたいな、と思ったとき a ",".join(a) ",".join(map(str, a)) の順番でタイプすることが多いんだけど、この順番だとキャレットが行ったり来たりしてちょっとストレス感じます。 lambda が入ったりして少し複雑な文とかでも、最終的に書かなければいけない順番と 頭で考える順番が全然イコールになってなくて、イライラっとするんだけどこういう事って結構ない?
231 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:48:18 ] Lispなら構文木は簡単に弄れるよ
232 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 16:40:03 ] py使いならXMLでやるんじゃね 知らんがな
233 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 16:49:34 ] UNICODE必要な処理はperlをパイプで呼び出して処理すればいいじゃん
234 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 16:50:37 ] groups.google.co.uk/group/comp.lang.scheme/browse_thread/thread/349c51b1d30d2b3e/34a7757985bd4b7b lispよりOCamlもいいなあ
235 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 16:55:54 ] python使いならYAMLしか選択がない
236 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 16:57:31 ] pythonの原型らしいbootというのがいまだに使われてるプロジェクトがあった bootってpythonとどこまで互換あるんだろ
237 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 18:10:03 ] >>234 PythonもLispもOCamlも全部やればいいと思うよ!
238 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 20:55:28 ] >>230 Pythonでは、リストやジェネレータの内包表記があるからmapはあんまり使う必要がない。 ",".join(str(n) for n in a) って書き方だと、ちょっとは書きやすくなるんじゃないかなぁ。
239 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 20:59:16 ] >>208 変換できない文字は引数で指定した通りignoreした上で、変換可能な文字はすべて何ら問題なく変換している。 それは極めて正当な処理だ。
240 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 21:12:01 ] >>238 ','.join(str(n) for n in a) ','.join(map(str, a)) 元のほうが短くないか?
241 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 21:19:36 ] >>238 str(n) の n って for n で初めて意味が決まるので、 内包表記も頭から順番に書いていくには素直な順番じゃないなぁと思う。 内包表記に if が出てきたり多重ループになってたりすると 読んでも理解しづらいし、書きたいときも手が止まる。
242 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 21:29:18 ] perlでは処理できる日本語がpythonで処理できないのは UTFに変換できない文字が入ってるから? それ以外のケースってある?
243 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 21:30:35 ] >>242 処理できなかったのって具体的にどんな奴
244 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 21:33:25 ] エンコーディングにsjisを指定しているのなら、cp932にしたら 幸せになるかもしれない euc-jpを指定しているのなら、euc_jisx0213にしたら幸せになるかもしれない
245 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 21:50:30 ] >>242 お前の脳が日本語を処理出来ないことは良くわかった
246 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:54:20 ] >>240 ごめ、長さのこと考えてなかった。 そのへん気になる人は、 ','.join(str(n) for n in a)よりは','.join(map(str, a))の方が短く、 ','.join(map(lambda n:str(n+1), a))よりは','.join(str(n+1) for n in a)の方が短いことを考えながら使い分けるとよい。 >>241 あまりに複雑な内包表記が読みづらいことは認める。 後置での読み書きは慣れの問題だとは思うが、Pythonは内包表記も三項演算子も後置的で、慣れないとPythonは使い辛いのかもしれない。 (cond ? true_value : false_valueをpythonでは true_value if cond else false_valueってかく) 意味、というか値が後で決まる件に関しては、関数だって定義したときには引数の値決まってないじゃん、って思うといいよ。 「とりあえず、str(n)する。で、そのnってのは...のことで」という読み方をすると割と読めるんじゃないかなぁ。 書くときは、自分の中で、シーケンスの中身を表す変数ってのがだいたい固定化してきたら書きやすくなる。 例えば俺はrange(10)の中身だとiで、文字列ならsで、整数ならnで、とりあえず何か要素ならelemって書くことが多い。
247 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:58:41 ] 殺伐としていた本スレになにがあった
248 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 02:14:51 ] 内包表記とかS式とかって、日本語の語順と逆だから違和感があるよね。 やっぱ、FORTHかな。
249 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 13:20:48 ] 日本語と比べて違和感が、などと言っている英語駄目なエンジニアに未来はないけどね。
250 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 13:22:46 ] >>248 スタックマスターハケーン
251 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 13:27:21 ] >>249 Shut your fuckin' mouth!!!!!
252 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 14:26:55 ] # 空白と改行を消す。 s = s.replace( "\n", "" ).replace( " ", "" ); こんな書き方しないとダメなの?
253 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 14:32:26 ] s.translate(None, " \n")
254 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 15:25:26 ] ボクチムは英語で罵倒できるほど英語ができるんだけど日本語と比べて違和感が などと言っている奴はエンジニアである前に人間として駄目だけどね
255 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 15:32:27 ] >>254 Take a flying fuck
256 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 23:28:00 ] WiresharkのビルドにPythonが必須なんだが Cygwin同梱のPythonではダメでWin32ネイティブのものが インストールされてる必要がある www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html#ChSetupPython PerlはCygwin版で良いのにPythonは何故ダメなのか不思議 どうせWin32ネイティブのPythonが必要なら Perlやbashその他もろもろをPythonで置き換えて Cygwinインストール不要にして欲しい subversionやNSISは仕方がないとして Perl, bash, bison, flex, diff, patch, wget, unzip なんかはPythonで置き換えられるよね?
257 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 07:35:03 ] そもそも関数が前置記法で欧米的。 日本語的とか言ってるような奴はそこから批判すべき。
258 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 07:43:31 ] >>257 LLスレで好きなだけやっとれ
259 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 09:45:11 ] いいじゃん、Pythonはオランダ語的ってことで。 len(s)はV1語法で、s.join(l)はV2語法だよ。
260 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 10:43:27 ] >>257 単にOO風の記述と関数的な記述が入り乱れてるから混乱するって話じゃねーの?
261 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 11:13:15 ] これがPython文法だと言われれば別に反発する気が起きない。 昔は強制インデント文法だけ取り上げられてマゾ言語と言われてたが 最近はあんまり言われなくなったなぁ。 今はモジュール・クラス・関数の命名の統一のなさがどうにも気になる。 Python4できっちり整備して欲しい。
262 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 11:20:57 ] 母語がなんであれ、人間の思考は SOV の語順が一番自然というのを聞いたことがある。 絵を見せて、パントマイムでそれをつたえるという作業をさせると、SOVの順の人が一番多いのだそうだ。
263 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 11:23:25 ] naming style を統一しなかったのは、まずJavaやPosixみたいな既存の関数の port版はそっちと名前を合わせたほうが使いやすいから統一しない、統一しないの であれば、古いからっていう理由だけでpep8に従ってないモジュールのインタフェースを 無理に変える必要も無いよね−、という考えでそのままになってる。 パッケージ名だけは小文字で統一された。それ以外の分は、Threadingモジュールみたいに 段階的にエイリアスを定義しては古い方をdeprecated扱いにする・・・を繰り返して、 ゆっくり移行していくと思うよ。Python4から!みたいに線引きすると移行がしづらくなるから。
264 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 23:27:03 ] >>256 yaccやlexって標準添付ライブラリで置き換えられるんだっけ?
265 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:39:35 ] LL言語なんてperlがあれば十分なのに,なんで RubyだのPythonなんてものができたんだ?
266 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:51:04 ] perlがキモいから
267 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 18:02:16 ] perlがゴミだから
268 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 18:56:42 ] いあPerlもPythonも必要 ゴミはRuby
269 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 18:59:49 ] どうぞどうぞ。
270 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:03:55 ] いやそれ以前にLispがあったのになんでPerlなんてできたんだ?
271 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:05:42 ] PerlとPythonとtclは要るな make testで使われてる事が多いから rubyは要らね
272 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:08:49 ] >>270 ()//////
273 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:09:32 ] ちがった。 \\\\\\\\
274 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:12:29 ] >>271 たしかに そこにrubyを含めると rubyのテストをしないといけなくなる
275 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:17:15 ] >>274 は?
276 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:27:24 ] なにそれこわい
277 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:27:38 ] ひ!
278 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:36:43 ] rubyは好事家が趣味でコッソリ使う言語だよな 日本でこんなに広まったのがそもそもの間違い
279 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:31:14 ] RPGツクールとかいうブラック企業が制作したソフトウェアに組み込まれた言語だからな
280 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:04:15 ] RPGツクールは同コンセプトでもっとまともなものが出てもいい 言語別ゲーム用ライブラリは敷居が高すぎる あ、敷居が高いからいいのか
281 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:09:16 ] RPGツクールは知らんがDANTE98とチャイムズクエストは神
282 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:59:57 ] Pythoneerだな
283 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 03:05:02 ] NetHackのGUIをpythonで作ってください
284 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 03:10:40 ] どうぞどうぞ
285 名前:デフォルトの名無しさん mailto:age [2010/03/23(火) 17:15:47 ] Python 2.6.5/3.1.2リリース sourceforge.jp/magazine/10/03/23/048255
286 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 00:40:22 ] 他のLL言語との比較は pc12.2ch.net/test/read.cgi/tech/1267553581/ でやれ
287 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 00:46:19 ] どうぞどうぞ
288 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 12:26:27 ] python26_d.lib ってどこか落ちてないのか
289 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 12:46:59 ] 自分でデバグビルドすれば作れるし 自分でビルドしないのなら特に用のないファイルじゃないの?
290 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 13:39:36 ] >>289 pythonを部品として使ってるプロジェクトがビルドできない
291 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 13:49:24 ] >>290 ああ、それをデバグビルドしたくて、デバグ版はpython26_d.libにリンクするように なってるわけな 実際にデバッガで動かそうと思ったら、それだけじゃなくて色々いると思うよ 最低限python26_d.dll、あとネイティブモジュール(pyd)も全部_d版が必要 そのプロジェクトは誰が作ったの 赤の他人?
292 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 14:14:25 ] sourceforgeってpythonなんだ
293 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 17:22:33 ] pythonのWebフレームワークでロードバランスなど負荷分散方法が組み込まれてるのってある?
294 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 21:22:22 ] >>293 Zopeが入ってるっぽいが
295 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 22:55:03 ] Zope(笑)
296 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 00:39:06 ] 最近は何が流行りなんだdjangoか GAEのおかげでpython使ってる人は増えてるみたいだけど
297 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 00:57:22 ] www.google.co.jp/trends?q=django%2Cpylons%2Ccherrypy%2Cplone%2CTurboGears&ctab=0&geo=all&date=ytd&sort=0 djangoダントツ
298 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 05:30:23 ] わかってて引用してるだろ?w
299 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:33:37 ] djangoはロードバランスできないのか?
300 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:01:05 ] 無茶いうな
301 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 19:54:37 ] >>293 Pylonsに入ってるっぽい
302 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:47:33 ] なんでWebフレームワークで負荷分散するんだよ? フロントにnginx使って、バックにDjangoを複数立ち上げておけよ。