[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 08/30 10:57 / Filesize : 148 KB / Number-of Response : 717
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part37



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を複数立ち上げておけよ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<148KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef