[表示 : 全て 最新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 は隔離スレを作るべきだと思うのは俺だけかな?
そもそもあれは実用で使うには時期が早すぎるわけで、ここで
普通に語られても困る。
--------
別に
--------
細分化する必要性が全く感じられない。
各自がレスの内容を収拾選択すればいいだけ。

136 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 12:24:12 ]
Python3kの教えやすさは異常。

DjangoもGAEもいつかは3kがメインになるのかなぁ

137 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 13:07:31 ]
>>136
そうだよね。Python2のUnicodeはエッジケースが多すぎて、初心者じゃなくても
切り傷だらけになる。初心者なら脱落してもおかしくない。

print u"あいうえお" はできるのに raw_input(u"あいうえお") ができないとか、
os.listdir(u'.') しても filesystemencoding でデコードできないファイル名は
バイト列としてリストに入るとか。

138 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 14:54:40 ]
# Python 2.6.4
>>> os.listdir('.')
['a', '\xff']
>>> os.listdir(u'.')
[u'a', '\xff']

# Python3.1.1
>>> os.listdir('.')
['a', '\udcff']
>>> os.listdir(b'.')
[b'a', b'\xff']

U+DCxx に置換されるんだね(PEP383)

139 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 01:29:01 ]
は?

140 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 18:37:24 ]
Python3.xで俺が期待したこと

ライブラリの命名規則を統一してほしかった...orz

classmethod, assertEqual, set_autholizer

orzorzorz

141 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 22:46:10 ]
標準に関してはしたと思ってたのだが……

142 名前:140 mailto:sage [2010/03/01(月) 00:51:30 ]
Rubyがここら辺が完璧なだけに痛い。
2.x -> 3.xのタイミングでしかできないような変更だからまじで悲しい。

欧米人はあんまり気にしないのだろうか?

143 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 01:23:19 ]
非標準なライブラリ使えばすぐに汚染される程度だからな
だんだん慣れて来たしもうどうにでもなーれ

144 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 01:13:20 ]
コーディング規則で一応決まっていたりしないの?



145 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 22:48:42 ]
過疎ってるな。

>>144
これから書くなら、できるだけ区切らないorアンダースコア使えってPEPに書いてあった。

Javaとかから持ってきたライブラリだとhasKeyみたいに、大文字区切りになってる。

146 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 23:06:57 ]
命名規則を標準でがっちり決めてくれれば、それをエディタの機能強化に回せるんだろうけどな。
標準から外れるとエディタ支援を受けれなくなるから、みんな同じような書き方になって見やすくなるはず。

147 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 00:09:04 ]
www.nomadjourney.com/2009/08/windows-7-64-bit-python-and-easy_install/
groups.google.co.jp/group/modwsgi/browse_thread/thread/213a778dff791a98
gasser.blog114.fc2.com/blog-entry-391.html
ozsys.cocolog-nifty.com/blog/2010/03/pythonpyserial-.html
twistedmatrix.com/trac/ticket/3352

本体は大丈夫かもしれないけど
インストーラでコケルとか周辺ソフトとの連携とかでコケルいう
事例は、しばらく続くのだろうなぁ…

148 名前:デフォルトの名無しさん [2010/04/05(月) 04:03:46 ]
一体いつになったら主流になるのか・・・

149 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 15:53:11 ]
まだ2.7も出てないし
少なくともまだ1年はかかると思う

150 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 16:34:01 ]
2.5,2.6とか出さないほうが良かったのかな。
地デジと同じでズルズル先延ばしで、移行期間があっても移行しない。

151 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 16:36:54 ]
2.4 は糞だから 2.5 出したのは正解だと思う
2.6 は微妙

152 名前:デフォルトの名無しさん [2010/04/05(月) 19:05:54 ]
3.xの日本語リファレンスが欲しいのに入門書ばっかだ

153 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 22:23:19 ]
日本語の解説サイト教えろよゴミども

154 名前:デフォルトの名無しさん [2010/04/16(金) 23:15:45 ]
ほれ
diveintopython3-ja.rdy.jp/index.html



155 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 18:32:09 ]
もっと簡単なの出せよ
無能かよ

156 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 00:34:25 ]
>>155
これで分からなかったら、何見ても分からん。

157 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 02:37:21 ]
いやいや、そういう意味じゃなくて。
ほれ、
www.python.jp/Zope/download/pythoncore
これだろ。
そのものだけど。

158 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 13:56:25 ]
Rubyでいうところのredoが欲しんだけどないかな。
while True: のループで代用しないとだめですかね。

159 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 01:13:26 ]
任意の数より大きい数を表す定数みたいなのない?

なにかの最小値を求めるときに下のような処理はよくあるとおもうんだけどminvの初期値に設定したいんだ。

minv = すごくでかい数
for x in seq:
 v = func(x)
 if v < minv:
  minv = v

min(func(x) for x in seq) で常にかければいいんだけど、書けないこともよくあるので。

160 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 01:35:57 ]
sys.maxint
とかなかったっけ?

161 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 02:41:24 ]
float("inf") ?

162 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 02:49:42 ]
>>160
3では削除されたし、2でも多倍長整数の最大値はないよ。
大抵の場合はそれで十分だと思うし、なくても
HUGE_VAL = 2**31
とでもしとけば、大抵の用途では十分だと思うけど。

>>159
型が重要でないなら、
float('inf')
で、不動点小数型の無限大が得られる。

float('inf') > 2**10000000
---> True

整数型であることが重要なら、クラス継承して比較演算子を書き換えるか。

163 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 09:31:38 ]
Python3ってもう使っても大丈夫?


164 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 10:37:04 ]
>>163
使いたいライブラリが対応してるなら。



165 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 11:33:32 ]
>>164
Python2の標準ライブラリー相当品は3でもOKなんだよね?
その他の3rdPartyライブラリーは殆ど使わないんだ

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
領土問題と同じで、少しくらいと譲歩してたら乗っ取られる。






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

前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