X



【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん垢版2009/02/19(木) 22:30:15
Python 3.0 は隔離スレを作るべきだと思うのは俺だけかな?
そもそもあれは実用で使うには時期が早すぎるわけで、ここで
普通に語られても困る。
--------
別に
--------
細分化する必要性が全く感じられない。
各自がレスの内容を収拾選択すればいいだけ。
0003デフォルトの名無しさん垢版2009/02/20(金) 02:28:12
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0004デフォルトの名無しさん垢版2009/02/20(金) 12:34:21
つうかまじでpython厨うざい。
python厨は全員首吊って死ねよ。

ruby人口の方が多い。
rubyの方がいろいろできる。
言語的仕様は好みの問題。
議論の余地無し。
以上。
0005デフォルトの名無しさん垢版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が穏便かつ正論だと言わざるを得ないな
0011デフォルトの名無しさん垢版2009/02/20(金) 20:37:00
Pythonは2.5→2.6→3.0すればいいから他よりまし
0012デフォルトの名無しさん垢版2009/02/20(金) 21:17:15
2.6 → 3.0の変換と移行ってどのくらい大変?
いや、どこが変換できないとかはいちおう調べたんだけど
実際どうなのかなと
0015デフォルトの名無しさん垢版2009/02/21(土) 00:19:01
まず print "Hello" が使えなくなった。
print("Hello")と書かなければならない。
その関係でprint "Hello",len("Hello")の書き方もかわった。
print ("Hello",len("Hello"))と書かなければならない。
これはPython2系ではエラーになる書き方だったよね。
それからxrange()とrange()の統合。
旧range()がなくなってxrange()が新range()になった。
まぁそんな具合かな。あとよろ。
0017デフォルトの名無しさん垢版2009/02/21(土) 02:05:28
いや、3.0の話題は完全にこっちにかかなければならなくなった。
あちらは2.x系のみ、話題に出してよい。
過去依存に付いては両方のスレにレスを付ける必要がある。
0018デフォルトの名無しさん垢版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
0020デフォルトの名無しさん垢版2009/02/21(土) 12:13:49
>>18
おお、こうしてまとめてみると移行プランがんばってるなー
なにより3k用ブランチを作らないようにするアプローチがありがたい
0021デフォルトの名無しさん垢版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
0022デフォルトの名無しさん垢版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 ウェブ検索ヘルプ センターで詳細をご覧ください。
ご不便をおかけいたしますが、ご理解、ご対応のほどよろしくお願い申し上げます。
0024デフォルトの名無しさん垢版2009/02/21(土) 15:40:25
Ruby厨が、Python3.0をいじくりまわして、重箱の隅をつつきまくるスレになりますので、
それまで少々お待ちください(^^)v
0029デフォルトの名無しさん垢版2009/02/21(土) 23:58:51
いきなりだが
python
流行らすこと さんせーい^^
0032デフォルトの名無しさん垢版2009/02/25(水) 00:25:14
CとかJavaScriptとかのコメントで /* ... */ というのがありますが、
文の途中でも abc = /* def; */ ghi; みたいに書けますね。
abc = # def # ghi
だとおかしくなっちゃうんですけど
こういうときはどうコメントすれば良いのでしょうか
0037デフォルトの名無しさん垢版2009/03/04(水) 23:31:43
>>32
同感。笑えばよい。

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

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

キチンと、正しいと思われるプログラムが「完成するまで」やり遂げること。
0039デフォルトの名無しさん垢版2009/03/24(火) 11:55:56
ag
0042デフォルトの名無しさん垢版2009/03/29(日) 15:00:19
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

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

                  京都大学霊長類研究所
0046デフォルトの名無しさん垢版2009/09/29(火) 09:32:40
.
0047デフォルトの名無しさん垢版2009/10/06(火) 23:56:47
PythonはRubyよりもリファレンスがきちんと
まとまっていて良いね。
0051デフォルトの名無しさん垢版2009/10/07(水) 09:27:28
JavaはLLじゃないし
0056デフォルトの名無しさん垢版2009/10/09(金) 22:20:42
マニュアル一度も読んだことないんだけど、だめかな。
オライリーのほうが内容充実してない?
0057デフォルトの名無しさん垢版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/
0059デフォルトの名無しさん垢版2009/10/10(土) 10:56:51
処理中にStringの文字コードを気にしなくていいってのは大きなアドバンテージだと思うけどな
いろいろ変わりすぎなのは残念だけど
0063デフォルトの名無しさん垢版2009/10/11(日) 03:23:52
iconv を落としてきて入れようとした git clone ~ とか
やりはじめて何がどうしちまった、とそんな感覚を味わ(ry
0064デフォルトの名無しさん垢版2009/10/11(日) 03:41:35
$ automake --version
automake (GNU automake) 1.10.2

1.11 じゃないと…ぐぬぬ
0078デフォルトの名無しさん垢版2009/11/21(土) 03:23:14
cgi.FieldStorage のコンストラクタの引数の fp って使えてる?
BaseHTTPRequestHandler で受け取った post のデータを渡したら byte に str の操作しようとしたって言われて落ちちゃうわ
こんな場合どうしたらいいのよ
0085デフォルトの名無しさん垢版2009/11/21(土) 16:55:34
>>60
数年後
more-on-ubuntu@laptop:~$ python\t
python python2 python2.6 python3

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

でもまぁ普段から、OSはOS、アプリはアプリだと思って
OSが使ってるものは別にインストールしてるから大丈夫だけど。
0093デフォルトの名無しさん垢版2009/11/27(金) 12:37:34
print文で出力ストリームを切り替えたり、末尾文字を入れないようにしたりするのに独特の文法が
必要だったり、区切り文字を指定できなかった。
関数になって、普通の関数の文法で全部できるようになった。
良い事づくめじゃないか。
0094デフォルトの名無しさん垢版2009/11/27(金) 12:41:01
従来風の print みたいな機能は ipython レベルで
入れてくれれば十分って感じかなぁ

まあ別に print() でいいけどさ
0100デフォルトの名無しさん垢版2009/12/16(水) 21:06:16
「Python 3 プログラミング徹底入門」発売されてるよー
まだ初めてのPython第3版読んでねーから、オレはパスだけど
0107デフォルトの名無しさん垢版2009/12/22(火) 11:44:47
みんなの力をオラに貸してくれ!
Python3.0に乗り換えたら、Tkinterパッケージの位置が変わったみたいで、
GUIの部分が作れねぇ!
調べても、出てくるのは2.x系統のサンプルコードばかり。
だれか、Python3.0で、ボタンを押してイベントが発生するTkinterのコード
を、ここに書いていただけませんか!?
0109デフォルトの名無しさん垢版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
でした。困ります(´・ω・`)
0112オオツカ垢版2009/12/22(火) 20:39:44
できました\(^o^)/
神様ありがとう!!
0118デフォルトの名無しさん垢版2010/02/17(水) 02:20:20
いまPython始めるべき?
やるとするとPython3になるけど。
0121デフォルトの名無しさん垢版2010/02/17(水) 23:01:10
プログラムの勉強ったってPythonの勉強を兼ねるんだろからな。
Pythonの勉強となるとサイトのサンプルプログラムとか
既存ライブラリ使ってみようとかあれこれやりたくなるでしょ。

そしてつまづいて「Pythonむずかしー」あるいは「Python糞だな」
ってなるでしょ。2.6ならそうならないでしょ。そういうことだよ。
0130デフォルトの名無しさん垢版2010/02/19(金) 17:41:59
3だけなのか知らないけど、Windowsでリダイレクトからの標準入力が欲しくて、
for line in sys.stdin:
 pass
と書いたのだけれど、普通に実行したときは問題ないのに、
hoge.rb < file.txt
と実行したら、sys.stdinがNoneになってるんだよね。
標準入力を読み込むにはどうしたらいいの?
0134デフォルトの名無しさん垢版2010/02/19(金) 21:04:57
>>133
Windowsの有名なバグ。
なんか当てたら直ったと思う。
Vista以降だとなんも当てなくても直ってたかもしれない。
0137デフォルトの名無しさん垢版2010/02/26(金) 13:07:31
>>136
そうだよね。Python2のUnicodeはエッジケースが多すぎて、初心者じゃなくても
切り傷だらけになる。初心者なら脱落してもおかしくない。

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

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

classmethod, assertEqual, set_autholizer

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

欧米人はあんまり気にしないのだろうか?
0143デフォルトの名無しさん垢版2010/03/01(月) 01:23:19
非標準なライブラリ使えばすぐに汚染される程度だからな
だんだん慣れて来たしもうどうにでもなーれ
0145デフォルトの名無しさん垢版2010/03/09(火) 22:48:42
過疎ってるな。

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

Javaとかから持ってきたライブラリだとhasKeyみたいに、大文字区切りになってる。
0146デフォルトの名無しさん垢版2010/03/09(火) 23:06:57
命名規則を標準でがっちり決めてくれれば、それをエディタの機能強化に回せるんだろうけどな。
標準から外れるとエディタ支援を受けれなくなるから、みんな同じような書き方になって見やすくなるはず。
0147デフォルトの名無しさん垢版2010/03/20(土) 00:09:04
http://www.nomadjourney.com/2009/08/windows-7-64-bit-python-and-easy_install/
http://groups.google.co.jp/group/modwsgi/browse_thread/thread/213a778dff791a98
http://gasser.blog114.fc2.com/blog-entry-391.html
http://ozsys.cocolog-nifty.com/blog/2010/03/pythonpyserial-.html
http://twistedmatrix.com/trac/ticket/3352

本体は大丈夫かもしれないけど
インストーラでコケルとか周辺ソフトとの連携とかでコケルいう
事例は、しばらく続くのだろうなぁ…
0148デフォルトの名無しさん垢版2010/04/05(月) 04:03:46
一体いつになったら主流になるのか・・・
0150デフォルトの名無しさん垢版2010/04/05(月) 16:34:01
2.5,2.6とか出さないほうが良かったのかな。
地デジと同じでズルズル先延ばしで、移行期間があっても移行しない。
0152デフォルトの名無しさん垢版2010/04/05(月) 19:05:54
3.xの日本語リファレンスが欲しいのに入門書ばっかだ
0158デフォルトの名無しさん垢版2010/05/01(土) 13:56:25
Rubyでいうところのredoが欲しんだけどないかな。
while True: のループで代用しないとだめですかね。
0159デフォルトの名無しさん垢版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) で常にかければいいんだけど、書けないこともよくあるので。
0162デフォルトの名無しさん垢版2010/05/03(月) 02:49:42
>>160
3では削除されたし、2でも多倍長整数の最大値はないよ。
大抵の場合はそれで十分だと思うし、なくても
HUGE_VAL = 2**31
とでもしとけば、大抵の用途では十分だと思うけど。

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

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

整数型であることが重要なら、クラス継承して比較演算子を書き換えるか。
0166デフォルトの名無しさん垢版2010/05/03(月) 12:23:41
>>165
基本的にはそうだけど、いくつかは廃止・統合されてるから標準については公式行って確認するといいよ。
サードパーティーの使わないなら、対応状況はかなりいいはず。
0171デフォルトの名無しさん垢版2010/05/03(月) 15:14:05
なんか違和感あるなw

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

for i, x in enumerate(seq):
  v = func(x)
  if i == 0 or v < minv:
    minv = v
0175デフォルトの名無しさん垢版2010/05/12(水) 00:07:01
3.xのライブラリが2.x並になるのって、あと何年かかるんだろうか
0179デフォルトの名無しさん垢版2010/05/18(火) 09:44:30
なんで俺たち3.xなんか始めちゃったんだろう……
0181デフォルトの名無しさん垢版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度実行されないよう最適化してくれるのかな?
0183デフォルトの名無しさん垢版2010/05/19(水) 06:55:06
どうもスクリプト言語は互換性を一度ぶった切りたくなるものみたいだなぁ
Rubyは一見その点では有利そうなんだが、実際にはバージョン間の互換性がさっぱりで、
単に同じこと(過去の微妙な仕様の切り捨て)を小分けに毎回やってるようなもんだから
ある意味余計に悪いし
まぁでも、俺は当分3kは使わないけど、いずれ移行するような気はするけどな
0188181垢版2010/05/20(木) 00:49:13
>>182
やぱCでもgcc:O2でもfuncの中身までは解析しなかった
変数の出現が関数外ではありえない、みたいな
extern宣言が出来ると、イケチャウ雰囲気あるんだけどな〜
動的スコープだとほんと無理なのかな

誰か天才いないかーーーー
0191デフォルトの名無しさん垢版2010/05/20(木) 15:27:14
>>159
> min(func(x) for x in seq) で常にかければいいんだけど、
> 書けないこともよくあるので。
これってどんなとき?
0192デフォルトの名無しさん垢版2010/05/20(木) 18:17:37
>>159
reduce使え
min(seq)は
reduce(min, seq)と同じ

その手のやつは大概適当なfを用意してやれば
reduce(f, seq)
に書き換えられる
0193デフォルトの名無しさん垢版2010/05/20(木) 18:19:04
ストリームデータから最小値を見つけるとか。
ファイルシステムを捜査しながら最大サイズのファイルを見つけるとか。
かな
0197デフォルトの名無しさん垢版2010/05/21(金) 08:11:23
初心者のお試しレベルなら問題ない
パフォーマンス考えたら避けるべき
0200デフォルトの名無しさん垢版2010/05/23(日) 14:44:46
>>140
パイソンってこういうコーディングルール統一されてると勝手に思ってたけど、汚いんだな

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

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

理路整然としてるけど?
0204デフォルトの名無しさん垢版2010/06/02(水) 21:48:16
なんかpython3始めたいのにまともな書籍が売ってない。
いつになったら普及するのよ。
0205デフォルトの名無しさん垢版2010/06/02(水) 21:49:45
java-jaの人が執筆したJython本で我慢しろよ
0206デフォルトの名無しさん垢版2010/06/03(木) 03:44:37
>>205
本スレにカエレ

>>204
もうちょっとかかりそうだな。
このスレでも何度か出てきてるDive into Python3は、英語版なら書籍でも出てる。
書籍の形で欲しいのなら適さないけど、内容的に書籍レベルのものが欲しいのならWebの日本語訳がいいと思う。
ttp://diveintopython3-ja.rdy.jp/index.html
0208デフォルトの名無しさん垢版2010/06/05(土) 05:47:05
>>207
2.5じゃねーかハゲ
0211デフォルトの名無しさん垢版2010/06/05(土) 21:16:35
まあ、馬鹿は言い過ぎと思うが、>>202 の理由が正しいとしても結果として
統一されてないのは事実だし、おれも >>200 のようにいまいち汚いと思う。
0212デフォルトの名無しさん垢版2010/06/09(水) 05:54:43
べき集合をスマートな一行で書く方法ないかね
0215デフォルトの名無しさん垢版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])])
0218デフォルトの名無しさん垢版2010/06/18(金) 09:59:07
ぶっちゃけ入門レベルで、2.6も3.0もたいした違いはないし、
もっと他に気を掛けることがあるだろうに。
0220デフォルトの名無しさん垢版2010/06/18(金) 14:29:00
そういえば、Pythonスタートブックっていう書籍が出たけど、
あの手の書籍は最新python3で出して欲しかったな。
初心者向けみたいだし、プログラミング入門者でも分かりやすい内容だったから。
仕事で使うのではなく、ただなんとなくPython始めたいような人は
最新環境で学ぶべきだと思うよ。
俺らが3の仕様変更を知らされたときに受けた失望感を
初心者にまで与えるのはあまりにも酷だろ。

それでも2.Xが優勢だということは、
おそらく3は当分普及しないってことだろうね。
たぶん日本ではGoogleのGo言語のほうがpython3よりも先に普及すると思う。
どうしてこうなった。
0222デフォルトの名無しさん垢版2010/06/18(金) 20:22:05
>>220
日本でGoが普及するか?まだC#の方がありうると思うぜ。
それ以前にGoとPythonの守備範囲も若干違う気がするし…
0223デフォルトの名無しさん垢版2010/06/19(土) 13:45:04
あるうるも何も、C#はとっくに普及しとるがな
特に国内ではPerlやPHPならともかく、Pythonとは比較にもならんだろ
0225デフォルトの名無しさん垢版2010/06/19(土) 18:37:33
ttp://www.atmarkit.co.jp/news/200902/13/wp.html
ワークポートとかいう会社の調べ
C#の求人件数は5位
ちなみにPythonは圏外ね
0229デフォルトの名無しさん垢版2010/06/21(月) 14:11:10
コアの開発に関する議論が日本語で行われていて世界からはブラックボックスに見えるという
時点で、ある程度のガラパゴス性をもってるよね>Ruby
0231デフォルトの名無しさん垢版2010/06/21(月) 14:51:35
>>230
そうなん?スマン。
MLでオープンな議論もするけれど、重要なことはMatzを中心とする一部の日本人が
エイヤで決めるってどっかのインタビューで答えてたと思ったから。
0233デフォルトの名無しさん垢版2010/06/22(火) 00:39:20
pythonから発展した話題だし、少しくらいいいんじゃね?
ところで、お前らpythonなにに使ってる?
0234デフォルトの名無しさん垢版2010/06/22(火) 01:30:20
>>233
電卓代わり、CGI、C/C++で書くほどじゃないプログラム全般。
まともに使い方知ってる言語がC/C++とPythonしかないから、ある意味で楽。
0238デフォルトの名無しさん垢版2010/06/26(土) 08:50:39
pythonだと作るのが非常に楽なので、python常用して
python2だと日本語が扱いづらいので、python3導入して
研究で最適化アルゴリズムとか強化学習のプログラム作ったけど
先輩のc言語で書かれた同じ最適化アルゴリズムで作った巡回セールスマン問題と
実行速度比較したら、10倍以上差があるんだが・・・先輩のが数分で、自分のが数時間
読みやすさ重視でプログラム書いたからループ内で不要な処理とかかなりしてる気もする
python3のコンパイラないかな
0240デフォルトの名無しさん垢版2010/06/26(土) 11:11:07
>>238
あったとしても、多少マシになるくらいでCにはとてもかなわないと思うよ。
psycoって3.x対応してないよなぁ。
0247デフォルトの名無しさん垢版2010/06/26(土) 23:37:58
ctypesいじくり中。
pointerとbyrefってどう使い分けるんだ?
あとlistをそのまま配列としてcに渡したり出来ないのね。
内包表記でばーんと渡したりって訳にはいかないね。
0248デフォルトの名無しさん垢版2010/06/26(土) 23:45:14
とりあえず全部PythonでつくってProfilerかけて時間のかかる処理だけSWIG+Cで書いてるけど
このオーソドックスな方法は素晴らしいっすよ
0250デフォルトの名無しさん垢版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だとリスト内包表現って遅いの?
0252デフォルトの名無しさん垢版2010/06/27(日) 15:50:16
こうしないと同じ条件にならないんじゃ?

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

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

32bit環境だと50000000要素だと、配列なら約200MB、双方向リストなら約600MBのメモリ確保が必要になって、
それに時間がかかったんじゃないかなぁ。
一旦確保したら、ひとつめのsample_comprehensionで作ったリストはGCの対象になるから、新たにメモリ確保の必要がない。
だから2つめのsample_loopは早かった、と予想してみる。
0254デフォルトの名無しさん垢版2010/06/27(日) 20:45:54
>>252
適当なサイトのソースをコピペして実行しただけだから深く考えてなかった
それでやってみる
>>253
順番入れ替えても変わらなかった
0255デフォルトの名無しさん垢版2010/06/27(日) 20:48:28
>>251
そうそうこのページのソースをコピペして実行した
人が居たから、かなり適当に書いた
だからtimeじゃなくdatetime使ってたり
0256デフォルトの名無しさん垢版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
0257デフォルトの名無しさん垢版2010/06/27(日) 21:30:30
>>252
正直その糞コードで何をしたいのか全然わかんねえ
list.append()はNoneを返すから
それって結果は
[ None ] * n
になるよな
0258デフォルトの名無しさん垢版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 秒
0260デフォルトの名無しさん垢版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;
}
0261デフォルトの名無しさん垢版2010/06/28(月) 03:39:39
>>252
L.append自体をすることが目的ならそうだけど、
L.appendの副作用でリスト作るか内包表記でループ作るかどっちが速いかを調べたいなら元々のであってる
0262デフォルトの名無しさん垢版2010/07/01(木) 06:54:38
Cyhonの使い方を勉強しよう
まだほとんど調べてないが、使い方がよくわからない
てかトイレ行きたくて集中出来ない
0265デフォルトの名無しさん垢版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に媚びるような仕様。
0266デフォルトの名無しさん垢版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.
0267265垢版2010/07/08(木) 01:08:18
>>266
英語力不足で意味が掴みづらいんだけど、

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

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

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

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

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

あと、__class__って属性の方の__class__じゃないよ。ローカル変数の__class__ね。
属性の方は別にキモくないよ。
0271デフォルトの名無しさん垢版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のオブジェクトシステムに興味ない人にとってはどうでも
いいかもね。俺はキモくてしかたないわ。
0273デフォルトの名無しさん垢版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るか。
0276デフォルトの名無しさん垢版2010/09/09(木) 23:10:09
早くコンパイラ作って下さいお願いします
自分の作ったプログラムが終わるのに、後1年かかるとか待ってられない
0279デフォルトの名無しさん垢版2010/09/13(月) 06:10:48
>>277
常時してるよ
かと言っても、シミュレーション行わないといけないから
ある程度早くなった段階で、実行して、実行中に改善して、
次、実行するときに少し早くなったのつかって、ってのを繰り返してる

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

プログラムをオブジェクト指向みたいに書いちゃったおかけで、その部分をCythonに直すのがよくわからない
あと、Cythonの関数?を呼び出す回数が多いから、まだ時間がかかる
全体的に関数使いすぎだけど、拡張性を高くしときたいからこれをinline化するのも何かあれな気もする
速度を早くすることに時間を費やしてばかりいられないのと、
自分が低脳なせいで改良の余地はまだまだあるのに、大して出来てない・・・って状況です
0280デフォルトの名無しさん垢版2010/09/13(月) 08:06:20
Cythonなら、Pythonのコードの8割がそのまま動く(ジェネレータとかは動かない)し、
defをcdefに書き換えるとPythonの関数オブジェクトを作らず直接C言語の関数になる
から関数呼び出しも高速になる。
0281デフォルトの名無しさん垢版2010/09/13(月) 09:10:07
>>280
cdefはpyxの中でしか呼べないから、
pyからpyxのdefを呼んで、pyx内で、cdefを呼んでる
うまく説明出来てないけど、今こうなってる。
全部pyxにしちゃえばいいんだけど、そうできないのがいくつかある
0284デフォルトの名無しさん垢版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 がありませんだってお
0286デフォルトの名無しさん垢版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)

こんな感じかな
0291デフォルトの名無しさん垢版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
とかも必要なのか…
0292デフォルトの名無しさん垢版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

どれなら動くと思う?
0294デフォルトの名無しさん垢版2010/10/05(火) 07:02:42
ここまで互換性が無いのに、仕様変更するのってが良い
規制で雁字搦めになって身動きが取れなくなってたりしなくて
これからも、互換性気にせず、ドンドン変更して欲しい
その上で、変換するものがあってくれれば
0295デフォルトの名無しさん垢版2010/10/05(火) 12:30:45
Python3のタイミングで変数の型指定(静的型付け)を導入してくれれば明るい未来が開けたのに・・・
0300デフォルトの名無しさん垢版2010/10/10(日) 00:48:13
>>299
潔癖(だと思い込んでる)Javaプログラマを取り込みやすくなる、とかw

ないな。JavaプログラマはJavaしか書こうとしないし、それしかできないw
0314デフォルトの名無しさん垢版2010/10/21(木) 15:13:32
Python素人だけれども、
ユニコード文字列とかのややこしさがなくていいなと思って3.1をインストールしたんだが、
間に合ううちに2.7に切り替えるべきか? それともどうせ通る道と受け入れるべきか?
0318デフォルトの名無しさん垢版2010/10/21(木) 23:15:30
Google App Engine(とWSGI準拠のアプリケーション)が
3に対応したら必要性で周りのライブラリも加速するんじゃねぇかなーと思う
0329デフォルトの名無しさん垢版2010/10/24(日) 03:18:33
初心者ならいいけど、
ある程度の経験者でUnicodeDecodeErrorと格闘してるような奴は、
基礎を固めずに、行き当たりばったりでプログラムを書いてるんでしょ。
0330デフォルトの名無しさん垢版2010/10/24(日) 03:37:10
いちいち u'' を書かなくて良くなったんだってね
2.x の unicode = 3.x の string
2.x の string = 3.x の bytearray
っていう認識で桶?
0332デフォルトの名無しさん垢版2010/10/24(日) 09:25:20
>>329
そういう基礎や定石的な対処法って何に書いてあるものなんだ?
0335デフォルトの名無しさん垢版2010/10/24(日) 12:46:11
Python3.1使ったWEBを作ってるんですが
次のようなエラーが出て困ってます。
UnicodeEncodeError: 'ascii' codec can't encode characters in position 178-180:

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

原因がわかれば教えてください。
0339デフォルトの名無しさん垢版2010/10/24(日) 13:54:27
>>335
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
のように、sys.stdoutを置き換えると良いよ(utf-8の部分は適宜置き換えて)
0340デフォルトの名無しさん垢版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"))として実行
されてしまい、エラーとなる。
0342335垢版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型には、どうやって変換するのでしょうか?
0346デフォルトの名無しさん垢版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'))
0355デフォルトの名無しさん垢版2010/10/27(水) 16:23:30
Windowsでウインドウ列挙して指定のウインドウをキャプチャして
その画像をメールで送りたいんだけど、
・ウインドウの列挙
・画像のキャプチャ
はどうすればいいですか?
ライブラリ有りますか?
0358デフォルトの名無しさん垢版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」の入力値が拾えません。
0370デフォルトの名無しさん垢版2010/12/13(月) 03:18:10
流行る気配すら無いんだが大丈夫なんかな
10年くらいで移行できたらいいなみたいな感じらしいけど
0378デフォルトの名無しさん垢版2010/12/21(火) 20:27:31
wxPythonが3系に移行しないのは、何か技術的に難しかったりするの?
それとも政治的な理由(ようは作者が3系の流れに反抗しているとか)?

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

単に「時間がないマンドクセ」ならまだいいんだけどさ。
0380デフォルトの名無しさん垢版2010/12/21(火) 22:23:46
3.2ってそんな感じのリリースなん?

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

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

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

python3でこれはどう書けばいいのでしょうか?
0384デフォルトの名無しさん垢版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)
0393デフォルトの名無しさん垢版2011/02/16(水) 02:52:59
>>392
もうあまり覚えてないが、今出てる3.2rc2 と 3.13?で同じ簡単なコードを書いて実行速度計っただけ
リストへの代入かなんかだったような…
複数回実行して比較したり、n回試行の平均出したりしたら、9割の確率で3.2rc2のが遅かったってだけ
正式なベンチマーク使ったり、色々な処理で比較したりはしてない
3.2finalや、その次のバージョンとかで早くなる事に期待
0395デフォルトの名無しさん垢版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が選ばれた理由も、そんなんじゃなかったっけ?
0397デフォルトの名無しさん垢版2011/03/03(木) 22:45:39.90
pythonの内包表記をHaskellみたいにしてくれないかなぁ
三項演算子といい、ところどころ書き方がきもいんだよな。
0398デフォルトの名無しさん垢版2011/03/18(金) 23:35:27.47
> Haskell について一言いわせてもらう。
> こんな記号列が出てくる言語をオレはまともなプログラミング言語だとは思わない
>
> f _ _ (_:_) [] = []
>
> C++ や Perl や BrainFcukと同レベル。 以上。

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

まあhaskellが読みやすいとは俺も思えんけど。記号列とかじゃなく、高階関数の多用で読みづらくなってる。
whatが分かるようにはなってるかもしれんけど、その関数に慣れてない人が見るとhowが分からない。
0401デフォルトの名無しさん垢版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>
0402デフォルトの名無しさん垢版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の型変換とかで切り捨てられる精度が変わったんだろうが
0415デフォルトの名無しさん垢版2011/05/29(日) 16:24:26.20
>>414
ありがとう
これを文字列に対して使いたいんだけど、一気に出来ない?
やっぱりforで1個ずつやるしかないかな?
0424デフォルトの名無しさん垢版2011/09/12(月) 23:39:41.70
2chでpython始めるなら2.xと3.xのどっちがいい?って聞いて3.xを勧められてもう二年近くなるが、
サードパーティのライブラリはいつ充実するの?
0427デフォルトの名無しさん垢版2011/10/03(月) 17:17:09.78
これから始めるのに2.xはない
特定の事にのみ使うとかで、3.xでは対応してないとかならわかるけど
Pythonを勉強するとかの理由なら3.xやるべきだわ

>>423
ttp://www.lfd.ucl.edu/~gohlke/pythonlibs/
0432デフォルトの名無しさん垢版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
でエラー
0433デフォルトの名無しさん垢版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のコンパイルかなり遅いし
0436デフォルトの名無しさん垢版2012/03/21(水) 23:13:40.51
本を読む習慣が無いひとには
おおまかに次の3つのタイプがあります

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

頭が悪いひとより文盲の方が深刻です
普通は漢字が読めないレベルとかを想像しますが
アルファベットですら読めないひとが日本には多くいます
0439デフォルトの名無しさん垢版2012/05/25(金) 17:05:22.69
Python3.2より3.3のがだいぶ早いな
でも3.1のがさらに早い
適当に書いたプログラムで試しただけだが
0440デフォルトの名無しさん垢版2012/05/29(火) 23:26:13.48
>>439
まー 2.7 が一番速いね
0442デフォルトの名無しさん垢版2012/06/06(水) 01:10:16.18
>>441
レッツ翻訳
0444デフォルトの名無しさん垢版2012/06/08(金) 13:28:46.24
444
0447デフォルトの名無しさん垢版2012/06/09(土) 20:28:27.03
python3の変更点を見ていて疑問に思ったんだけど、
どうして関数定義時にタプルを仮引数として使えなくしたの?
python2でいうと
def f((a,b),c): print a,b,c
のような書き方。
これ便利だったのに…
0449デフォルトの名無しさん垢版2012/09/04(火) 00:54:12.85
nonlocal...
0451デフォルトの名無しさん垢版2012/09/11(火) 23:49:25.28
タプルの例がIPアドレス使った奴から変わってるかな?
0453デフォルトの名無しさん垢版2012/09/15(土) 03:10:39.39
>Rubyは,えーと,えーと,「バージョンって言い方なの?」って体制が病あーりんアイドルだからプログラミングとか分かんない\(^o^)/

何言ってるかわからんw
0462デフォルトの名無しさん垢版2012/09/30(日) 15:22:31.29
台風でそれどころじゃない
0464デフォルトの名無しさん垢版2012/10/03(水) 23:47:54.75
>>450
3.3では u"〜" 表記が復活する、というのは書いてあった。

>>451
そのまんま。
あと、「2を20乗して1ギガバイトに相当するバイト数を計算しています」という
間違いも直っていない(2の20乗バイトは1メガバイト)。
0467デフォルトの名無しさん垢版2012/10/04(木) 10:47:13.35
>>465
3.3は、文字列リテラルにuつけてもよくなるだけで、uはつけなくともいいんだぞ
2.x系のソースをより移植しやすくするための措置らしい
0471デフォルトの名無しさん垢版2012/10/05(金) 12:19:15.91
世の中的に3系イランモードなんかいな。
個人的には慣れてしまえば使いやすくていいもんだと思うから
はよ3系が主流になってほしい。
0472デフォルトの名無しさん垢版2012/10/05(金) 13:52:59.04
u付けて2でも動くよ〜
って喜んでる見たいだけどさ
2で動くんだったら3要らなくね?
ってなるよね
0473デフォルトの名無しさん垢版2012/10/05(金) 14:50:40.66
>>468
from __future__ import unicode_literals があるので
新規で両対応のコードを書くならそっち使う。

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

3のみ対応の素敵ライブラリでも出てこないと使う気が起こらない
そういうのもう出てたりしないのかな
0476デフォルトの名無しさん垢版2012/10/06(土) 13:16:55.44
いちおう3.3が2系を完全に切り離したリリース(今後2系はもうリリースしない)
と言われているけどな。ある意味やっとこさスタートラインともいえるが、どうなんだろうな。
0477デフォルトの名無しさん垢版2012/10/06(土) 15:39:31.68
u付き認めると移植はしやすくなるかも知れないけど、
3への完全移行にはかえって仇になると思うな。
0478デフォルトの名無しさん垢版2012/10/06(土) 15:45:08.23
ひとつ復活を認めると、あれもこれもでガンガン不要として切り捨てたものが復活して
結局2と同じものになりそうだな
0482デフォルトの名無しさん垢版2012/10/18(木) 10:06:35.39
3 対応ってライブラリもCバインディングが含んでたら
buildし直さないと使えないんだな

まだ archぐらいじゃないか
3系列を薦めてくるの。ここから移行にはもうしばらく時間は掛かりそうだ…
0485デフォルトの名無しさん垢版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 の違いがよくわからんが…
0486デフォルトの名無しさん垢版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 プレスリリースする前に確認しようよ
まだ移行してないし
0489デフォルトの名無しさん垢版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'
0500デフォルトの名無しさん垢版2012/11/05(月) 17:30:30.21
よく考えたら、おっぱい見るのはそこらに画像が転がってるから簡単だった。
だから揉みたいが正解だな。
0503デフォルトの名無しさん垢版2012/11/06(火) 00:38:07.56
expess edition だと plugin 使えないかんな!
と py3k に移植完了したコードを 2.7系に戻すそんな本末転倒な場面もあったり

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

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

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


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

例えばPyArg_ParseTupleの引数 s と s* の区別がきちんとできないライブラリが
標準ライブラリにも混じってるから困る。
0513デフォルトの名無しさん垢版2012/11/19(月) 04:26:23.09
ぼくちんはwxPythonが3.3に対応したら移行するでち
それまでは2.7で頑張りますでち
0524デフォルトの名無しさん垢版2012/12/01(土) 23:23:18.77
辞書オブジェクトのキーを属性名、バリューを値に持つようなクラスってつくれますか?

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

こんな感じにしたいんですが・・・
0525デフォルトの名無しさん垢版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)
0526525垢版2012/12/02(日) 00:07:43.12
あっ、別に読み取り専用ではなかった
0527デフォルトの名無しさん垢版2012/12/02(日) 21:51:37.27
読み取り専用辞書 types.MappingProxyType が 3.3 に入ったね
以前のdictproxyからの変更、インスタンスが作れるようになってる

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

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

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

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

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

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

self.__dict__.update({"hello":"world"})
0536デフォルトの名無しさん垢版2012/12/09(日) 10:16:08.81
>>533
IronPythonはPythonから標準モジュールを抜いて、.NET フレームワークが使えるようになっただけ。
PythonとC#を学んだ方がいい。
0537デフォルトの名無しさん垢版2012/12/09(日) 10:45:43.09
>>534
一時的な用途で属性アクセス専用なら使えるけど、あまり積極的にはお勧めしない。

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

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

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

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

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

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

Duck-Typeの柔軟性を活かす為に、暗黙のインターフェースを用いる方法は、
抽象基底クラス(abc)を使うとインターフェースを明示できるようになるよ。
0546デフォルトの名無しさん垢版2013/01/18(金) 20:57:46.27
Python3の書籍なんて何冊もないんだから全部買え。
自分に合った本は自分でしか見つけられない。
0548デフォルトの名無しさん垢版2013/01/20(日) 16:47:44.97
ほとんどshift-jisなんだけど時々違う文字コードが紛れ込んで文字化けしてるbyte列をデコードしたいのですが
こういう文字列として不完全なbyte列をデコードする関数は標準にはありますか?
0550デフォルトの名無しさん垢版2013/01/21(月) 01:12:18.06
>>548
場所とエンコーディングが分かっているのならば自分でbyte列を分割して適切に
処理してやればいいんじゃないの

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

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

でも、それ以前にそんなニッチな関数が「標準」にあると思う方がどうかしてる。
0553デフォルトの名無しさん垢版2013/01/22(火) 12:02:39.81
>ほとんどshift-jisなんだけど時々違う文字コードが紛れ込んで
環境依存文字等では、shift-jisではエラーでもcp932だと通る事がある。
そういったケースではなく、まったく別の文字コードが紛れてる?

不完全な部分を正しいデコードしなくてもよいのであれば、
decodeの第二引数に'ignore'や'replace'を指定すると、
デコード出来ない文字は読み飛ばしたり適当な文字に置き換えて処理してくれる。
エラー関数はカスタマイズ可能なので、551の方法を試す枠組み自体は整ってる。詳しくはcodecsモジュール読んで。
0554デフォルトの名無しさん垢版2013/01/22(火) 13:15:07.10
エラーの時に別のエンコーディングを試すアプローチだけど
文字コードが混在したデータには使えなかった。エラーにならない文字だと単に文字化けする
0557デフォルトの名無しさん垢版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()

こうするほかにアクセス不能(?)なプライベートなプロパティをもつことは可能ですか?
0560デフォルトの名無しさん垢版2013/04/07(日) 22:48:20.16
Python 3.2.4 and 3.3.1 have been released

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

>>566
これは古かったですかスマンです
移行したとは気づかなかった…
0569デフォルトの名無しさん垢版2013/09/12(木) 14:04:29.96
おいなりさんでおいなりさんを露出
0576デフォルトの名無しさん垢版2013/10/12(土) 02:20:33.56
NumPyもMatplotlibもPIL(Pillow)も、Webの各種フレームワークも3に対応した。
おいらはもうPython 3オンリーでやっていける。
0578デフォルトの名無しさん垢版2013/11/01(金) 11:59:20.37
うむ
0579デフォルトの名無しさん垢版2013/11/01(金) 12:12:54.83
>>577
もうPython3に逝っちゃってもいいんですか?
勉強しようとしたら論争がいつまで経っても終わらんなと思っていたところで
0580デフォルトの名無しさん垢版2013/11/01(金) 12:40:23.46
そもそも文法はたいして変わらんし
使いたいライブラリが3に対応してるかだけの話だよ元々
0589デフォルトの名無しさん垢版2014/01/23(木) 14:45:38.77
このスレもう要らない
0590デフォルトの名無しさん垢版2014/01/25(土) 07:11:21.90
1年前はまだ良さげなライブラリとか見つけて3非対応でガッカリさせえられてたけど
ここ一年でだいぶ変わって来た気がする
多分1年後はもう問題無くほとんど全てが3に以降してるはず
0592デフォルトの名無しさん垢版2014/01/25(土) 15:47:59.73
いや、科学系とWeb関係でPythonを使ってるけど、もうほとんど移行可能だよ。
まだ新規に2.x書いてるの?
0593デフォルトの名無しさん垢版2014/01/25(土) 16:02:23.29
PyGTK や PyQt 使ったアプリケーションはいまだに 2 を使ってるものばかりだから
相変らず 2 で書いてる
0595デフォルトの名無しさん垢版2014/01/25(土) 17:43:50.88
言葉が足りなかったか
既存の GUI アプリが 2 で書かれてるものだから
プラグインを書いたりするときに結局 2 が必要になっちゃうって話
0596デフォルトの名無しさん垢版2014/01/26(日) 04:45:55.53
2.x無視すると、キモい互換用コード書かなくて済むし楽だ
ついでに、コードもstrictな感じになるし
0599デフォルトの名無しさん垢版2014/02/24(月) 21:00:32.37
ライブラリやAPIは問題ないけど、大学の先輩方が作った卒研の資産が動きません
コードが汚くてリファクタリングする気にもなりません
0600デフォルトの名無しさん垢版2014/02/28(金) 03:08:19.79
はい
0604デフォルトの名無しさん垢版2014/05/15(木) 01:50:17.28ID:A04fXO8I
Google App Engineさえ3対応したら個人スクリプトは3系に全面移行できる
仕事はまだまだ2系が多いけどなー
0605デフォルトの名無しさん垢版2014/05/15(木) 06:19:40.91ID:Mes52j2B
2使ってて3でも使える書き方をしておくのに
from __future__ import print_function
とか出来るけど

3使ってて2の機能(モジュールとか)を使う方法はある?
0607デフォルトの名無しさん垢版2014/05/22(木) 13:48:03.55ID:OVeCNX7v
>>606
基本的には2に対応したライブラリと3に対応したライブラリは別物だから、
それぞれインストールする必要がある。
python3用のpylabをインストールしたのに見つからないと言われるならライブラリのパスが正しくない。
0611デフォルトの名無しさん垢版2014/09/25(木) 19:22:10.98ID:JwcgXp3I
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
0612実は男垢版2015/04/28(火) 22:34:12.13ID:iGmhRd88
ぱいそんそわそわ
フォロリクよろしく(^з^)-☆

ややちゃん♂
https://twitter.com/minwqgmg

#ややちゃんかわいい
ややちゃんよりかわいいMTFなどいない
http://i.imgur.com/L7IX75Q.png
http://i.imgur.com/lkujqEZ.png
https://pbs.twimg.com/profile_images/590714340384382977/3_IE5FW8.jpg
http://i.imgur.com/t1dy6yB.jpg

#百合原まこきもいしね
http://light.dotup.org/uploda/light.dotup.org175301.jpg
https://twitter.com/mako_yurigahara
0614デフォルトの名無しさん垢版2016/03/29(火) 09:33:55.25ID:/c8bAcK4
サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況