1 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 01:45:30 ] Pythonオフィシャルサイト www.python.org/ 日本Pythonユーザ会 www.python.jp/Zope/ まとめWiki python.rdy.jp/ 関連スレ find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python 前スレ pc11.2ch.net/test/read.cgi/tech/1230821097/
74 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 01:50:12 ] (1,)とすれば違うだろうけど
75 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 02:21:17 ] >>39 Cythonの方がいいよ
76 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 02:30:13 ] うちのFreeBSDのPythonちゃんが2.5.4になったお
77 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 02:39:26 ] >>73-74 やれやれ、嘘を書くのはそこまでにしなさい。関数タイプの書き方許される様になったのは昔から。2.0とかじゃないの。
78 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 03:26:54 ] >>73 式っていうなら昔からもこれからも式だろw 3.0で文から関数に変わったんだろ
79 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 08:32:52 ] >>72 IPython 使ってみな。超便利だぜ。 In [1]: ord 'A' # これを ------> ord('A') # 勝手にこう解釈してくれる Out[1]: 65
80 名前:70=79 mailto:sage [2009/02/21(土) 08:35:46 ] うわー、恥ずい。完全勘違い。 (1,)はタプルだけど(1)は1ってだけの話だな。 Python3.0ではIPython使えないしな。 >>77 from __future__ import print_function ってすればの話だよね。
81 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 10:11:50 ] >>80 式っていうなら昔からもこれからも式だろw 3.0で文から関数に変わったんだろ
82 名前:70=79 mailto:sage [2009/02/21(土) 10:36:05 ] >>81 俺は式とか文とかいう話題には参加してないが?
83 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:32:19 ] Pythonスレに粘着してるのは多分一人だと思うんだが奴は何がしたいのか
84 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 13:09:12 ] その一人は83の脳内にいる。
85 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:06:22 ] ぼくたちの心のなかにいるんだ
86 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:28:48 ] そもそも2chってめっきり人減ったよな げろゆきが魅力無くなって手放したのも 理解出来る
87 名前:デフォルトの名無しさん [2009/02/21(土) 17:41:17 ] lucumr.pocoo.org/2009/2/8/forcing-cell-creation-in-generated-python-code jinja2ってこんな面倒なことしてたんだな。 def bar(a=a):でいいと思うんだけど
88 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:23:03 ] 結局 パイソンかルビーどっちがいのよ。 ルビーは日本人口が多くて パイソンはハッカーも認める初心者にもおすすめの奥の深い言語 って聞いたんだけど。
89 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:29:29 ] gamilのパスワードを変えるスクリプトを urllib,urllib2,cookielibで書いてみた Rubyよりも簡単な気がするのは樹の精?
90 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:31:10 ] どっちも同じようなもんだろ
91 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:58:44 ] Python が連立方程式だとすれば Ruby はつるかめ算みたいな感覚かな
92 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 20:00:16 ] ■ おすすめ2ちゃんねる 開発中。。。 by FOX ★ このスレを見ている人はこんなスレも見ています。(ver 0.20) 早稲田理工スレの次スレ [大学受験]
93 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 23:14:13 ] つttp://www.youtube.com/watch?v=y8SZnU5iG-4
94 名前:デフォルトの名無しさん [2009/02/21(土) 23:36:24 ] パイパンかこうぜ
95 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 23:45:28 ] >>88 最近Google App Engineのために勉強がてら出来るだけPythonを使うようにしている いままではRubyで書いていた、仕事で使う書き捨てツールや日常の自動化ツール等をPythonで書くようにした その結果感じたのは 使いやすさではRubyの圧勝
96 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 23:53:59 ] 最近勉強がてらに出来るだけ英語を使うようにしている いままでは日本語で読んでいた、仕事で使う本や趣味の本等を英語で読むようにした その結果感じたのは 使いやすさでは日本語の圧勝
97 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 23:58:38 ] 一応、慣れの問題は差し引いて考えてるよ
98 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 23:58:57 ] >>95 判断しかねるので、もうちょっと具体的に聞きたいな。
99 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:14:15 ] 最近Google App Engineのために勉強がてら出来るだけPythonを使うようにしている いままではRubyで書いていた、仕事で使う書き捨てツールや日常の自動化ツール等をPythonで書くようにした その結果感じたのは 使いやすさではPythonの圧勝
100 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:16:20 ] str.len() じゃなくて len(str) だったり str(u'ほげ') すると死んだり Ruby 使ってたら疑問にも思わなかったことが Python だと「あれっ?」て思うことはかなりある
101 名前:95 mailto:sage [2009/02/22(日) 00:17:00 ] まず第一にPythonのドキュメントって読みにくくない? 第二に len がメソッドでなかったりする一貫性の無さが 未知の仕様の推測やドキュメントのどこを調べればいいのかの推測を難しくする まぁ、これは慣れれば問題ないというか、慣れれば逆にこっちの方が良いのかもしれないけど こういうのって慣れにくさの原因にもなるでしょ あと、ライブラリのインターフェースがユーザーフレンドリーじゃない感じ 正規表現が言語に溶け込んでなくて使いにくい
102 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:20:25 ] >>> u'ほげ'.__len__() 2 >>> 'ほげ'.__len__() 4 >>> len(u'ほげ') 2 >>> len('ほげ') 4 >>> len(u'ほげ'.encode('utf-8')) 6 >>> len(u'ほげ'.encode('ujis')) 4 >>> str('ほげ') '\x82\xd9\x82\xb0' >>> str(u'ほげ') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) >>> str(u'ほげ'.encode('utf-8')) '\xe3\x81\xbb\xe3\x81\x92' >>> str(u'ほげ'.encode('ujis')) '\xa4\xdb\xa4\xb2'
103 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:21:49 ] >>101 >まず第一にPythonのドキュメントって読みにくくない? 少なくとも Ruby よりましですね
104 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:23:36 ] 正規表現については、perlより使いやすい構文に出会ったことがない。 やはりfirst class扱いされてると使いやすさは段違いだ。
105 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:23:53 ] lenくらい光速で覚えられないゆとりはRubyを使えばいいよね。
106 名前:デフォルトの名無しさん [2009/02/22(日) 00:26:12 ] 私がPythonにイラっとくるのは戻り値がない(selfを返さない)メソッドが多いことかな obj.hoge().fuga().hage() っていうことが(出来るケースもあるけど)出来なくて鬱陶しく感じるときがあります 式と文が区別されてることは事情が判るので我慢出来るんですが
107 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:26:14 ] >>101 RubyはどうかしらないけどPythonのドキュメントは俺も読みにくいと思う。
108 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:26:49 ] C++とかの正規表現よりまし ¥記号いくつ並べるんだよって思う
109 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:29:21 ] 読みにくいと思うひとは具体的に例をあげてもらえますか?
110 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:32:39 ] 初めてのPythonにUNICODEの扱いがほとんど書かれてないし しかも間違ってるwことかな
111 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:33:43 ] >>109 まず例が少ないよ
112 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:35:51 ] >>105 lenが覚えられないとは書いてないじゃない lenがあることで他の仕様が推測しにくくなるった書いてるんですよ
113 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:36:02 ] >>110 あれは著者が UNICODE についてなにも知らないので 触れてるフリしてさりげなくスルーしてるだけかと
114 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:37:34 ] >>87 違いは、 def bar(a=a): だと barが定義された時点のaの値が func_defaultsに入る。 URLのはcell creationとある様に、barが呼び出された時点のaの値がfunc_closureにcellオブジェクトとして格納される。 …くらいかな、。jinja2内での用途は知らないけど、 locals()の返す辞書にaを含めるという点はどちらも満たしてるし、 記事にはcellはoevrheadと書かれているので、cellオブジェクト自身が必要なのではなく 結果だけ欲しいのであれば、どちらでもいいのかもしれない。
115 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:37:48 ] 流れを切る様ですみません。 class C: f = lambda x: x + 1 と書いて、C.f(3)などとやろうとすると fの第一引数がCのinstanceになってしまうのですが、 なんとかならないでしょうか? 今は仕方ないので @classmethod def f(cls,x): return x + 1 としていますが、わずらわしいです。
116 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:38:48 ] カッコ無しでメソッド呼び出しをできるようにしてしまったばっかりに メソッドオブジェクトの代入に特別な文法を導入せざるを得なかったRubyってかっこいいよね。
117 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:39:36 ] tupleとlistの使い分けが良くわからないんですけど それぞれに決まった用途ってあるんですか?
118 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:44:17 ] 4.16 Why are there separate tuple and list data types? www.python.org/doc/faq/general/#why-are-there-separate-tuple-and-list-data-types
119 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:44:24 ] >>115 f = staticmethod(lambda x: x + 1)
120 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:48:54 ] >>119 できました! ありがとうございます。
121 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:54:22 ] >>117 tuple は型が違うものを混ぜても気にせず放り込んで list は型がそろっている という使い分けを無意識にしてるような気がします
122 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:56:53 ] >>121 listで型をそろえるとなるとtreeが作れないね
123 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:05:03 ] そうしないといけないって訳じゃないのでは
124 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:06:53 ] tuple は immutable だからね
125 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:08:40 ] >>117 tupleとlistで一番違うのは、辞書のキーに使えるかどうかかな。 tupleは辞書のキーにできるが、listはできない。 辞書のキーには変更可能(mutable)な型は使えないから。
126 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:09:20 ] pythonのlistはvectorに改名した方が実情にあっている。 そして、immutableなlistを新しく入れて欲しい。
127 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:10:14 ] >>126 同時に末尾最適化も入れないとあまり意味が無いな
128 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:13:21 ] immutableなlistとtupleの違いを詳しく
129 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:15:20 ] >>126 は、力点としては関数型的なconsリストを指しているのだと思う
130 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:18:00 ] immutableなlist [a1,a2,a3,a4]は (a1,(a2,(a3,(a4,())))) で代用できる。面倒だけど。
131 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:20:05 ] >>130 確かにそれでできるけど、map/filter/foldとか使えないし 自前で再帰的なアルゴリズムを記述しても末尾最適化もされないから ぶっちゃけオモチャだよね
132 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 04:29:54 ] lenが一貫性ないってのはよくわからん。一貫性がないっていうのは Javaみたく配列の長さはa.length、ArrayListはa.size()、文字列の長さは a.length()みたいのを一貫性がないというのであって、Pythonのは違うと 思う。まあ、慣れの問題だね。
133 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 05:19:36 ] 一貫性ねえじゃんwww
134 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 05:25:43 ] 愚かな一貫性は・・・
135 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 05:31:34 ] length size count add append push_back delete remove erase title caption text widget control component list array vector
136 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 05:34:41 ] 一貫性を定義しろ。話はそれからだ
137 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 05:38:33 ] goo国語 いっかん-せい ―くわん― 0 【一貫性】 最初から最後まで矛盾がない状態であること。同じ態度を持続すること。
138 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 08:35:30 ] Ruby厨の言うことは一貫性がない。
139 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 10:58:51 ] 結局のところどっちも使えるようにしとけっ! みたいな
140 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 11:08:14 ] >一貫性がないっていうのは >Javaみたく配列の長さはa.length、ArrayListはa.size()、 >文字列の長さは a.length()みたいのを >一貫性がないというのであって どうして一つの文章で一貫性がないを二度も言う必要があるのはなぜなのかはおいといて Javaでは「敢えて使い分けてる」んですよ 型安全と、メソッド名から型が判別出来こととの冗長性をわざと実現しているんです
141 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 11:27:49 ] nautilussvnを使っているんですが、クライアント認証を使ったSSLを経由してsvnサーバに つなごうと思ったら、SSLに対応していないのかエラーが出てしまいます。 Error : callback_ssl_client_cert_prompt required ↑こんなの なんとなく、クライアント認証用のプロンプトが必要だとか言ってるっぽいので、pythonのSSL ライブラリでも入れればいいのかと思うのですが、対処方法ご存知のかたがいらしたら教えていただけませんか?
142 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 12:06:32 ] つttp://www.google.co.jp/search?q=nautilus+svn+python+ssl
143 名前:デフォルトの名無しさん [2009/02/22(日) 13:02:27 ] >>110 間違ってるってどのへん?
144 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 13:57:52 ] a.__lt__(self, b) : a < b a.__eq__(self, b) : a == b a.__getitem__(self, i) a[i] a.__hash__(self) : hash(a) a.__len__(self): len(a) hashやlenも演算子に類するものと見ればいいんジャマイカ。 実際長さは__getitem__とも密接な関係にあるしね。うっかり 同名のメソッドを定義してアボーンなんてリスクを考えれば これはこれでありだと思ふ。
145 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 15:53:14 ] 2.6で(まともな)sslモジュールが標準になったけど 中身がCで書かれてて 派生クラスを食ってくれんのが悩み。
146 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 17:11:00 ] >>145 自分で拡張したい場合は確かに悩みどころだよな。 一方で、標準機能にいろんなものを詰め込んで欲しいと考える人もいるし。 妥協点としては、基本エンジンを簡潔・高速にして、よく使いそうな機能はライブラリで容易するとか。
147 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 17:53:44 ] 暗いなら自ら明かりをつけましょう
148 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 18:46:17 ] クレクレ厨乙
149 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 18:47:28 ] 誤爆
150 名前:デフォルトの名無しさん [2009/02/22(日) 19:52:09 ] pythonのlambdaで実験していて、以下の問題に突き当たりました。 識者の方がいらっしゃいましたら、 ご教授願えるとありがたいです。 //無名関数をn個リストにして返す関数 def make_funcs(n): fn_list = [] for i in range(n): fn_list.append(lambda x : i*x) return fn_list //code block fL = make_funcs(5) for f in fL: print(f(10)) //実行結果 40 40 40 40 //期待する実行結果 0 10 20 30 40 for文中のiが上手く認識されていないように思えます。 Schemeのクロージャとは振る舞いが異なるのでしょうか?
151 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 20:10:18 ] lambda x, i=i: i*x
152 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 20:27:38 ] >>150 Pythonでもクロージャは環境をキャプチャするんだが そのforループではiが逐次破壊的に書き換えられてしまう (let束縛ではなくset!のイメージ)んでそういう動作になる 単一代入でない&クロージャをサポートする言語で破壊的なループを使って そういう書き方をすると、そういう動作になるのが普通で、 JavaScriptやPerlなんかもそうなったはず Pythonでは>>151 のような方法で対処できるが、魔術的だと感じられるなら ループの中でさらにdefで明示的にブロックを作って、その中で クロージャを作ったりするといいと思うよ
153 名前:152 mailto:sage [2009/02/22(日) 20:34:39 ] 例えばこんな風に書くということね def make_funcs(n): def make_func(i): return lambda x: i * x fn_list = [] for i in range(n): fn_list.append(make_func(i)) return fn_list もっと短く書く書くこともできる def make_funcs(n): make_func = lambda i: lambda x: i * x return [ make_func(i) for i in range(n) ]
154 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 20:54:37 ] >> 151, 152 非常に分かりやすい説明で、問題の原因が良く理解できました。 また、正しい書き方も分かりました。 ありがとうございました。
155 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:13:08 ] …で、実際処理速度はどうなの?>パイソン PHPより早いのかな?
156 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:19:48 ] おおむねPython>Perl>PHP>Rubyってとこじゃね?
157 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:33:59 ] shootout.alioth.debian.org/u32/ その手のベンチマークで定番?になってるサイトです。 言語の種類だけでなく、プログラミングの手法によっても結構変わるみたいですね。
158 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:47:06 ] shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all&box=1
159 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:55:27 ] C++が0.08秒で、PHPが48分って・・・orz 完全にやる気なくした・・www
160 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:01:33 ] >>156 馬鹿じゃない?
161 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:03:23 ] >>142 この回答って Error : callback_ssl_client_cert_prompt required これの対処法の回答という認識でいいんですかね・・・? ググってみたんですがどれが回答になるのか分からなかったんですけど・・・。 そういうレベルの人はここに来てはいけないということですかね??
162 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:14:19 ] >>159 用途に合わせて言語を選ぶ。 当たり前のことじゃないか。
163 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:31:45 ] >>160 なんで?
164 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:33:07 ] >>161 こっちで質問しる gimpo.2ch.net/esp/
165 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:50:42 ] >>157 python 3 もっとがんがれ おれもPHPが一番鈍足だとはしらんかった
166 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:54:23 ] >>163 根拠を示さないレス乞食はそっとしてあげて。
167 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:04:54 ] pass
168 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:34:42 ] インタプリタが遅いのは当たり前田のSPAM
169 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:37:20 ] まぁ>>156 自体に根拠がないけどね
170 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:40:26 ] まあ・・ウェブならスクリプト言語でも十分ですけどね 2〜3秒以上もかかる計算滅多にないし 確かにベンチマークではpythonの方が良い成績のことが多いみたいだけど スクリプト言語である以上、ドングリの背比べのような気もしないではない ただ、pythonってphpに取って代わるメジャーなスクリプト言語になり得るのかな?
171 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:41:30 ] >>158 見ると>>156 の順番通りだけど?
172 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:44:35 ] >>170 パフォーマンスを気にする必要があるのは、10K問題とかだと思う。
173 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:57:17 ] しっかしPHP6はいつ出るんだ? WEBはDBへの接続とDB自体の処理速度が一番ボトルネックだと思う。 そこが早ければある程度なら問題ないんじゃないだろうか。
174 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:59:41 ] PHPは(言語)仕様がどうのってよりも、ビジネス戦略で広まってるだけですがな。