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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
Python 3.0 は隔離スレを作るべきだと思うのは俺だけかな?
そもそもあれは実用で使うには時期が早すぎるわけで、ここで
普通に語られても困る。
--------
別に
--------
細分化する必要性が全く感じられない。
各自がレスの内容を収拾選択すればいいだけ。
2デフォルトの名無しさん:2009/02/19(木) 22:31:44
やべ
起てられないと思って
弄んでたら
勃っちゃった
3デフォルトの名無しさん:2009/02/20(金) 02:28:12
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
4デフォルトの名無しさん:2009/02/20(金) 12:34:21
つうかまじでpython厨うざい。
python厨は全員首吊って死ねよ。

ruby人口の方が多い。
rubyの方がいろいろできる。
言語的仕様は好みの問題。
議論の余地無し。
以上。
5デフォルトの名無しさん:2009/02/20(金) 12:36:25
>>3 は別スレの >>979 に対して python ⇔ ruby 変換をしてコピペしたもの。
他人のレスを盗作するしかないぐらいに悔しくなった ruby 厨の仕業。
以前からpythonスレを荒しまくり、自分でrubyコミュニティーのアホさ加減を露呈している人間。
俺がrubyを使うのを止めて、python使いになるきっかけをになってくれた張本人でもある。

完全無視推奨。
以下、オリジナルのソース:

http://pc11.2ch.net/test/read.cgi/tech/1230821097/
| From: [979] デフォルトの名無しさん <sage>
| Date: 2009/02/17(火) 14:18:58
|
| つうかまじでruby厨うざい。
| ruby厨は全員首吊って死ねよ。
|
| python人口の方が多い。
| pythonの方がいろいろできる。
| 言語的仕様は好みの問題。
| 議論の余地無し。
| 以上。
|
| From: [985] デフォルトの名無しさん <sage>
| Date: 2009/02/17(火) 17:21:04
|
| 結局のところ>>979が穏便かつ正論だと言わざるを得ないな
6デフォルトの名無しさん:2009/02/20(金) 17:02:43
わざわざ改変レスで返すって事は
そのレスを読んで悔しかったって事なんだろうなw
7デフォルトの名無しさん:2009/02/20(金) 17:46:56
Python3.0って流行るの?
8デフォルトの名無しさん:2009/02/20(金) 17:48:11
流行るんじゃあない。
俺たちで、流行らすんだよぉ!
9デフォルトの名無しさん:2009/02/20(金) 20:03:41
だが断る
10デフォルトの名無しさん:2009/02/20(金) 20:06:03
PythonもRubyもPerlも
さくっと互換性なくすよな
11デフォルトの名無しさん:2009/02/20(金) 20:37:00
Pythonは2.5→2.6→3.0すればいいから他よりまし
12デフォルトの名無しさん:2009/02/20(金) 21:17:15
2.6 → 3.0の変換と移行ってどのくらい大変?
いや、どこが変換できないとかはいちおう調べたんだけど
実際どうなのかなと
13デフォルトの名無しさん:2009/02/20(金) 21:28:56
まったくの別の言語になってしまった。
Pythonとは言えない言語に変わってしまった。
14デフォルトの名無しさん:2009/02/21(土) 00:04:48
>>12
アクロバチックなコード書いてないなら、全部自動で変換される(できる)んじゃない?
15デフォルトの名無しさん:2009/02/21(土) 00:19:01
まず print "Hello" が使えなくなった。
print("Hello")と書かなければならない。
その関係でprint "Hello",len("Hello")の書き方もかわった。
print ("Hello",len("Hello"))と書かなければならない。
これはPython2系ではエラーになる書き方だったよね。
それからxrange()とrange()の統合。
旧range()がなくなってxrange()が新range()になった。
まぁそんな具合かな。あとよろ。
16デフォルトの名無しさん:2009/02/21(土) 01:33:53
17デフォルトの名無しさん:2009/02/21(土) 02:05:28
いや、3.0の話題は完全にこっちにかかなければならなくなった。
あちらは2.x系のみ、話題に出してよい。
過去依存に付いては両方のスレにレスを付ける必要がある。
18デフォルトの名無しさん:2009/02/21(土) 02:11:06
3.0のdisutilsが2to3に対応してるので、
出来る限りブランチ作らないで済むような配慮はあるみたい。
勿論、それぞれのバージョンでのテストは必要になるけど。

3.0の紹介にあるような変更は自動変換で殆ど2to3で自動変換される。
でも、流石に全部とは言い切れない。細かいところは手作業による修正が必要。
特に面倒だと思った所は文字列周り(repr, encoding)かな。
大きな変更は不要なはずなので、テストさえしっかりと書いてれば(大前提)それほど大変な作業にはならない。

python2.6 -3警告オプションでも、2to3でも補足されない変更は python-porting(ML)にも幾つか挙がってる。
* file -> io.FileIO
* doctest内等での文字列の表現。 'foo' -> b'foo'
* os.path.walk
* etc...

後方互換を残し && 読みやすいコードを心掛けたいなら、多少工夫が必要なケースもあるけど、
リファクタリングする丁度良い機会にもなる。


# 3.0対応ライブラリ一覧 @pypi
ttp://pypi.python.org/pypi?:action=browse&c=533&show=all
他のプロジェクトでもtrackerやレポジトリのbranches覗いてみると、patchや3.0移植作業中のものが結構ある。

# djangoの3.0移植の過程のまとめ
ttp://wiki.python.org/moin/PortingDjangoTo3k
19デフォルトの名無しさん:2009/02/21(土) 10:15:02
>>15
式っていうなら昔からもこれからも式だろw

3.0で文から関数に変わったんだろ
20デフォルトの名無しさん:2009/02/21(土) 12:13:49
>>18
おお、こうしてまとめてみると移行プランがんばってるなー
なにより3k用ブランチを作らないようにするアプローチがありがたい
21デフォルトの名無しさん:2009/02/21(土) 12:47:40
>>4-5
ttp://www.atmarkit.co.jp/news/200902/13/wp.html
Pythonの方が多いと思ってたけど求人数ではPythonは15位にも入ってないんだな。
まあ国内の話だから世界的には分からないけど
求人上位から
Java
C
C++
PHP
C#
VisualBasic
Perl
JavaScript
COBOL
VisualBASIC.net
ruby
ActionScript
ASP.net
PL/SQL
VBA


すごいのみっけた
要求はすごいけどレベルは低そう・・・
ttps://www.netdepon.jp/b2c/app/j_search_d.action;jsessionid=3EA1DC5D9629508E19861A8BD0B85661?jobItemId=16062
雇用形態 1 .正社員
言 語 ■ C(必須) ■ Delphi(必須) ■ Javascript(必須) ■ JSP(必須)
■ pro*C(必須) ■ VB(必須) ■ XML(必須) ■ SQL(必須)
■ シェルスクリプト(必須) ■ PHP(必須) ■ COBOL(必須) ■ ASP(必須)
■ C#(必須) ■ PL/SQL(必須) ■ Java(必須) ■ C++(必須)
■ Perl(必須) ■ VC(必須) ■ VBA(必須)
ttp://www.oisys.co.jp
22デフォルトの名無しさん:2009/02/21(土) 12:58:41
Java C C++ PHP C# VisualBasic Perl JavaScript COBOL VisualBASIC.net ruby ActionScript ASP.net PL/SQL VBA python ranking
上記キーワードでググって検索結果を読み進めると、

Google エラー
申し訳ありません
... コンピュータ ウィルスやスパイウェア アプリケーションの自動リクエストと類似したクエリが送信されました。 ユーザーを保護するため、このリクエストをすぐに処理することはできません。
できるだけ早くアクセスを復旧しますので、しばらくしてからもう一度お試しください。
お使いのコンピュータやネットワークがウィルスの被害にあっていると思われる場合は、ウィルス チェッカーやスパイウェア削除ツールを実行して、システムからウィルスや不正ソフトウェアを駆除してください。
引き続きこのエラーが表示される場合は、Google の Cookie を削除してから、Google に再度アクセスすると問題が解決する場合があります。 ブラウザ固有の手順については、お使いのブラウザのオンライン サポート センターにお問い合わせください。
ネットワーク全体が影響を受けている場合は、Google ウェブ検索ヘルプ センターで詳細をご覧ください。
ご不便をおかけいたしますが、ご理解、ご対応のほどよろしくお願い申し上げます。
23デフォルトの名無しさん:2009/02/21(土) 13:18:26
python厨だが、このスレはさすがにいらねーだろ。。。
24デフォルトの名無しさん:2009/02/21(土) 15:40:25
Ruby厨が、Python3.0をいじくりまわして、重箱の隅をつつきまくるスレになりますので、
それまで少々お待ちください(^^)v
25デフォルトの名無しさん:2009/02/21(土) 15:51:36
>>21
なんでも出来ると何でもやらされるパターンですねわかります
26デフォルトの名無しさん:2009/02/21(土) 19:55:06
>>25
なんでも中途半端にやって身につかなさそうな感じするよね。
27デフォルトの名無しさん:2009/02/21(土) 23:10:46
今日はさむいね
28デフォルトの名無しさん:2009/02/21(土) 23:14:41
29デフォルトの名無しさん:2009/02/21(土) 23:58:51
いきなりだが
python
流行らすこと さんせーい^^
30デフォルトの名無しさん:2009/02/22(日) 01:04:00
さむいね
31デフォルトの名無しさん:2009/02/22(日) 02:32:26
   o... rz
32デフォルトの名無しさん:2009/02/25(水) 00:25:14
CとかJavaScriptとかのコメントで /* ... */ というのがありますが、
文の途中でも abc = /* def; */ ghi; みたいに書けますね。
abc = # def # ghi
だとおかしくなっちゃうんですけど
こういうときはどうコメントすれば良いのでしょうか
33デフォルトの名無しさん:2009/02/25(水) 00:27:33
34デフォルトの名無しさん:2009/02/25(水) 01:09:44
>>32
マルチ乙
35デフォルトの名無しさん:2009/03/01(日) 12:58:19
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
36デフォルトの名無しさん:2009/03/03(火) 11:59:05
>>32
笑えばいいと思うよ。
37デフォルトの名無しさん:2009/03/04(水) 23:31:43
>>32
同感。笑えばよい。

この場合の文法解釈としては、だね。
「行儀が悪い」=「頭が悪い」ということ。

見てくれる相手に何をしようとしているのか理解してもらえないのなら、

キチンと、正しいと思われるプログラムが「完成するまで」やり遂げること。
38デフォルトの名無しさん:2009/03/20(金) 14:53:28
さすがに実験台はないだろ
39デフォルトの名無しさん:2009/03/24(火) 11:55:56
ag
40デフォルトの名無しさん:2009/03/24(火) 12:07:09
********終了********
41デフォルトの名無しさん:2009/03/27(金) 11:19:17
開始
42デフォルトの名無しさん:2009/03/29(日) 15:00:19
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
43デフォルトの名無しさん:2009/04/11(土) 20:22:19
がんばれ。Python3.0
44デフォルトの名無しさん:2009/04/16(木) 16:23:29
ほしゅ
45デフォルトの名無しさん:2009/05/10(日) 16:20:56
あるある
46デフォルトの名無しさん:2009/09/29(火) 09:32:40
.
47デフォルトの名無しさん:2009/10/06(火) 23:56:47
PythonはRubyよりもリファレンスがきちんと
まとまっていて良いね。
48デフォルトの名無しさん:2009/10/07(水) 00:07:00
Perlだってそうだろ
49デフォルトの名無しさん:2009/10/07(水) 01:22:38
perlはsourceが酷い
50デフォルトの名無しさん:2009/10/07(水) 01:26:46
Javaもリファレンスはしっかりしてる
51デフォルトの名無しさん:2009/10/07(水) 09:27:28
JavaはLLじゃないし
52デフォルトの名無しさん:2009/10/07(水) 13:40:25
Python始めたけど英語読めないからキツイ
53デフォルトの名無しさん:2009/10/07(水) 14:14:07
ゆとりはRubyでもやってろよ。
54デフォルトの名無しさん:2009/10/07(水) 18:46:35
>>52
ソースは日本語使えるしマニュアルも日本語があるだろ?
55デフォルトの名無しさん:2009/10/07(水) 19:20:09
ここはPython3.0のスレなので、日本語マニュアルは無いんじゃないのかな
56デフォルトの名無しさん:2009/10/09(金) 22:20:42
マニュアル一度も読んだことないんだけど、だめかな。
オライリーのほうが内容充実してない?
57デフォルトの名無しさん:2009/10/10(土) 01:36:55
99 デフォルトの名無しさん [sage] Date:2009/10/09(金) 02:19:29  ID: Be:
    >>93
    翻訳用のファイルを作ってコミットしておいた。
    http://code.google.com/p/diveintopython3-ja/

    暇人の方は↓のグループに参加申請してくれれば、↑のメンバーに追加します。
    http://groups.google.co.jp/group/diveintopython3-trans-ja

100 デフォルトの名無しさん [] Date:2009/10/09(金) 12:11:29  ID: Be:
    思ったほど大した量じゃないね
    これはいけるかも

101 デフォルトの名無しさん [sage] Date:2009/10/09(金) 12:24:03  ID: Be:
    >>99-100
    ここに移動した方がいい

    【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
    http://pc12.2ch.net/test/read.cgi/tech/1235050215/
58デフォルトの名無しさん:2009/10/10(土) 09:34:01
>>57
>  暇人の方は↓のグループに参加申請してくれれば、↑のメンバーに追加します。
>    http://groups.google.co.jp/group/diveintopython3-trans-ja

暇人の方が世界中で一人しかいない件。
59デフォルトの名無しさん:2009/10/10(土) 10:56:51
処理中にStringの文字コードを気にしなくていいってのは大きなアドバンテージだと思うけどな
いろいろ変わりすぎなのは残念だけど
60デフォルトの名無しさん:2009/10/11(日) 00:00:24
Linuxのシステムで使われてるPythonはあと何年したら入れ替わるかなー
61デフォルトの名無しさん:2009/10/11(日) 00:08:02
@ 2系列 → 3系列
A Python → 他言語
62デフォルトの名無しさん:2009/10/11(日) 00:58:26
かなしー
63デフォルトの名無しさん:2009/10/11(日) 03:23:52
iconv を落としてきて入れようとした git clone ~ とか
やりはじめて何がどうしちまった、とそんな感覚を味わ(ry
64デフォルトの名無しさん:2009/10/11(日) 03:41:35
$ automake --version
automake (GNU automake) 1.10.2

1.11 じゃないと…ぐぬぬ
65デフォルトの名無しさん:2009/10/11(日) 17:58:43
http://www.manatlan.com/page/grun

折衷案。デコレータの使い方が上手だと思う
66デフォルトの名無しさん:2009/10/15(木) 18:35:12
http://www.jmuk.org/diary/index.php/2009/10/07/kindle-in-japan/

*stolen risk
*color display
*low price paperbook

i think that it's sold well in japan...
67デフォルトの名無しさん:2009/10/16(金) 09:45:50
早く3.x系対応のpy2exeが出て欲しいものだ
68デフォルトの名無しさん:2009/10/16(金) 11:27:59
py3exeになるのか?
69デフォルトの名無しさん:2009/10/16(金) 12:53:54
>>68
Python To exe > Python 2 exe > py2exe
だからたぶんそのまま
70デフォルトの名無しさん:2009/10/16(金) 13:13:57
まぎらわしいから py32exe で
71デフォルトの名無しさん:2009/10/16(金) 14:48:29
今時32はないだろ。py64exeで
72デフォルトの名無しさん:2009/10/19(月) 17:58:12
>>57
下のリンクが切れてるんだが、参加するにはどうしたらいいの?
73デフォルトの名無しさん:2009/10/19(月) 18:03:05
にっちゃんねるでまーけってぃんぐをしようとして失敗した数限りない例のうちの一つ。
74デフォルトの名無しさん:2009/10/19(月) 22:17:26
>>72
すみません。誰も参加しないだろうと思ってグループを消してました。

こちらへどうぞ。
http://groups.google.co.jp/group/diveintopython3-japanese
75デフォルトの名無しさん:2009/10/19(月) 23:44:25
>>74
どのように進んでるかが良く分からんので、おまけのPorting Code to Python 3 with 2to3から手をつけます。
76デフォルトの名無しさん:2009/10/24(土) 12:45:16
77デフォルトの名無しさん:2009/11/09(月) 10:06:51
Fedora 13で2, 3並列インストールになるようだ。EL6でテクニカルプレビューとして入るかもね。
78デフォルトの名無しさん:2009/11/21(土) 03:23:14
cgi.FieldStorage のコンストラクタの引数の fp って使えてる?
BaseHTTPRequestHandler で受け取った post のデータを渡したら byte に str の操作しようとしたって言われて落ちちゃうわ
こんな場合どうしたらいいのよ
79デフォルトの名無しさん:2009/11/21(土) 03:38:57
multipart/form-data も application/x-www-form-urlencoded もどっちも同じ理由で使えないっぽい
80デフォルトの名無しさん:2009/11/21(土) 13:50:14
print "Hello world!"
が動かなかったので止めました。以上
81デフォルトの名無しさん:2009/11/21(土) 15:30:34
やめて正解。
本当におめでとう。
おめでとうおめでとう。
82デフォルトの名無しさん:2009/11/21(土) 15:35:54
みんなで使わなければ恐くない
83デフォルトの名無しさん:2009/11/21(土) 16:10:20
パチンコ店 ATM8000台 IIJ社 今後4、5年で全国に
http://www.jcp.or.jp/akahata/aik09/2009-11-14/2009111401_04_1.html
2chとパチンコ屋が無くなれば日本の景気は上向くかもな
84デフォルトの名無しさん:2009/11/21(土) 16:45:17
>>81
止めてよかった。
本当にありがとう。
ありがとうありがとう。
85デフォルトの名無しさん:2009/11/21(土) 16:55:34
>>60
数年後
more-on-ubuntu@laptop:~$ python\t
python python2 python2.6 python3

デフォルトが3系列になったらどうしよう.....(´・ω・`)
86>>78-79:2009/11/21(土) 17:02:58
お勉強スレなのに誰も使ってないとか悲惨すぎる
87デフォルトの名無しさん:2009/11/21(土) 17:25:28
ubuntuだとやりかねないから困る。

でもまぁ普段から、OSはOS、アプリはアプリだと思って
OSが使ってるものは別にインストールしてるから大丈夫だけど。
88デフォルトの名無しさん:2009/11/21(土) 17:30:02
SymPyが使えないよ〜。
2to3つかってもなんか動かんし。
89デフォルトの名無しさん:2009/11/27(金) 01:45:55
printはprint文じゃなくて、関数になってるっていうマジレスしてみる
90デフォルトの名無しさん:2009/11/27(金) 01:57:32
何で関数にしちゃったんだろうな
91デフォルトの名無しさん:2009/11/27(金) 05:47:35
言語としての正しさを追求しても使いやすくなるとは限らんのにな。
92デフォルトの名無しさん:2009/11/27(金) 08:35:39
Rubyの悪口はよせよ
93デフォルトの名無しさん:2009/11/27(金) 12:37:34
print文で出力ストリームを切り替えたり、末尾文字を入れないようにしたりするのに独特の文法が
必要だったり、区切り文字を指定できなかった。
関数になって、普通の関数の文法で全部できるようになった。
良い事づくめじゃないか。
94デフォルトの名無しさん:2009/11/27(金) 12:41:01
従来風の print みたいな機能は ipython レベルで
入れてくれれば十分って感じかなぁ

まあ別に print() でいいけどさ
95デフォルトの名無しさん:2009/11/27(金) 16:17:56
関数が必要なケースでは sys.stdout.write() で良かったんじゃね?
96デフォルトの名無しさん:2009/11/27(金) 16:28:10
writeとprintは違うから・・・
a = 3
sys.stdout.write(a) ってできない。
97デフォルトの名無しさん:2009/11/27(金) 16:51:15
でも今までも sys.stdout.write() って書いてたなー
98デフォルトの名無しさん:2009/12/05(土) 00:22:46
numpyは対応する気ないの?
99デフォルトの名無しさん:2009/12/09(水) 23:19:01
python3でcgi作るのは文字コード関連で苦労しそうな気がした
100デフォルトの名無しさん:2009/12/16(水) 21:06:16
「Python 3 プログラミング徹底入門」発売されてるよー
まだ初めてのPython第3版読んでねーから、オレはパスだけど
101デフォルトの名無しさん:2009/12/16(水) 21:14:14
Python本にありがちなしょぼい内容なんだろうな
102デフォルトの名無しさん:2009/12/16(水) 22:50:49
ぶっちゃけ文法と思想のお勉強本はもう飽きたお……
103デフォルトの名無しさん:2009/12/17(木) 07:20:06
http://www.mobypicture.com/user/ats/view/5751167 — あまり悪いことはいいたくないんだけど、ピクルスはないわ...orz...。ドキュメント翻訳ちゃんと見てくれ。。。
104デフォルトの名無しさん:2009/12/17(木) 13:19:40
本人乙
105デフォルトの名無しさん:2009/12/17(木) 14:13:13
>>103>>100の本なの?
106デフォルトの名無しさん:2009/12/18(金) 08:01:52
僕のピクルスもロードされそうです...
107デフォルトの名無しさん:2009/12/22(火) 11:44:47
みんなの力をオラに貸してくれ!
Python3.0に乗り換えたら、Tkinterパッケージの位置が変わったみたいで、
GUIの部分が作れねぇ!
調べても、出てくるのは2.x系統のサンプルコードばかり。
だれか、Python3.0で、ボタンを押してイベントが発生するTkinterのコード
を、ここに書いていただけませんか!?
108デフォルトの名無しさん:2009/12/22(火) 13:35:31
import tkinter as Tkinter
109デフォルトの名無しさん:2009/12/22(火) 14:06:49
>>108
import tkinter as Tkinter
from Tkinter import *
で、
File "C:\Users\ootuka\Desktop\search\tktest.py", line 2, in <module>
from Tkinter import *
ImportError: No module named Tkinter
でした。困ります(´・ω・`)
110デフォルトの名無しさん:2009/12/22(火) 14:17:40
オオツカさんよゼロから勉強し直せや
111デフォルトの名無しさん:2009/12/22(火) 15:04:50
>>109
1行目はTkinterとしてtkinterをimportしろという意味だ。
from使うならtkinterからimportしろ。
ドキュメントくらい読め。
http://docs.python.org/dev/3.0/library/tkinter.html
112オオツカ:2009/12/22(火) 20:39:44
できました\(^o^)/
神様ありがとう!!
113デフォルトの名無しさん:2009/12/25(金) 20:39:10
圧倒的なセンスの無さを垣間見た
114デフォルトの名無しさん:2010/01/11(月) 15:05:45
3.0への移行は、新しもの好き以外は時期尚早とみていいのか?
そろそろ移行時期か?
115デフォルトの名無しさん:2010/01/11(月) 16:07:58
今は移行するな時期が早い
116デフォルトの名無しさん:2010/01/11(月) 21:26:02
日本人はイカレてるよ。あいつら未来に生きてんな
117デフォルトの名無しさん:2010/01/12(火) 20:12:58
両方やって好きな方を取ればいいのでは…?
118デフォルトの名無しさん:2010/02/17(水) 02:20:20
いまPython始めるべき?
やるとするとPython3になるけど。
119デフォルトの名無しさん:2010/02/17(水) 02:56:10
3しか念頭にないならやめといた方がいい。
いまPythonをはじめるなら2.6にすべき。
120デフォルトの名無しさん:2010/02/17(水) 22:27:53
別にただプログラムのお勉強がしたいなら3でもいいんじゃね
121デフォルトの名無しさん:2010/02/17(水) 23:01:10
プログラムの勉強ったってPythonの勉強を兼ねるんだろからな。
Pythonの勉強となるとサイトのサンプルプログラムとか
既存ライブラリ使ってみようとかあれこれやりたくなるでしょ。

そしてつまづいて「Pythonむずかしー」あるいは「Python糞だな」
ってなるでしょ。2.6ならそうならないでしょ。そういうことだよ。
122デフォルトの名無しさん:2010/02/18(木) 00:06:04
2.6でもなる奴はなるけどな!
123デフォルトの名無しさん:2010/02/18(木) 00:20:00
>>122
程度問題の話をしてるんだから
そういうコメントは野暮というもの
124デフォルトの名無しさん:2010/02/18(木) 00:40:49
122はかわいそうなお莫迦さん。
125デフォルトの名無しさん:2010/02/18(木) 18:44:43
最新ビジネスソフト入荷!
激安販売中!
  http://wwttww.hostrator.com
126デフォルトの名無しさん:2010/02/18(木) 22:59:29
2.6と3ってそんなに違うのか。
127デフォルトの名無しさん:2010/02/18(木) 23:16:26
>2.6ならそうならないでしょ。

どこが程度の話だよw
128デフォルトの名無しさん:2010/02/18(木) 23:22:14
122はかわいそうなお莫迦さん。
129デフォルトの名無しさん:2010/02/19(金) 00:48:20
うん、どう読んでも程度の話だな。
130デフォルトの名無しさん:2010/02/19(金) 17:41:59
3だけなのか知らないけど、Windowsでリダイレクトからの標準入力が欲しくて、
for line in sys.stdin:
 pass
と書いたのだけれど、普通に実行したときは問題ないのに、
hoge.rb < file.txt
と実行したら、sys.stdinがNoneになってるんだよね。
標準入力を読み込むにはどうしたらいいの?
131デフォルトの名無しさん:2010/02/19(金) 19:19:57
>>130
rbかよ!
python hoge.py < file.txt
ってしてみ?
132デフォルトの名無しさん:2010/02/19(金) 20:15:24
>>131
> rbかよ!
すまない。ついうっかり癖で、、、

ちゃんと標準入力読めました。ありがとう。
133デフォルトの名無しさん:2010/02/19(金) 20:18:55
なんで
hoge.py < file.txt
で読めないのかな
バグ?
134デフォルトの名無しさん:2010/02/19(金) 21:04:57
>>133
Windowsの有名なバグ。
なんか当てたら直ったと思う。
Vista以降だとなんも当てなくても直ってたかもしれない。
135デフォルトの名無しさん:2010/02/19(金) 21:11:39
これだな

STDIN/STDOUT リダイレクトは、ファイルの関連付けから起動すると動作しないことがある
http://support.microsoft.com/?scid=kb%3Bja%3B321788&x=21&y=13
136デフォルトの名無しさん:2010/02/26(金) 12:24:12
Python3kの教えやすさは異常。

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

print u"あいうえお" はできるのに raw_input(u"あいうえお") ができないとか、
os.listdir(u'.') しても filesystemencoding でデコードできないファイル名は
バイト列としてリストに入るとか。
138デフォルトの名無しさん: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デフォルトの名無しさん:2010/02/27(土) 01:29:01
は?
140デフォルトの名無しさん:2010/02/28(日) 18:37:24
Python3.xで俺が期待したこと

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

classmethod, assertEqual, set_autholizer

orzorzorz
141デフォルトの名無しさん:2010/02/28(日) 22:46:10
標準に関してはしたと思ってたのだが……
142140:2010/03/01(月) 00:51:30
Rubyがここら辺が完璧なだけに痛い。
2.x -> 3.xのタイミングでしかできないような変更だからまじで悲しい。

欧米人はあんまり気にしないのだろうか?
143デフォルトの名無しさん:2010/03/01(月) 01:23:19
非標準なライブラリ使えばすぐに汚染される程度だからな
だんだん慣れて来たしもうどうにでもなーれ
144デフォルトの名無しさん:2010/03/03(水) 01:13:20
コーディング規則で一応決まっていたりしないの?
145デフォルトの名無しさん:2010/03/09(火) 22:48:42
過疎ってるな。

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

Javaとかから持ってきたライブラリだとhasKeyみたいに、大文字区切りになってる。
146デフォルトの名無しさん:2010/03/09(火) 23:06:57
命名規則を標準でがっちり決めてくれれば、それをエディタの機能強化に回せるんだろうけどな。
標準から外れるとエディタ支援を受けれなくなるから、みんな同じような書き方になって見やすくなるはず。
147デフォルトの名無しさん:2010/03/20(土) 00:09:04
148デフォルトの名無しさん:2010/04/05(月) 04:03:46
一体いつになったら主流になるのか・・・
149デフォルトの名無しさん:2010/04/05(月) 15:53:11
まだ2.7も出てないし
少なくともまだ1年はかかると思う
150デフォルトの名無しさん:2010/04/05(月) 16:34:01
2.5,2.6とか出さないほうが良かったのかな。
地デジと同じでズルズル先延ばしで、移行期間があっても移行しない。
151デフォルトの名無しさん:2010/04/05(月) 16:36:54
2.4 は糞だから 2.5 出したのは正解だと思う
2.6 は微妙
152デフォルトの名無しさん:2010/04/05(月) 19:05:54
3.xの日本語リファレンスが欲しいのに入門書ばっかだ
153デフォルトの名無しさん:2010/04/16(金) 22:23:19
日本語の解説サイト教えろよゴミども
154デフォルトの名無しさん:2010/04/16(金) 23:15:45
155デフォルトの名無しさん:2010/04/17(土) 18:32:09
もっと簡単なの出せよ
無能かよ
156デフォルトの名無しさん:2010/04/18(日) 00:34:25
>>155
これで分からなかったら、何見ても分からん。
157デフォルトの名無しさん:2010/04/18(日) 02:37:21
いやいや、そういう意味じゃなくて。
ほれ、
http://www.python.jp/Zope/download/pythoncore
これだろ。
そのものだけど。
158デフォルトの名無しさん:2010/05/01(土) 13:56:25
Rubyでいうところのredoが欲しんだけどないかな。
while True: のループで代用しないとだめですかね。
159デフォルトの名無しさん: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デフォルトの名無しさん:2010/05/03(月) 01:35:57
sys.maxint
とかなかったっけ?
161デフォルトの名無しさん:2010/05/03(月) 02:41:24
float("inf") ?
162デフォルトの名無しさん:2010/05/03(月) 02:49:42
>>160
3では削除されたし、2でも多倍長整数の最大値はないよ。
大抵の場合はそれで十分だと思うし、なくても
HUGE_VAL = 2**31
とでもしとけば、大抵の用途では十分だと思うけど。

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

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

整数型であることが重要なら、クラス継承して比較演算子を書き換えるか。
163デフォルトの名無しさん:2010/05/03(月) 09:31:38
Python3ってもう使っても大丈夫?
164デフォルトの名無しさん:2010/05/03(月) 10:37:04
>>163
使いたいライブラリが対応してるなら。
165デフォルトの名無しさん:2010/05/03(月) 11:33:32
>>164
Python2の標準ライブラリー相当品は3でもOKなんだよね?
その他の3rdPartyライブラリーは殆ど使わないんだ
166デフォルトの名無しさん:2010/05/03(月) 12:23:41
>>165
基本的にはそうだけど、いくつかは廃止・統合されてるから標準については公式行って確認するといいよ。
サードパーティーの使わないなら、対応状況はかなりいいはず。
167デフォルトの名無しさん:2010/05/03(月) 12:37:49
>>159
minv = func(seq[0])
168デフォルトの名無しさん:2010/05/03(月) 12:47:21
>>166
ありがとう!
ちょっとやる気が出た
169デフォルトの名無しさん:2010/05/03(月) 14:01:21
>>167
それ、seqがコピーしづらいイテレータだったとき面倒にならない?
170デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2010/05/09(日) 18:01:53
Keep it simple, stupid!
173デフォルトの名無しさん:2010/05/09(日) 21:38:50
python3でグラフ書くのに何使ってる?
やっぱりgnuか?
174デフォルトの名無しさん:2010/05/10(月) 15:17:24
python2.xでmatplotlib
175デフォルトの名無しさん:2010/05/12(水) 00:07:01
3.xのライブラリが2.x並になるのって、あと何年かかるんだろうか
176デフォルトの名無しさん:2010/05/12(水) 23:35:01
googleで対応してほしい
177デフォルトの名無しさん:2010/05/15(土) 01:12:03
最近python関係の書籍が色々と出てるね。
python2.6.2って・・・。
178デフォルトの名無しさん:2010/05/15(土) 13:04:59
う、うん……(´・ω・`)
179デフォルトの名無しさん:2010/05/18(火) 09:44:30
なんで俺たち3.xなんか始めちゃったんだろう……
180デフォルトの名無しさん: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デフォルトの名無しさん:2010/05/19(水) 02:40:26
そんな最適化してくれるコンパイラはCでもないと思うぞ
183デフォルトの名無しさん:2010/05/19(水) 06:55:06
どうもスクリプト言語は互換性を一度ぶった切りたくなるものみたいだなぁ
Rubyは一見その点では有利そうなんだが、実際にはバージョン間の互換性がさっぱりで、
単に同じこと(過去の微妙な仕様の切り捨て)を小分けに毎回やってるようなもんだから
ある意味余計に悪いし
まぁでも、俺は当分3kは使わないけど、いずれ移行するような気はするけどな
184デフォルトの名無しさん:2010/05/19(水) 08:21:19
いつまでも保守的ではいられないのさ
185デフォルトの名無しさん:2010/05/19(水) 10:10:03
CやC++も最初のころは仕様がコロコロ変わっていたような覚えがあるのだが
186デフォルトの名無しさん:2010/05/19(水) 11:17:13
いまでもコロコロ変わってますが
187デフォルトの名無しさん:2010/05/19(水) 15:28:45
せめてnumpyがないと移行できないなー
188181:2010/05/20(木) 00:49:13
>>182
やぱCでもgcc:O2でもfuncの中身までは解析しなかった
変数の出現が関数外ではありえない、みたいな
extern宣言が出来ると、イケチャウ雰囲気あるんだけどな〜
動的スコープだとほんと無理なのかな

誰か天才いないかーーーー
189デフォルトの名無しさん:2010/05/20(木) 06:04:42
>>181
else のときは
minv = minv
になるから
アホなコードだなぁ
と思う
190デフォルトの名無しさん:2010/05/20(木) 13:53:03
>>181
こういうコードはダメ。Ruby厨に惑わされるな。
191デフォルトの名無しさん:2010/05/20(木) 15:27:14
>>159
> min(func(x) for x in seq) で常にかければいいんだけど、
> 書けないこともよくあるので。
これってどんなとき?
192デフォルトの名無しさん:2010/05/20(木) 18:17:37
>>159
reduce使え
min(seq)は
reduce(min, seq)と同じ

その手のやつは大概適当なfを用意してやれば
reduce(f, seq)
に書き換えられる
193デフォルトの名無しさん:2010/05/20(木) 18:19:04
ストリームデータから最小値を見つけるとか。
ファイルシステムを捜査しながら最大サイズのファイルを見つけるとか。
かな
194デフォルトの名無しさん:2010/05/20(木) 18:21:20
>>193
それminで何でだめなんだ?
min()はiterable受け取れるけど
195デフォルトの名無しさん:2010/05/20(木) 21:12:50
うーむ
196デフォルトの名無しさん:2010/05/20(木) 22:55:28
>>189 >>190
俺も同意だと思ったけど、内部的にはmin関数もまったく同じなんだよね。
趣味の問題かな?
197デフォルトの名無しさん:2010/05/21(金) 08:11:23
初心者のお試しレベルなら問題ない
パフォーマンス考えたら避けるべき
198デフォルトの名無しさん:2010/05/21(金) 10:58:04
関数型言語ならletする場面だから、
Pythonでは潔く2行にするのが良いんじゃないの
199デフォルトの名無しさん:2010/05/23(日) 11:35:37
unko
200デフォルトの名無しさん:2010/05/23(日) 14:44:46
>>140
パイソンってこういうコーディングルール統一されてると勝手に思ってたけど、汚いんだな

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

理路整然としてるイメージを勝手に持ってたけど、rubyのほうがそゆとこしっかりしてんのかな
201デフォルトの名無しさん:2010/05/23(日) 15:12:39
ああ、Ruby最高だよ
202デフォルトの名無しさん:2010/05/23(日) 15:36:16
>>200
classmethod みたいな、1つの単語と呼べるものは、アンダースコアで区切らない。
set_autholizer みたいな、複数の語でなる句は、アンダースコアで区切る。
JUnit みたいに、別のリファレンスに従う設計になっているライブラリは、そのリファレンスの命名に従う。

理路整然としてるけど?
203デフォルトの名無しさん: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デフォルトの名無しさん:2010/06/03(木) 03:44:37
>>205
本スレにカエレ

>>204
もうちょっとかかりそうだな。
このスレでも何度か出てきてるDive into Python3は、英語版なら書籍でも出てる。
書籍の形で欲しいのなら適さないけど、内容的に書籍レベルのものが欲しいのならWebの日本語訳がいいと思う。
ttp://diveintopython3-ja.rdy.jp/index.html
207デフォルトの名無しさん:2010/06/03(木) 13:11:07
208デフォルトの名無しさん:2010/06/05(土) 05:47:05
>>207
2.5じゃねーかハゲ
209デフォルトの名無しさん:2010/06/05(土) 17:10:52
>>202
> 理路整然としてるけど?

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

馬鹿か。
210デフォルトの名無しさん:2010/06/05(土) 20:50:51
>>209
馬鹿はお前だ
211デフォルトの名無しさん:2010/06/05(土) 21:16:35
まあ、馬鹿は言い過ぎと思うが、>>202 の理由が正しいとしても結果として
統一されてないのは事実だし、おれも >>200 のようにいまいち汚いと思う。
212デフォルトの名無しさん:2010/06/09(水) 05:54:43
べき集合をスマートな一行で書く方法ないかね
213デフォルトの名無しさん:2010/06/10(木) 00:42:28
>>212
1行じゃないけどこんなの見つけた
http://mail.python.org/pipermail/tutor/2004-April/029413.html
214デフォルトの名無しさん:2010/06/10(木) 01:15:00
215デフォルトの名無しさん: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デフォルトの名無しさん:2010/06/10(木) 15:37:58
今年出たpaython本が2.6対応なのにはワラタ。
217デフォルトの名無しさん:2010/06/10(木) 16:47:12
>>216
Python3の本もたくさん出はじめてるよ。
どの本がPython3用になって欲しかった?
218デフォルトの名無しさん:2010/06/18(金) 09:59:07
ぶっちゃけ入門レベルで、2.6も3.0もたいした違いはないし、
もっと他に気を掛けることがあるだろうに。
219デフォルトの名無しさん:2010/06/18(金) 14:14:05
なにごとも初心者は、自分の進め方が正しいかどうかで迷ってしまうからねぇ。
220デフォルトの名無しさん:2010/06/18(金) 14:29:00
そういえば、Pythonスタートブックっていう書籍が出たけど、
あの手の書籍は最新python3で出して欲しかったな。
初心者向けみたいだし、プログラミング入門者でも分かりやすい内容だったから。
仕事で使うのではなく、ただなんとなくPython始めたいような人は
最新環境で学ぶべきだと思うよ。
俺らが3の仕様変更を知らされたときに受けた失望感を
初心者にまで与えるのはあまりにも酷だろ。

それでも2.Xが優勢だということは、
おそらく3は当分普及しないってことだろうね。
たぶん日本ではGoogleのGo言語のほうがpython3よりも先に普及すると思う。
どうしてこうなった。
221デフォルトの名無しさん:2010/06/18(金) 20:18:39
>どうしてこうなった
encode/decodeのせい
python3に期待
222デフォルトの名無しさん:2010/06/18(金) 20:22:05
>>220
日本でGoが普及するか?まだC#の方がありうると思うぜ。
それ以前にGoとPythonの守備範囲も若干違う気がするし…
223デフォルトの名無しさん:2010/06/19(土) 13:45:04
あるうるも何も、C#はとっくに普及しとるがな
特に国内ではPerlやPHPならともかく、Pythonとは比較にもならんだろ
224デフォルトの名無しさん:2010/06/19(土) 18:25:04
>>223
そんなに普及してんの? Pythonと似たり寄ったりだと思ってた。
LLスレにでも移動して語ってくれ。
225デフォルトの名無しさん:2010/06/19(土) 18:37:33
ttp://www.atmarkit.co.jp/news/200902/13/wp.html
ワークポートとかいう会社の調べ
C#の求人件数は5位
ちなみにPythonは圏外ね
226デフォルトの名無しさん:2010/06/19(土) 19:34:21
日本の不幸はRubyっつーガラパゴス言語が作者が日本人だってだけで国内で(ry
227デフォルトの名無しさん:2010/06/19(土) 23:12:50
ガラパゴスではないだろ
228デフォルトの名無しさん:2010/06/19(土) 23:30:07
つーか国内で別にそんなにRuby使われてないだろ
Pythonがそれ以上に使われてないだけで
229デフォルトの名無しさん:2010/06/21(月) 14:11:10
コアの開発に関する議論が日本語で行われていて世界からはブラックボックスに見えるという
時点で、ある程度のガラパゴス性をもってるよね>Ruby
230デフォルトの名無しさん:2010/06/21(月) 14:26:26
ruby-coreの開発に関する議論は英語だが?
231デフォルトの名無しさん:2010/06/21(月) 14:51:35
>>230
そうなん?スマン。
MLでオープンな議論もするけれど、重要なことはMatzを中心とする一部の日本人が
エイヤで決めるってどっかのインタビューで答えてたと思ったから。
232デフォルトの名無しさん:2010/06/22(火) 00:28:53
Pythonの話しろ!
233デフォルトの名無しさん:2010/06/22(火) 00:39:20
pythonから発展した話題だし、少しくらいいいんじゃね?
ところで、お前らpythonなにに使ってる?
234デフォルトの名無しさん:2010/06/22(火) 01:30:20
>>233
電卓代わり、CGI、C/C++で書くほどじゃないプログラム全般。
まともに使い方知ってる言語がC/C++とPythonしかないから、ある意味で楽。
235デフォルトの名無しさん:2010/06/22(火) 02:25:43
>>233
spamメールのフィルタ
236デフォルトの名無しさん:2010/06/22(火) 02:34:24
>>233
領土問題と同じで、少しくらいと譲歩してたら乗っ取られる。
237デフォルトの名無しさん:2010/06/24(木) 21:36:26
領民あっての領土だから大丈夫
238デフォルトの名無しさん:2010/06/26(土) 08:50:39
pythonだと作るのが非常に楽なので、python常用して
python2だと日本語が扱いづらいので、python3導入して
研究で最適化アルゴリズムとか強化学習のプログラム作ったけど
先輩のc言語で書かれた同じ最適化アルゴリズムで作った巡回セールスマン問題と
実行速度比較したら、10倍以上差があるんだが・・・先輩のが数分で、自分のが数時間
読みやすさ重視でプログラム書いたからループ内で不要な処理とかかなりしてる気もする
python3のコンパイラないかな
239デフォルトの名無しさん:2010/06/26(土) 08:57:15
python3にしか対応してない素晴らしいモジュールを作れば移行が早くなるかも!!
240デフォルトの名無しさん:2010/06/26(土) 11:11:07
>>238
あったとしても、多少マシになるくらいでCにはとてもかなわないと思うよ。
psycoって3.x対応してないよなぁ。
241デフォルトの名無しさん:2010/06/26(土) 11:29:12
10倍ですむならマシだな
ものによっては100倍ぐらい差がつく
242デフォルトの名無しさん:2010/06/26(土) 11:29:38
>>240
多少でもマシにしたいほど時間がかかる・・・
たしか対応してない
243デフォルトの名無しさん:2010/06/26(土) 11:30:34
先輩が数十分、自分のだと1日とかそんな感じ
244デフォルトの名無しさん:2010/06/26(土) 11:51:10
Python2 にもどして、 PyPy 使うと良いよ。
今日 PyPy-1.3 がリリースされたし。
245デフォルトの名無しさん:2010/06/26(土) 20:35:28
python3ってctypes使えますか?
246デフォルトの名無しさん:2010/06/26(土) 21:16:25
使える
247デフォルトの名無しさん:2010/06/26(土) 23:37:58
ctypesいじくり中。
pointerとbyrefってどう使い分けるんだ?
あとlistをそのまま配列としてcに渡したり出来ないのね。
内包表記でばーんと渡したりって訳にはいかないね。
248デフォルトの名無しさん:2010/06/26(土) 23:45:14
とりあえず全部PythonでつくってProfilerかけて時間のかかる処理だけSWIG+Cで書いてるけど
このオーソドックスな方法は素晴らしいっすよ
249デフォルトの名無しさん:2010/06/27(日) 02:10:57
Cythonも素晴らしいよ。
ちゃんとPython3にも対応してるし。
250デフォルトの名無しさん: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デフォルトの名無しさん:2010/06/27(日) 15:43:03
>>250
2.6でも3でもリスト内包の方が速い。
2.5以前は知らんが、たぶんリスト内包の方が速い。
http://dsas.blog.klab.org/archives/51742727.html
252デフォルトの名無しさん:2010/06/27(日) 15:50:16
こうしないと同じ条件にならないんじゃ?

def sample_comprehension(n):
    L = []
    return [L.append(i) for i in range(n)]
253デフォルトの名無しさん:2010/06/27(日) 20:15:46
CPythonって、リストの実装って配列だっけ?双方向リストだっけ?

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

32bit環境だと50000000要素だと、配列なら約200MB、双方向リストなら約600MBのメモリ確保が必要になって、
それに時間がかかったんじゃないかなぁ。
一旦確保したら、ひとつめのsample_comprehensionで作ったリストはGCの対象になるから、新たにメモリ確保の必要がない。
だから2つめのsample_loopは早かった、と予想してみる。
254デフォルトの名無しさん:2010/06/27(日) 20:45:54
>>252
適当なサイトのソースをコピペして実行しただけだから深く考えてなかった
それでやってみる
>>253
順番入れ替えても変わらなかった
255デフォルトの名無しさん:2010/06/27(日) 20:48:28
>>251
そうそうこのページのソースをコピペして実行した
人が居たから、かなり適当に書いた
だからtimeじゃなくdatetime使ってたり
256デフォルトの名無しさん: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デフォルトの名無しさん:2010/06/27(日) 21:30:30
>>252
正直その糞コードで何をしたいのか全然わかんねえ
list.append()はNoneを返すから
それって結果は
[ None ] * n
になるよな
258デフォルトの名無しさん: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デフォルトの名無しさん:2010/06/27(日) 23:05:53
糞コード貼り禁止
260デフォルトの名無しさん: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デフォルトの名無しさん:2010/06/28(月) 03:39:39
>>252
L.append自体をすることが目的ならそうだけど、
L.appendの副作用でリスト作るか内包表記でループ作るかどっちが速いかを調べたいなら元々のであってる
262デフォルトの名無しさん:2010/07/01(木) 06:54:38
Cyhonの使い方を勉強しよう
まだほとんど調べてないが、使い方がよくわからない
てかトイレ行きたくて集中出来ない
263デフォルトの名無しさん:2010/07/01(木) 12:02:02
先に下痢を治せ
264デフォルトの名無しさん:2010/07/07(水) 10:50:19
結局ある程度調べたつもりだが
cython全然わからんとです
超初心者スレで教えてもくれるかな
265デフォルトの名無しさん:2010/07/07(水) 22:45:35
Python3について調べてたらsuper()がキモくなってて吹いた。

http://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デフォルトの名無しさん: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.
267265:2010/07/08(木) 01:08:18
>>266
英語力不足で意味が掴みづらいんだけど、

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

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

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

もちろんそれ以外にもselfなければデコレータがこれ程強力に
使われることもなかっただろうし、他にも利点はあるから
selfは必要だけど、それでもselfが必要な重要な理由の一つ
が消えちゃったんだ。
268デフォルトの名無しさん:2010/07/08(木) 01:47:54
メソッドの最初の引数にself付けるのも__class__が導入されたのも何が嫌なのか全く分からん
269デフォルトの名無しさん:2010/07/08(木) 03:33:46
Ruby そんなに嫌なら自分で新しい言語作れば良いのに
Python 我慢して使えよ
PHP 祈りなさい
Perl シラネ
270デフォルトの名無しさん:2010/07/08(木) 07:23:15
>>268
うーん。selfがキモくないと思うなら(俺はキモくないと思う)、
__class__はキモいと思えるはず。

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

あと、__class__って属性の方の__class__じゃないよ。ローカル変数の__class__ね。
属性の方は別にキモくないよ。
271デフォルトの名無しさん: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デフォルトの名無しさん:2010/07/08(木) 22:36:37
>>270-271
ありがとう。意味が分かった。
確かにこれはキモい。

けど、キモくしてまで__class__を入れる理由ってあるの?
273デフォルトの名無しさん: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デフォルトの名無しさん:2010/07/08(木) 23:34:59
>>273
なるほど。重ね重ねありがと。

self.super()だったらそんなにきもくないのに(・ω・`)
275デフォルトの名無しさん:2010/07/23(金) 01:41:10
http://github.com/methane/ipython
誰か実験台になっておくれ。
276デフォルトの名無しさん:2010/09/09(木) 23:10:09
早くコンパイラ作って下さいお願いします
自分の作ったプログラムが終わるのに、後1年かかるとか待ってられない
277デフォルトの名無しさん:2010/09/10(金) 06:07:32
それはプロファイル取ってチューニングして、という常道はすでにおこなっての話?
278デフォルトの名無しさん:2010/09/10(金) 06:27:43
つ Cython
つ PyPy-c-jit
279デフォルトの名無しさん:2010/09/13(月) 06:10:48
>>277
常時してるよ
かと言っても、シミュレーション行わないといけないから
ある程度早くなった段階で、実行して、実行中に改善して、
次、実行するときに少し早くなったのつかって、ってのを繰り返してる

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

プログラムをオブジェクト指向みたいに書いちゃったおかけで、その部分をCythonに直すのがよくわからない
あと、Cythonの関数?を呼び出す回数が多いから、まだ時間がかかる
全体的に関数使いすぎだけど、拡張性を高くしときたいからこれをinline化するのも何かあれな気もする
速度を早くすることに時間を費やしてばかりいられないのと、
自分が低脳なせいで改良の余地はまだまだあるのに、大して出来てない・・・って状況です
280デフォルトの名無しさん:2010/09/13(月) 08:06:20
Cythonなら、Pythonのコードの8割がそのまま動く(ジェネレータとかは動かない)し、
defをcdefに書き換えるとPythonの関数オブジェクトを作らず直接C言語の関数になる
から関数呼び出しも高速になる。
281デフォルトの名無しさん:2010/09/13(月) 09:10:07
>>280
cdefはpyxの中でしか呼べないから、
pyからpyxのdefを呼んで、pyx内で、cdefを呼んでる
うまく説明出来てないけど、今こうなってる。
全部pyxにしちゃえばいいんだけど、そうできないのがいくつかある
282デフォルトの名無しさん:2010/09/13(月) 10:24:07
素直にSwigこれ最強
283デフォルトの名無しさん:2010/09/14(火) 02:13:37
boost.python ....
284デフォルトの名無しさん: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デフォルトの名無しさん:2010/09/16(木) 22:58:34
>>284
CythonじゃなくてPythonでもそれはエラーになるだろ…
286デフォルトの名無しさん: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デフォルトの名無しさん:2010/09/16(木) 23:50:26
>>284
aaa_f は誰の持ち物?
288デフォルトの名無しさん:2010/09/16(木) 23:56:47
>>287
nekoちゃん
289デフォルトの名無しさん:2010/09/17(金) 00:03:00
>>287
クラスabcです
290デフォルトの名無しさん:2010/09/17(金) 00:04:07
>>289
答えでてんじゃん
291デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2010/09/17(金) 01:27:04
ああなるほど
Foo1かな
Foo3もかな
294デフォルトの名無しさん:2010/10/05(火) 07:02:42
ここまで互換性が無いのに、仕様変更するのってが良い
規制で雁字搦めになって身動きが取れなくなってたりしなくて
これからも、互換性気にせず、ドンドン変更して欲しい
その上で、変換するものがあってくれれば
295デフォルトの名無しさん:2010/10/05(火) 12:30:45
Python3のタイミングで変数の型指定(静的型付け)を導入してくれれば明るい未来が開けたのに・・・
296デフォルトの名無しさん:2010/10/05(火) 14:34:31
>>295
それPythonじゃなくね?
297デフォルトの名無しさん:2010/10/05(火) 19:11:33
Javaでも使ってろ
298デフォルトの名無しさん:2010/10/05(火) 20:39:58
>>295
あるよ
299デフォルトの名無しさん:2010/10/09(土) 15:46:51
型指定すると何か良いことあるの?速度以外で
300デフォルトの名無しさん:2010/10/10(日) 00:48:13
>>299
潔癖(だと思い込んでる)Javaプログラマを取り込みやすくなる、とかw

ないな。JavaプログラマはJavaしか書こうとしないし、それしかできないw
301デフォルトの名無しさん:2010/10/10(日) 01:22:35
>>299
インテリセンスが賢くなる。

>>300
Javaプログラマにコンプレックスがあるの?
302デフォルトの名無しさん:2010/10/10(日) 01:30:34
>>301
コンプレックスというより、バカで使えない、というトラウマがあってw
303デフォルトの名無しさん:2010/10/10(日) 09:19:37
一山いくらのドカタとハッカーを一緒にするな!
304デフォルトの名無しさん:2010/10/10(日) 10:22:07
このスレ見てるとPythonももう終わったなって感じだな
305デフォルトの名無しさん:2010/10/10(日) 11:53:58
__class__きもいんだけど。
306デフォルトの名無しさん:2010/10/20(水) 04:03:55
どうでもいいニュース:
今日、Arch Linuxの/usr/bin/pythonがpython3になった。
307デフォルトの名無しさん:2010/10/20(水) 10:30:47
Arch使ってるような変態じゃなくて玄人連中は別に困りそうも無いから問題無い
308デフォルトの名無しさん:2010/10/20(水) 13:26:33
debianは未だに(ry
309デフォルトの名無しさん:2010/10/20(水) 13:54:18
OSが勝手に3採用するのは困る
310デフォルトの名無しさん:2010/10/21(木) 00:22:52
どうせ2もpython2とかいう名前で入れられるんだろ?
311デフォルトの名無しさん:2010/10/21(木) 08:31:20
さっさと3に移行しろよクズども
312デフォルトの名無しさん:2010/10/21(木) 10:35:49
Python3の旅はこれからだ!
グイド先生の次回作、Python4にご期待ください。
313デフォルトの名無しさん:2010/10/21(木) 13:57:52
Djangoが使えるようになったら移行する > 3
314デフォルトの名無しさん:2010/10/21(木) 15:13:32
Python素人だけれども、
ユニコード文字列とかのややこしさがなくていいなと思って3.1をインストールしたんだが、
間に合ううちに2.7に切り替えるべきか? それともどうせ通る道と受け入れるべきか?
315デフォルトの名無しさん:2010/10/21(木) 15:47:52
必要になったら2.xをいれればいいさ
316デフォルトの名無しさん:2010/10/21(木) 18:53:46
>>314
3rdパーティのライブラリが使いたくなったらPython2.xへ。
317デフォルトの名無しさん:2010/10/21(木) 22:39:06
必要になったら3.xをいれればいいさ
5年後ぐらいにはそうなるよきっと
318デフォルトの名無しさん:2010/10/21(木) 23:15:30
Google App Engine(とWSGI準拠のアプリケーション)が
3に対応したら必要性で周りのライブラリも加速するんじゃねぇかなーと思う
319デフォルトの名無しさん:2010/10/21(木) 23:16:58
3.2から一気に加速するよ。
320デフォルトの名無しさん:2010/10/22(金) 00:23:15
2から3に引っ越すメリットってなに?
321デフォルトの名無しさん:2010/10/22(金) 00:38:56
自己満足
322デフォルトの名無しさん:2010/10/22(金) 00:57:04
俺ってすごい感
323デフォルトの名無しさん:2010/10/22(金) 21:19:58
文字コード関連のエラーを見ないで済む
324デフォルトの名無しさん:2010/10/23(土) 00:08:54
嘘つくな。
UnicodeDecodeErrorは相変わらず出るぞ。
325デフォルトの名無しさん:2010/10/23(土) 00:37:33
ということはつまり2から3に引っ越すメリットってなに?
326デフォルトの名無しさん:2010/10/23(土) 01:25:56
将来にわたって比較的安心につかえる。
現時点でのメリットはそれしかない。
327デフォルトの名無しさん:2010/10/23(土) 09:11:21
>>324
そりゃ、出るには出るよ。
328デフォルトの名無しさん:2010/10/23(土) 20:45:30
>>326
クククッ, ハタシテ ソウカナ となりそうで怖い
329デフォルトの名無しさん:2010/10/24(日) 03:18:33
初心者ならいいけど、
ある程度の経験者でUnicodeDecodeErrorと格闘してるような奴は、
基礎を固めずに、行き当たりばったりでプログラムを書いてるんでしょ。
330デフォルトの名無しさん:2010/10/24(日) 03:37:10
いちいち u'' を書かなくて良くなったんだってね
2.x の unicode = 3.x の string
2.x の string = 3.x の bytearray
っていう認識で桶?
331デフォルトの名無しさん:2010/10/24(日) 03:48:05
俺はその認識。
332デフォルトの名無しさん:2010/10/24(日) 09:25:20
>>329
そういう基礎や定石的な対処法って何に書いてあるものなんだ?
333デフォルトの名無しさん:2010/10/24(日) 10:00:24
>>329
日本人以外にもそれ言える?
334デフォルトの名無しさん:2010/10/24(日) 11:28:51
>>332
PEP
335デフォルトの名無しさん:2010/10/24(日) 12:46:11
Python3.1使ったWEBを作ってるんですが
次のようなエラーが出て困ってます。
UnicodeEncodeError: 'ascii' codec can't encode characters in position 178-180:

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

原因がわかれば教えてください。
336デフォルトの名無しさん:2010/10/24(日) 13:08:26
原因はおつむの悪さ
337デフォルトの名無しさん:2010/10/24(日) 13:13:02
馬鹿には無理
338デフォルトの名無しさん:2010/10/24(日) 13:33:07
>>335
文字コードは、省略してもいいって絶対の自信がない場合は面倒くさくても指定しろ。
339デフォルトの名無しさん:2010/10/24(日) 13:54:27
>>335
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
のように、sys.stdoutを置き換えると良いよ(utf-8の部分は適宜置き換えて)
340デフォルトの名無しさん: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デフォルトの名無しさん:2010/10/24(日) 14:34:50
まちがえ。encodingじゃなくてencodeね。
342335: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デフォルトの名無しさん:2010/10/24(日) 15:18:47
ggrks
344デフォルトの名無しさん:2010/10/24(日) 15:21:54
>>342
そういう変な(中途半端な)場所じゃなくて、I/Oの直前直後に
変換かけるようにしなよ
345デフォルトの名無しさん:2010/10/24(日) 15:24:56
文字コードについて知らない・知ろうとしない人は
Python3になっても苦労するだろうね
346デフォルトの名無しさん: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デフォルトの名無しさん:2010/10/24(日) 21:55:37
文字コードって何?
348デフォルトの名無しさん:2010/10/24(日) 23:09:33
ggrks
349デフォルトの名無しさん:2010/10/24(日) 23:14:38
2ch は心の荒んだ人の溜り場だな
350デフォルトの名無しさん:2010/10/25(月) 17:54:02
351デフォルトの名無しさん:2010/10/25(月) 18:51:33
dive intoはいろいろ問題があるから非推奨だって話を読んだことがあるけど。
352デフォルトの名無しさん:2010/10/25(月) 20:08:05
英語の文献まで手を広げれば色々あるから
自分に合ったやつを選べばいいんじゃない?
353デフォルトの名無しさん:2010/10/26(火) 04:12:15
主要モジコードのISOの番号を全部暗記していた時代が僕にもありました。
354デフォルトの名無しさん:2010/10/26(火) 20:32:35
iso-2022-jpなら知ってる
355デフォルトの名無しさん:2010/10/27(水) 16:23:30
Windowsでウインドウ列挙して指定のウインドウをキャプチャして
その画像をメールで送りたいんだけど、
・ウインドウの列挙
・画像のキャプチャ
はどうすればいいですか?
ライブラリ有りますか?
356デフォルトの名無しさん:2010/10/27(水) 17:10:01
ctypes
357デフォルトの名無しさん:2010/10/27(水) 17:14:55
pywin32
358デフォルトの名無しさん: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デフォルトの名無しさん:2010/10/31(日) 12:37:22
360デフォルトの名無しさん:2010/10/31(日) 13:33:50
>>358
mod_python環境だったりしない?
361デフォルトの名無しさん:2010/10/31(日) 14:37:33
>def application(environ, start_response):
362デフォルトの名無しさん:2010/10/31(日) 15:06:19
CGIとWSGIは別物だぜ
363デフォルトの名無しさん:2010/10/31(日) 23:22:59
>>358
WebOb 波動?
364デフォルトの名無しさん:2010/11/04(木) 14:58:24
numpy-1.5.1rc1.win32-py3.1-mkl.exe たまたま見てたら今日出たのか
365デフォルトの名無しさん:2010/11/25(木) 15:44:30
matplotlibがないとなぁ
366デフォルトの名無しさん:2010/12/06(月) 22:41:57
3.xのリファレンスは翻訳してないのかえ?
別に要らないけど。
367デフォルトの名無しさん:2010/12/10(金) 12:43:36
死にたい。
368デフォルトの名無しさん:2010/12/10(金) 14:04:11
逝くならクリスマス前にな。
369デフォルトの名無しさん:2010/12/11(土) 09:30:05
訳を聞こうか
370デフォルトの名無しさん:2010/12/13(月) 03:18:10
流行る気配すら無いんだが大丈夫なんかな
10年くらいで移行できたらいいなみたいな感じらしいけど
371デフォルトの名無しさん:2010/12/13(月) 03:44:37
Python2.8が出るに1ユーロ賭ける
372デフォルトの名無しさん:2010/12/13(月) 07:16:38
Python2.10が出るに1ジンバブエドル賭ける
373デフォルトの名無しさん:2010/12/13(月) 07:53:52
py2exeとwxPythonが3系に対応してくれれば乗り換えるんだが。
374デフォルトの名無しさん:2010/12/13(月) 09:05:44
Py2exeって対応する予定ないのかな
もう自分でやるか
375デフォルトの名無しさん:2010/12/13(月) 10:18:37
Python3.2から本格的に移行が始まるよ。
376デフォルトの名無しさん:2010/12/14(火) 14:27:02
python 3.-1 とかが出そう
377デフォルトの名無しさん:2010/12/15(水) 08:11:13
Python3に、Python2互換モードを導入すればよろし。

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

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

単に「時間がないマンドクセ」ならまだいいんだけどさ。
379デフォルトの名無しさん:2010/12/21(火) 20:55:42
3.2がでるまでは様子見じゃない?
言うなればそれまでは3β版みたいなもんだし
380デフォルトの名無しさん:2010/12/21(火) 22:23:46
3.2ってそんな感じのリリースなん?

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

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

気に入らなけりゃフォークしちまえってハッカー文化も嫌いじゃないけど
俺はたんに使うだけの利用者なんで、あんまり分裂されてもうれしくないのだw
381デフォルトの名無しさん:2010/12/21(火) 22:38:42
>>380
3.2はそんな感じのリリースだし、Pythonの開発者は分裂していない。
3.2がリリースされてから有名プロダクトの3系対応が一気に進むはず。
382デフォルトの名無しさん:2010/12/21(火) 22:50:03
>>381
そっか。トンクス。
いま公式見たら3.2βでたのが2010年の12月で2011年2月がファイナルリリースか。
それで本当に移行が進むんだったらうれしいな。
慣れてきたら、なんだかんだで3系のほうが使いやすいし。
383デフォルトの名無しさん:2011/01/13(木) 23:33:02
log = open('log.txt', 'a')
print >> log, x, y, z
print a, b, c

python3でこれはどう書けばいいのでしょうか?
384デフォルトの名無しさん: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デフォルトの名無しさん:2011/01/14(金) 03:11:35
>>383
log = open('log.txt', 'a')
print(x, y, z, file=log)
print(a, b, c)
386デフォルトの名無しさん:2011/01/14(金) 16:30:17
>>385
ありがとう
387デフォルトの名無しさん:2011/01/26(水) 15:51:40
早くコンパイラ出来ないかな〜
388デフォルトの名無しさん:2011/01/29(土) 21:43:51
Python3.2 rc2が明日だな
389デフォルトの名無しさん:2011/01/29(土) 23:02:03
明日は SaaSes 回線増強の日
390デフォルトの名無しさん:2011/02/05(土) 16:36:48
python3.2実効速度遅いな
391デフォルトの名無しさん:2011/02/13(日) 19:27:12
3.2マダァ?(・∀・ )っ/凵⌒☆チンチン?
392デフォルトの名無しさん:2011/02/14(月) 19:01:58
>>390
kwsk
393デフォルトの名無しさん:2011/02/16(水) 02:52:59
>>392
もうあまり覚えてないが、今出てる3.2rc2 と 3.13?で同じ簡単なコードを書いて実行速度計っただけ
リストへの代入かなんかだったような…
複数回実行して比較したり、n回試行の平均出したりしたら、9割の確率で3.2rc2のが遅かったってだけ
正式なベンチマーク使ったり、色々な処理で比較したりはしてない
3.2finalや、その次のバージョンとかで早くなる事に期待
394デフォルトの名無しさん:2011/02/22(火) 13:44:59.53
3.2
395デフォルトの名無しさん: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デフォルトの名無しさん:2011/02/23(水) 12:21:38.64
C++は好きだけど、あのビルド時間には耐えられないものがある
397デフォルトの名無しさん:2011/03/03(木) 22:45:39.90
pythonの内包表記をHaskellみたいにしてくれないかなぁ
三項演算子といい、ところどころ書き方がきもいんだよな。
398デフォルトの名無しさん:2011/03/18(金) 23:35:27.47
> Haskell について一言いわせてもらう。
> こんな記号列が出てくる言語をオレはまともなプログラミング言語だとは思わない
>
> f _ _ (_:_) [] = []
>
> C++ や Perl や BrainFcukと同レベル。 以上。

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

まあhaskellが読みやすいとは俺も思えんけど。記号列とかじゃなく、高階関数の多用で読みづらくなってる。
whatが分かるようにはなってるかもしれんけど、その関数に慣れてない人が見るとhowが分からない。
400デフォルトの名無しさん:2011/04/01(金) 23:45:03.11
reduce()が死んでmap()filter()が生きるってマジなん?
401デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2011/04/14(木) 09:00:06.71
>>402
そうだけど、cygwin 使っている時点で遅いわな。
404デフォルトの名無しさん:2011/04/14(木) 10:34:30.32
コマンドプロンプトとMinGWだけど
405デフォルトの名無しさん:2011/04/26(火) 12:45:24.99
う〜ん
406デフォルトの名無しさん:2011/05/23(月) 21:08:57.64
Python3.3rc1がでるね
407デフォルトの名無しさん:2011/05/24(火) 00:45:36.30
う、うん……(´・ω・`)
408デフォルトの名無しさん:2011/05/25(水) 19:56:18.68
PILはまだかね
409デフォルトの名無しさん:2011/05/28(土) 18:38:18.84
PILは対応してるよ
410デフォルトの名無しさん:2011/05/28(土) 19:07:06.91
もうPython3.3が出るのかと思ったら、来年か
411デフォルトの名無しさん:2011/05/29(日) 00:35:54.43
python3に対応してるGUIフレームワークおしえてください
412デフォルトの名無しさん:2011/05/29(日) 09:21:41.36
>>411
pygame!!
413デフォルトの名無しさん:2011/05/29(日) 13:42:31.43
文字をビットに変換って出来ますか?
414デフォルトの名無しさん:2011/05/29(日) 16:04:32.38
>>413
bin(ord('a'))
こうゆうこと?
415デフォルトの名無しさん:2011/05/29(日) 16:24:26.20
>>414
ありがとう
これを文字列に対して使いたいんだけど、一気に出来ない?
やっぱりforで1個ずつやるしかないかな?
416デフォルトの名無しさん:2011/05/30(月) 12:20:37.51
''.join([bin(ord(c)) for c in "abc"])
結局for文使うか
417デフォルトの名無しさん:2011/06/01(水) 22:44:46.65
"".join( [bin(x)[2:] for x in map(ord, "abc")] )
4181:2011/07/03(日) 15:40:09.90
419デフォルトの名無しさん:2011/08/26(金) 14:41:09.43
ログ復活
420デフォルトの名無しさん:2011/08/27(土) 11:34:08.73
Python3でGnuplot.pyって使えんの?
421デフォルトの名無しさん:2011/08/27(土) 13:59:19.80
3.x と 2.x は文法に互換性がない
422デフォルトの名無しさん:2011/09/02(金) 09:55:10.54
matplotlibじゃ駄目なのか?
423デフォルトの名無しさん:2011/09/02(金) 14:32:57.70
matplotlib って 3.0 に対応したの?
424デフォルトの名無しさん:2011/09/12(月) 23:39:41.70
2chでpython始めるなら2.xと3.xのどっちがいい?って聞いて3.xを勧められてもう二年近くなるが、
サードパーティのライブラリはいつ充実するの?
425デフォルトの名無しさん:2011/09/12(月) 23:40:49.85
matplotlibみたいな大物に目をつぶればそれなりに
426デフォルトの名無しさん:2011/09/13(火) 00:29:53.68
openglはどうなってます?
427デフォルトの名無しさん:2011/10/03(月) 17:17:09.78
これから始めるのに2.xはない
特定の事にのみ使うとかで、3.xでは対応してないとかならわかるけど
Pythonを勉強するとかの理由なら3.xやるべきだわ

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

http://www.lfd.uci.edu/~gohlke/pythonlibs/
429418:2011/10/19(水) 23:14:47.30
430デフォルトの名無しさん:2011/10/20(木) 21:56:02.91
Python 3.*に対応しているWebフレームワークは一つしかないんだぜ…
http://en.wikipedia.org/wiki/Comparison_of_Web_application_frameworks#Python_2
431デフォルトの名無しさん:2011/10/21(金) 11:56:14.89
WSGIとPython3が
どうたらこうたら
432デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2012/01/04(水) 08:28:01.91
Python 3 Resources for Python developers and users
http://getpython3.com/
435デフォルトの名無しさん:2012/03/06(火) 23:23:46.54
3.3.0のアルファが出たんだけど……(´・ω・`)

http://sourceforge.jp/magazine/12/03/06/1022203
436デフォルトの名無しさん:2012/03/21(水) 23:13:40.51
本を読む習慣が無いひとには
おおまかに次の3つのタイプがあります

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

頭が悪いひとより文盲の方が深刻です
普通は漢字が読めないレベルとかを想像しますが
アルファベットですら読めないひとが日本には多くいます
437デフォルトの名無しさん:2012/03/25(日) 16:02:34.35
一人のジャイアンを救うごとに一人のエックスが犠牲になっていく……
438デフォルトの名無しさん:2012/03/25(日) 16:04:46.15
すいません誤爆しました
439デフォルトの名無しさん:2012/05/25(金) 17:05:22.69
Python3.2より3.3のがだいぶ早いな
でも3.1のがさらに早い
適当に書いたプログラムで試しただけだが
440デフォルトの名無しさん:2012/05/29(火) 23:26:13.48
>>439
まー 2.7 が一番速いね
441デフォルトの名無しさん:2012/06/03(日) 01:22:48.34
3系の日本語のリファレンスとかってまだないんだっけ?
442デフォルトの名無しさん:2012/06/06(水) 01:10:16.18
>>441
レッツ翻訳
443デフォルトの名無しさん:2012/06/07(木) 00:46:26.89
>>441
つスピードラーニング
444デフォルトの名無しさん:2012/06/08(金) 13:28:46.24
444
445デフォルトの名無しさん:2012/06/08(金) 16:09:34.25
政府は8日の閣議で、米インターネット検索大手グーグルの地図検索サービス「グーグルマップ」が、
竹島(島根県)を韓国領と誤解を与える表記をしている問題に関し、同社が対応を検討しているとする政府答弁書を決定した。

http://sankei.jp.msn.com/politics/news/120608/plc12060813260015-n1.htm
446429:2012/06/09(土) 08:14:49.57
447デフォルトの名無しさん:2012/06/09(土) 20:28:27.03
python3の変更点を見ていて疑問に思ったんだけど、
どうして関数定義時にタプルを仮引数として使えなくしたの?
python2でいうと
def f((a,b),c): print a,b,c
のような書き方。
これ便利だったのに…
448デフォルトの名無しさん:2012/06/09(土) 20:32:17.37
自己レスだけどPEP 3113か
ちょっと読んでみる。
449デフォルトの名無しさん:2012/09/04(火) 00:54:12.85
nonlocal...
450デフォルトの名無しさん:2012/09/11(火) 20:04:41.69
ツン期からデレ期に移行したPython 3を学ぶなら「みんなのPython 第三版」がいいよという話
http://coreblog.org/ats/minpy-3rd-has-been-published

この本ってちゃんとver3.3に対応してるんかな
451デフォルトの名無しさん:2012/09/11(火) 23:49:25.28
タプルの例がIPアドレス使った奴から変わってるかな?
452デフォルトの名無しさん:2012/09/14(金) 02:30:41.28
>>450

とても素晴らしい表紙で,担当編集者の方には大変感謝しております。



これって絶対皮肉だと思う。
453デフォルトの名無しさん:2012/09/15(土) 03:10:39.39
>Rubyは,えーと,えーと,「バージョンって言い方なの?」って体制が病あーりんアイドルだからプログラミングとか分かんない\(^o^)/

何言ってるかわからんw
454デフォルトの名無しさん:2012/09/15(土) 23:58:43.60
455デフォルトの名無しさん:2012/09/21(金) 14:14:57.92
3.3に移行したいのに遅すぎる
3.1の2倍、実行時間かかるぞ
456デフォルトの名無しさん:2012/09/21(金) 14:44:34.27
こういうやつか
ttp://bugs.python.org/issue14687
457デフォルトの名無しさん:2012/09/22(土) 10:36:59.91
pypyの3系対応来てくれ
458デフォルトの名無しさん:2012/09/22(土) 17:07:24.94
欲しいならここに寄付してこい
http://pypy.org/py3donate.html
459デフォルトの名無しさん:2012/09/22(土) 17:31:41.38
寄付額がなかなか増えない・・・欲しがっている人少ないね
460デフォルトの名無しさん:2012/09/22(土) 17:55:15.12
2で間に合うからな
3にするメリットが全然ない
461デフォルトの名無しさん:2012/09/30(日) 14:42:22.10
Python 3.3.0 was released on September 29th, 2012.
http://www.python.org/getit/releases/3.3.0/
462デフォルトの名無しさん:2012/09/30(日) 15:22:31.29
台風でそれどころじゃない
463デフォルトの名無しさん:2012/09/30(日) 23:24:21.89
>>381
夢のような話だったな・・・
464デフォルトの名無しさん:2012/10/03(水) 23:47:54.75
>>450
3.3では u"〜" 表記が復活する、というのは書いてあった。

>>451
そのまんま。
あと、「2を20乗して1ギガバイトに相当するバイト数を計算しています」という
間違いも直っていない(2の20乗バイトは1メガバイト)。
465デフォルトの名無しさん:2012/10/04(木) 04:18:42.94
>3.3では u"〜" 表記が復活する

3に乗り換える意味が益々無くなる
466デフォルトの名無しさん:2012/10/04(木) 04:57:15.56
unicode型()
467デフォルトの名無しさん:2012/10/04(木) 10:47:13.35
>>465
3.3は、文字列リテラルにuつけてもよくなるだけで、uはつけなくともいいんだぞ
2.x系のソースをより移植しやすくするための措置らしい
468デフォルトの名無しさん:2012/10/04(木) 21:25:39.42
「移植しやすく」というより、2と3の両対応のスクリプトを書きやすくするためらしい。
469デフォルトの名無しさん:2012/10/05(金) 02:58:20.76
益々3に乗り換える意味が無くなる
470デフォルトの名無しさん:2012/10/05(金) 06:50:56.91
>>468
両対応のスクリプト書くなって方針じゃなかったの?
471デフォルトの名無しさん:2012/10/05(金) 12:19:15.91
世の中的に3系イランモードなんかいな。
個人的には慣れてしまえば使いやすくていいもんだと思うから
はよ3系が主流になってほしい。
472デフォルトの名無しさん:2012/10/05(金) 13:52:59.04
u付けて2でも動くよ〜
って喜んでる見たいだけどさ
2で動くんだったら3要らなくね?
ってなるよね
473デフォルトの名無しさん:2012/10/05(金) 14:50:40.66
>>468
from __future__ import unicode_literals があるので
新規で両対応のコードを書くならそっち使う。

3.3では u"" は何もしないので、わざわざ使う利点はない。
3.2ではエラーになるので、寧ろ互換性を損ねてる。
474デフォルトの名無しさん:2012/10/06(土) 12:57:35.62
移植しやすくなるのは事実だろ
475デフォルトの名無しさん:2012/10/06(土) 13:00:56.12
u付き復活とかなんか必死だなとは思った

3のみ対応の素敵ライブラリでも出てこないと使う気が起こらない
そういうのもう出てたりしないのかな
476デフォルトの名無しさん:2012/10/06(土) 13:16:55.44
いちおう3.3が2系を完全に切り離したリリース(今後2系はもうリリースしない)
と言われているけどな。ある意味やっとこさスタートラインともいえるが、どうなんだろうな。
477デフォルトの名無しさん:2012/10/06(土) 15:39:31.68
u付き認めると移植はしやすくなるかも知れないけど、
3への完全移行にはかえって仇になると思うな。
478デフォルトの名無しさん:2012/10/06(土) 15:45:08.23
ひとつ復活を認めると、あれもこれもでガンガン不要として切り捨てたものが復活して
結局2と同じものになりそうだな
479デフォルトの名無しさん:2012/10/06(土) 15:50:58.36
D言語のgdgdの再現プレイを見ているようだ
内部崩壊を狙う埋伏の毒が居るのかもしれん
480デフォルトの名無しさん:2012/10/06(土) 16:11:13.63
http://www.python.org/dev/peps/pep-0414/
PyConJPを隠れ蓑に松江に行った可能性が微レ存
481デフォルトの名無しさん:2012/10/16(火) 20:20:50.71
スレッド乱立荒らし出没中につき
dat落ちしないように保守
482デフォルトの名無しさん:2012/10/18(木) 10:06:35.39
3 対応ってライブラリもCバインディングが含んでたら
buildし直さないと使えないんだな

まだ archぐらいじゃないか
3系列を薦めてくるの。ここから移行にはもうしばらく時間は掛かりそうだ…
483デフォルトの名無しさん:2012/10/18(木) 10:29:22.23
たしかUbuntuが次から
484デフォルトの名無しさん:2012/10/19(金) 17:03:59.64
Ubuntu 12.10 でPython 3.2が標準で載るようになったね
485デフォルトの名無しさん:2012/10/19(金) 20:24:25.93
http://distrowatch.com/table.php?distribution=ubuntu

はじめにbuiltinで入ってるのは 2.7.3

あたらしいのを使いたいなら
$ sudo apt-get install python-3.2-dev
$ sudo apt-get install python-3.3-dev

もしくは python3-dev で 3.2 が入る

どのみち後からいれないと駄目だ。次と言うと 13.4 からか
3.2 と 3.3 の違いがよくわからんが…
486デフォルトの名無しさん:2012/10/19(金) 21:05:49.65
http://cpplover.blogspot.jp/2012/10/ubuntu-1304raring-ringtail.html
>また当初、Ubuntu 12.10で、CanonicalはPython 3.2に移行し、Python 2系列は
>デフォルトではインストールしない予定だった。Python 3はPython 2に対して
>破壊的な変更を含んでいる。つまり、Canonicalが直接サポートするソフトウェア
>でPythonを使うものは、すべてコードをPython 3.2で動作するように移植しなけ
>ればならない。残念ながら、その移植作業は間に合わず

http://news.mynavi.jp/news/2012/10/19/181/
>Python のバージョンをPython 3.2へ移行
>標準のGNUツールチェインをGCC 4.7.2に変更
>標準のJavaツールチェインをOpenJDK7に変更

mynavi プレスリリースする前に確認しようよ
まだ移行してないし
487デフォルトの名無しさん:2012/10/20(土) 23:42:03.11
from __past__ import unicode_literal
次は何だ?
488デフォルトの名無しさん:2012/10/21(日) 02:31:07.72
^o^
489デフォルトの名無しさん:2012/10/21(日) 20:20:59.58
これはいい変更。
>>> open("aho.txt")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'aho.txt'
490デフォルトの名無しさん:2012/10/22(月) 09:21:00.99
従来はIOErrorだったのが、FileNotFoundErrorを返すようになったのか。よいね。
491デフォルトの名無しさん:2012/10/22(月) 10:48:37.46
pgr
492デフォルトの名無しさん:2012/10/23(火) 01:26:14.43
web2pyはいつ頃対応しそうですか?
493デフォルトの名無しさん:2012/10/23(火) 18:59:37.38
web3py
494デフォルトの名無しさん:2012/10/30(火) 12:02:17.58
おっぱいもみたい
495デフォルトの名無しさん:2012/11/03(土) 15:04:33.11
「おっぱい揉みたい」なのか「おっぱいも見たい」なのか、それが問題だ。
496デフォルトの名無しさん:2012/11/03(土) 20:12:29.56
どっちもしたいから何も問題じゃない。
497デフォルトの名無しさん:2012/11/03(土) 20:19:52.75
見ないで揉みたいに一票
498デフォルトの名無しさん:2012/11/03(土) 20:37:20.00
みたい + もみたい + すいたい
499デフォルトの名無しさん:2012/11/05(月) 10:45:01.16
http://askubuntu.com/questions/103469/how-do-i-change-my-pythonpath-to-make-3-2-my-default-python-instead-of-2-7-2

まぁ二つ載ってても(むしろ載ってないと困る)困らない
やってみると意外と
500デフォルトの名無しさん:2012/11/05(月) 17:30:30.21
よく考えたら、おっぱい見るのはそこらに画像が転がってるから簡単だった。
だから揉みたいが正解だな。
501デフォルトの名無しさん:2012/11/05(月) 17:37:12.93
502デフォルトの名無しさん:2012/11/05(月) 23:35:56.49
でもお高いんでしょう?
503デフォルトの名無しさん:2012/11/06(火) 00:38:07.56
expess edition だと plugin 使えないかんな!
と py3k に移植完了したコードを 2.7系に戻すそんな本末転倒な場面もあったり

でも os だってダウングレード権とかある。そんな状況が発生するのも別段おかしく
504デフォルトの名無しさん:2012/11/09(金) 08:46:04.36
yabaiyo
&nbsp;indent
&nbsp;&nbsp;source
貼れないよ
505デフォルトの名無しさん:2012/11/09(金) 11:52:08.86
3系のメリットとデメリットを教えて下さい。
506デフォルトの名無しさん:2012/11/09(金) 19:39:18.99
507デフォルトの名無しさん:2012/11/12(月) 09:58:16.07
■python3系のメリット
・文字コード周りがすっきり unicode/str地獄に悩まされなくて済む
・今後便利な機能がどんどん実装される 個人的にイテレータ周りは相当良くなると思う
・パフォーマンスは最新3.3で2系をほぼ凌駕した 地味な所でどんどん性能改善してるので今後期待できる

■言語自体のデメリット
・ほぼ無し あえて言えば人によってprint文が若干面倒に感じるぐらい 言語自体は間違いなく良くなってる

■2->3への移行に伴うデメリット
・現有資産の書き換えが必要 特に文字コード周りは大幅な書き換えが必要
・まだ3系に対応していないライブラリが多い
 著名どころでも非対応多いし、対応してても枯れてないのでおかしな動きしたり


適当だけどこんなところかな>>505
とにかく非対応ライブラリの問題が根深いですね
既に対応してるライブラリでもテキスト処理関係のライブラリはまだバグが多い(lxmlとか)
508デフォルトの名無しさん:2012/11/12(月) 10:55:17.54
文字コード周りがすっきり unicode/str地獄に悩まされなくて済む
はずなのに 2 からの移行で悩まされるのはほとんどこの問題とか
509デフォルトの名無しさん:2012/11/12(月) 10:56:05.97
Perl5->6ほどの格差はないんだよね。
510デフォルトの名無しさん:2012/11/12(月) 11:47:13.68
Python3の唯一のデメリットはまだ枯れてないことだな。

例えばPyArg_ParseTupleの引数 s と s* の区別がきちんとできないライブラリが
標準ライブラリにも混じってるから困る。
511デフォルトの名無しさん:2012/11/12(月) 12:59:34.82
スレッドまわりはどうなの?
512デフォルトの名無しさん:2012/11/12(月) 14:33:00.52
そういえば zipfile が utf-8 固定になってる問題は直ったの?
513デフォルトの名無しさん:2012/11/19(月) 04:26:23.09
ぼくちんはwxPythonが3.3に対応したら移行するでち
それまでは2.7で頑張りますでち
514デフォルトの名無しさん:2012/11/19(月) 07:53:42.59
>>513
me, too.
515デフォルトの名無しさん:2012/11/21(水) 03:04:20.49
つまり永遠に移行できないと
516デフォルトの名無しさん:2012/11/21(水) 07:55:52.26
そのうち4が出そう
517デフォルトの名無しさん:2012/11/21(水) 22:21:50.91
wxは本家が次期バージョンで下位互換捨てる方針だからそれにあわせるんじゃねえの
518デフォルトの名無しさん:2012/11/27(火) 00:10:10.19
パイソンでグラフプロットするにはどうすれば良いですか?
519デフォルトの名無しさん:2012/11/27(火) 00:19:56.44
matprotlibでも使えばいいんじゃね
520デフォルトの名無しさん:2012/11/27(火) 00:21:46.80
PIL
521デフォルトの名無しさん:2012/11/27(火) 01:12:51.65
ロックは死んだ
522デフォルトの名無しさん:2012/11/27(火) 10:04:49.87
>>519
何それ?
俺の知ってるライブラリと違う。
523デフォルトの名無しさん:2012/11/27(火) 15:09:18.27
matplotlib
524デフォルトの名無しさん:2012/12/01(土) 23:23:18.77
辞書オブジェクトのキーを属性名、バリューを値に持つようなクラスってつくれますか?

d = {'hello', 'world'}
obj = X(d)
print(obj.hello) # world

こんな感じにしたいんですが・・・
525デフォルトの名無しさん:2012/12/02(日) 00:04:21.12
class ReadOnlyAttr(dict):
 def __getattr__(self, key):
  if key in self:
   return self[key]
  raise AttributeError(key)

spam = ReadOnlyAttr(hello='world')
spam['ham'] = 'egg'
print(spam.hello, spam.ham)
526525:2012/12/02(日) 00:07:43.12
あっ、別に読み取り専用ではなかった
527デフォルトの名無しさん:2012/12/02(日) 21:51:37.27
読み取り専用辞書 types.MappingProxyType が 3.3 に入ったね
以前のdictproxyからの変更、インスタンスが作れるようになってる

もう一つ3.3の話題、丁度新しい型が追加されてた
クラスやnamedtuple等よりは辞書寄りで、単に辞書データへ属性アクセスしたい場合に使える

ns = types.SimpleNamespace(hello="world")
528デフォルトの名無しさん:2012/12/02(日) 21:58:49.14
改善された点
__getattr__を使う方法や、インスタンスの __dict__ へ追加する方法では
名前空間を共有することになるので、他の属性との名前の衝突には注意が必要になるけど

SimpleNamespaceは __xxx__ 形式の属性しかないので、比較的運用が楽。
辞書が必要な場合は、ns.__dict__ が使える

従来の方法に対するデメリットは、サブクラス化してメソッド追加が(多分?)出来ない点
529デフォルトの名無しさん:2012/12/03(月) 00:23:40.62
その他、用途別。辞書ライクなデータを属性アクセス可能にする方法

# A
color = {"red":0, "green":0, "blue":0, "alpha": 0}
みたいに、小規模・フィールドが固定なデータ構造だったら namedtuple

# B
フィールドは固定で、本来なら属性にする所だけど
数が多いので外部リソースから読み込んだりして一時的に辞書で扱ってるのを
纏めて属性アクセスできるようにしたい。用途的に名前衝突の心配がない場合

self.__dict__.update({"hello":"world"})
530デフォルトの名無しさん:2012/12/05(水) 17:33:26.63
不動少数点数にマッチする正規表現てどう書きますか?
531デフォルトの名無しさん:2012/12/05(水) 17:56:19.39
不動ということは固定長か
532デフォルトの名無しさん:2012/12/05(水) 19:59:25.62
しかも小数ではなく少数と来たか。
533デフォルトの名無しさん:2012/12/07(金) 21:54:57.34
IronPythonて学ぶ価値ある?
534デフォルトの名無しさん:2012/12/09(日) 00:48:50.98
>>533
学ぶ価値がないものなんてない
535デフォルトの名無しさん:2012/12/09(日) 09:15:58.18
SimpleNamespaceって
>>> ns = type('SimpleNamespace', (), {'hello': 'world'})
じゃいかんのか
536デフォルトの名無しさん:2012/12/09(日) 10:16:08.81
>>533
IronPythonはPythonから標準モジュールを抜いて、.NET フレームワークが使えるようになっただけ。
PythonとC#を学んだ方がいい。
537デフォルトの名無しさん:2012/12/09(日) 10:45:43.09
>>534
一時的な用途で属性アクセス専用なら使えるけど、あまり積極的にはお勧めしない。

汎用の辞書としては、__dict__が他の属性と混ざってるので、扱いが面倒になる => 辞書のメソッドが使いたい場合、シリアライズしたい場合等
この点、SimpleNamespaceの方では__dict__でクリーンな辞書を参照できる。

後、ユニークなクラスを作ることになるので、別のインスタンスを作っても共通の親が無く
isinstanceでの判別がしにくい等、細かい点で手間かかる事になるかもしれない。
538デフォルトの名無しさん:2012/12/09(日) 11:33:07.76
__dict__と混ざるのはメリットでもあるしデメリットでもあるんじゃないの
後この手のコンテキストで型チェックってあんま意味がないような気がする
実行時例外をそのままスルーした方がいいような
>>535は一行とはいえ黒魔術的だからSimpleNamespaceの方がいいんだろうけど
539デフォルトの名無しさん:2012/12/10(月) 05:44:35.09
用途を明確にしたほうがいいかな

汎用コンテナとして、辞書を属性アクセス可能に拡張するなら、
辞書のサブクラス作るのが順当なアプローチだと思うけど
データと属性の名前空間が混ざるのはデメリット

オブジェクトの属性を辞書で一括更新する場合は __dict__ を利用
但し、クラス変数だと __xxx__形式のメソッドが混ざってくるのと__dict__が dictproxy(mappingproxy) になるので
インスタンス変数の__dict__を利用する。
540デフォルトの名無しさん:2012/12/10(月) 06:02:31.59
>>538

> 後この手のコンテキストで型チェックってあんま意味がないような気がする
> 実行時例外をそのままスルーした方がいいような

型チェックが冗長になる場面では基本的に同意だけど、
出来るけどやらないのと、そもそも出来ないには隔たりがある。

Duck-Typeの柔軟性を活かす為に、暗黙のインターフェースを用いる方法は、
抽象基底クラス(abc)を使うとインターフェースを明示できるようになるよ。
541デフォルトの名無しさん:2012/12/28(金) 04:50:03.07
web2pyの3系対応はいつ頃でしょうか?
542デフォルトの名無しさん:2012/12/29(土) 01:19:00.59
巳年
543デフォルトの名無しさん:2012/12/29(土) 01:32:21.18
>>542
欧米には関係無い話だと思うのですが…
544デフォルトの名無しさん:2012/12/29(土) 02:46:51.65
そもそも干支を動物に対応させたのも関係無いし
545デフォルトの名無しさん:2013/01/18(金) 20:19:23.75
最高にクールなpython3の参考書はどれですか?
546デフォルトの名無しさん:2013/01/18(金) 20:57:46.27
Python3の書籍なんて何冊もないんだから全部買え。
自分に合った本は自分でしか見つけられない。
547デフォルトの名無しさん:2013/01/20(日) 15:21:03.03
今んとこ本家ドキュメント一択
548デフォルトの名無しさん:2013/01/20(日) 16:47:44.97
ほとんどshift-jisなんだけど時々違う文字コードが紛れ込んで文字化けしてるbyte列をデコードしたいのですが
こういう文字列として不完全なbyte列をデコードする関数は標準にはありますか?
549デフォルトの名無しさん:2013/01/21(月) 00:56:44.79
>時々違う文字コードが紛れ込んで

無理
550デフォルトの名無しさん:2013/01/21(月) 01:12:18.06
>>548
場所とエンコーディングが分かっているのならば自分でbyte列を分割して適切に
処理してやればいいんじゃないの

全自動でやってくれというのなら>>549の言うように無理だな
Shift_JISとして不正なbyte列を含んでいる場合はそこでデコードエラーになり、
その位置も取れる筈だけど、以下のような問題がある

1)人の目には明白に文字化けしているケースであっても常にShift_JISとして不正な
 byte列であるとは限らず、その場合は「何か問題がある」ことすら検出
 しようがない
2)文字化け部分が短い場合、自動でその文字エンコーディングを推測するのは
 非常に困難
551デフォルトの名無しさん:2013/01/21(月) 23:47:35.90
まあ、完璧にやるのは無理としても、デコードエラーになったら違う文字コードを
試すとかしてそれなりにデコードするのは可能かもしれない。

でも、それ以前にそんなニッチな関数が「標準」にあると思う方がどうかしてる。
552デフォルトの名無しさん:2013/01/22(火) 00:43:18.61
https://github.com/fumiyas/python-nkf

nkf のバインディングを置いとく
3で動くかは知らん
-g オプションは guess の略
>>551 が言うように完璧は無理 (guess)
553デフォルトの名無しさん:2013/01/22(火) 12:02:39.81
>ほとんどshift-jisなんだけど時々違う文字コードが紛れ込んで
環境依存文字等では、shift-jisではエラーでもcp932だと通る事がある。
そういったケースではなく、まったく別の文字コードが紛れてる?

不完全な部分を正しいデコードしなくてもよいのであれば、
decodeの第二引数に'ignore'や'replace'を指定すると、
デコード出来ない文字は読み飛ばしたり適当な文字に置き換えて処理してくれる。
エラー関数はカスタマイズ可能なので、551の方法を試す枠組み自体は整ってる。詳しくはcodecsモジュール読んで。
554デフォルトの名無しさん:2013/01/22(火) 13:15:07.10
エラーの時に別のエンコーディングを試すアプローチだけど
文字コードが混在したデータには使えなかった。エラーにならない文字だと単に文字化けする
555デフォルトの名無しさん:2013/01/22(火) 16:21:57.76
誤誤誤
556デフォルトの名無しさん:2013/03/09(土) 18:26:41.53
そろそろPython3.xが世界の実権握ったか
557デフォルトの名無しさん:2013/03/14(木) 14:15:02.51
# module file : MyClass.py

class Body:
  pass

class MyClass(object):
  def __init__(this):
    body = Body()
    body.x = 0
    def SetX(x):
      body.x = x
    def GetX():
      return body.x
    this.SetX = SetX
    this.GetX = GetX

def New():
  return MyClass()

こうするほかにアクセス不能(?)なプライベートなプロパティをもつことは可能ですか?
558デフォルトの名無しさん:2013/03/14(木) 14:17:17.67
マングルでいいだろ
559デフォルトの名無しさん:2013/03/14(木) 15:47:13.31
>>557
完璧なプライベートなんてのは不可能なんだから諦めたら?

n = New()
n.GetX.__closure__[0].cell_contents.x = 123
print(n.GetX())

http://docs.python.jp/3.3/reference/expressions.html#atom-identifiers
560デフォルトの名無しさん:2013/04/07(日) 22:48:20.16
561デフォルトの名無しさん:2013/04/12(金) 23:35:40.57
おつ!
562デフォルトの名無しさん:2013/05/17(金) 11:03:20.28
563デフォルトの名無しさん:2013/05/17(金) 16:48:04.67
おつ!
564デフォルトの名無しさん:2013/05/24(金) 19:53:43.32
日本Pythonユーザ会のサイトのダウンロードページでは
未だにPython最新リリースが3.3.0なんすけど
これは3.3.1以降の日本語化が終わってないってことでしょうか?

http://www.python.jp/Zope/Zope/download/pythoncore
565デフォルトの名無しさん:2013/05/24(金) 22:51:03.02
インストーラーへのリンクは本家へ直リンなので
ユーザー会がページを更新していないだけだと考えられる
566デフォルトの名無しさん:2013/05/24(金) 23:03:02.40
>>564のページは古かった、下のページで更新されている
http://www.python.jp/download/
567デフォルトの名無しさん:2013/05/24(金) 23:27:08.67
>>565
ありがとっす
日本語パス上にあるスクリプトファイルを
起動できない事象を回避したいので早速本家からもらってくる

>>566
これは古かったですかスマンです
移行したとは気づかなかった…
568デフォルトの名無しさん:2013/09/12(木) 09:34:12.71
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\>python -V
Python 3.2.5

C:\>
569デフォルトの名無しさん:2013/09/12(木) 14:04:29.96
おいなりさんでおいなりさんを露出
570デフォルトの名無しさん:2013/09/12(木) 14:08:56.45
水野あきこさんが好きです。
571デフォルトの名無しさん:2013/09/19(木) 15:32:22.44
ビール

バイト

お前ら

ドライブ
572デフォルトの名無しさん:2013/10/04(金) 18:28:42.30
tkinterのサンプルたくさん載ってるサイトない?
海外のでいいから
573デフォルトの名無しさん:2013/10/04(金) 18:40:48.37
>>572
Py in my eye
574デフォルトの名無しさん:2013/10/04(金) 19:13:49.37
http://www.tkdocs.com/tutorial/ もよくまとまってるよ
575デフォルトの名無しさん:2013/10/04(金) 23:10:24.67
>>573
>>574

サンクス
576デフォルトの名無しさん:2013/10/12(土) 02:20:33.56
NumPyもMatplotlibもPIL(Pillow)も、Webの各種フレームワークも3に対応した。
おいらはもうPython 3オンリーでやっていける。
577デフォルトの名無しさん:2013/11/01(金) 08:49:25.54
案外すんなりと移行しちゃって
このスレも役目を終えたな
578デフォルトの名無しさん:2013/11/01(金) 11:59:20.37
うむ
579デフォルトの名無しさん:2013/11/01(金) 12:12:54.83
>>577
もうPython3に逝っちゃってもいいんですか?
勉強しようとしたら論争がいつまで経っても終わらんなと思っていたところで
580デフォルトの名無しさん:2013/11/01(金) 12:40:23.46
そもそも文法はたいして変わらんし
使いたいライブラリが3に対応してるかだけの話だよ元々
581デフォルトの名無しさん:2013/11/01(金) 22:19:40.54
2でもfutureインポートで3の文法使えるから、それで慣れるのもあり
582デフォルトの名無しさん:2013/11/02(土) 20:45:20.33
pillowなんて実装があったのか 知らんかった
583デフォルトの名無しさん:2013/11/08(金) 11:49:39.62
pythonなんて誰が使うの?
584デフォルトの名無しさん:2013/11/08(金) 19:00:46.29
理工系の研究者
585デフォルトの名無しさん:2013/11/21(木) 00:56:54.41
Pythonコードと

ハリソンフォードって

似てるよね
586デフォルトの名無しさん:2013/11/21(木) 02:08:44.41
George Python
587デフォルトの名無しさん:2013/12/05(木) 23:48:41.47
は行の清音を表現しきれないシナチョン語だと似てるんだろうな
588デフォルトの名無しさん:2013/12/06(金) 17:15:16.75
ν速+に帰れ
589デフォルトの名無しさん:2014/01/23(木) 14:45:38.77
このスレもう要らない
590デフォルトの名無しさん:2014/01/25(土) 07:11:21.90
1年前はまだ良さげなライブラリとか見つけて3非対応でガッカリさせえられてたけど
ここ一年でだいぶ変わって来た気がする
多分1年後はもう問題無くほとんど全てが3に以降してるはず
591デフォルトの名無しさん:2014/01/25(土) 13:31:30.87
1年後も同じこと言ってそう
592デフォルトの名無しさん:2014/01/25(土) 15:47:59.73
いや、科学系とWeb関係でPythonを使ってるけど、もうほとんど移行可能だよ。
まだ新規に2.x書いてるの?
593デフォルトの名無しさん:2014/01/25(土) 16:02:23.29
PyGTK や PyQt 使ったアプリケーションはいまだに 2 を使ってるものばかりだから
相変らず 2 で書いてる
594デフォルトの名無しさん:2014/01/25(土) 16:57:35.90
PyQt自体は3でも動くよね。GTKは知らん
595デフォルトの名無しさん:2014/01/25(土) 17:43:50.88
言葉が足りなかったか
既存の GUI アプリが 2 で書かれてるものだから
プラグインを書いたりするときに結局 2 が必要になっちゃうって話
596デフォルトの名無しさん:2014/01/26(日) 04:45:55.53
2.x無視すると、キモい互換用コード書かなくて済むし楽だ
ついでに、コードもstrictな感じになるし
597デフォルトの名無しさん:2014/02/04(火) 15:06:37.32
Python 3.xの新機能がよくわからなくなってきた
3.4でEnumライブラリが入るんだね
598デフォルトの名無しさん:2014/02/09(日) 08:25:09.15
このスレは不要
599デフォルトの名無しさん:2014/02/24(月) 21:00:32.37
ライブラリやAPIは問題ないけど、大学の先輩方が作った卒研の資産が動きません
コードが汚くてリファクタリングする気にもなりません
600デフォルトの名無しさん:2014/02/28(金) 03:08:19.79
はい
601デフォルトの名無しさん:2014/03/30(日) 13:28:31.35 ID:tbQ7GWuV
もう3.4か
602デフォルトの名無しさん:2014/04/02(水) 13:04:21.57 ID:ZPmhRuQE
test
603デフォルトの名無しさん:2014/05/11(日) 19:33:54.54 ID:gVc6cFZ0
asyncioとpathlibのせいで2は過去の物と切り捨てる覚悟ができた
604デフォルトの名無しさん:2014/05/15(木) 01:50:17.28 ID:A04fXO8I
Google App Engineさえ3対応したら個人スクリプトは3系に全面移行できる
仕事はまだまだ2系が多いけどなー
605デフォルトの名無しさん:2014/05/15(木) 06:19:40.91 ID:Mes52j2B
2使ってて3でも使える書き方をしておくのに
from __future__ import print_function
とか出来るけど

3使ってて2の機能(モジュールとか)を使う方法はある?
606デフォルトの名無しさん:2014/05/21(水) 20:19:00.28 ID:TendC8lx
python3でimport pylabすると「見つからなぇよ」と言われるけど2なら通る
わけわかめ
607デフォルトの名無しさん:2014/05/22(木) 13:48:03.55 ID:OVeCNX7v
>>606
基本的には2に対応したライブラリと3に対応したライブラリは別物だから、
それぞれインストールする必要がある。
python3用のpylabをインストールしたのに見つからないと言われるならライブラリのパスが正しくない。
608デフォルトの名無しさん:2014/06/19(木) 19:13:22.57 ID:hWlGDHRA
3.4とasyncioの組み合わせだとgcが不安定だな
609デフォルトの名無しさん:2014/06/28(土) 10:35:33.52 ID:Vk+Le/F4
610デフォルトの名無しさん:2014/06/28(土) 22:50:08.92 ID:tJ1i7EQB
ヤマカン?
611デフォルトの名無しさん
WIN7 Python 3.4.1 64bitでGUI (wxPython)
D:\Python341\Scripts>pip install -U --pre -f h ttp://wxPython.org/Phoenix/snapshot-builds/ wxPython_Phoenix