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


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

Pythonのお勉強 Part32



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/

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 ]
ジャイソン以外の良本はないのか



252 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:30:13 ]
>>249の2.6/3.0対応版がもうすぐ出るよ
ピアソンがんばってくれないかね

253 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:49:19 ]
すいませんアドバイスください m__m

コマンドプロンプト上でPythonを実行して
待機秒数を表示させたりする場合、
待機するループ内でprintやsys.stdoutの出力を行うと
データがどんどん流れていってしまうのですが、
それを防ぐ方法はありませんか?

254 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:54:03 ]
import sys, time
for i in range(10):
    sys.stderr.write("%d\r" % i)
    time.sleep(1)

255 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 14:00:45 ]
なるほど!!
どうもありがとうございます。

256 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 14:11:28 ]
西尾さんのブログを読むべきだと思うけどな

257 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 14:12:14 ]
>>254
すみません、ピコ秒単位で制御したいのですがどうすればいいんでしょうか

258 名前:スルー力が足りない! mailto:sage [2009/02/28(土) 14:20:02 ]
本人装った荒らし乙。

259 名前:スルー力が足りない! mailto:sage [2009/02/28(土) 14:28:27 ]
>>257
本人装った荒らし乙。

260 名前:258 (!= 259) mailto:sage [2009/02/28(土) 14:38:09 ]
図星だったwww


261 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 15:03:29 ]
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ



262 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 16:24:57 ]
pass

263 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 18:15:08 ]
ぬるぽ

264 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 19:28:41 ]
try:
    ガッ

265 名前:スルー力が足りない! mailto:sage [2009/02/28(土) 23:07:40 ]
except ちんぽ as e:

266 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:37:00 ]
俺の息子がexceptionalにepsironってことですね

267 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:15:27 ]
SHA-1を計算するのに

f = open(target,'rb)
b = f.read()
f.close()
hashlib.sha1(b)

で計算はできたのですが
これをループを使って複数のファイルに対して行うと
途中でメモリエラーが出てしまいます(OutOfMemoryException)。
強制的にメモリを開放させるようなことはできないでしょうか?

b = ''
というようなこともしてみましたが無駄でした。
環境はIronPython 2.0.0.1、Windows Vista SP1です。


268 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 16:52:43 ]
ttp://d.hatena.ne.jp/a2c/20090228/1235814037

269 名前:デフォルトの名無しさん [2009/03/01(日) 17:04:45 ]
入力されたフォームデータをsqliteでデータベースに溜め込むCGIをPythonで実現しようとしてるんですが
同時アクセスが有った場合にコリジョンを回避するにはどうしたらいいでしょうか?キューにしたいんですが。

270 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 17:07:42 ]
import Queue

271 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 17:16:06 ]
CGIじゃプロセスがそれぞれ異なるから無理でしょ。

あと、SQLiteに書き込むならロックされるはずだから
同時アクセスは気にしなくてもいいと思うよ。



272 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 17:26:26 ]
aritayaki

273 名前:269 mailto:sage [2009/03/01(日) 17:26:54 ]
下げ忘れてた。失礼。
ということは、例外を捕まえてtime.sleep(1)とかやった方がスマートですかね。
アクセスが集中したときは順番ゴチャゴチャになるかもしれないけれど。
マヌケな話で申し訳ないんですがコリジョンを意図的に発生させる方法を教えて貰えますか?
実際に例外出して見ないと不安で。

274 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 18:11:59 ]
sqlite コマンド側からテーブルにロックかけたままにしておいて
CGI実行してみればどう?
タイムアウトはconnect時に指定できる。

あと、タイムアウトが発生してるような状態なら
時間をおいて再実行とかは、あまり意味がないだろう。
すぐにエラーにしてしまったほうがいいと思うけど。


275 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 18:44:49 ]
ちょっと聞いてみたいことがある。

ある辞書の中から、いくつかのキーを持つ要素だけを取り出した部分辞書を作
りたい。

>>> request = {'hoge':1, 'fuga':2, 'piyo':3, ...}
>>> a = {}
>>> for key in ('hoge', 'fuga'):
...   a[key] = request[key]
...
>>> a
{'fuga': 2, 'hoge': 1}

これをもっと簡潔に書く方法は無いだろうか?


276 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 18:58:39 ]
簡潔か微妙な気もするけど

dict([(key, request[key]) for key in ('hoge', 'fuga')])

277 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 19:15:26 ]
リスト内包表記を map にしてみた。

dict(map(lambda x: (x, request[x]), ('hoge', 'fuga')))
なんだこの微妙さは。


278 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 19:37:35 ]
dict([(x,request[x]) for x in request if x in ('hoge', 'fuga')])

279 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 19:41:54 ]
英語的な連中には
コレが構文的に分かりやすいのかね?


280 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 20:28:58 ]
内包表記って便利といえば便利だけど
python の魅力・長所である、
「記述内容が形(インデント)で見える」って
ところを完全に無視しているのが何と言うか…

281 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:16:08 ]
え?内包表記、読みやすいじゃん・・・
トリッキーなことやりすぎるとあれだけど。




282 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:17:53 ]
forの左に書けるのが文だけで式が書けないから色々微妙なことをしないといけなくなる

283 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:24:04 ]
>>280
個人的には内包表記は「記述内容が形で見える」ものの最たるものだと思うなあ。

Z = [(x / y if y != 0 else None) for x, y in zip(X, Y)]

となっていたら Z はリストで要素は x / y か None だということが一目で分かるから。

たぶん問題なのは内包表記を入れ子にすると一気に難読化するということかと。
個人的には入れ子にして読みにくくなるぐらいならバラして for 文なりにするかな。

284 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 22:10:34 ]
276と277の比較なら276のが読みやすい。

285 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 22:24:53 ]
>>276-278共通して
('hoge', 'fuga')
なんだけど
['hoge', 'fuga']
じゃだめなの?


286 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 22:34:59 ]
偏向する必要がないならタプルを使う。

287 名前:269 mailto:sage [2009/03/01(日) 23:05:54 ]
じゃ俺はちょっと違った切り口で。
>>276とほぼ一緒だけどfilter使えばコメント無くても何やってるか分かりやすい。
あとrequestに無いキー持ってこようとしてもエラー吐かない。

request = {'hoge':1, 'fuga':2, 'piyo':3}
def f(x): return x in ('fuga','hoge')
dict([k,request[k]] for k in filter(f,request))

288 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 23:44:01 ]
遅くね?

289 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 23:46:22 ]
dict([k,request[k] if k in request else None] for k in ('fuga','hage'))

290 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 23:54:14 ]
dict{[(k, v) for k, v in request.items() if k in ('fuga','hoge')]}

3.xであれば

{(k, v) for k, v in request.items() if k in ('fuga','hoge')}

291 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 23:57:35 ]
ごめん、↑のdict{}はdict()だ



292 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 00:10:11 ]
見つからないkeyは結果からは無くなった方が良いのかな

293 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 00:14:25 ]
部分辞書だからな






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

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

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