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


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

【実験台】 Python 3.0 のお勉強 Part 1 【非互換】



1 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 22:30:15 ]
Python 3.0 は隔離スレを作るべきだと思うのは俺だけかな?
そもそもあれは実用で使うには時期が早すぎるわけで、ここで
普通に語られても困る。
--------
別に
--------
細分化する必要性が全く感じられない。
各自がレスの内容を収拾選択すればいいだけ。

166 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 12:23:41 ]
>>165
基本的にはそうだけど、いくつかは廃止・統合されてるから標準については公式行って確認するといいよ。
サードパーティーの使わないなら、対応状況はかなりいいはず。

167 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 12:37:49 ]
>>159
minv = func(seq[0])

168 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 12:47:21 ]
>>166
ありがとう!
ちょっとやる気が出た

169 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 14:01:21 ]
>>167
それ、seqがコピーしづらいイテレータだったとき面倒にならない?

170 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 15:12:44 ]
for i, x in enumerate(seq):
  v = func(x)
  if i == 0:
    minv = v
  elif v < minv:
    minv = v

171 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 15:14:05 ]
なんか違和感あるなw

こっちのが分かりやすいか

for i, x in enumerate(seq):
  v = func(x)
  if i == 0 or v < minv:
    minv = v


172 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 18:01:53 ]
Keep it simple, stupid!

173 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 21:38:50 ]
python3でグラフ書くのに何使ってる?
やっぱりgnuか?

174 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 15:17:24 ]
python2.xでmatplotlib



175 名前:デフォルトの名無しさん [2010/05/12(水) 00:07:01 ]
3.xのライブラリが2.x並になるのって、あと何年かかるんだろうか

176 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 23:35:01 ]
googleで対応してほしい

177 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 01:12:03 ]
最近python関係の書籍が色々と出てるね。
python2.6.2って・・・。

178 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 13:04:59 ]
う、うん……(´・ω・`)

179 名前:デフォルトの名無しさん [2010/05/18(火) 09:44:30 ]
なんで俺たち3.xなんか始めちゃったんだろう……

180 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 01:30:56 ]
しかし今更後戻りなど…

181 名前:デフォルトの名無しさん [2010/05/19(水) 01:37:20 ]
>>171
のプログラムみたら、
やりたいことは値の設定なのであって、複文を実行することじゃないから、
minv = func(x) if i == 0 or func(x) < minv else minv
って書きたいけど、中でfunc(x)が2回出てるから、func(x)がすっごい重い処理だと
性能悪いなー

って思うのは正しい?
func(x)の値は内部的に保持され、2度実行されないよう最適化してくれるのかな?

182 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 02:40:26 ]
そんな最適化してくれるコンパイラはCでもないと思うぞ

183 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 06:55:06 ]
どうもスクリプト言語は互換性を一度ぶった切りたくなるものみたいだなぁ
Rubyは一見その点では有利そうなんだが、実際にはバージョン間の互換性がさっぱりで、
単に同じこと(過去の微妙な仕様の切り捨て)を小分けに毎回やってるようなもんだから
ある意味余計に悪いし
まぁでも、俺は当分3kは使わないけど、いずれ移行するような気はするけどな

184 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 08:21:19 ]
いつまでも保守的ではいられないのさ



185 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 10:10:03 ]
CやC++も最初のころは仕様がコロコロ変わっていたような覚えがあるのだが

186 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 11:17:13 ]
いまでもコロコロ変わってますが

187 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 15:28:45 ]
せめてnumpyがないと移行できないなー


188 名前:181 [2010/05/20(木) 00:49:13 ]
>>182
やぱCでもgcc:O2でもfuncの中身までは解析しなかった
変数の出現が関数外ではありえない、みたいな
extern宣言が出来ると、イケチャウ雰囲気あるんだけどな〜
動的スコープだとほんと無理なのかな

誰か天才いないかーーーー

189 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 06:04:42 ]
>>181
else のときは
minv = minv
になるから
アホなコードだなぁ
と思う

190 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 13:53:03 ]
>>181
こういうコードはダメ。Ruby厨に惑わされるな。

191 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 15:27:14 ]
>>159
> min(func(x) for x in seq) で常にかければいいんだけど、
> 書けないこともよくあるので。
これってどんなとき?

192 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 18:17:37 ]
>>159
reduce使え
min(seq)は
reduce(min, seq)と同じ

その手のやつは大概適当なfを用意してやれば
reduce(f, seq)
に書き換えられる

193 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 18:19:04 ]
ストリームデータから最小値を見つけるとか。
ファイルシステムを捜査しながら最大サイズのファイルを見つけるとか。
かな

194 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 18:21:20 ]
>>193
それminで何でだめなんだ?
min()はiterable受け取れるけど



195 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 21:12:50 ]
うーむ

196 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 22:55:28 ]
>>189 >>190
俺も同意だと思ったけど、内部的にはmin関数もまったく同じなんだよね。
趣味の問題かな?

197 名前:デフォルトの名無しさん [2010/05/21(金) 08:11:23 ]
初心者のお試しレベルなら問題ない
パフォーマンス考えたら避けるべき

198 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 10:58:04 ]
関数型言語ならletする場面だから、
Pythonでは潔く2行にするのが良いんじゃないの

199 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 11:35:37 ]
unko

200 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 14:44:46 ]
>>140
パイソンってこういうコーディングルール統一されてると勝手に思ってたけど、汚いんだな

統一されてないのは書いてて気になるし、推測でメソッド名書けなくなるから、やっぱりそういうところちゃんとしてるルビーのほうが良さそうか

理路整然としてるイメージを勝手に持ってたけど、rubyのほうがそゆとこしっかりしてんのかな

201 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 15:12:39 ]
ああ、Ruby最高だよ

202 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 15:36:16 ]
>>200
classmethod みたいな、1つの単語と呼べるものは、アンダースコアで区切らない。
set_autholizer みたいな、複数の語でなる句は、アンダースコアで区切る。
JUnit みたいに、別のリファレンスに従う設計になっているライブラリは、そのリファレンスの命名に従う。

理路整然としてるけど?

203 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 17:27:52 ]
なるへそ

204 名前:デフォルトの名無しさん [2010/06/02(水) 21:48:16 ]
なんかpython3始めたいのにまともな書籍が売ってない。
いつになったら普及するのよ。



205 名前:デフォルトの名無しさん [2010/06/02(水) 21:49:45 ]
java-jaの人が執筆したJython本で我慢しろよ

206 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 03:44:37 ]
>>205
本スレにカエレ

>>204
もうちょっとかかりそうだな。
このスレでも何度か出てきてるDive into Python3は、英語版なら書籍でも出てる。
書籍の形で欲しいのなら適さないけど、内容的に書籍レベルのものが欲しいのならWebの日本語訳がいいと思う。
ttp://diveintopython3-ja.rdy.jp/index.html

207 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:11:07 ]
www.amazon.co.jp/dp/4873114489

208 名前:デフォルトの名無しさん [2010/06/05(土) 05:47:05 ]
>>207
2.5じゃねーかハゲ

209 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 17:10:52 ]
>>202
> 理路整然としてるけど?

で、結果としてばらばらのネーミングルールになってると。

馬鹿か。

210 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 20:50:51 ]
>>209
馬鹿はお前だ

211 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 21:16:35 ]
まあ、馬鹿は言い過ぎと思うが、>>202 の理由が正しいとしても結果として
統一されてないのは事実だし、おれも >>200 のようにいまいち汚いと思う。

212 名前:デフォルトの名無しさん [2010/06/09(水) 05:54:43 ]
べき集合をスマートな一行で書く方法ないかね

213 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 00:42:28 ]
>>212
1行じゃないけどこんなの見つけた
mail.python.org/pipermail/tutor/2004-April/029413.html

214 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 01:15:00 ]
ttp://docs.python.org/py3k/library/itertools.html
レシピのpowerset



215 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 01:47:42 ]
できたと思ったらまともなのが出てた。
t = set(range(3))
(lambda st: (lambda ls: set(frozenset(ls[j] for j in range(len(st)) if (i >> j) & 1) for i in range(2**len(st))))(list(st)))(t)

# ==>set([frozenset([0]), frozenset([1, 2]), frozenset([]), frozenset([0, 2]), frozenset([1]), frozenset([0, 1, 2]),
# frozenset([2]), frozenset([0, 1])])

216 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 15:37:58 ]
今年出たpaython本が2.6対応なのにはワラタ。

217 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 16:47:12 ]
>>216
Python3の本もたくさん出はじめてるよ。
どの本がPython3用になって欲しかった?

218 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 09:59:07 ]
ぶっちゃけ入門レベルで、2.6も3.0もたいした違いはないし、
もっと他に気を掛けることがあるだろうに。

219 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 14:14:05 ]
なにごとも初心者は、自分の進め方が正しいかどうかで迷ってしまうからねぇ。

220 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 14:29:00 ]
そういえば、Pythonスタートブックっていう書籍が出たけど、
あの手の書籍は最新python3で出して欲しかったな。
初心者向けみたいだし、プログラミング入門者でも分かりやすい内容だったから。
仕事で使うのではなく、ただなんとなくPython始めたいような人は
最新環境で学ぶべきだと思うよ。
俺らが3の仕様変更を知らされたときに受けた失望感を
初心者にまで与えるのはあまりにも酷だろ。

それでも2.Xが優勢だということは、
おそらく3は当分普及しないってことだろうね。
たぶん日本ではGoogleのGo言語のほうがpython3よりも先に普及すると思う。
どうしてこうなった。


221 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 20:18:39 ]
>どうしてこうなった
encode/decodeのせい
python3に期待

222 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 20:22:05 ]
>>220
日本でGoが普及するか?まだC#の方がありうると思うぜ。
それ以前にGoとPythonの守備範囲も若干違う気がするし…

223 名前:デフォルトの名無しさん mailto:sage [2010/06/19(土) 13:45:04 ]
あるうるも何も、C#はとっくに普及しとるがな
特に国内ではPerlやPHPならともかく、Pythonとは比較にもならんだろ

224 名前:デフォルトの名無しさん mailto:sage [2010/06/19(土) 18:25:04 ]
>>223
そんなに普及してんの? Pythonと似たり寄ったりだと思ってた。
LLスレにでも移動して語ってくれ。



225 名前:デフォルトの名無しさん mailto:sage [2010/06/19(土) 18:37:33 ]
ttp://www.atmarkit.co.jp/news/200902/13/wp.html
ワークポートとかいう会社の調べ
C#の求人件数は5位
ちなみにPythonは圏外ね

226 名前:デフォルトの名無しさん mailto:sage [2010/06/19(土) 19:34:21 ]
日本の不幸はRubyっつーガラパゴス言語が作者が日本人だってだけで国内で(ry

227 名前:デフォルトの名無しさん mailto:sage [2010/06/19(土) 23:12:50 ]
ガラパゴスではないだろ

228 名前:デフォルトの名無しさん mailto:sage [2010/06/19(土) 23:30:07 ]
つーか国内で別にそんなにRuby使われてないだろ
Pythonがそれ以上に使われてないだけで

229 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 14:11:10 ]
コアの開発に関する議論が日本語で行われていて世界からはブラックボックスに見えるという
時点で、ある程度のガラパゴス性をもってるよね>Ruby

230 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 14:26:26 ]
ruby-coreの開発に関する議論は英語だが?

231 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 14:51:35 ]
>>230
そうなん?スマン。
MLでオープンな議論もするけれど、重要なことはMatzを中心とする一部の日本人が
エイヤで決めるってどっかのインタビューで答えてたと思ったから。

232 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:28:53 ]
Pythonの話しろ!

233 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:39:20 ]
pythonから発展した話題だし、少しくらいいいんじゃね?
ところで、お前らpythonなにに使ってる?

234 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 01:30:20 ]
>>233
電卓代わり、CGI、C/C++で書くほどじゃないプログラム全般。
まともに使い方知ってる言語がC/C++とPythonしかないから、ある意味で楽。



235 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 02:25:43 ]
>>233
spamメールのフィルタ

236 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 02:34:24 ]
>>233
領土問題と同じで、少しくらいと譲歩してたら乗っ取られる。

237 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 21:36:26 ]
領民あっての領土だから大丈夫

238 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 08:50:39 ]
pythonだと作るのが非常に楽なので、python常用して
python2だと日本語が扱いづらいので、python3導入して
研究で最適化アルゴリズムとか強化学習のプログラム作ったけど
先輩のc言語で書かれた同じ最適化アルゴリズムで作った巡回セールスマン問題と
実行速度比較したら、10倍以上差があるんだが・・・先輩のが数分で、自分のが数時間
読みやすさ重視でプログラム書いたからループ内で不要な処理とかかなりしてる気もする
python3のコンパイラないかな


239 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 08:57:15 ]
python3にしか対応してない素晴らしいモジュールを作れば移行が早くなるかも!!

240 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 11:11:07 ]
>>238
あったとしても、多少マシになるくらいでCにはとてもかなわないと思うよ。
psycoって3.x対応してないよなぁ。

241 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 11:29:12 ]
10倍ですむならマシだな
ものによっては100倍ぐらい差がつく

242 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 11:29:38 ]
>>240
多少でもマシにしたいほど時間がかかる・・・
たしか対応してない

243 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 11:30:34 ]
先輩が数十分、自分のだと1日とかそんな感じ

244 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 11:51:10 ]
Python2 にもどして、 PyPy 使うと良いよ。
今日 PyPy-1.3 がリリースされたし。



245 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 20:35:28 ]
python3ってctypes使えますか?

246 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 21:16:25 ]
使える

247 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 23:37:58 ]
ctypesいじくり中。
pointerとbyrefってどう使い分けるんだ?
あとlistをそのまま配列としてcに渡したり出来ないのね。
内包表記でばーんと渡したりって訳にはいかないね。

248 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 23:45:14 ]
とりあえず全部PythonでつくってProfilerかけて時間のかかる処理だけSWIG+Cで書いてるけど
このオーソドックスな方法は素晴らしいっすよ

249 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 02:10:57 ]
Cythonも素晴らしいよ。
ちゃんとPython3にも対応してるし。

250 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 15:23:06 ]
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import datetime

def sample_loop(n):
L = []
for i in range(n):
L.append(i)
return L

def sample_comprehension(n):
return [i for i in range(n)]

d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )

sample_comprehension(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )

sample_loop(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )

実行結果
2010-06-27 15:19:23
2010-06-27 15:19:46
2010-06-27 15:19:46

Python3だとリスト内包表現って遅いの?

251 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 15:43:03 ]
>>250
2.6でも3でもリスト内包の方が速い。
2.5以前は知らんが、たぶんリスト内包の方が速い。
dsas.blog.klab.org/archives/51742727.html

252 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 15:50:16 ]
こうしないと同じ条件にならないんじゃ?

def sample_comprehension(n):
    L = []
    return [L.append(i) for i in range(n)]

253 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 20:15:46 ]
CPythonって、リストの実装って配列だっけ?双方向リストだっけ?

>>250
sample_comprehensionとsample_loopの順番を入れ替えてみても結果変わらない?

32bit環境だと50000000要素だと、配列なら約200MB、双方向リストなら約600MBのメモリ確保が必要になって、
それに時間がかかったんじゃないかなぁ。
一旦確保したら、ひとつめのsample_comprehensionで作ったリストはGCの対象になるから、新たにメモリ確保の必要がない。
だから2つめのsample_loopは早かった、と予想してみる。

254 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 20:45:54 ]
>>252
適当なサイトのソースをコピペして実行しただけだから深く考えてなかった
それでやってみる
>>253
順番入れ替えても変わらなかった



255 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 20:48:28 ]
>>251
そうそうこのページのソースをコピペして実行した
人が居たから、かなり適当に書いた
だからtimeじゃなくdatetime使ってたり

256 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 21:03:11 ]
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import datetime

def sample_loop(n):
L = []
for i in range(n):
L.append(i)
return L
def sample_comprehension(n):
L = []
return [L.append(i) for i in range(n)]

d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )

sample_comprehension(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )

sample_loop(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )

結果
2010-06-27 21:01:04
2010-06-27 21:02:11
2010-06-27 21:02:12

257 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 21:30:30 ]
>>252
正直その糞コードで何をしたいのか全然わかんねえ
list.append()はNoneを返すから
それって結果は
[ None ] * n
になるよな

258 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 21:53:13 ]
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import datetime

n = 50000000

d = datetime.datetime.today()
print ("for文リスト作成開始:",d.minute,"分",d.second,".",d.microsecond,"秒")
L = []
for i in range(n):
L.append(i)

d = datetime.datetime.today()
print ("リスト内包     :",d.minute,"分",d.second,".",d.microsecond,"秒")
L = []
L = [i for i in range(n)]

d = datetime.datetime.today()
print ("終了        :",d.minute,"分",d.second,".",d.microsecond,"秒")

for文リスト作成開始: 51 分 11 . 930000 秒
リスト内包     : 51 分 53 . 554000 秒
終了        : 52 分 9 . 919000 秒

259 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 23:05:53 ]
糞コード貼り禁止

260 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:36:29 ]
>>256
ほんとだ。すげー、ループはえー、と思ったらインデントを
def sample_loop(n):
    L = []
    for i in range(n):
        L.append(i)
        return L
にしてた(・ω・`)
2.5で動かしたからrange()がイテレータじゃなくてリスト返すおかげで数字的にリアルだった。

にしても、今時のCPU速いな。Pen4だとC++で同じような処理書いても2秒かかったぞ。
#include <vector>
#include <iostream>
class Range{
private:
int end;
int now;
public:
Range(int n) : end(n), now(0){}
int next(){return now == end ? -1 : now++;}
};
int main(){
Range range(50000000);
std::vector<int> l;
int i;

while((i = range.next()) != -1) l.push_back(i);
return 0;
}

261 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:39:39 ]
>>252
L.append自体をすることが目的ならそうだけど、
L.appendの副作用でリスト作るか内包表記でループ作るかどっちが速いかを調べたいなら元々のであってる

262 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 06:54:38 ]
Cyhonの使い方を勉強しよう
まだほとんど調べてないが、使い方がよくわからない
てかトイレ行きたくて集中出来ない

263 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 12:02:02 ]
先に下痢を治せ

264 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 10:50:19 ]
結局ある程度調べたつもりだが
cython全然わからんとです
超初心者スレで教えてもくれるかな



265 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 22:45:35 ]
Python3について調べてたらsuper()がキモくなってて吹いた。

lucumr.pocoo.org/2008/4/30/how-super-in-python3-works-and-why-its-retarded
↑にも書いてあるけど、関数定義中の__class__って何なん?第一引数をスタックフレームから取るっておいおい。

以下のクラス定義でFoo()foo()すると

class Foo:
 def foo(self):
  print(locals()) #=> {'self': <__main__.Foo object> at ...>} # __class__いません
class Foo:
 def foo(self):
  print(__class__) #=> <super: <class 'Foo'>, <Foo object>> # ちょww
_super = super
class Foo:
 def foo(self):
  _super() #=> エラー # ちょww

いくらなんでもこの挙動はキモすぎだろ。たかがsuper()のためだけに。
最後のとか原因わかったとしても、難すぎる。
全くPythonicじゃない。こんなJavaに媚びるような仕様。

266 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 00:21:03 ]
Guidoパパ曰く:
> This whole movement to condemn super because it's not "pure" strikes
> me as wasted energy. That's my last word.

267 名前:265 mailto:sage [2010/07/08(木) 01:08:18 ]
>>266
英語力不足で意味が掴みづらいんだけど、

super()への批判は聞き飽きた。もう知らん。by Guido

って感じ?なんかGuidoらしくないなあ。俺みたいに批判してる人は
なんで今までわざわざself書いてきたんだろう、って気持ちになるんだよ。

通常の関数定義には__class__は現れなくて、メソッド定義中では
それが現れるってええ?メソッドがただのclass内で定義された関数っていう
整合性のためにself書いてたんだよって。

もちろんそれ以外にもselfなければデコレータがこれ程強力に
使われることもなかっただろうし、他にも利点はあるから
selfは必要だけど、それでもselfが必要な重要な理由の一つ
が消えちゃったんだ。

268 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 01:47:54 ]
メソッドの最初の引数にself付けるのも__class__が導入されたのも何が嫌なのか全く分からん

269 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 03:33:46 ]
Ruby そんなに嫌なら自分で新しい言語作れば良いのに
Python 我慢して使えよ
PHP 祈りなさい
Perl シラネ

270 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 07:23:15 ]
>>268
うーん。selfがキモくないと思うなら(俺はキモくないと思う)、
__class__はキモいと思えるはず。

__class__導入によって、selfが2.xに比べてキモくなったって話。
たぶんキモいのは多くのPythonistaが認めてる。さっきのサイトの書き込みとか見てると。
でも、それでもDRYなコードを書けるようにしたかったんだと思う。

あと、__class__って属性の方の__class__じゃないよ。ローカル変数の__class__ね。
属性の方は別にキモくないよ。

271 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 07:30:11 ]
一応コードで説明する
def foo(self):
 pass
class Foo:
 def foo(self):
  pass
このとき、fooとFoo.fooが全く同じだったのが今までのPython。
Foo.fooはFoo名前空間の中にある「関数」に過ぎない。
Fooがインスタンス化されて、次みたいに呼び出される瞬間だけメソッドになるのが、
Pythonの実装方法
x = Foo()
x.foo # これはメソッドになる。(xが第一引数になる)

でも、Python3では、fooのローカルには存在しない変数__class__がFoo.fooの中に勝ってに
入ってる。

まあ、それだけの話だから、Pythonのオブジェクトシステムに興味ない人にとってはどうでも
いいかもね。俺はキモくてしかたないわ。

272 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:36:37 ]
>>270-271
ありがとう。意味が分かった。
確かにこれはキモい。

けど、キモくしてまで__class__を入れる理由ってあるの?

273 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:03:11 ]
無引数super()の実装に__class__が必要。
Pythonには自分を呼び出した元の関数のローカル変数を参照する機能が、
CレベルでもPythonレベルでもある。

__class__があれば、super()内から、クラスとselfが参照できるから、
そのクラスの__bases__からスーパークラスを参照してそれとselfを結びつけられる。

無引数super()が必要な理由は、DRYのためだけだと思う。確かにLLなのにDRYの点で
Javaなんかに負けるのは許されないことだったのかもしれない。

言語仕様を汚すぐらいならキーワードにしちまえみたいな意見もあったみたいだけど、
多重継承のあるPythonでは引数有りsuper()もサポートしたいし互換性あるし
みないなところで、こうなった。

俺はこのsuper()は関数に見せかけたキーワードだと思うことにした。
そうすれば、x=superとかしたときにx()が動作しないのにまだ納得がいく。

さて、再びROMるか。

274 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:34:59 ]
>>273
なるほど。重ね重ねありがと。

self.super()だったらそんなにきもくないのに(・ω・`)



275 名前:デフォルトの名無しさん mailto:sage [2010/07/23(金) 01:41:10 ]
github.com/methane/ipython
誰か実験台になっておくれ。

276 名前:デフォルトの名無しさん mailto:sage [2010/09/09(木) 23:10:09 ]
早くコンパイラ作って下さいお願いします
自分の作ったプログラムが終わるのに、後1年かかるとか待ってられない

277 名前:デフォルトの名無しさん mailto:sage [2010/09/10(金) 06:07:32 ]
それはプロファイル取ってチューニングして、という常道はすでにおこなっての話?

278 名前:デフォルトの名無しさん mailto:sage [2010/09/10(金) 06:27:43 ]
つ Cython
つ PyPy-c-jit

279 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 06:10:48 ]
>>277
常時してるよ
かと言っても、シミュレーション行わないといけないから
ある程度早くなった段階で、実行して、実行中に改善して、
次、実行するときに少し早くなったのつかって、ってのを繰り返してる

>>278
Cythonは使ってる
下のやつは初耳調べてみます

プログラムをオブジェクト指向みたいに書いちゃったおかけで、その部分をCythonに直すのがよくわからない
あと、Cythonの関数?を呼び出す回数が多いから、まだ時間がかかる
全体的に関数使いすぎだけど、拡張性を高くしときたいからこれをinline化するのも何かあれな気もする
速度を早くすることに時間を費やしてばかりいられないのと、
自分が低脳なせいで改良の余地はまだまだあるのに、大して出来てない・・・って状況です

280 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 08:06:20 ]
Cythonなら、Pythonのコードの8割がそのまま動く(ジェネレータとかは動かない)し、
defをcdefに書き換えるとPythonの関数オブジェクトを作らず直接C言語の関数になる
から関数呼び出しも高速になる。

281 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 09:10:07 ]
>>280
cdefはpyxの中でしか呼べないから、
pyからpyxのdefを呼んで、pyx内で、cdefを呼んでる
うまく説明出来てないけど、今こうなってる。
全部pyxにしちゃえばいいんだけど、そうできないのがいくつかある

282 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 10:24:07 ]
素直にSwigこれ最強

283 名前:デフォルトの名無しさん mailto:sage [2010/09/14(火) 02:13:37 ]
boost.python ....

284 名前:デフォルトの名無しさん mailto:sage [2010/09/16(木) 18:38:30 ]
結構色々とあるんですね
まあ、しばらくはCythonしか手を出せないんですが…

Cythonのオブジェクトが良くわからん
cdef class abc:
 def aaa(self,val):
  aaa_f(self,val)
 cdef aaa_f(self,val):
  self.A = 0
  self.B = []
  self.C = val

aaa_f がありませんだってお



285 名前:デフォルトの名無しさん mailto:sage [2010/09/16(木) 22:58:34 ]
>>284
CythonじゃなくてPythonでもそれはエラーになるだろ…

286 名前:デフォルトの名無しさん mailto:sage [2010/09/16(木) 23:35:08 ]
>>285
Pythonだとこんな感じ
#abc.py
class abc:
 def aaa(self,val):
  self.A = 0
  self.B = []
  self.B = val

特に実行エラーとかもなく普通動いてる
#main.py
neko=abc.abc()
neko.aaa(val)

こんな感じかな

287 名前:デフォルトの名無しさん mailto:sage [2010/09/16(木) 23:50:26 ]
>>284
aaa_f は誰の持ち物?

288 名前:デフォルトの名無しさん mailto:sage [2010/09/16(木) 23:56:47 ]
>>287
nekoちゃん

289 名前:デフォルトの名無しさん mailto:sage [2010/09/17(金) 00:03:00 ]
>>287
クラスabcです

290 名前:デフォルトの名無しさん mailto:sage [2010/09/17(金) 00:04:07 ]
>>289
答えでてんじゃん

291 名前:デフォルトの名無しさん mailto:sage [2010/09/17(金) 00:11:15 ]
>>290
よくわからないです…
#main.py
neko=abc.abc()
neko.aaa(val)

で、
#abc.pyx
のaaaを呼び出して
abc.pyxで、aaa_fを呼び出してる



cdef class abc:
 cdef:
  object A
とかも必要なのか…

292 名前:デフォルトの名無しさん mailto:sage [2010/09/17(金) 00:45:44 ]
class Foo1:
 def aaa(self):
  self.bbb(0)
 def bbb(self,val):
  self.x = val

class Foo2:
 def aaa(self):
  bbb(0)
 def bbb(self,val):
  self.x = val

class Foo3:
 def aaa(self):
  Foo3.bbb(self,0)
 def bbb(self,val):
  self.x = val

どれなら動くと思う?

293 名前:デフォルトの名無しさん mailto:sage [2010/09/17(金) 01:27:04 ]
ああなるほど
Foo1かな
Foo3もかな

294 名前:デフォルトの名無しさん mailto:sage [2010/10/05(火) 07:02:42 ]
ここまで互換性が無いのに、仕様変更するのってが良い
規制で雁字搦めになって身動きが取れなくなってたりしなくて
これからも、互換性気にせず、ドンドン変更して欲しい
その上で、変換するものがあってくれれば



295 名前:デフォルトの名無しさん mailto:sage [2010/10/05(火) 12:30:45 ]
Python3のタイミングで変数の型指定(静的型付け)を導入してくれれば明るい未来が開けたのに・・・

296 名前:デフォルトの名無しさん mailto:sage [2010/10/05(火) 14:34:31 ]
>>295
それPythonじゃなくね?

297 名前:デフォルトの名無しさん mailto:sage [2010/10/05(火) 19:11:33 ]
Javaでも使ってろ

298 名前:デフォルトの名無しさん mailto:sage [2010/10/05(火) 20:39:58 ]
>>295
あるよ

299 名前:デフォルトの名無しさん mailto:sage [2010/10/09(土) 15:46:51 ]
型指定すると何か良いことあるの?速度以外で

300 名前:デフォルトの名無しさん mailto:sage [2010/10/10(日) 00:48:13 ]
>>299
潔癖(だと思い込んでる)Javaプログラマを取り込みやすくなる、とかw

ないな。JavaプログラマはJavaしか書こうとしないし、それしかできないw

301 名前:デフォルトの名無しさん mailto:sage [2010/10/10(日) 01:22:35 ]
>>299
インテリセンスが賢くなる。

>>300
Javaプログラマにコンプレックスがあるの?

302 名前:デフォルトの名無しさん mailto:sage [2010/10/10(日) 01:30:34 ]
>>301
コンプレックスというより、バカで使えない、というトラウマがあってw

303 名前:デフォルトの名無しさん mailto:sage [2010/10/10(日) 09:19:37 ]
一山いくらのドカタとハッカーを一緒にするな!

304 名前:デフォルトの名無しさん mailto:sage [2010/10/10(日) 10:22:07 ]
このスレ見てるとPythonももう終わったなって感じだな



305 名前:デフォルトの名無しさん mailto:sage [2010/10/10(日) 11:53:58 ]
__class__きもいんだけど。

306 名前:デフォルトの名無しさん mailto:sage [2010/10/20(水) 04:03:55 ]
どうでもいいニュース:
今日、Arch Linuxの/usr/bin/pythonがpython3になった。

307 名前:デフォルトの名無しさん mailto:sage [2010/10/20(水) 10:30:47 ]
Arch使ってるような変態じゃなくて玄人連中は別に困りそうも無いから問題無い

308 名前:デフォルトの名無しさん mailto:sage [2010/10/20(水) 13:26:33 ]
debianは未だに(ry

309 名前:デフォルトの名無しさん mailto:sage [2010/10/20(水) 13:54:18 ]
OSが勝手に3採用するのは困る

310 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 00:22:52 ]
どうせ2もpython2とかいう名前で入れられるんだろ?

311 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 08:31:20 ]
さっさと3に移行しろよクズども

312 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 10:35:49 ]
Python3の旅はこれからだ!
グイド先生の次回作、Python4にご期待ください。

313 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 13:57:52 ]
Djangoが使えるようになったら移行する > 3

314 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 15:13:32 ]
Python素人だけれども、
ユニコード文字列とかのややこしさがなくていいなと思って3.1をインストールしたんだが、
間に合ううちに2.7に切り替えるべきか? それともどうせ通る道と受け入れるべきか?



315 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 15:47:52 ]
必要になったら2.xをいれればいいさ

316 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 18:53:46 ]
>>314
3rdパーティのライブラリが使いたくなったらPython2.xへ。

317 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 22:39:06 ]
必要になったら3.xをいれればいいさ
5年後ぐらいにはそうなるよきっと

318 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 23:15:30 ]
Google App Engine(とWSGI準拠のアプリケーション)が
3に対応したら必要性で周りのライブラリも加速するんじゃねぇかなーと思う

319 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 23:16:58 ]
3.2から一気に加速するよ。

320 名前:デフォルトの名無しさん mailto:sage [2010/10/22(金) 00:23:15 ]
2から3に引っ越すメリットってなに?

321 名前:デフォルトの名無しさん mailto:sage [2010/10/22(金) 00:38:56 ]
自己満足

322 名前:デフォルトの名無しさん mailto:sage [2010/10/22(金) 00:57:04 ]
俺ってすごい感

323 名前:デフォルトの名無しさん mailto:sage [2010/10/22(金) 21:19:58 ]
文字コード関連のエラーを見ないで済む

324 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 00:08:54 ]
嘘つくな。
UnicodeDecodeErrorは相変わらず出るぞ。



325 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 00:37:33 ]
ということはつまり2から3に引っ越すメリットってなに?

326 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 01:25:56 ]
将来にわたって比較的安心につかえる。
現時点でのメリットはそれしかない。

327 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 09:11:21 ]
>>324
そりゃ、出るには出るよ。

328 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 20:45:30 ]
>>326
クククッ, ハタシテ ソウカナ となりそうで怖い

329 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 03:18:33 ]
初心者ならいいけど、
ある程度の経験者でUnicodeDecodeErrorと格闘してるような奴は、
基礎を固めずに、行き当たりばったりでプログラムを書いてるんでしょ。

330 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 03:37:10 ]
いちいち u'' を書かなくて良くなったんだってね
2.x の unicode = 3.x の string
2.x の string = 3.x の bytearray
っていう認識で桶?

331 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 03:48:05 ]
俺はその認識。

332 名前:デフォルトの名無しさん [2010/10/24(日) 09:25:20 ]
>>329
そういう基礎や定石的な対処法って何に書いてあるものなんだ?


333 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 10:00:24 ]
>>329
日本人以外にもそれ言える?

334 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 11:28:51 ]
>>332
PEP



335 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 12:46:11 ]
Python3.1使ったWEBを作ってるんですが
次のようなエラーが出て困ってます。
UnicodeEncodeError: 'ascii' codec can't encode characters in position 178-180:

インタープリターで実行すると出ないエラーです。
ブラウザから実行したときに出るエラーです。
処理としてはDBアクセスして検索SQL実行して結果セットをループで回してXML形式の文字列としてクライアント側に返すといった内容です。

原因がわかれば教えてください。


336 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 13:08:26 ]
原因はおつむの悪さ

337 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 13:13:02 ]
馬鹿には無理

338 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 13:33:07 ]
>>335
文字コードは、省略してもいいって絶対の自信がない場合は面倒くさくても指定しろ。

339 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 13:54:27 ]
>>335
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
のように、sys.stdoutを置き換えると良いよ(utf-8の部分は適宜置き換えて)

340 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 14:33:26 ]
>>335
基本的に、文字列を出力するときはエンコードしなきゃいけない。

にもかかわらず、コンソールで実行するときに問題が表面化しないのは、
Pythonが端末のエンコーディング(例えば'UTF-8')を sys.stdout.encoding に自動で設定してくれているおかげ。
これによって、print "うんこ" は、sys.stdout.write("うんこ".encoding("utf-8"))として実行される。

しかし、CGIで実行する場合はそんな支援はしれくれず、sys.stdout.encoding はNoneになっている)ので、
print "うんこ" は、sys.stdout.write("うんこ".encoding("ascii"))として実行
されてしまい、エラーとなる。

341 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 14:34:50 ]
まちがえ。encodingじゃなくてencodeね。

342 名前:335 mailto:sage [2010/10/24(日) 15:15:20 ]
encoding('UTF-8')を付加してみたんですが、今度は違ったエラーが出てきました。

修正前)testclass.filehandler.write(return_str + "\n")
修正後)testclass.filehandler.write(return_str.encode('UTF-8') + "\n")

コンソールで実行したら
次のエラーが出ました。
<class 'TypeError'>, TypeError("can't concat bytes to str",)

型変換処理が必要という内容だと思うんですが
bytes型→str型には、どうやって変換するのでしょうか?

343 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 15:18:47 ]
ggrks

344 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 15:21:54 ]
>>342
そういう変な(中途半端な)場所じゃなくて、I/Oの直前直後に
変換かけるようにしなよ



345 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 15:24:56 ]
文字コードについて知らない・知ろうとしない人は
Python3になっても苦労するだろうね

346 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 16:04:26 ]
>>342
文字列("\n")とバイト列(return_str.encode('UTF-8'))を結合しようとしてるからそうなるだけ。

最初に結合させてから変換すればいい:
return_str = return_str+"\n"
testclass.filehandler.write(return_str.encode('UTF-8'))

347 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 21:55:37 ]
文字コードって何?

348 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 23:09:33 ]
ggrks

349 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 23:14:38 ]
2ch は心の荒んだ人の溜り場だな

350 名前:デフォルトの名無しさん [2010/10/25(月) 17:54:02 ]
>>347
ここがおすすめ
diveintopython3-ja.rdy.jp/strings.html

351 名前:デフォルトの名無しさん mailto:sage [2010/10/25(月) 18:51:33 ]
dive intoはいろいろ問題があるから非推奨だって話を読んだことがあるけど。

352 名前:デフォルトの名無しさん mailto:sage [2010/10/25(月) 20:08:05 ]
英語の文献まで手を広げれば色々あるから
自分に合ったやつを選べばいいんじゃない?

353 名前:デフォルトの名無しさん mailto:sage [2010/10/26(火) 04:12:15 ]
主要モジコードのISOの番号を全部暗記していた時代が僕にもありました。

354 名前:デフォルトの名無しさん mailto:sage [2010/10/26(火) 20:32:35 ]
iso-2022-jpなら知ってる



355 名前:デフォルトの名無しさん mailto:sage [2010/10/27(水) 16:23:30 ]
Windowsでウインドウ列挙して指定のウインドウをキャプチャして
その画像をメールで送りたいんだけど、
・ウインドウの列挙
・画像のキャプチャ
はどうすればいいですか?
ライブラリ有りますか?

356 名前:デフォルトの名無しさん mailto:sage [2010/10/27(水) 17:10:01 ]
ctypes

357 名前:デフォルトの名無しさん mailto:sage [2010/10/27(水) 17:14:55 ]
pywin32

358 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 11:56:05 ]
Python3.1でPOSTデータの取得の仕方で質問です。

下記のコードで値が取れないのですが、問題があれば指摘ください。
import sys
import cgi
def application(environ, start_response):
form = cgi.FieldStorage()
user_name = form.getvalue('txt_username', 'Unknown')
(略)

この「txt_username」の入力値が拾えません。

359 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 12:37:22 ]
wsgi.org/wsgi/Specifications/handling_post_forms


360 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:33:50 ]
>>358
mod_python環境だったりしない?

361 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 14:37:33 ]
>def application(environ, start_response):


362 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 15:06:19 ]
CGIとWSGIは別物だぜ

363 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 23:22:59 ]
>>358
WebOb 波動?

364 名前:デフォルトの名無しさん mailto:sage [2010/11/04(木) 14:58:24 ]
numpy-1.5.1rc1.win32-py3.1-mkl.exe たまたま見てたら今日出たのか



365 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 15:44:30 ]
matplotlibがないとなぁ

366 名前:デフォルトの名無しさん mailto:sage [2010/12/06(月) 22:41:57 ]
3.xのリファレンスは翻訳してないのかえ?
別に要らないけど。

367 名前:デフォルトの名無しさん mailto:sage [2010/12/10(金) 12:43:36 ]
死にたい。

368 名前:デフォルトの名無しさん mailto:sage [2010/12/10(金) 14:04:11 ]
逝くならクリスマス前にな。

369 名前:デフォルトの名無しさん mailto:sage [2010/12/11(土) 09:30:05 ]
訳を聞こうか

370 名前:デフォルトの名無しさん mailto:sage [2010/12/13(月) 03:18:10 ]
流行る気配すら無いんだが大丈夫なんかな
10年くらいで移行できたらいいなみたいな感じらしいけど

371 名前:デフォルトの名無しさん mailto:sage [2010/12/13(月) 03:44:37 ]
Python2.8が出るに1ユーロ賭ける

372 名前:デフォルトの名無しさん mailto:sage [2010/12/13(月) 07:16:38 ]
Python2.10が出るに1ジンバブエドル賭ける

373 名前:デフォルトの名無しさん mailto:sage [2010/12/13(月) 07:53:52 ]
py2exeとwxPythonが3系に対応してくれれば乗り換えるんだが。

374 名前:デフォルトの名無しさん mailto:sage [2010/12/13(月) 09:05:44 ]
Py2exeって対応する予定ないのかな
もう自分でやるか



375 名前:デフォルトの名無しさん mailto:sage [2010/12/13(月) 10:18:37 ]
Python3.2から本格的に移行が始まるよ。

376 名前:デフォルトの名無しさん mailto:sage [2010/12/14(火) 14:27:02 ]
python 3.-1 とかが出そう

377 名前:デフォルトの名無しさん mailto:sage [2010/12/15(水) 08:11:13 ]
Python3に、Python2互換モードを導入すればよろし。

from __ancient__ import print

378 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 20:27:31 ]
wxPythonが3系に移行しないのは、何か技術的に難しかったりするの?
それとも政治的な理由(ようは作者が3系の流れに反抗しているとか)?

同じC++で作られているQtのほうが意外と早く対応したんで
この温度差にちょっと違和感を感じている。

単に「時間がないマンドクセ」ならまだいいんだけどさ。

379 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 20:55:42 ]
3.2がでるまでは様子見じゃない?
言うなればそれまでは3β版みたいなもんだし

380 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 22:23:46 ]
3.2ってそんな感じのリリースなん?

いや、単なるエンジンのバージョンアップ待ちなら
気長に待つんだけどさ。

Qtもそうだったんだけどコミュニティが分裂したりするんじゃ
嫌だなあなんて思ったんで、ちょっと聴いてみた
(あっちはGPL脱却が目的みたいだけど)

気に入らなけりゃフォークしちまえってハッカー文化も嫌いじゃないけど
俺はたんに使うだけの利用者なんで、あんまり分裂されてもうれしくないのだw

381 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 22:38:42 ]
>>380
3.2はそんな感じのリリースだし、Pythonの開発者は分裂していない。
3.2がリリースされてから有名プロダクトの3系対応が一気に進むはず。

382 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 22:50:03 ]
>>381
そっか。トンクス。
いま公式見たら3.2βでたのが2010年の12月で2011年2月がファイナルリリースか。
それで本当に移行が進むんだったらうれしいな。
慣れてきたら、なんだかんだで3系のほうが使いやすいし。

383 名前:デフォルトの名無しさん mailto:sage [2011/01/13(木) 23:33:02 ]
log = open('log.txt', 'a')
print >> log, x, y, z
print a, b, c

python3でこれはどう書けばいいのでしょうか?

384 名前:デフォルトの名無しさん mailto:sage [2011/01/14(金) 02:58:53 ]
import logging
logging.basicConfig(filename='log.txt', level=logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(logging.Formatter('%(message)s'))
logger = logging.getLogger('root')
logger.addHandler(ch)
logger.debug('%s, %s, %s' % (x, y, z))
print(a, b, c)




385 名前:デフォルトの名無しさん mailto:sage [2011/01/14(金) 03:11:35 ]
>>383
log = open('log.txt', 'a')
print(x, y, z, file=log)
print(a, b, c)

386 名前:デフォルトの名無しさん mailto:sage [2011/01/14(金) 16:30:17 ]
>>385
ありがとう

387 名前:デフォルトの名無しさん mailto:sage [2011/01/26(水) 15:51:40 ]
早くコンパイラ出来ないかな〜

388 名前:デフォルトの名無しさん mailto:sage [2011/01/29(土) 21:43:51 ]
Python3.2 rc2が明日だな

389 名前:デフォルトの名無しさん mailto:sage [2011/01/29(土) 23:02:03 ]
明日は SaaSes 回線増強の日

390 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 16:36:48 ]
python3.2実効速度遅いな

391 名前:デフォルトの名無しさん mailto:sage [2011/02/13(日) 19:27:12 ]
3.2マダァ?(・∀・ )っ/凵⌒☆チンチン?

392 名前:デフォルトの名無しさん mailto:sage [2011/02/14(月) 19:01:58 ]
>>390
kwsk

393 名前:デフォルトの名無しさん mailto:sage [2011/02/16(水) 02:52:59 ]
>>392
もうあまり覚えてないが、今出てる3.2rc2 と 3.13?で同じ簡単なコードを書いて実行速度計っただけ
リストへの代入かなんかだったような…
複数回実行して比較したり、n回試行の平均出したりしたら、9割の確率で3.2rc2のが遅かったってだけ
正式なベンチマーク使ったり、色々な処理で比較したりはしてない
3.2finalや、その次のバージョンとかで早くなる事に期待

394 名前:デフォルトの名無しさん mailto:sage [2011/02/22(火) 13:44:59.53 ]
3.2



395 名前:デフォルトの名無しさん mailto:sage [2011/02/23(水) 10:37:49.25 ]
206 デフォルトの名無しさん [sage] 2011/02/23(水) 00:30:05.97 ID: Be:
    かってに、google に甘い期待をしているんだけど、

    ttp://sourceforge.jp/magazine/11/02/22/104206

    これとかを見ると、google 的には、
    C++ は Web アプリみたいにして、
    Android に持っていくつもりなのかな。

    プログラマのヘマでセキュリティーホール作られるよりは、
    制限あっても、sandbox 内で…って感じで。

    Javaが選ばれた理由も、そんなんじゃなかったっけ?

396 名前:デフォルトの名無しさん mailto:sage [2011/02/23(水) 12:21:38.64 ]
C++は好きだけど、あのビルド時間には耐えられないものがある

397 名前:デフォルトの名無しさん mailto:sage [2011/03/03(木) 22:45:39.90 ]
pythonの内包表記をHaskellみたいにしてくれないかなぁ
三項演算子といい、ところどころ書き方がきもいんだよな。

398 名前:デフォルトの名無しさん mailto:sage [2011/03/18(金) 23:35:27.47 ]
> Haskell について一言いわせてもらう。
> こんな記号列が出てくる言語をオレはまともなプログラミング言語だとは思わない
>
> f _ _ (_:_) [] = []
>
> C++ や Perl や BrainFcukと同レベル。 以上。

ってGuidoが言ってた。

399 名前:デフォルトの名無しさん mailto:sage [2011/03/20(日) 07:33:53.82 ]
>>398
_が何でもいいって意味だってことはHaskellの序盤で習うことなので
それは読もうと思えば簡単に読める。書いた人が後から見て意味が分からないということもない。
しかもその文だけで関数fが定義されるわけじゃなく、下に具体的な記述が続く。

まあhaskellが読みやすいとは俺も思えんけど。記号列とかじゃなく、高階関数の多用で読みづらくなってる。
whatが分かるようにはなってるかもしれんけど、その関数に慣れてない人が見るとhowが分からない。

400 名前:デフォルトの名無しさん mailto:sage [2011/04/01(金) 23:45:03.11 ]
reduce()が死んでmap()filter()が生きるってマジなん?

401 名前:デフォルトの名無しさん mailto:sage [2011/04/01(金) 23:55:06.93 ]
Python 3.2 (r32:88445, Feb 21 2011, 19:50:46)
[GCC 4.3.4 20090804 (release) 1] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> reduce
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'reduce' is not defined
>>> import functools
>>> functools.reduce
<built-in function reduce>

402 名前:デフォルトの名無しさん mailto:sage [2011/04/13(水) 15:16:14.99 ]
Python3.2遅すぎww
計算量の多いシミュレーションを実行したら
Python 3.1.3 587.127000093s
Python 3.2  901.7620000839233s

両方ともCython-0.14.1を利用
1.5倍も遅い
全く同じプログラムで乱数のシードも同じにしてるのにシミュレーション結果異なるし
多分、Cythonの型変換とかで切り捨てられる精度が変わったんだろうが

403 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 09:00:06.71 ]
>>402
そうだけど、cygwin 使っている時点で遅いわな。

404 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 10:34:30.32 ]
コマンドプロンプトとMinGWだけど



405 名前:デフォルトの名無しさん mailto:sage [2011/04/26(火) 12:45:24.99 ]
う〜ん

406 名前:デフォルトの名無しさん mailto:sage [2011/05/23(月) 21:08:57.64 ]
Python3.3rc1がでるね

407 名前:デフォルトの名無しさん mailto:sage [2011/05/24(火) 00:45:36.30 ]
う、うん……(´・ω・`)

408 名前:デフォルトの名無しさん mailto:sage [2011/05/25(水) 19:56:18.68 ]
PILはまだかね

409 名前:デフォルトの名無しさん mailto:sage [2011/05/28(土) 18:38:18.84 ]
PILは対応してるよ

410 名前:デフォルトの名無しさん mailto:sage [2011/05/28(土) 19:07:06.91 ]
もうPython3.3が出るのかと思ったら、来年か

411 名前:デフォルトの名無しさん mailto:sage [2011/05/29(日) 00:35:54.43 ]
python3に対応してるGUIフレームワークおしえてください

412 名前:デフォルトの名無しさん mailto:sage [2011/05/29(日) 09:21:41.36 ]
>>411
pygame!!

413 名前:デフォルトの名無しさん mailto:sage [2011/05/29(日) 13:42:31.43 ]
文字をビットに変換って出来ますか?

414 名前:デフォルトの名無しさん mailto:sage [2011/05/29(日) 16:04:32.38 ]
>>413
bin(ord('a'))
こうゆうこと?



415 名前:デフォルトの名無しさん mailto:sage [2011/05/29(日) 16:24:26.20 ]
>>414
ありがとう
これを文字列に対して使いたいんだけど、一気に出来ない?
やっぱりforで1個ずつやるしかないかな?

416 名前:デフォルトの名無しさん mailto:sage [2011/05/30(月) 12:20:37.51 ]
''.join([bin(ord(c)) for c in "abc"])
結局for文使うか

417 名前:デフォルトの名無しさん mailto:sage [2011/06/01(水) 22:44:46.65 ]
"".join( [bin(x)[2:] for x in map(ord, "abc")] )

418 名前:1 [2011/07/03(日) 15:40:09.90 ]
toki.2ch.net/test/read.cgi/dataroom/1293616589/

419 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 14:41:09.43 ]
ログ復活

420 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 11:34:08.73 ]
Python3でGnuplot.pyって使えんの?

421 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 13:59:19.80 ]
3.x と 2.x は文法に互換性がない

422 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 09:55:10.54 ]
matplotlibじゃ駄目なのか?

423 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 14:32:57.70 ]
matplotlib って 3.0 に対応したの?


424 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 23:39:41.70 ]
2chでpython始めるなら2.xと3.xのどっちがいい?って聞いて3.xを勧められてもう二年近くなるが、
サードパーティのライブラリはいつ充実するの?



425 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 23:40:49.85 ]
matplotlibみたいな大物に目をつぶればそれなりに

426 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 00:29:53.68 ]
openglはどうなってます?

427 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 17:17:09.78 ]
これから始めるのに2.xはない
特定の事にのみ使うとかで、3.xでは対応してないとかならわかるけど
Pythonを勉強するとかの理由なら3.xやるべきだわ

>>423
ttp://www.lfd.ucl.edu/~gohlke/pythonlibs/

428 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 18:16:23.78 ]
www.lfd.ucl.edu という名前のサーバが見つかりませんでした。

www.lfd.uci.edu/~gohlke/pythonlibs/

429 名前:418 [2011/10/19(水) 23:14:47.30 ]
toki.2ch.net/test/read.cgi/dataroom/1309855042/

430 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 21:56:02.91 ]
Python 3.*に対応しているWebフレームワークは一つしかないんだぜ…
en.wikipedia.org/wiki/Comparison_of_Web_application_frameworks#Python_2

431 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 11:56:14.89 ]
WSGIとPython3が
どうたらこうたら

432 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 21:02:54.59 ]
Windows7 64bit OS Python3.1.4でCython-0.15.1を利用
ttp://lycopersin.blogspot.com/2011/04/64bit-windowscython.html
ttp://wiki.cython.org/64BitCythonExtensionsOnWindows
このあたりを参考にしてやった結果
C:\Program Files\Microsoft SDKs\Windows\v7.0>set DISTUTILS_USE_SDK=1
C:\Program Files\Microsoft SDKs\Windows\v7.0>Bin\setenv /x64 /release
>The x64 compilers are not currently installed.
>Please go to Add/Remove Programs to update your installation.
>.
>Setting SDK environment relative to C:\Program Files\Microsoft SDKs\Windows\v7.0.
>指定されたバッチ ラベルが見つかりません - Set_x64
>
>C:\Program Files\Microsoft SDKs\Windows\v7.0>
と怒られて、無視してcythonを利用しようとすると、
>cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python31\include -IC:\Python31\PC /TcC:\Python31\Sc
>ripts\Cython-0.15.1\Cython\Plex\Scanners.c /Fobuild\temp.win-amd64-3.1\Release\Python31\Scripts\Cyth
>on-0.15.1\Cython\Plex\Scanners.obj
>error: command 'cl.exe' failed: No such file or directory
でエラー

433 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 21:04:30.80 ]
>>432
ttp://social.msdn.microsoft.com/Forums/en/windowssdk/thread/29cccbf7-4d5f-4c8d-a075-972fb8e820ae ここより
C:\Windows\System32\cmd.exe /E:ON /V:ON /T:0E /K "C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\Setenv.cmd" /x64 /release
で、Setenv.cmdを起動すればいいことがわかり、やっとできた

MinGW、distutils.cfgは、不要
結局最初のエラーの原因よくわからないし、MinGWに比べて、VisualStudioのコンパイルかなり遅いし

434 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 08:28:01.91 ]
Python 3 Resources for Python developers and users
getpython3.com/



435 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:23:46.54 ]
3.3.0のアルファが出たんだけど……(´・ω・`)

sourceforge.jp/magazine/12/03/06/1022203

436 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:13:40.51 ]
本を読む習慣が無いひとには
おおまかに次の3つのタイプがあります

1.目が悪いひと
2.頭が悪いひと
3.文盲(識字出来ない)

頭が悪いひとより文盲の方が深刻です
普通は漢字が読めないレベルとかを想像しますが
アルファベットですら読めないひとが日本には多くいます

437 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 16:02:34.35 ]
一人のジャイアンを救うごとに一人のエックスが犠牲になっていく……

438 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 16:04:46.15 ]
すいません誤爆しました






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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