Pythonのお勉強 Part14
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/10/20(金) 00:34:56http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
Python 2.5
http://www.python.org/download/releases/2.5/
IronPython
http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
まとめ wiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
Pythonの入門書「みんなの Python」
http://www.amazon.co.jp/gp/product/479733665X/
Pythonのお勉強 Part13
http://pc8.2ch.net/test/read.cgi/tech/1157984472/
0002デフォルトの名無しさん
2006/10/20(金) 00:38:060003デフォルトの名無しさん
2006/10/20(金) 00:44:10みんな、まったりやろーよ(´・ω・)
0004デフォルトの名無しさん
2006/10/20(金) 01:39:58こっちが公式
http://www.sbcr.jp/books/products/detail.asp?sku=479733665X
0005デフォルトの名無しさん
2006/10/20(金) 01:50:56BBC2 は予算が限られてまして…
0006デフォルトの名無しさん
2006/10/20(金) 01:57:390007デフォルトの名無しさん
2006/10/20(金) 02:18:000008デフォルトの名無しさん
2006/10/20(金) 02:37:28ttp://www.nishiohirokazu.org/blog/2006/08/python_12.html
0009デフォルトの名無しさん
2006/10/20(金) 03:26:32http://pc8.2ch.net/test/read.cgi/php/1156612854/l2
0010デフォルトの名無しさん
2006/10/20(金) 03:39:36なんかその人前提からして間違ってるような気がする。
使いやすい対話環境があるんだからPythonにワンライナーなんていらんだろうに。
0011デフォルトの名無しさん
2006/10/20(金) 05:00:360012デフォルトの名無しさん
2006/10/20(金) 05:28:460013デフォルトの名無しさん
2006/10/20(金) 08:09:25どういう事情(?)だったか
分かりやすかったんだけどな > ワンライナーノヒト
0014デフォルトの名無しさん
2006/10/20(金) 10:24:06オッサンはもう必要ないから引っ込めよ。
0015デフォルトの名無しさん
2006/10/20(金) 10:55:130016デフォルトの名無しさん
2006/10/20(金) 11:25:58"ワンライナー"という言葉に過剰反応するのは損。
よく読むと、面白いテクニックがいろいろ載っているよ。
0017Python初心者
2006/10/20(金) 11:44:55>>956
@staticmethod
とインスタンスメソッドとは利用方法が
全然違います。つまり第一引数にselfを
使用する以前の問題。
>>960
>FAQの2つ目の理由のほかに、
>キーワード(予約語)は少ない方が
>よいという見方もある。
FAQの回答は引数にいちいちselfをいれなくても
thisかselfを予約語にすれば全て解決出来る。
但し予約語が一つ増えることには違いない。
printが予約語から早晩関数になるなら
一つ増えてもこれまでと総数は同じ。(w
Pythonは非常に整合性が高くかつユーザー負担の
少ない言語だと思う。
だから、返ってprintやselfなんかが目立つんじゃ
なかろうか?
例えば上記@staticmethodの「@」なんかRuby的
で違和感がありますよね?
StandardMLのマイナスが「~」よりはましだが…
>>753
>>想定が誤っている。[1,2,[...]]はデータであり、
[1,2,[...]]これはデータでさえない。
>>> L=[1,2,[...]]
SyntaxError: invalid syntax
>>> [1,2,[...]]
SyntaxError: invalid syntax
「Python的なセンス」を持った人間ほど、この辺り
気になりませんかね?
0018デフォルトの名無しさん
2006/10/20(金) 11:57:210019デフォルトの名無しさん
2006/10/20(金) 12:33:06ついでにリストも静的に領域確保して配列にしましょう!
0020デフォルトの名無しさん
2006/10/20(金) 12:45:07次の方どうぞ。
0021デフォルトの名無しさん
2006/10/20(金) 12:47:10その点ご留意いただきますよう.
0022デフォルトの名無しさん
2006/10/20(金) 13:50:24はいはい、おまえ言語、おまえ言語
0023デフォルトの名無しさん
2006/10/20(金) 14:41:080024デフォルトの名無しさん
2006/10/20(金) 14:45:090025デフォルトの名無しさん
2006/10/20(金) 15:17:41>全然違います。つまり第一引数にselfを
>使用する以前の問題。
それ以前にその関数をインスタンスメソッドにする
意味がわからないんだけど。
0026デフォルトの名無しさん
2006/10/20(金) 15:24:52日本語で書いてくれればいいですよ。
0027デフォルトの名無しさん
2006/10/20(金) 15:30:190028デフォルトの名無しさん
2006/10/20(金) 16:02:190029デフォルトの名無しさん
2006/10/20(金) 16:21:510030ネタニマジレス
2006/10/20(金) 16:24:09背伸びしなくても分かっている機能を使えばいいんじゃないかな?
0031デフォルトの名無しさん
2006/10/20(金) 16:24:590032デフォルトの名無しさん
2006/10/20(金) 16:33:44その代わりキャストとか文脈の解釈とか他の方法が必要になるんじゃねーの?
0033デフォルトの名無しさん
2006/10/20(金) 16:39:19クラスメソッドの第一引数 cls とか kls とかも予約後にしなくちゃ!
原理主義は忙しくて大変だなあ!!!
0034デフォルトの名無しさん
2006/10/20(金) 16:51:46日陰者のキチガイのすることだから、大目に見てあげてよ.
0035デフォルトの名無しさん
2006/10/20(金) 17:24:540036デフォルトの名無しさん
2006/10/20(金) 18:04:05病気のまま大人になると取り返しが付かないことに。
0037デフォルトの名無しさん
2006/10/20(金) 18:19:49それはオリジナル国産スクリプト言語を作り始めたりしてしまう、という事か?
0038デフォルトの名無しさん
2006/10/20(金) 18:22:52君はどうやら手遅れみたいだ.
0039デフォルトの名無しさん
2006/10/20(金) 18:28:14「はじめのことば」ってなに?
0040デフォルトの名無しさん
2006/10/20(金) 18:49:220041デフォルトの名無しさん
2006/10/20(金) 18:55:030042デフォルトの名無しさん
2006/10/20(金) 19:06:410043デフォルトの名無しさん
2006/10/20(金) 19:34:16レンタルスペースで使えるところがほとんど無いから
いまいち流行らないんだと思う。
ファイルシステムがそのままURLにマッピングされるようなタイプじゃないと
やっぱり敷居は高いよね。
0044デフォルトの名無しさん
2006/10/20(金) 20:28:470045デフォルトの名無しさん
2006/10/20(金) 20:56:15http://pc8.2ch.net/test/read.cgi/php/1156612854/
0046デフォルトの名無しさん
2006/10/20(金) 22:16:39Kent乙.
0047デフォルトの名無しさん
2006/10/20(金) 23:03:36仮にもPython製のフレームワークなんだし。
ちょろっと話題に出たらたちまち追い出そうとするのは狭すぎやしないかい。
0048デフォルトの名無しさん
2006/10/20(金) 23:19:07誘導した者なんですが、気に障ったようならすいません。
「専用スレがあるので、詳しく話したいならこっちのスレの方がいいですよ」
というつもりだったのですが、書き方が悪かったようです。
0049デフォルトの名無しさん
2006/10/20(金) 23:25:53つまりライブラリを集めているリポジトリと、それをインストールするためのパッケージシステムです。
0050デフォルトの名無しさん
2006/10/20(金) 23:30:38ちゃんと分離できるのが流行ると思ってるけど。ZOPE+ZPTも最近また盛り上がっ
てますよね。DjangoにしてもTurboGearsにしてもまだまだ情報が少ないですね。
0051デフォルトの名無しさん
2006/10/20(金) 23:50:07TurboGearsはmookにそこそこのボリュームの日本語解説が書いてある
自分で使って試して比べてみればいいんじゃねえの?
0052デフォルトの名無しさん
2006/10/20(金) 23:56:330053デフォルトの名無しさん
2006/10/20(金) 23:59:560054デフォルトの名無しさん
2006/10/21(土) 00:21:32Zope Japan も潰れたし盛り上がるわけがない.
005550
2006/10/21(土) 00:40:53>>52-54
まあニートには分からないでしょうね。
ネットでしか情報が手に入らないわけだし。
0056デフォルトの名無しさん
2006/10/21(土) 00:43:400057デフォルトの名無しさん
2006/10/21(土) 00:44:09>訂正:ZOPE+ZPT → pythonscript + ZPT
pythonscriptって何?
0058デフォルトの名無しさん
2006/10/21(土) 00:44:08ニートを馬鹿に出来るほど立派なことを書いてるつもりか?
0059デフォルトの名無しさん
2006/10/21(土) 00:47:58まともな受け答えが出来ないお前は社内ヒキコモリ。
006050
2006/10/21(土) 00:52:540061デフォルトの名無しさん
2006/10/21(土) 00:55:560062デフォルトの名無しさん
2006/10/21(土) 00:57:390063デフォルトの名無しさん
2006/10/21(土) 00:59:08アイロンだよ。キミの家にもあるだろう。
0064デフォルトの名無しさん
2006/10/21(土) 01:01:46駄スレ度が増加してしまいました
0065↑
2006/10/21(土) 01:06:080066デフォルトの名無しさん
2006/10/21(土) 01:16:08コイツ救いようがねえな
PythonやめてRubyでも使っておけや
頼むから
0067デフォルトの名無しさん
2006/10/21(土) 01:22:250068デフォルトの名無しさん
2006/10/21(土) 01:24:140069デフォルトの名無しさん
2006/10/21(土) 01:26:31>訂正:ZOPE+ZPT → pythonscript + ZPT
意味不明.頭沸いてるんじゃないのか.
0070デフォルトの名無しさん
2006/10/21(土) 01:31:180071デフォルトの名無しさん
2006/10/21(土) 01:33:56ry ´・ω・`ヽっ
`! i
ゝ c_c_,.ノ
(
)
.∧ ∧.(
(´・ω・∩ またーりしようよ
o ,ノ
O_ .ノ
.(ノ
━━
0072デフォルトの名無しさん
2006/10/21(土) 01:36:53なんてみじんも思わない。
0073デフォルトの名無しさん
2006/10/21(土) 01:41:44かわいす
とはちょっと思ったw
0074デフォルトの名無しさん
2006/10/21(土) 01:41:560075デフォルトの名無しさん
2006/10/21(土) 01:45:530076デフォルトの名無しさん
2006/10/21(土) 02:36:05日本語で役立ちそうな情報が乗っているサイトとかないかしら・
0077デフォルトの名無しさん
2006/10/21(土) 02:39:020078デフォルトの名無しさん
2006/10/21(土) 04:07:15一応使ってます。
日本語の情報は、この2つしか知らない。
・SciPyでHappy Researching
http://alias.dip.jp/article/scipy.php
・Fedora Core 5 Test 3 で、まだ SciPy がインストールできない件
http://po3a.blogspot.com/2006/02/fedora-core-5-test-3-scipy.html
http://po3a.blogspot.com/2006/03/fedora-core-5.html
0079デフォルトの名無しさん
2006/10/21(土) 05:23:02http://d.hatena.ne.jp/sumii/20060928/1159394568
http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/sumii/20060928/1159394568
0080デフォルトの名無しさん
2006/10/21(土) 07:06:13Python eggs
0081デフォルトの名無しさん
2006/10/21(土) 08:12:16サイトとしてはPython Cheese ShopとかPEAKとかかな
0082デフォルトの名無しさん
2006/10/21(土) 09:06:410083デフォルトの名無しさん
2006/10/21(土) 13:02:55俺も一応。
0084デフォルトの名無しさん
2006/10/21(土) 13:12:32ttp://mail.python.org/pipermail/xml-sig/2006-October/011598.html
008576
2006/10/21(土) 13:15:52普段はmatlab市か使わないんだけど,ちょっとpythonにも手を出してみようと思って.
0086デフォルトの名無しさん
2006/10/21(土) 13:16:050087デフォルトの名無しさん
2006/10/21(土) 14:42:15俺、大学で習った最初の言語がMATHEMATICAだったよ・・・
みんな明らかに不満そうだったw
0088デフォルトの名無しさん
2006/10/21(土) 15:03:26__setitem__を__call__にぶち込むテクにワロタ
もはや異次元
0089デフォルトの名無しさん
2006/10/21(土) 15:12:17python3でもselfは明示的ってのはすでに決ってるらしい
ので、そのあたりの仕様はpython使う限り、あきらめた
方がいいと思います。
pythonライクな文法の別の言語でselfを省略できるのが
あったような気が・・・
0090デフォルトの名無しさん
2006/10/21(土) 16:39:350091デフォルトの名無しさん
2006/10/21(土) 16:49:420092Python初心者
2006/10/21(土) 17:12:18>言語の仕様で文句言うより、言語を使って
>何を作るかに注力しようぜ。
至言ですね。
但し何を作るかが決まれば、Pythonでなくても
どんな言語でも作れるってところが問題で…
そこで再帰的に言語仕様の話へと循環する
訳です。
0093Python初心者
2006/10/21(土) 17:13:312倍早い。map関数を使うとfor文よりは大分早くなる。
それに比べてリスト内包表記の実行スピードは
なんとC言語並みとのことです。(初めてのPythonより)
但し、
>>> res = []
>>> for x in range(5):
... if x % 2 == 0:
... for y in range(5):
... if y % 2 == 1:
... res.append((x, y))
...
>>> res
[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]
と書いたのに比べて、
>>> [(x,y) for x in range(5) if x%2 == 0 for y in range(5) if y%2 == 1]
[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]
ダブルループなど複雑なもののリスト内包表記は可読性が
著しく落ちるのであまりお奨めできない、とある。
しかし、
[(x,y)
for x in range(5)
if x%2 == 0
for y in range(5)
if y%2 == 1]
[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]
[]の中はインデント、改行、自由自在ですから、
返ってfor文よりすっきりしてますよね。
実行速度が早い、分かり易い、かつ短く簡潔である。
リスト内包表記を使わない手は無いと思うが。
どうでしょう?
0094デフォルトの名無しさん
2006/10/21(土) 17:26:06その通りだと思うよ。
ところでここら辺でメタクラスの話でもしてみないか?
0095デフォルトの名無しさん
2006/10/21(土) 17:37:420096デフォルトの名無しさん
2006/10/21(土) 17:41:550097デフォルトの名無しさん
2006/10/21(土) 17:43:470098デフォルトの名無しさん
2006/10/21(土) 17:49:02それだけは勘弁してくれ
0099デフォルトの名無しさん
2006/10/21(土) 17:49:390100デフォルトの名無しさん
2006/10/21(土) 18:15:210101デフォルトの名無しさん
2006/10/21(土) 18:17:550102デフォルトの名無しさん
2006/10/21(土) 18:51:340103デフォルトの名無しさん
2006/10/21(土) 18:51:38明らかに工作員だな。
前スレとかでは相手してたけどそろそろスルーしよーっと。
0104デフォルトの名無しさん
2006/10/21(土) 18:52:27やめろよ佐賀県民め。
0105デフォルトの名無しさん
2006/10/21(土) 19:01:480106デフォルトの名無しさん
2006/10/21(土) 19:02:180107デフォルトの名無しさん
2006/10/21(土) 19:31:080108デフォルトの名無しさん
2006/10/21(土) 19:36:310109デフォルトの名無しさん
2006/10/21(土) 19:51:330110デフォルトの名無しさん
2006/10/21(土) 21:52:41まあ、UI切り貼りぺたぺたをPythonでやる(やらなくちゃダメ)なケースは
そんな多くないと思うけど、夢があるなー。
0111デフォルトの名無しさん
2006/10/21(土) 21:53:44工作員の仕事は大変だな。
0112デフォルトの名無しさん
2006/10/21(土) 22:18:28隣の長崎県に行かないと無理
0113デフォルトの名無しさん
2006/10/21(土) 23:22:020114デフォルトの名無しさん
2006/10/21(土) 23:31:47スレ違いだが
ttp://www.asahi.com/life/update/1019/011.html
ν速とVIPの悪ノリ
0115デフォルトの名無しさん
2006/10/22(日) 00:14:39こんなことやってるから佐賀は馬鹿にされるのだと思う←これも通知されるかw
0116デフォルトの名無しさん
2006/10/22(日) 01:01:030117デフォルトの名無しさん
2006/10/22(日) 01:52:00ttp://hamasta.g.hatena.ne.jp/hamasta/20061021
ZOPE関係の工作員はどうしてこう嘘つきばかりなのか
0118デフォルトの名無しさん
2006/10/22(日) 02:23:500119デフォルトの名無しさん
2006/10/22(日) 02:29:102chの書き込みへのレスは2chに書くべきだと思う・・w
0120デフォルトの名無しさん
2006/10/22(日) 02:36:150121デフォルトの名無しさん
2006/10/22(日) 02:40:29え、ZOPEとリスト生成の話がどう関連するのか聞いただけで工作員なの?
0122デフォルトの名無しさん
2006/10/22(日) 02:44:120123デフォルトの名無しさん
2006/10/22(日) 02:46:570124デフォルトの名無しさん
2006/10/22(日) 02:52:340125デフォルトの名無しさん
2006/10/22(日) 02:53:13ハ_ハ
('(゚∀゚∩ またーりしようよ!
ヽ 〈
ヽヽ_)
0126デフォルトの名無しさん
2006/10/22(日) 08:36:450127デフォルトの名無しさん
2006/10/22(日) 08:46:250128デフォルトの名無しさん
2006/10/22(日) 10:07:392chなんだから別に荒れてても華麗にスルーでいいじゃん。
少々毒があってもアホでもネタ。
やめようと、叩こうとか云いたくなるならROMしてた方がいいよ。
0129デフォルトの名無しさん
2006/10/22(日) 11:30:060130デフォルトの名無しさん
2006/10/22(日) 11:36:08>日本語で役立ちそうな情報が乗っているサイトとかないかしら・
Python コード例を流用して計算をしたいなど、手っ取り早く行列を使いたい
ならば下が役立つでしょう。
http://www.nasuinfo.or.jp/FreeSpace/kenji/sf/fastTour/pyLinear.htm
計算結果を可視化したいときは下の vpython を使いましょう。matlab より
優れているはずです。
http://vpython.org/
http://vpython.erikthompson.com/
老婆心ながら Matlab 互換を目指した python の numarray.matrix または
Numeric.Matrix を使うのは避けるべきです。array だけで済ますべきです。
不必要に悩まされます
0131デフォルトの名無しさん
2006/10/22(日) 11:47:12よさげですね,よんでみまっす
0132デフォルトの名無しさん
2006/10/22(日) 12:41:09荒らしも荒らし止めろも単なる暇つぶしですよ
0133デフォルトの名無しさん
2006/10/22(日) 14:24:490134デフォルトの名無しさん
2006/10/22(日) 15:37:09てか、お前耐性異常に低いんだ?
2chなんだから別に荒れてても華麗にスルーでいいじゃん。
少々毒があってもアホでもネタ。
ROMしてた方がいいよとか云いたくなるならROMしてた方がいいよ。
0135デフォルトの名無しさん
2006/10/22(日) 15:54:250136デフォルトの名無しさん
2006/10/22(日) 16:41:562chなんだから少々耐性低い奴いても華麗にスルーでいいじゃんww
0137デフォルトの名無しさん
2006/10/22(日) 16:45:59日本語でおk
0138Python初心者
2006/10/22(日) 17:45:00>つか、「Python初心者」って奴は全然初心者じゃなくて
>明らかに工作員だな。
Pythonを初めて触って思いついたことを書いている
だけだけど、それが何かの工作になるのでしょうか?
ただ、言語そのものは一応Java,C,C++,Delphi,
VB,PHP,Lisp,Scheme,Prolog,Ruby,Curl,Perl,
Rebol,Icon,TclTk,Sqeak,桐の一括処理?とかで
Hello World!だけは出力できるけど…(w
0139デフォルトの名無しさん
2006/10/22(日) 17:52:46ttp://99-bottles-of-beer.net/
0140Python初心者
2006/10/22(日) 18:08:22無理です…
ところで、
Decoratorを使いたいと考え、最もシンプルな
例として下記コードを書いてみました。
def deco(func):
def greeting():
print 'Hello'
func()
return greeting
@deco
def say_name():
print 'Python'
say_name()
OPは下記の通り:
Hello
Python
0141Python初心者
2006/10/22(日) 18:09:04つまりsay_name()がgreeting()に置き換え
られている。
面白そうなので、もう一度@decoを重ねてみた。
@deco
@deco
def say_name():
print 'Python'
say_name = deco(deco(say_name))と同じ。
OPはこうなった?
Hello
Hello
Python
何故、下記のようにならないのでしょうか?
Hello
Python
Hello
Python
0142デフォルトの名無しさん
2006/10/22(日) 18:28:41IndentationError だから。
初心者はつまずきやすいところだから気を付けてね。
0143デフォルトの名無しさん
2006/10/22(日) 18:33:44> VB,PHP,Lisp,Scheme,Prolog,Ruby,Curl,Perl,
> Rebol,Icon,TclTk,Sqeak,桐の一括処理?とかで
立派な工作員です。本当にありがとうございました。
0144デフォルトの名無しさん
2006/10/22(日) 18:37:37別に良いんじゃね?
所詮 HelloWorld しか出来ないんだし。
それよか Python の話題を出そうぜ
……言い出しっぺの法則? ははっ
0145デフォルトの名無しさん
2006/10/22(日) 18:49:42@deco を2個つけるのは、以下と同じ意味
say_name = deco(say_name)
say_name = deco(say_name)
わかりやすくするなら
def say_name_original(): print 'Python'
def say_name_deco1(): print 'Hello' ; say_name_original()
def say_name_deco2(): print 'Hello' ; say_name_deco1()
say_name = say_name_deco2
>>> say_name()
Hello
Hello
Python
てか、むしろ、なんで Python が2回出力されると思ったの?
0146デフォルトの名無しさん
2006/10/22(日) 18:50:43一番外のgreetingで一回Hello
次のgreetingで2回目のHello
最後にsay_nameでPython
だと思いますが・・?
つか、デコレーターの意味がまったく分からない。
どんな局面でこれが必要になるのか・・・
誰もが納得できるような、ここはデコレーターしかない
見たいな局面が出てくるとはとても思えない
0147デフォルトの名無しさん
2006/10/22(日) 18:51:150148デフォルトの名無しさん
2006/10/22(日) 18:57:470149デフォルトの名無しさん
2006/10/22(日) 19:00:090150デフォルトの名無しさん
2006/10/22(日) 19:31:200151デフォルトの名無しさん
2006/10/22(日) 19:31:29別に無くても困らないよ
0152デフォルトの名無しさん
2006/10/22(日) 19:33:240153デフォルトの名無しさん
2006/10/22(日) 20:58:55っていうかフレームワークかくときに便利なんだと思う>デコレータ
0154デフォルトの名無しさん
2006/10/22(日) 22:28:30初心者は引っ込んでていいよ
0155デフォルトの名無しさん
2006/10/22(日) 23:00:320156デフォルトの名無しさん
2006/10/22(日) 23:26:060157デフォルトの名無しさん
2006/10/22(日) 23:36:58> 誰もが納得できるような、ここはデコレーターしかない
> 見たいな局面が出てくるとはとても思えない
そういう人はデコレータを使わなければいいだけだと思う
人生で覚えることがひとつ減ってラッキーではないか
0158デフォルトの名無しさん
2006/10/22(日) 23:37:48IQ低い奴はZOPEでも使っていればいい.
あ, Script(Python) は避けた方がいいぞ.
0159デフォルトの名無しさん
2006/10/23(月) 00:57:030160デフォルトの名無しさん
2006/10/23(月) 01:29:190161デフォルトの名無しさん
2006/10/23(月) 01:43:390162デフォルトの名無しさん
2006/10/23(月) 02:40:510163デフォルトの名無しさん
2006/10/23(月) 03:02:09気に障ることが書いてあったのかも知れないけど、
そんなときこそスルーする力を身につけようぜ!
0164デフォルトの名無しさん
2006/10/23(月) 04:13:290165デフォルトの名無しさん
2006/10/23(月) 04:14:43おまえもな。おれもな。w
0166デフォルトの名無しさん
2006/10/23(月) 04:40:33>>>True
False
激しくワロタ、何だコレw
0167デフォルトの名無しさん
2006/10/23(月) 05:10:21気になる人はいるんだな。P3kでは予約されるのかねぇ。
0168デフォルトの名無しさん
2006/10/23(月) 05:57:07classmethod
deco
def func(arg):
pass
ていうのを知ったんですが、
J2 proposalっていうのは未だに揉めてるんでしょうか?
pythonコミュニティ自体がばらばらにならないといいなぁという心配が・・・
0169デフォルトの名無しさん
2006/10/23(月) 08:31:18つ[ 玉手箱 ]
0170デフォルトの名無しさん
2006/10/23(月) 10:57:47が最強
0171デフォルトの名無しさん
2006/10/23(月) 11:02:17>>166
>>>>True = False
>>>>True
>False
>
>激しくワロタ、何だコレw
ふつうこういうことしないし、非原理主義者は「ふーん」で思考終了。
0172デフォルトの名無しさん
2006/10/23(月) 11:59:23原理主義者って『何の』原理主義?
0173デフォルトの名無しさん
2006/10/23(月) 13:35:44実用上困ることはほとんどないという意味で>>171に同意。
原理主義者云々はともかくとして。w
0174デフォルトの名無しさん
2006/10/23(月) 13:52:15文字列(日本だと'JST')を取得したいのですが、どうすればできる
でしょうか?
import time
time.tzset[0]
を使ってみたのですが、Windowsで実行すると"東京 (標準時)"
というShiftJISの文字列が返ってきてしまいます。
0175デフォルトの名無しさん
2006/10/23(月) 14:01:46>>> bool(1)
True
>>> if bool(1):
... print "foo"
...
foo
>>> if bool(1) == True:
... print "foo"
...
ぜんぜんおかしくないさ。
なにいってんだおまいら。
0176デフォルトの名無しさん
2006/10/23(月) 14:17:10自分とは違う種類の人間だということ。
それ以上の意味はない。
変人、きちがい、チョン、ヲタクでも可。
0177デフォルトの名無しさん
2006/10/23(月) 14:23:52どうも値のTrueと名前のTrueが別物っぽいですね。(常識なのかな・・・?
>>170
のようにうっかり__builtins__を消してしまったときの裏技
>>>del __builtins__
>>>True
NameError:...
>>>True=1==1
>>>True
True
0178デフォルトの名無しさん
2006/10/23(月) 14:34:150179デフォルトの名無しさん
2006/10/23(月) 14:37:320180デフォルトの名無しさん
2006/10/23(月) 14:38:00「Python使い」の定義による
0181デフォルトの名無しさん
2006/10/23(月) 14:40:280182デフォルトの名無しさん
2006/10/23(月) 15:15:50つまり言葉の意味を知らずに使っているということだな。
正直にそう言えよ。
0183デフォルトの名無しさん
2006/10/23(月) 15:31:39細かいことにいちいちつっかかる。
消毒、消毒!!
自ら持つ信念が無い。
故に実社会ではまったく「使えない」。
そんな奴らなのさ〜>原理主義者
0184デフォルトの名無しさん
2006/10/23(月) 15:56:20IN[1]: import t
ここでTABで補完させても、標準ライブラリが一覧に出てこない。
組み込みのものは一覧に出るんだけど。これってどこで設定すればいいの?
環境は
Python-2.4.3(windows2000)
ipython-0.7.2.win32
pyreadline-1.3.win32
pywin32-210.win32-py2.4
ctypes-1.0.1.win32-py2.4
0185Python初心者
2006/10/23(月) 16:08:49>立派な工作員です。本当にありがとうございました。
申し遅れましたが、一応C#は現在使用中、Haskellや
Ocamlもかって触ったことがありますので工作員資格に
追加しておいて頂ければ…
0186デフォルトの名無しさん
2006/10/23(月) 16:10:350187デフォルトの名無しさん
2006/10/23(月) 16:11:240188Python初心者
2006/10/23(月) 16:14:27Tks!デコレーターって言う意味がようやく
分かりました。
例えば下記のようなコードで前処理と後処理を
関数にImplicitに追加出来るってことですね。
greeting1とgreeting2の中のfunc()がそれぞれ
実行されてしまえば、単なるループ処理になる(w
def deco1(func):
def greeting1():
print 'Hello' #前処理を書く
func()
return greeting1
def deco2(func):
def greeting2():
func()
print 'Good Bye' #後処理を書く
return greeting2
@deco1
@deco2
def say_name():
print 'Python'
say_name()
OP:
Hello
Python
Good Bye
0189デフォルトの名無しさん
2006/10/23(月) 16:19:57Code Golfが全然短くならないんですけどヒントあったら教えてもらえませんか?
たとえばPascal's Triangleとか下だと100バイト超えちゃうんですけど、1位の1.5倍・・
根本的に悪いんだと思いますけどどこが悪いか分かりません。
X=Y=[1];r=range
for i in r(34):
o=''
for n in X:o+=" %d"%n
print o[1:];X=Y+[X[x]+X[x+1]for x in r(i)]+Y
Code Golf
ttp://codegolf.com/
0190デフォルトの名無しさん
2006/10/23(月) 16:22:39>ただ単に高階関数でラップする構文糖(シンタックスシュガー)
俺にはこの説明が簡潔で分かりやすかった
0191デフォルトの名無しさん
2006/10/23(月) 16:26:010192デフォルトの名無しさん
2006/10/23(月) 17:52:03time.strftime('%Z')
0193デフォルトの名無しさん
2006/10/23(月) 17:57:12>>> import time
>>> print time.strftime('%Z', time.localtime(time.time()))
東京 (標準時)
(*0w0)ウェーイ
0194デフォルトの名無しさん
2006/10/23(月) 18:35:080195デフォルトの名無しさん
2006/10/23(月) 20:18:45どもです〜^-^/
(パカ
(モクモクモクモク
アワワワワ
0197デフォルトの名無しさん
2006/10/24(火) 03:18:35international版でも'Tokyo Standard Time'って還ってきたと思う
なのでレジストリ書き換えるかwin2k以上なら環境変数TZをJST-9に設定すればいいかも
あるいはスクリプト側でUTC +09:00をJSTにしちゃうとか
0198デフォルトの名無しさん
2006/10/24(火) 03:27:16ttp://pukiwiki.sourceforge.jp/?cmd=read&page=PukiWiki%2FInstall%2FWindows%2FTimeZone
ちなみにいまTZ設定してみたら
>>> import time
>>> print time.strftime('%Z', time.localtime(time.time()))
JST
でした
0199Python初心者
2006/10/24(火) 16:50:01のカプセル化が甘い。下記の「なんでも有りスタイル」は
「そのようにもコーディングが可能」と捉えるべきでしょうか?
それとも「これが防げない…」と捉えるべきでしょうか?
class PythonJoke :
joke = 'Yadaa! '
def __init__(self,str):
self.name = str
def say_joke(self):
print PythonJoke.joke + self.name
#いちいちPythonJoke.はまあ良しとして
pj = PythonJoke('Ruby')
pj.say_joke() #ここまではOK!
#クラス外でインスタンスフィールド作成?
pj.greeting = 'Kutabaree '
print pj.greeting
#クラス外でインスタンスメソッド作成?
import sys
pj.jodan = (lambda x=pj.greeting + pj.name + '\n':
sys.stdout.write(x))
pj.jodan()
#さらにクラス属性さえもクラス外で変更できる?
PythonJoke.joke='Iyaanee! Perl'
print PythonJoke.joke
OP->PythonJoke:
Yadaa! Ruby
Kutabaree
Kutabaree Ruby
Iyaanee! Perl
0200デフォルトの名無しさん
2006/10/24(火) 17:09:420201デフォルトの名無しさん
2006/10/24(火) 17:10:550202デフォルトの名無しさん
2006/10/24(火) 17:17:220203デフォルトの名無しさん
2006/10/24(火) 17:29:440204デフォルトの名無しさん
2006/10/24(火) 17:33:55おまけに空気読めない称号も付与。
0205デフォルトの名無しさん
2006/10/24(火) 17:54:160206デフォルトの名無しさん
2006/10/24(火) 18:18:36custom django login_required decorator
ttp://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/498217
0207デフォルトの名無しさん
2006/10/24(火) 19:07:34書評希望
0208デフォルトの名無しさん
2006/10/24(火) 19:17:400209デフォルトの名無しさん
2006/10/24(火) 19:24:47要するによく使う条件を
@条件_required
def .....
で、書くとifが減ってうるさくない感じになるってことですね・・・
しかし、何かとかぶってる感じがする・・・
0210デフォルトの名無しさん
2006/10/24(火) 19:28:37プログラミング初心者には良い本。
一般的なプログラミングの話に重点を置いているので、
Python入門用と考えると、内容が薄いのと扱ってるバージョンがちょっと古い。
0211デフォルトの名無しさん
2006/10/24(火) 20:54:29このスレの住人には不要な本だ。
0212デフォルトの名無しさん
2006/10/24(火) 21:10:43207みたいな厨房には必要なんだよきっと.
0213デフォルトの名無しさん
2006/10/24(火) 21:11:56初心者向けの本だが、このスレの住人のほとんどが
内容をちゃんと理解できていないと思われる。
0214デフォルトの名無しさん
2006/10/24(火) 21:25:330215デフォルトの名無しさん
2006/10/24(火) 21:30:060216デフォルトの名無しさん
2006/10/24(火) 21:31:190217デフォルトの名無しさん
2006/10/24(火) 21:33:32それだけは勘(ry
0218デフォルトの名無しさん
2006/10/24(火) 21:50:16近くの本屋に置いてなかったので
Python入門どんな感じだったか聞きたいです
0219デフォルトの名無しさん
2006/10/24(火) 21:52:120220デフォルトの名無しさん
2006/10/24(火) 21:57:030221デフォルトの名無しさん
2006/10/24(火) 22:38:590222デフォルトの名無しさん
2006/10/24(火) 23:50:230223デフォルトの名無しさん
2006/10/24(火) 23:57:320224デフォルトの名無しさん
2006/10/25(水) 00:35:02できないのでしょうか。
具体的には、
class A:
def X(self):
return 'hello'
class B(A):
def QuotedX(self):
return '"' + self.X() + '"'
def ReturnsA():
return A()
の様なものがあったとして、ReturnsA() の戻り値を B のインスタンスと見て QuotedX を
呼びたいんです。動的にメソッドを追加するというのは無しで、何か方法はあるのでしょうか。
0225デフォルトの名無しさん
2006/10/25(水) 00:52:13それはダウンキャストでもアップキャストでもない。単なるキチガイキャスト。w
なぜそんなことをやりたいと思ったのかを書けばもうちょっとマシな質問になるだろう。
0226デフォルトの名無しさん
2006/10/25(水) 00:53:28Pythonならダウン"キャスト"なんてする必要もない
その例は本当にダウンキャストの例なのか?
0227デフォルトの名無しさん
2006/10/25(水) 01:07:26とか言うオチじゃないだろうな。
0228デフォルトの名無しさん
2006/10/25(水) 01:09:36難しいことを難しくしか考えられないのはバカ。
しかもこういうバカは自分がバカであることに気づかないから始末に負えない。
0229デフォルトの名無しさん
2006/10/25(水) 01:21:24> return A()
> の様なものがあったとして、ReturnsA() の戻り値を B のインスタンスと見て
> QuotedX を呼びたいんです。
返してるのがAのインスタンスなのに、Bとして扱いたいってこと??
そりゃいくらなんでも無茶じゃねぇだろうか。
0230224
2006/10/25(水) 01:24:42クラス B は、追加のデータはなく、
class B(A):
def X(self):
return '[' + A.X(self) + ']'
def QuotedX(self):
return '"' + self.X() + '"'
といった感じです。要するに、インターフェースを換えずに振る舞いを換えたり
新たなインターフェースを追加したいと言うことです。そういうことをしたければ
委譲したり、動的にメソッドを追加・オーバーライドすればすればすむ話ですが、
面倒なのでw、A を B と思って B のメソッドを呼ぶ様な横着はできないかと思った次第です。
0231デフォルトの名無しさん
2006/10/25(水) 01:37:230232デフォルトの名無しさん
2006/10/25(水) 01:41:23そんなあなたにとっておきの解。
つ [C++]
オールドスタイルキャストしちゃえばどんなポインタも望み通りのクラスインスタンスになれるよ!!
ハ_ハ
('(゚∀゚∩ でもしぬるよ!!
ヽ 〈
ヽヽ_)
0233デフォルトの名無しさん
2006/10/25(水) 01:47:36まさかそんな基礎設計的な部分で「タイプがめんどくさい」とか・・・・?w
0234デフォルトの名無しさん
2006/10/25(水) 01:55:53そういうやつだと想像。
0235227
2006/10/25(水) 02:04:19こういうことだったのね。
a = ReturnsA()
a.__class__ = B
0236デフォルトの名無しさん
2006/10/25(水) 05:02:26>要するに、インターフェースを換えずに振る舞いを換えたり
>新たなインターフェースを追加したいと言うことです。
いくらなんでも矛盾してるだろ。いいたいことはわかるが。
つうか、こんなことができる言語ってなかなかないような気がする。
プロトタイプ指向でもない限り。
>>235
Pythonすげえ!
0237デフォルトの名無しさん
2006/10/25(水) 08:08:53Python を使ってデザインパターンの説明してるページとかないですか?
0238デフォルトの名無しさん
2006/10/25(水) 08:18:26pythonスゲェが、これは・・・・
0239デフォルトの名無しさん
2006/10/25(水) 09:00:470240デフォルトの名無しさん
2006/10/25(水) 09:42:110241デフォルトの名無しさん
2006/10/25(水) 10:44:50Adapterのことだよな?
ttp://www.python.org/dev/peps/pep-0246/
ttp://qwik.jp/zope3study/58.html
0242227
2006/10/25(水) 10:50:38要は、「(動的なクラス変更ができない言語のために発明された)
アスペクトとかデコレータとかをPythonでやるにはどうすればいいの?」
という質問なんでしょ。
動的なクラス変更ができるPythonなら、235で書いた(書かされた)通り、
「動的にクラスを変更すればできますよ」という答えが出てくるのは必定。
そこで>>236、>>235のような「それは反則じゃないのか」という反応が起きるのも予定調和。
そして、この流れ自体が、>>231が喝破したように、
>>224が仕掛けたメタクラス誘導のための釣り。
これに釣られて、227で墓穴を掘り、235でネタを提供させられ、
ついにはこの解説を書かされる羽目になったのが俺。
0244デフォルトの名無しさん
2006/10/25(水) 11:02:440245デフォルトの名無しさん
2006/10/25(水) 11:26:420246デフォルトの名無しさん
2006/10/25(水) 13:00:33正直、感動した。
まとまらない質問に、見事なまとめで答える。
Q&Aの見本のようなやり取りだと思った。
0247デフォルトの名無しさん
2006/10/25(水) 13:12:020248デフォルトの名無しさん
2006/10/25(水) 13:59:48if not '__host' in dir(self)
とかやってる私は変ですかね。
0249デフォルトの名無しさん
2006/10/25(水) 14:02:33>dir(self)
hasattr(self, '__host')
0250デフォルトの名無しさん
2006/10/25(水) 14:02:37みんな隠しているけど、ここはそんな人たちばかりだから。
0251デフォルトの名無しさん
2006/10/25(水) 14:22:37なるほど。
本当にこういう方法しかないんですか
>>250
?
0252デフォルトの名無しさん
2006/10/25(水) 15:11:390253デフォルトの名無しさん
2006/10/25(水) 15:14:30なるべく使わないようにしたほうがいい
0254デフォルトの名無しさん
2006/10/25(水) 16:01:480255デフォルトの名無しさん
2006/10/25(水) 16:08:04検索してもドキュメントの類を見つけることができませんでした。
唯一見つけた情報が下のDWの記事くらいで。
http://www-128.ibm.com/developerworks/library/l-cppeak2/
dispatchモジュールの使い方を学ぶにはどこを参照すれば
いいのでしょうか?
0256Python初心者
2006/10/25(水) 16:23:07Pythonのオブジェクト指向は他の言語とは
かなり違いますよね。
class PythonJoke :
X = 'Python'
if X=='Ruby':
print 'Yadaa! Ruby'
else:
print 'OK! Python'
PythonJoke()
PythonJoke->OP:
OK! Python
クラスが普通の関数と同じように使える…
>>199
クラスの定義文の外でクラス自体も、それから
生成したインスタンスも自由に変更出来る。
確かにパワフルな印象はあるが、これはこれで
使いこなすのは結構難しいような気がする。
特に多人数で開発するとき。
いちいちdir()で中味を確認しないとクラスや
インスタンスが使えない…、なんてことには
ならないのだろうか?
0257デフォルトの名無しさん
2006/10/25(水) 16:23:09お宅の鬼によろしく言っておいてください。
0258デフォルトの名無しさん
2006/10/25(水) 16:38:44そんなことをここで訊くのが間違っている。
こんなところに出入りしている暇があったら素直にソース嫁。
0260デフォルトの名無しさん
2006/10/25(水) 16:47:49おまいの貼り付けた記事に書いてあるだろうがー
0261デフォルトの名無しさん
2006/10/25(水) 16:51:35一応関連記事
ttp://www-06.ibm.com/jp/developerworks/linux/030606/j_l-pydisp.html
いいか、もうこんなとこに来るんじゃないぞー
0262デフォルトの名無しさん
2006/10/25(水) 16:52:090263デフォルトの名無しさん
2006/10/25(水) 17:42:500264デフォルトの名無しさん
2006/10/25(水) 17:44:55On Pythonって何?
おっぱいそんしか知らないぜ。
0265デフォルトの名無しさん
2006/10/25(水) 17:58:28雑誌原稿が書きたくて悔しいご本人だよ。
そっとしておいてやれ(ww
0266デフォルトの名無しさん
2006/10/25(水) 18:27:16うはwwwwwwwww
とんだ馬鹿面引っこ抜いちまった。
サイト管理者の方、すみませんでした。
0267デフォルトの名無しさん
2006/10/25(水) 18:32:46どっちも python.org の英文を元にした二次情報だろ.
悔しいのかも知れないが、こういうときは黙っておくのが男というものだよ.
0268デフォルトの名無しさん
2006/10/25(水) 18:59:530269デフォルトの名無しさん
2006/10/25(水) 19:05:51ネットを駆使して調べて
n=[1,2,3,4,5,6,7,8,9,10]
sum = [0]
for r in n:
sum = sum + r
print "sum[", r, "] =", sum[r]
みたいにしたのですが、このやりかたはPython的にはスマートではなかったりするんでしょうか?
0270デフォルトの名無しさん
2006/10/25(水) 19:14:29あと、print文も
print "sum[%d] =%d" % (r, sum[r])
みたいにするのがいいと思う。
0271デフォルトの名無しさん
2006/10/25(水) 19:15:04ネットで何を調べたのかは知らないでげすが、組み込み関数のreduceを使って
>>> reduce(lambda a, b: a + b, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 0)
55
とするのが、関数型言語的にはベタでスマートなやり方ですがPython的には
どっちでもいいでげす。
0272デフォルトの名無しさん
2006/10/25(水) 19:30:06>>271
アドバイスありがとうございますですm(..)m
0273デフォルトの名無しさん
2006/10/25(水) 19:32:26http://www.shido.info/py/
「おっぱいそん」ってこれか?
ググッてはじめて見たぞ。
こんな些末なサイトを引き合いに出す理由が分からん。
やっぱり本人だろ?
辺境のサイトにアンチがいるとも思えんしな。
0274デフォルトの名無しさん
2006/10/25(水) 20:27:590275デフォルトの名無しさん
2006/10/25(水) 20:48:580276デフォルトの名無しさん
2006/10/25(水) 20:51:080277デフォルトの名無しさん
2006/10/25(水) 20:52:51lambdaやreduceやメタクラスさえ使えれば満足なんだから。
0278デフォルトの名無しさん
2006/10/25(水) 20:57:02「おっぱいそん」と呼んで蔑むことにしましょう
0279デフォルトの名無しさん
2006/10/25(水) 21:09:37コレ動くの?
0280デフォルトの名無しさん
2006/10/25(水) 21:30:360281デフォルトの名無しさん
2006/10/25(水) 21:31:56sum[r] = sum[r-1] + r
としたいのかな
0282デフォルトの名無しさん
2006/10/25(水) 21:32:330283デフォルトの名無しさん
2006/10/25(水) 21:57:04つーか、ここって本当にPythonの本スレなのか?
0284デフォルトの名無しさん
2006/10/25(水) 22:03:21慣れればどうってことないんで、本スレと認識してOK
0285デフォルトの名無しさん
2006/10/25(水) 22:06:300286デフォルトの名無しさん
2006/10/25(水) 22:18:52いちいちURLさらすお前が本人だろ?
0287283
2006/10/25(水) 22:20:01MLやmixiのコミュも閑古鳥が鳴いてる。
Perlの次に人気がある(はずの)スクリプト言語のユーザー達は、一体どこで
情報交換してるのか不思議で仕方ない。
0288デフォルトの名無しさん
2006/10/25(水) 22:26:13多少荒れたとしても、この板の方がはるかにマシだ。
0289デフォルトの名無しさん
2006/10/25(水) 22:33:13sum = [0]
for r in n:
sum = sum + [r]
print "sum[", r, "] =", sum[r]
でした。
0290デフォルトの名無しさん
2006/10/25(水) 22:53:00http://www.cbook24.com/bm_detail.asp?sku=4839921709
0291デフォルトの名無しさん
2006/10/25(水) 23:06:43Pythonの解説があまりにも中途半端だと思った.
この著者本当にPython知ってんのかレベルの中途半端さ.
0292デフォルトの名無しさん
2006/10/25(水) 23:14:32もうレスは完結してるのに自分で勝手にやったんだろう?
教えてもらった君が言うのもなんだが、ちょっと暴走してるんじゃないか。
組み込み関数sum()のことも、展開した形に直されて実行されると知っているから、
"展開したらどういう構造になるのか?"と聞いたわけ。
そうしたら、"速度を気にするのなら使うべきではない。が、どうしても構造が気になるならファイル出力して見ろ"と
返答をいただいた。
これはつまり、組み込み関数sum()は遅い、少なくとも組み込み関数sum()を使うことで手打ちよりも速く最適化されるわけではないって言ってるんじゃないの?
これは、組み込み関数sum()が実行速度を落とす(結果論)以外の何にあたるの?
一体誰が、組み込み関数sum()で実行速度が遅くなる"理屈"を聞いたんだよ。そこも勝手な勘違いだろう。
組み込み関数sum()を使うと実行速度が遅くなる、 答えは YES これでいいんだろ? これが結果だろ?
それが>>274の"組み込み関数sum()を知らないスマートな初心者の集まるスレはここですか?"ってことだろ?
何を余計な理屈を言って、それで"初心者の集まるスレはここですか?"ですか?w
初心者の集まるスレはここですか?ってw
お前、どんな内容であろうと、叩くか、人の足元見て博識ぶって偉そうにするかしか能がないだろ。
やらされたくなかったらレス自体しなければいいこと。
レスさえしなければ、俺の質問は流されて終わるか、他の誰かが知識を分けてくれるか、ただそれだけ。
Pythonしか使えないやつというより、俺も含めてこのスレ全体が腐ってるんじゃねーか。
俺と同類だよ同類。俺もこの程度でファビョンするくらいだから低俗なんだろうがな、
お前らも同等な低俗さだよ。同じような人間として言わせてくれよな。否、同じ生き物として認めたがらないんだろうけどな。
まぁ、このレス以降もう来ないから、テキトーに釣られときな。
教えてくれてありがとーな。
0293デフォルトの名無しさん
2006/10/25(水) 23:15:500294デフォルトの名無しさん
2006/10/25(水) 23:19:270295デフォルトの名無しさん
2006/10/25(水) 23:21:250296デフォルトの名無しさん
2006/10/25(水) 23:22:24答えは YES
0297デフォルトの名無しさん
2006/10/25(水) 23:31:40>>> int = 0
>>> int("123")
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: 'int' object is not callable
0298デフォルトの名無しさん
2006/10/25(水) 23:45:44と言うこともあり、Pythonで作って配布する事になった。
しかし、py2exeを試したが、DLL付属でとてもサイズがデカイ。
IronPythonも考えたが、相手方の環境を考え見送った。
結局py2exeで作った実行ファイルを渡したが、「サイズでかい」、とか
「何このDLL」とか、色々言われてしまった。
次に展開する時は、「前のツールと同じ場所に置いて」とでも言えばいいのか。
Pythonで作ったツールとか、社内とかで配布したい場合どうしてる?
0299デフォルトの名無しさん
2006/10/26(木) 00:12:41一番いいのは自分で調べることだと思う。
ほぼ全ての情報はWebにまとまってる。
0300デフォルトの名無しさん
2006/10/26(木) 00:16:21俺は、会社の規模がさほど大きくないこともあって、問答無用で
Python をインストールさせるが...
それより、IronPython を使わせる方がハードル高い気がする。
0301デフォルトの名無しさん
2006/10/26(木) 00:21:15記事で見たら付属ファイル無いとかなんとか、
夢みたいな良い事ばかり書いてあったな。
0302298
2006/10/26(木) 00:27:43Cygwin環境があれば、強制的に入れさせることも「あり」なんですけどね・・・。
setup.pyにWINDOWSフォルダにPython24.DLLをコピーする処理を書こうかとも
思ったが、後で問題になるかも知れないと思い断念。
早いところVBスクリプトとかJスクリプトとかと同じ扱いになって欲しい<Python
0303デフォルトの名無しさん
2006/10/26(木) 01:00:14とかできると嬉しいんだけどな…。
0304デフォルトの名無しさん
2006/10/26(木) 01:10:26あと,MLは時代遅れかもな。
最近の奴はBlog + ソーシャルブックマークとかで情報収集してるんじゃね?
0305デフォルトの名無しさん
2006/10/26(木) 01:21:021つのexeファイルにパッキング
圧縮すれば小さくなるし
0306デフォルトの名無しさん
2006/10/26(木) 01:37:02それ動く?
なんで リスト が必要ではない(と思われる)ところで
[]を書こうとするのか?
0307デフォルトの名無しさん
2006/10/26(木) 02:14:22sum = sum + [r] よりも sum.append(r) の方が効率的で速いよ。
>>303
car, cdr = x[0], x[1:] と書くのと大差ないよーな。
0308デフォルトの名無しさん
2006/10/26(木) 02:38:21> Pythonで作ったツールとか、社内とかで配布したい場合どうしてる?
実際にそういう状況になったことはないけど、もしやるとしたら
1.作ったアプリの方は Python で言うところの「パッケージ」にして(ディレクトリ毎に __init__.py を書いて)
setup.py を書いて Windows 用インストーラを生成して配布。
2.Windows 版 Python も Python.org が配布している Windows 用インストーラを推奨。
3.アプリの実行は
a)DOS 窓でパッケージ内の foo.py を実行してもらう(拡張子は .py のままにする)
b)Python 2.5 を使うことにして、新設された -m オプションを使ってパッケージ内の foo モジュールを起動。
c)Tkinter で(←ここ重要)簡単な GUI をつける。
といった方法を採用。ショートカットの作成を推奨したり
.bat ファイルを用意するぐらいはやってもバチは当たるまい。
とにかく Windows 用インストーラでサクサク、というのが敷居を下げるコツのような希ガス。
アンインストールも簡単で後腐れがなければなお良い(これもお試しユーザにとっては重要)。
0309デフォルトの名無しさん
2006/10/26(木) 03:01:29結果的にファイルがいっぱいあっても、インストーラ一発でインストールできるなら
素人さんは文句言わないような気がする。
0310デフォルトの名無しさん
2006/10/26(木) 03:08:410311デフォルトの名無しさん
2006/10/26(木) 07:56:13やりかたが分からなかったから
とりあえずやりたいことを実現するために出来ることをやってみたら
この形が一番始めにできたからです
いわばオブジェクト指…思考です!
0312デフォルトの名無しさん
2006/10/26(木) 10:11:450313デフォルトの名無しさん
2006/10/26(木) 12:52:46って使ってる人少ない?
0314デフォルトの名無しさん
2006/10/26(木) 13:05:590315デフォルトの名無しさん
2006/10/26(木) 13:39:09オブジェクト指向風のスタイルも
そつなくこなすのがPython的にいけてるスタイル
0316デフォルトの名無しさん
2006/10/26(木) 13:55:53ttp://www.okisoft.co.jp/esc/python/iron-python-intro.html
0317デフォルトの名無しさん
2006/10/26(木) 14:20:03「本人乙」とか言われるぞ!!
0318デフォルトの名無しさん
2006/10/26(木) 17:31:02インスコ完了
0319デフォルトの名無しさん
2006/10/26(木) 18:05:42scipyスーパーパック対応待ち。
0320Python初心者
2006/10/26(木) 20:47:47ねぇ、
>>199
とか
>>256
なんかの問題に関して、Python関係の本や雑誌には
一切触れられてないが、ここに集う人々にとっては
全て織り込み済み?
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
…
個人的には、結構
ugly,implicit,complex and complicated
な面白い話題じゃないかと思うが…
例えばC言語スレなんかでは、
>scanfを暴走させるのはスキル不足
>getsを使うのは知識不足
>strtokでハマルのは理解力不足
>よって、馬鹿はscanf, gets, strtokは使わない方が良い。
「堂々と」言語仕様の問題点を指摘していたような
記憶がある。
0321デフォルトの名無しさん
2006/10/26(木) 21:34:39ついうっかり間違えて使うようなバグまがいの仕様ではないし
上級者しか使えない言語は問題だけど
上級者しか使わない言語機能は問題にはならない
0322デフォルトの名無しさん
2006/10/26(木) 21:53:320323デフォルトの名無しさん
2006/10/26(木) 21:56:180324デフォルトの名無しさん
2006/10/26(木) 22:14:180325デフォルトの名無しさん
2006/10/26(木) 22:17:49323に同意。それらの言語仕様の何がどう問題なの?
トリッキーなことができるのと、実際にトリッキーなことをやるのとは違う。
トリッキーなことをしなくても Python プログラムは書ける。
Python は法律じゃない。トリッキーな抜け穴があっても誰も困らない。
0326デフォルトの名無しさん
2006/10/26(木) 22:27:47の区別がなくて、関数やクラスの定義を実行時に解釈する物が殆ど。
クラス定義が実行時に解釈されるんだから、たとえばメソッドの書き換え
が実行時に出来るかどうかは、その属性が外から変更できるかどうか、の
問題に帰結する。
トリッキーだと思うかどうかは読む人のバックグラウンド次第じゃないか?
lambdaとかクロージャとかの経験があれば、あってよかった、ってなもんかも。
そういう話じゃなくて?
0327デフォルトの名無しさん
2006/10/26(木) 22:28:00言語仕様の問題点?古い時代の標準ライブラリの問題点だろ?
0328デフォルトの名無しさん
2006/10/26(木) 22:29:320329デフォルトの名無しさん
2006/10/26(木) 23:07:480330デフォルトの名無しさん
2006/10/26(木) 23:23:53特徴を否定的に表現して、英語でなんとかって言うらしいんだけど、なんだっけ?
0331デフォルトの名無しさん
2006/10/26(木) 23:28:11There's Only One Way To Do It
かな?違うかも
0332298
2006/10/26(木) 23:40:16トイレの内側に貼っておくわ。
一応配布対象は、同じ開発メンバーだったりするんだが、
全員から「Python?しらね」、と言われてしまっている。
「PerlとC言語を足して、2で割って、$記号を引いた様な言語」と言うと納得してもらえる。
本当はもっと伝えたいことはあるんだが、雰囲気がサワヤカ過ぎて言葉にできない。
0333デフォルトの名無しさん
2006/10/26(木) 23:50:05それです!
どうもありがとう。で、最近は python もいろいろな書き方できるようになってきた
ような気がする。というのが本題でした。
具体例とか言われると、迷うけど、2.5の参考演算子とか、要るの〜?って感じで。
3000には switch も来るそうで。
複数の言語を浅くやってると、switch $i in だか case in $i だか esac だか栄作だか
混乱するんですよね。
0334デフォルトの名無しさん
2006/10/26(木) 23:53:14replace('参考', '三項')
0335デフォルトの名無しさん
2006/10/26(木) 23:57:30参考演算子って、自分の知らない仕様が追加されているのかと思ってあせったYO!
「三項」ね・・・。
switchイラネ。if - elifで十分じゃん・・・。
たまにelse ifと書いて、叱られるけど。
0336デフォルトの名無しさん
2006/10/27(金) 00:08:03if 〜 elifだと、条件式の評価が複数回になる
switchなら、一回で済む
0337デフォルトの名無しさん
2006/10/27(金) 00:15:39あの構文使うぐらいなら今まで通り〜and〜or〜と書いたほうがよっぽど分かり易いな。
0339デフォルトの名無しさん
2006/10/27(金) 00:19:17そうなの?
確かにCだと switch のほうが速いと言うのは定説ではあるが
(いまどきは知らんが、もしかしたら最適化でそんなのどっちでも同じになってるかも)
0340デフォルトの名無しさん
2006/10/27(金) 00:21:17There are two main motivations to want to introduce new syntax for this idiom:
* It is repetitive: the variable and the test operator, usually '==' or 'in', are repeated in each if/elif branch.
* It is inefficient: when an expression matches the last test value (or no test value at all) it is compared to each of the preceding test values.
PEPを子守歌にして寝ろ。クソどもが。
0341335
2006/10/27(金) 00:26:27match identifier:
object:
syntax
object:
continue # Equal C - no break
any:
pass # Equal C - default
みたいな文法なんだねぇ。
書けるにしても、もうちっと他の言語と合わせて欲しいかも。
>>339
VCやGCCやMIPS系のコンパイラでも殆ど最適化かかっているよ。
ただ、逐一判定は行っているので(無駄な判定はとばしてしまうが)、
>>336が本当ならすごい実装していることになる。
0342デフォルトの名無しさん
2006/10/27(金) 00:29:27どこを調べたんだ?!
0343デフォルトの名無しさん
2006/10/27(金) 00:30:260344デフォルトの名無しさん
2006/10/27(金) 00:31:090345341
2006/10/27(金) 00:31:29http://mail.python.org/pipermail/python-list/2002-March/095015.html
2002年の話かw
0346デフォルトの名無しさん
2006/10/27(金) 00:32:070347デフォルトの名無しさん
2006/10/27(金) 00:33:410348デフォルトの名無しさん
2006/10/27(金) 00:33:42実行させるようなことはできないみたいね。
まぁアレもどうかとは思うが。break 忘れる奴多すぎ。
0349デフォルトの名無しさん
2006/10/27(金) 00:36:22トンデモ電波野郎は去ることにするよ。
0350デフォルトの名無しさん
2006/10/27(金) 12:44:120351Python初心者
2006/10/27(金) 15:03:55>何が問題なの?
例えば、
「初めてのPython」でオーバーライドのことを
オーバーロードと表現している???
引数の数で関数の動きを変えることが
Pythonでは出来ないんだとP415まで読んで
ようやく分かりました。「初心者」が嵌り易い
問題だと思いませんか?
class OverLoad :
#オーバーロードのサンプル
def add (self,x,y,z):
return x + y + z
def add (self,x,y):
return x + y
print OverLoad().add(3,4)
print OverLoad().add(3,4,5)
>>>
7
Traceback (most recent call last):
File "C:/Python25/overload.py", line 14, in <module>
print ol3.add(3,4,5)
TypeError: add() takes exactly 3 arguments (4 given)
0352デフォルトの名無しさん
2006/10/27(金) 15:08:520353デフォルトの名無しさん
2006/10/27(金) 15:39:57トンデモ電波野郎乙
0354デフォルトの名無しさん
2006/10/27(金) 15:42:47「初心者」が嵌り易い問題だとは思いません
0355デフォルトの名無しさん
2006/10/27(金) 15:46:33質問に答えてから「答えは〜ページに書いてありました」なんて失礼にもほどがある
0356デフォルトの名無しさん
2006/10/27(金) 15:48:260357デフォルトの名無しさん
2006/10/27(金) 15:51:380358デフォルトの名無しさん
2006/10/27(金) 15:55:33Javaでも使ってろ,というのもカワイソウなので
ヒント: >>> dir(OverLoad)
0359デフォルトの名無しさん
2006/10/27(金) 16:12:180360デフォルトの名無しさん
2006/10/27(金) 16:15:43○「メソッドが上書きされて警告も出ないなんて、私が…」
0361デフォルトの名無しさん
2006/10/27(金) 16:42:33まず本の一冊くらい読み通そうね。
0362デフォルトの名無しさん
2006/10/27(金) 18:03:29>引数の数で関数の動きを変えることが
>Pythonでは出来ないんだとP415まで読んで
どこの初心者が引数の数の違う関数を書くのだよw
ちなみにちゃんと出来るので心配無用
http://www.python.jp/doc/release/tut/node6.html#SECTION006730000000000000000
0363デフォルトの名無しさん
2006/10/27(金) 18:44:55>ちなみにちゃんと出来るので心配無用
こういうこと言ってんじゃないと思うが。
まぁ引数の数が違うメソッドの名前を同じにしたい場面って、あまり思いつかないけどね。
>>351 のサンプルだったら確かに >>362 の紹介した任意引数リストで
十分だと思うし。
リストを容易に扱える時点でC++とかのオーバーロードなんて(゚�听)イラネ。
0364デフォルトの名無しさん
2006/10/27(金) 19:05:52> >何が問題なの?
> 例えば、
ぜんぜんたとえになっていない件について。
>>199と>>256と>>351はそれぞれ違う言語機能の話じゃん。
どうもあなたの読書感想文はウケが悪いみたいだから、
続きは自分の日記帳に書くのがいいと思われ。
0365デフォルトの名無しさん
2006/10/27(金) 19:50:25いいじゃん。ネタないんだから、このネタで。
0366デフォルトの名無しさん
2006/10/27(金) 19:58:14Pythonに対してだけでなく、暗黙の内に比較対照にしている言語に対してもだけど
0367デフォルトの名無しさん
2006/10/27(金) 20:03:31汚いものは消毒しないとね。
0368デフォルトの名無しさん
2006/10/27(金) 20:53:540369デフォルトの名無しさん
2006/10/27(金) 21:02:150370デフォルトの名無しさん
2006/10/27(金) 21:17:57変換したいのですが、ループを使わずに
一気に変換することは可能でしょうか?
例:
['1','2','3'] → [1, 2, 3]
どなたかご教授頂けないでしょうか。
よろしくお願い致します。
0371デフォルトの名無しさん
2006/10/27(金) 21:25:120372デフォルトの名無しさん
2006/10/27(金) 21:36:440374デフォルトの名無しさん
2006/10/27(金) 21:50:350375デフォルトの名無しさん
2006/10/27(金) 22:09:430376デフォルトの名無しさん
2006/10/27(金) 22:14:540377デフォルトの名無しさん
2006/10/27(金) 23:33:37個人の好き嫌いを一般論にすり替えようとしてたりしてるから。
0378デフォルトの名無しさん
2006/10/27(金) 23:34:320379デフォルトの名無しさん
2006/10/27(金) 23:35:390380デフォルトの名無しさん
2006/10/27(金) 23:43:490381デフォルトの名無しさん
2006/10/27(金) 23:55:290382デフォルトの名無しさん
2006/10/28(土) 00:17:060383デフォルトの名無しさん
2006/10/28(土) 00:28:290384デフォルトの名無しさん
2006/10/28(土) 00:35:200385デフォルトの名無しさん
2006/10/28(土) 00:36:280386デフォルトの名無しさん
2006/10/28(土) 00:40:250387デフォルトの名無しさん
2006/10/28(土) 00:40:360388デフォルトの名無しさん
2006/10/28(土) 05:39:340389デフォルトの名無しさん
2006/10/28(土) 09:27:490390デフォルトの名無しさん
2006/10/28(土) 09:30:460391デフォルトの名無しさん
2006/10/28(土) 09:39:230392デフォルトの名無しさん
2006/10/28(土) 09:41:450393デフォルトの名無しさん
2006/10/28(土) 09:43:07>バレバレ仮面
大正ロマンの香りのする妄想ですね。
0394デフォルトの名無しさん
2006/10/28(土) 09:48:090395デフォルトの名無しさん
2006/10/28(土) 10:03:55正直、私はあなたを応援するよ。
あなたの質問は、他の言語スレならどれも問題なく応答されている類のものだ。
「空気が読めない」とか批判されているけど、
はっきり言って、ここのスレの空気は腐っている。
0396デフォルトの名無しさん
2006/10/28(土) 10:13:010397デフォルトの名無しさん
2006/10/28(土) 10:23:36バレバレ仮面乙。
0398デフォルトの名無しさん
2006/10/28(土) 10:26:57腐ったスレの代表例
0399デフォルトの名無しさん
2006/10/28(土) 10:35:44デザパタ原理主義
lambda原理主義
態度のでかい初心者はいぢめる原理主義
腐ったスレとけなしつつ、ほかに行くとこがない原理主義
0400デフォルトの名無しさん
2006/10/28(土) 11:34:38本の一冊もまともに最後まで読めないアホを応援すんなよWWW
0401デフォルトの名無しさん
2006/10/28(土) 11:50:560402デフォルトの名無しさん
2006/10/28(土) 11:54:02なんか、JavaやLispの参考書のサンプルをPythonで書き直してみるとか
そういうただ不毛なパズルをやってるだけのような気がする…
そもそも違うものなんだから、考え方や心構えも違うわけで。
例えとしては微妙かも知れないが、
性善説に基づいたある程度の秩序が成り立ってる所に
性悪説の常識を振り回しながら踏み込んでいく、っていうのは
必ずしも望ましい事ではないと思う。
0403デフォルトの名無しさん
2006/10/28(土) 12:17:36その考え方や心構えを聞いているように見えるが。
0404デフォルトの名無しさん
2006/10/28(土) 12:23:54おそらくPythonやってもいない粘着嵐を追い出さないとダメだ。
0405デフォルトの名無しさん
2006/10/28(土) 13:06:25まずはメタクラスあたりから。
0406デフォルトの名無しさん
2006/10/28(土) 13:32:010407デフォルトの名無しさん
2006/10/28(土) 13:37:470408デフォルトの名無しさん
2006/10/28(土) 13:41:57川|川川 川
‖川 | | | ー ー|| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
川川 | |ー□--□l < 同じ反応ばっかりしてると某おっさんなのがバレバレ仮面。
川川| | \ J/|| \_______________
川川‖ | ロ|/| カタカタカタ
川川|‖\|__|l|l _____
/川川川__/川川 | | ̄ ̄\ \
| 川川| |/川l__,| | | ̄ ̄|
| \_|__|_|、__| | |__|
| \____|つ |__|__/ /
| | | | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕
| | ̄
0409デフォルトの名無しさん
2006/10/28(土) 13:46:140410デフォルトの名無しさん
2006/10/28(土) 13:48:39ところで、python の thread で mutex で複数待たせて、mutex 開放するとするじゃない?
そのときブロックから復帰するのってFIFO?それともOSまかせの順不同?
0411デフォルトの名無しさん
2006/10/28(土) 14:07:510412デフォルトの名無しさん
2006/10/28(土) 14:33:140413Python初心者
2006/10/28(土) 15:38:33応援Tks.
ところで、ここにお集まりの先生方!
(と、Python原理主義者の皆さん…)
http://diveintopython.org/
で「Dive into Python」が無料で読めます。
Dive Into Python has already been fully or partially
translated into several languages. If you translate
it into another language and would like to be listed
here, just let me know.
Italian
French
Spanish
Chinese
Korean
Russian
この中に同じアジア近隣諸国であるChinese Korean が
有ってJapaneseが無いのは日本のPythonファンとして、
いかにも寂しい気がしますよね。(さすがに
North Koreaは無いが…)
どなたかこれを翻訳して、2ちゃんねるにおける
Pythoniansの実力の程を世界に知らしめてやろう!、
といった「気迫溢れる先生」は居られないのだろうか?
0414デフォルトの名無しさん
2006/10/28(土) 15:51:12>どのスレッドが処理を進行できるのかは定義されておらず、実装によって異なるかもしれません。
かなぁ。結局 pthread もそうだし、python の thread って pthread 利用してるんだっけか。
pthread だと lock 開放順をFIFO したかったら root 権が要るんだけど、python ではどうなんだろうなぁ。
0415デフォルトの名無しさん
2006/10/28(土) 15:52:05意味はよくわからないが、SICP の例文を全部 Python で書いてくれるとうれしい
0416デフォルトの名無しさん
2006/10/28(土) 15:53:160417デフォルトの名無しさん
2006/10/28(土) 16:09:19検索してみると翻訳作業をはじめたといってる人は見つかるんだけど
続けてるとかあきらめたとかの現況がわからないので
別個にはじめていいものかどうかわからんね。
0418デフォルトの名無しさん
2006/10/28(土) 16:11:38このスレにいるキモオタどもには、そんな根性のあるやつなんていないよ。
0419デフォルトの名無しさん
2006/10/28(土) 16:45:06後半:英語読めない素人には必要ナシ
0420デフォルトの名無しさん
2006/10/28(土) 16:54:31Pythonで作られたプレゼンツールKeyJnoteの
Windows版はPythonの必要な部分だけ抜き出して使っているみたいだ。
ファイル数は354、16.0MB。
まあでかいけど、いまどきはさほど問題になる大きさでもないと思う。
これと同じ方法が使えないかな?
0421デフォルトの名無しさん
2006/10/28(土) 17:01:210422デフォルトの名無しさん
2006/10/28(土) 17:01:53http://safari.oreilly.com/0596009259
ページ総数1596に圧倒されてます。買う前から判ってたけどさ。
0423デフォルトの名無しさん
2006/10/28(土) 17:19:07前版もかなり分厚かったと記憶してるけど、3rd editionは何センチぐらいになるんですか?
0424デフォルトの名無しさん
2006/10/28(土) 17:38:220425デフォルトの名無しさん
2006/10/28(土) 17:40:500426デフォルトの名無しさん
2006/10/28(土) 17:42:420427デフォルトの名無しさん
2006/10/28(土) 17:45:49随分厚くなってるんだね。
どんなことが加筆されてるんだろうか。
0428デフォルトの名無しさん
2006/10/28(土) 18:11:10( ゚∀゚)彡 おっぱいそん!
⊂彡 おっぱいそん!
0429デフォルトの名無しさん
2006/10/28(土) 18:20:540430デフォルトの名無しさん
2006/10/28(土) 18:40:210431デフォルトの名無しさん
2006/10/28(土) 18:40:520432デフォルトの名無しさん
2006/10/28(土) 18:51:320433デフォルトの名無しさん
2006/10/28(土) 18:55:13でも終了可能
0434デフォルトの名無しさん
2006/10/28(土) 20:09:380435デフォルトの名無しさん
2006/10/28(土) 20:19:23付けたりはずしたりするといい感じ
0436デフォルトの名無しさん
2006/10/28(土) 20:24:19面倒でもちゃんと書けばいいと思った。@とか使いたくない。perlじゃあるまいし。
0437デフォルトの名無しさん
2006/10/28(土) 20:35:050438デフォルトの名無しさん
2006/10/28(土) 20:49:350439デフォルトの名無しさん
2006/10/28(土) 20:54:180440デフォルトの名無しさん
2006/10/28(土) 21:12:36An Introduction to Python & IronPython
http://www.okisoft.co.jp/esc/python/iron-python-intro.html
0441デフォルトの名無しさん
2006/10/28(土) 21:23:41ちゃんと、ってどう書くの?
0442デフォルトの名無しさん
2006/10/28(土) 21:33:20いろんなことがごっちゃに書いてあってとても読みづらいですね。
これも釣りなのかと思ってしまう(WWWWWWWWW
0443デフォルトの名無しさん
2006/10/28(土) 23:01:56自分も買った。背表紙は6.0cmあった。重さは2.0Kg。
紀伊国屋から持って帰るのがちと辛かった。
0444デフォルトの名無しさん
2006/10/29(日) 00:57:260445デフォルトの名無しさん
2006/10/29(日) 01:47:320446デフォルトの名無しさん
2006/10/29(日) 01:56:17意外とはまりポイントになりやすい
そのかわり、次のどっちも同じ戻り値になるわけだが
return a
return (a)
0447デフォルトの名無しさん
2006/10/29(日) 02:00:44(a) == aにならないのはおかしいって言いたいのか?
要素1個のタプルを作りたかったら、
(a,)って書かないとダメなのが気持ち悪い、とかじゃなくて?
0448447
2006/10/29(日) 02:01:330449デフォルトの名無しさん
2006/10/29(日) 02:03:25'(' ')' はダミーだと思え
0450デフォルトの名無しさん
2006/10/29(日) 02:27:05> 一つの要素を持つタプルは、値の後ろにコンマを続ける
> (単一の値を丸括弧で囲むだけでは不十分です) ことで構築できます。
> 美しくはないけれども、効果的です。
とあるね。
The Zen of Python の
> Special cases aren't special enough to break the rules.
> Although practicality beats purity.
あたりだろうか。
0451デフォルトの名無しさん
2006/10/29(日) 04:38:22return ( a
+ b
+ c )
(a)がタプルにならないおかげでこういう行継続が可能に・・・
(使い方間違ってるのかな・・・
0452デフォルトの名無しさん
2006/10/29(日) 07:52:23その自慢の「本質」とやらで空タプルを作ってくれ。
0453デフォルトの名無しさん
2006/10/29(日) 08:09:210454デフォルトの名無しさん
2006/10/29(日) 08:15:28()、[]、{}で空のが作れるのは統一されてる
0455デフォルトの名無しさん
2006/10/29(日) 08:19:03程度の意味しかないな。
0456デフォルトの名無しさん
2006/10/29(日) 09:45:23別に括弧で括らなくても、カンマを付けるだけでタプルになるんだよね。
>>> t = 1,
>>> t
(1,)
そういう意味で >>449 は「',' がタプルの本質」って書いたんじゃないだろうか。
んで、本来は括弧が不要である以上「()で空タプルができる」ってのが例外かな、と思ったんだけど。
まあ、あんまりグダグダと議論しても、Guidoにでも聞かない限り答えはでないか。
0457デフォルトの名無しさん
2006/10/29(日) 11:32:19答えは言語仕様で厳格に規定されていると思うけど
0458デフォルトの名無しさん
2006/10/29(日) 11:38:19def foo():
return 1, 2, 3
a, b, c = foo()
気が利いてるよな
0459デフォルトの名無しさん
2006/10/29(日) 11:56:02だから、タプルには 〔きっこう括弧〕 でも使う事にすれば良かったんだ
0460デフォルトの名無しさん
2006/10/29(日) 11:58:330461デフォルトの名無しさん
2006/10/29(日) 12:07:050462デフォルトの名無しさん
2006/10/29(日) 13:10:10indexの値と一緒にとりたい場合って、組み込みの関数ってあるんすかね?
(val,index)=max(list)見たいな感じで、list内の最大値と、そのインデックスが帰ってくると嬉しい。
0463デフォルトの名無しさん
2006/10/29(日) 13:21:13アドホックな方法は存在しえないかもな
max()で帰ってきた値をindex()に渡せばインデックスは得られるよ
0464デフォルトの名無しさん
2006/10/29(日) 13:38:32a=(1, 2, 3, 4, 4)
[i[0] for i in enumerate(a) if i[1] == max(a)]
0465デフォルトの名無しさん
2006/10/29(日) 13:58:43>>> def trev(t): return t[1], t[0]
>>> a = [1.0, 2.0, 3.0, 4.0]
>>> trev(max(map(trev, enumerate(a))))
(3, 4.0)
0466デフォルトの名無しさん
2006/10/29(日) 14:26:10def where_is_max(L):
for index, value in enumerate(L):
if value == max(L):
return (index, value)
0467462
2006/10/29(日) 14:32:510468デフォルトの名無しさん
2006/10/29(日) 15:48:470469デフォルトの名無しさん
2006/10/29(日) 17:37:22hoge(a, b, c)
を
hoge a, b, c
と書いたりは出来ないので表記上は別物になるでしょう
0470デフォルトの名無しさん
2006/10/29(日) 18:59:010471デフォルトの名無しさん
2006/10/29(日) 19:02:17459でもすぐに思いつく程度のことをGuidoが考えなかったとでも?
0472デフォルトの名無しさん
2006/10/29(日) 19:11:580473デフォルトの名無しさん
2006/10/29(日) 19:49:25index, value = max(enumerate(a), key=itemgetter(1))
0474Python初心者
2006/10/29(日) 20:47:08>初心者ですが、Programming Python, 3rd Edition 買ってみました。
>ページ総数1596に圧倒されてます。買う前から判ってたけどさ。
重かったろうねぇ…
「初めてのPython」->715ページの倍!
私は現在ようやく476ページまで読破したところです。
ところでLuts先生がPythonの講義をすると、必ず受講者の
半分がオブジェクト指向プログラミングのところで
脱落するそうです。ー>(熟睡する人もいるとか…)
「Pythonの」オブジェクト指向で脱落した人は本当に
「半分で」済んでいるのだろうか?
結構奥が深いというか、複雑怪奇というか、脱落するのは
ある意味必然的な結果のように感じる。
先生は他の言語でオブジェクト指向によるシステム開発
経験の有る無しが受講生の覚醒と熟睡を分けると書いて
いるが、返って有る人の方が熟睡度が深いかもね?
0475デフォルトの名無しさん
2006/10/29(日) 20:50:470476デフォルトの名無しさん
2006/10/29(日) 21:01:05Unicodeにはいろんな括弧があるから今後設計される言語は楽しみだなw
0477デフォルトの名無しさん
2006/10/29(日) 21:05:030478デフォルトの名無しさん
2006/10/29(日) 21:49:060479デフォルトの名無しさん
2006/10/29(日) 21:49:180480デフォルトの名無しさん
2006/10/29(日) 21:57:000481デフォルトの名無しさん
2006/10/29(日) 22:05:48それも嫌だが、
begin-tuple 1, 2, 3, end-tuple
みたいなのもちょっと鬱陶しいぞw
要はバランス感覚だね
0482デフォルトの名無しさん
2006/10/29(日) 22:06:09http://www.python.org/dev/peps/pep-0318/
<...>の導入はデコレータの時にも検討されているので読んでみれ。
言語の仕様策定の難しさといったら、常人の想像を越えているな。
0483デフォルトの名無しさん
2006/10/29(日) 22:12:11本は最後まで読んでから物を言え、と
何度言われれば分かるの?
0484デフォルトの名無しさん
2006/10/29(日) 22:25:40いい加減、放置したらええんでないの
0485デフォルトの名無しさん
2006/10/29(日) 22:43:320486デフォルトの名無しさん
2006/10/29(日) 22:45:010487デフォルトの名無しさん
2006/10/29(日) 23:02:260488デフォルトの名無しさん
2006/10/29(日) 23:07:25あー、交渉人が主役のエロゲでそれが決め台詞な奴いた。
0489デフォルトの名無しさん
2006/10/29(日) 23:07:550490デフォルトの名無しさん
2006/10/29(日) 23:32:32hoge((a,b,c))
を
hoge(a,b,c)
と書くこもとも出来ない、
この辺の仕様の関係で、引数の*valっていうのが抜かせないんだと思う・・
0491デフォルトの名無しさん
2006/10/29(日) 23:49:230492デフォルトの名無しさん
2006/10/30(月) 00:47:200493デフォルトの名無しさん
2006/10/30(月) 00:51:44♪ ∧,_∧
(´・ω・`) )) Simple, fun, and indented〜♪
(( ( つ ヽ、 ♪
〉 とノ )))
(__ノ^(_)
0494デフォルトの名無しさん
2006/10/30(月) 00:55:40そのための仕様だろ。
0495デフォルトの名無しさん
2006/10/30(月) 01:38:530496デフォルトの名無しさん
2006/10/30(月) 10:40:110497デフォルトの名無しさん
2006/10/30(月) 11:23:18こういうピンボケがいるからこのスレはダメになる
0498デフォルトの名無しさん
2006/10/30(月) 11:31:13>*argsとか**args
異なる引数に同じ名前をつけたらダメだよ。
基本から勉強しようね。
0499デフォルトの名無しさん
2006/10/30(月) 11:33:37お前がピンボケと思うのなら、「いや、そうじゃなくてね」と話を続けるのが大人ってもんだ.
このコミュニケーション不全野郎が.
0500デフォルトの名無しさん
2006/10/30(月) 11:56:12そういう事じゃないだろ
hogeって書いてあったら全部同じ変数かよ
0501デフォルトの名無しさん
2006/10/30(月) 12:01:06495 = 497 = 500は世間を知らないお子ちゃま決定(WWWWWW
0502デフォルトの名無しさん
2006/10/30(月) 12:04:180503デフォルトの名無しさん
2006/10/30(月) 12:08:29ハンガリアンなツワモノはいますか?
0504デフォルトの名無しさん
2006/10/30(月) 12:17:440505デフォルトの名無しさん
2006/10/30(月) 12:18:57V I P P E R か (wwwwwww
0506デフォルトの名無しさん
2006/10/30(月) 12:24:250507デフォルトの名無しさん
2006/10/30(月) 12:26:05>502
0508デフォルトの名無しさん
2006/10/30(月) 12:51:14誰もPythonが初めて実装したなんて言ってないと思うよ
0509デフォルトの名無しさん
2006/10/30(月) 13:09:48>>>type(exit)("death note")()
0510デフォルトの名無しさん
2006/10/30(月) 13:18:53カッコが多くてムズムズッとするぜ
0511デフォルトの名無しさん
2006/10/30(月) 13:39:31>>496 は天然だからほっとこう。
0512デフォルトの名無しさん
2006/10/30(月) 13:49:56>type(exit)("death note")()
TypeError: 'str' object is not callable
0513デフォルトの名無しさん
2006/10/30(月) 13:50:39>502
0514デフォルトの名無しさん
2006/10/30(月) 13:58:28>>type(exit)("death note")()
NameError: No. I wrote your name. You die.
0515デフォルトの名無しさん
2006/10/30(月) 14:09:140516デフォルトの名無しさん
2006/10/30(月) 14:18:590517デフォルトの名無しさん
2006/10/30(月) 14:22:270518デフォルトの名無しさん
2006/10/30(月) 14:33:06ん?もしかして古いpythonだと、exitが文字列だったりするんですかね?
type(exit)だけだと何になりますか?
0519デフォルトの名無しさん
2006/10/30(月) 14:46:22/path/to/lib/python2.5/site.py
class Quitter(object):
def __init__(self, name):
self.name = name
def __repr__(self):
return 'Use %s() or %s to exit' % (self.name, eof)
:
0520デフォルトの名無しさん
2006/10/30(月) 14:48:22/path/to/lib/python2.4/site.py
def setquit():
"""(ry
"""
if os.sep == ':':
exit = 'Use Cmd-Q to quit.'
elif os.sep == '¥¥':
exit = 'Use Ctrl-Z plus Return to exit.'
else:
exit = 'Use Ctrl-D (i.e. EOF) to exit.'
__builtin__.quit = __builtin__.exit = exit
0521デフォルトの名無しさん
2006/10/30(月) 15:46:480522デフォルトの名無しさん
2006/10/30(月) 16:40:110523デフォルトの名無しさん
2006/10/30(月) 16:43:510524デフォルトの名無しさん
2006/10/30(月) 16:46:44二重否定の構文は分かりづらく、メンテナンス性が悪いと思ったので
リファクタリングしてみました
> おやおや、>>521は自分だけが「基地外」であることに気づいていないようですよ。
0525デフォルトの名無しさん
2006/10/30(月) 16:48:280526デフォルトの名無しさん
2006/10/30(月) 16:58:270527デフォルトの名無しさん
2006/10/30(月) 17:06:450528デフォルトの名無しさん
2006/10/30(月) 17:25:290529デフォルトの名無しさん
2006/10/30(月) 17:30:130530デフォルトの名無しさん
2006/10/30(月) 17:39:33途中でPythonのバージョンが変わってるようですが???w
ソース確認してきたけどやっぱり2.4のexitはただの文字列で、
2.5のexitはQuitterクラス(という終了用のクラス)になってる模様。
だから2.5だと>>509みたいな遊び(?)が可能
0531デフォルトの名無しさん
2006/10/30(月) 18:00:00>ソース確認してきたけどやっぱり2.4のexitはただの文字列で、
>2.5のexitはQuitterクラス(という終了用のクラス)になってる模様。
519と520に該当コードが張ってあるじゃん。
君は分裂症とかそういう病気の人かな?
0532Python初心者
2006/10/30(月) 18:25:58>本は最後まで読んでから物を言え、と
>何度言われれば分かるの?
ご忠告により昨日頑張って525ページまで読みました。
Lutz先生がそのページにおいて、
「Pythonという言語のコア部分の解説は終わりです。
ここまで読んだ方は、十分に自分はPythonプログラマ
であると名乗る資格があるでしょう。」
と認証されました。「履歴書」にそう書けって…
0533Python初心者
2006/10/30(月) 18:28:01実装する方法を書いてましたよね?以下、私も考えましたが、
今一ぴったり来ない。他に良い手はあるでしょうか?
class Interface:
def virtual_method(self):
self.name = 'Python!'
self.act()
def act(self):
assert 0,'act must be defined!'
class Sub(Interface):
def act(self):
print 'Let us act with '+ self.name
if __name__=='__main__':
s = Sub()
s.virtual_method()
>>>
Let us act with Python!
0534デフォルトの名無しさん
2006/10/30(月) 18:34:53ああ、日本語がまったく書いてないから>>519>>520の意図が全然読めてなかった。
しかし、これで分裂症に見られるわけか。なんかもう書きたくない。
0535デフォルトの名無しさん
2006/10/30(月) 18:49:590536デフォルトの名無しさん
2006/10/30(月) 18:57:220537デフォルトの名無しさん
2006/10/30(月) 20:03:48吐き出すようなモジュールってありますか?
あるいは、そんなものって需要ありますか?作ろうとしてるんですが。
0538デフォルトの名無しさん
2006/10/30(月) 20:29:27zope3は自前でインターフェースを実装している
0539デフォルトの名無しさん
2006/10/30(月) 20:31:30そゆのは Template Method パタンとゆーのでは。
_________________________
<○ノ
‖
くく
しまった!デザパタはNGワードだった!
オレが止めているうちに他の話題に移れ!
早く!早く!オレに構わず逝け!
0540デフォルトの名無しさん
2006/10/30(月) 20:37:03ttp://www.dezentral.de/warp.html?http://www.dezentral.de/soft/XMarshaL/
ttp://xmlobject.base-art.net/
0541デフォルトの名無しさん
2006/10/30(月) 21:16:33ありがとうございます、たくさんあるんですね。
さっそくさわってみようと思います。
他に、XMLObjectなるものを見つけました。
http://xmlobject.sourceforge.net/
0542デフォルトの名無しさん
2006/10/30(月) 21:18:41ひたすらソース貼るだけで日本語では罵倒以外出来ない奴とか…。
Pythonに興味を持った人がこのスレ見て
「Pythonプログラマは人格破綻者ばっかりだ」とか思われたら
悔しくてたまらないわあ。
0543デフォルトの名無しさん
2006/10/30(月) 21:33:110544デフォルトの名無しさん
2006/10/30(月) 21:49:53このスレだけ見てそういう判断をするのは問題だし、そういう人間はおらんだろう。
0545デフォルトの名無しさん
2006/10/30(月) 22:41:44真っ先に指摘すべきは
空気が読めず何度言われても態度を改めない「Python初心者」だろ(w
お前わかりやすすぎるんだよ、馬鹿が(wwwwwww
0546デフォルトの名無しさん
2006/10/30(月) 23:22:53日本語の情報少なくて、とっつきにくい印象があるのか
底辺がものすご狭い。
0547デフォルトの名無しさん
2006/10/30(月) 23:28:09何ていうかこう、斜め上から爆撃するような人はほとんどいなかった
0548デフォルトの名無しさん
2006/10/30(月) 23:40:21Zope本出たね、って言っただけで厨呼ばわりされたりしたな
0549デフォルトの名無しさん
2006/10/30(月) 23:41:540550デフォルトの名無しさん
2006/10/30(月) 23:45:09日本語の情報が増えるとDQNも増える。
0551デフォルトの名無しさん
2006/10/30(月) 23:46:34言葉遣いがヘンな奴。
0552デフォルトの名無しさん
2006/10/31(火) 00:18:19こういうノリは好きだ(w
ついでに言うとデザパタネタに過剰反応しちゃう奴もわりと好きだ(wwww
0553デフォルトの名無しさん
2006/10/31(火) 00:33:36どっかで見たから真似したんだけど。
0554デフォルトの名無しさん
2006/10/31(火) 01:59:24ちょっとでも話が難しくなると皆さんも分からないんですねw
とか言い出すのでスルーちからを発揮する時
0555デフォルトの名無しさん
2006/10/31(火) 02:22:250556デフォルトの名無しさん
2006/10/31(火) 02:31:11Python初心者を
応援します
という自演
どーでもいいですよ
0557デフォルトの名無しさん
2006/10/31(火) 05:32:38確かにPython自体は初心者だと思うが
他言語では「自称」中級者だろうなw
少なくとも本当の初心者とは違う
強いて言えばアンチって感じか?
結構知ってる癖に知らないフリして
さも今知ったフリして難癖付ける
ま、他言語でもアンチなんだろうがな
クレーマー気質の奴って居るからね
0558デフォルトの名無しさん
2006/10/31(火) 11:23:490559デフォルトの名無しさん
2006/10/31(火) 11:44:110560デフォルトの名無しさん
2006/10/31(火) 11:56:220561Python初心者
2006/10/31(火) 16:29:36>結構知ってる癖に知らないフリして
>さも今知ったフリして難癖付ける
難癖つけてる気は全然ないんだが。
ここに居る連中でもPythonが最初のプログラミング言語だ
なんてのは少ないはずだ。大抵はVB,C,Java辺りから
流れてきてPythonが面白いので使ってる訳じゃないの?
謂わば全員Pythonは第二外国語のようなもんだ。
まして日本においてPythonで食ってるなんてのは極々少数。
(一部のWriter程度…か)
従ってこのスレで他の言語の視点から、それと比較して
Pythonの言語仕様を語ることが難癖とはとても思えん。
なお、読んでから発言しろ!って何回も指摘されるので
一応「初めてのPython」全て読了しました。
理解出来たかどうかは別にして…
と言うか、あまり厚いので最後の方では最初に書かれてあった
内容をすっかり忘れてしまい、zip()ってなんだったかなぁ?
って感じだった。
700ページでそれ位だから1600ページあるProgramming Python,
3rd Edition は…とても手が出ない。
もし、Programming Pythonを読んでない奴は、ここで発言する
資格無し、と言われれば沈黙せざるを得ないが…
0562デフォルトの名無しさん
2006/10/31(火) 17:03:41>もし、Programming Pythonを読んでない奴は、ここで発言する
>資格無し、と言われれば沈黙せざるを得ないが…
アンタに限ってはそういうことにしておいてほしいぜ。
0563デフォルトの名無しさん
2006/10/31(火) 17:11:400564デフォルトの名無しさん
2006/10/31(火) 17:28:07○このスレの禁止事項
・デザパタ
・メタクラス
・他言語との比較(特にRuby)
・Pythonの言語仕様についての違和感
・3行以上の長文
いいかげん息がつまる。なぜこれらが禁止事項なのか、理解できない。
0565デフォルトの名無しさん
2006/10/31(火) 17:28:27> Pythonの言語仕様を語る
には、それなりの知識や経験が必要で、本を途中まで読んだだけで語っても
他人に笑われるだけだってことだよ
0566デフォルトの名無しさん
2006/10/31(火) 17:29:30ねぇ
かよ
0567デフォルトの名無しさん
2006/10/31(火) 17:30:25>○このスレの禁止事項
誰が決めたんだ(w
気にすることないじゃん
過剰反応する奴はスルーすればいいし
な?<4行目
0568デフォルトの名無しさん
2006/10/31(火) 17:42:28> 過剰反応する奴はスルーすればいいし
> な?<4行目
俺もそう思ってたんだが、今は考えが違う。
このスレの煽り叩きをずっと見ていたんだが、彼らは外部から来た荒らしじゃ
なくて、元からの住人で、質問の回答者をやったりもしてるんじゃないだろうか?
だったら、追い出そうとしたり、スルーして沈静化を待ったりしても意味がない。
つまり、愉快犯でやってるんじゃなくて、このスレの(彼らにとっての)クオ
リティを守ろうとしているんだと思う。理解しづらいが、メタクラスやデザパ
タや他言語の話をすると(彼らにとっての)クオリティが落ちるんだろう。
彼らには彼らの幸せがあるんだから、そういう話をどこか別スレでやれるなら、
お互い幸せになれるんじゃないかと思った。
0569某自称初心者は消えて欲しいけど…
2006/10/31(火) 17:50:01python のコードはワンライナー限定? っていうのはチト問題ありすぎ
0570デフォルトの名無しさん
2006/10/31(火) 19:52:050571デフォルトの名無しさん
2006/10/31(火) 19:54:050572デフォルトの名無しさん
2006/10/31(火) 20:18:28みんな本名で投稿すればいいんだよ!
0573デフォルトの名無しさん
2006/10/31(火) 20:30:23どんなプログラム作ってる人?
0574デフォルトの名無しさん
2006/10/31(火) 20:31:550575デフォルトの名無しさん
2006/10/31(火) 20:40:53Python 以外の LL は使うことはないけど常識的なことは知っている程度。
なぜ Python だったのか。単純に言えば C++ で書くのウザかったから。
0576デフォルトの名無しさん
2006/10/31(火) 20:43:13def moge():
return 'hogemoge'
x = """hogemoge""""
>>> print getLocals(hoge)
{'x': 'hogemoge', 'moge': <function>}
てな感じでlocals()を外から取り出す関数って不可能?
0577デフォルトの名無しさん
2006/10/31(火) 20:49:26hogeを実行しない限り、取り出したいもの自体が存在していない気がする
0578デフォルトの名無しさん
2006/10/31(火) 21:44:03phpでいうところのvar_dump()みたいのを探したんですが見つからないなーと。。
0579デフォルトの名無しさん
2006/10/31(火) 21:44:17とりあえず。
>>> hoge.func_code.co_varnames
('moge', 'x')
>>> hoge.func_code.co_nlocals
2
0580デフォルトの名無しさん
2006/10/31(火) 21:46:30print >>sys.stderr, repr(some_object)
とかじゃなくて?
0581デフォルトの名無しさん
2006/10/31(火) 23:30:49╋
/\
(i) <お友達になろう!
╋
/\
(i) <私まんこちゃん!
╋
/\
http://ex13.2ch.net/test/read.cgi/gline/1158927200/
0582デフォルトの名無しさん
2006/11/01(水) 11:16:390583Python初心者
2006/11/01(水) 12:21:30>つまり、愉快犯でやってるんじゃなくて、このスレの(彼らにとっての)クオ
>リティを守ろうとしているんだと思う。理解しづらいが、メタクラスやデザパ
>タや他言語の話をすると(彼らにとっての)クオリティが落ちるんだろう。
不思議だなやぁ?と思っていたがヒントが見えてきた。
メタクラス、デザパタ、多言語に共通するもの…
「実は」オブジェクト指向プログラミングじゃないの?
クオリティが落ちるじゃなくて、抽象度が上がると
困るとかさぁ…(あっ!5行になってしまったぁ…)
0584デフォルトの名無しさん
2006/11/01(水) 12:29:41お前が言うな(WWWWWWWWWWWW
0585デフォルトの名無しさん
2006/11/01(水) 12:30:43>>567
相手の言ってないことを持ち出して非難するのは詭弁家の手法だって
死んだじっちゃんが言ってた。
>>583
>メタクラス、デザパタ、多言語に共通するもの…
荒らしが持ち出す話題だから敬遠されてるだけ。
0586デフォルトの名無しさん
2006/11/01(水) 12:51:52君は言ったつもりが無くても、相手(の一部)にはそのように伝わっているの
だよ。
そして、君が荒らしと認定している人を、このスレの全員が荒らし認定してい
るわけではないのだ。
荒らし認定していない人からは、君は「デザパタの話をするだけで過剰反応す
る人」と受け取られているのだよ。
つまり、そういう人からは、君の方がが荒らし認定されているのだよ。
やはりスレは分けるべきだな。感覚が違いすぎる。そして、どちらが正しいと
か、間違っているとか決めることは出来ない。
0587585
2006/11/01(水) 12:56:140588デフォルトの名無しさん
2006/11/01(水) 12:59:040589デフォルトの名無しさん
2006/11/01(水) 13:12:32じゃあ、「デザパタがらみの投稿に対して、それを荒らしと感じた人(反応し
たかどうかは問わない)」と定義すればいいのか?
しかしこの定義の変更は瑣末に過ぎない。あなた本人が何をしたかは割とどう
でも良くて、本論は、
・デザパタ等の投稿を荒らしと感じた住人が多数いたこと。
・荒らしと感じなかった住人もいたこと。
・後者からは、何で荒らしなのか理解できず、むしろ前者の住人のうち、大き
く反応した人々のほうを荒らしと感じたこと。
・どちらが正しいかを押し付ける権利はどちらにも無いこと。
この4点になる。これらについては理解してもらえるか?
0590デフォルトの名無しさん
2006/11/01(水) 13:18:44うだうだ言ってもしょうがないだろ。
どうせ相手は、3行以上のレスは読めない(読まない)んだから。議論しても無駄。
さっさとスレ分離すればいいんだよ。
新しくスレ立てするまでも無い。Pythonの宿題スレが見事に過疎ってる。
http://pc8.2ch.net/test/read.cgi/tech/1153585095/l20
どうせほとんど使い道が無いんだから、本スレが荒れそうな話題はこっちに書けば
いいだろ。
0591585
2006/11/01(水) 13:31:32ネタに他人を批判するのは止めたほうがいい。私にとっては君みたいなのは
荒らしで、君にとってはそうじゃない。それだけの話。
0592デフォルトの名無しさん
2006/11/01(水) 13:53:250593デフォルトの名無しさん
2006/11/01(水) 13:54:010594デフォルトの名無しさん
2006/11/01(水) 14:02:29すまんが、あんたが何を言っているのか、10回以上読み直して考えたが、正直
言って全然分からぬ。たぶんこちらのIQが低いんだろう。
だけど、こちらの話も伝わってないこと、議論をしても無駄なことだけはよく
分かった。今後なんか書きたいときは、自分も宿題スレに行くことにする。
>>592
ほらよ、スペイン宗教裁判だ。
http://b.hatena.ne.jp/entry/http://www.youtube.com/watch?v=zO68fUMWx3g
0595デフォルトの名無しさん
2006/11/01(水) 14:20:40なんでわざわざはてなブックマークのURLをはるのかね、あんたネットイナゴか?
いずれにしろお前の方が荒らしっぽく見えるわ(プ
0596デフォルトの名無しさん
2006/11/01(水) 14:28:230597デフォルトの名無しさん
2006/11/01(水) 14:31:540598デフォルトの名無しさん
2006/11/01(水) 14:42:24ページ下方のコメント欄に、いくつかリンクが紹介されてて、
それを見ながらだとヒアリングの苦手な自分にも楽しめるんだよ。
それにしても
> お前の方が荒らしっぽく見えるわ(プ
こういう主張をすることに意味は無い、と再三書いたつもりだったが。
議論が無駄だったことを改めて痛感。
0599デフォルトの名無しさん
2006/11/01(水) 14:42:26(メタクラス|デザパタ)の話をしようぜ、とか、(Python|Ruby)はとにかく糞だ、
って話を切り出すのが荒らしの常套手段だから敬遠されてるんでは
俺はこうやってメタクラスを使ってるんだがどうよ、ってな内容ならレスもつくだろ
0600デフォルトの名無しさん
2006/11/01(水) 14:43:280601デフォルトの名無しさん
2006/11/01(水) 14:44:120602デフォルトの名無しさん
2006/11/01(水) 14:47:430603デフォルトの名無しさん
2006/11/01(水) 14:49:040604デフォルトの名無しさん
2006/11/01(水) 14:49:530605デフォルトの名無しさん
2006/11/01(水) 14:51:320606デフォルトの名無しさん
2006/11/01(水) 14:52:40これからは
3行以下のレスは禁止な。
0607デフォルトの名無しさん
2006/11/01(水) 14:53:520608デフォルトの名無しさん
2006/11/01(水) 14:59:56そ
れ
で
も
困
ら
な
い
け
ど
ち
ょ
っ
と
不
便
だ
と
思
う
0609デフォルトの名無しさん
2006/11/01(水) 15:01:37ちょうど3行のレスは禁止の禁止だから、
逆にオーケーってことにしようぜ
0610デフォルトの名無しさん
2006/11/01(水) 15:03:24それを見ていじって楽しむ暇な奴
みんな Pythonista さ
0611デフォルトの名無しさん
2006/11/01(水) 18:18:030612デフォルトの名無しさん
2006/11/01(水) 18:35:43ん
こ
た
べ
た
よ
0613デフォルトの名無しさん
2006/11/01(水) 18:36:43ま
か
っ
た
?
0614デフォルトの名無しさん
2006/11/01(水) 18:37:370615デフォルトの名無しさん
2006/11/01(水) 18:44:12よく知ってるな(wwww
0616デフォルトの名無しさん
2006/11/01(水) 18:51:14tabesugi
0617デフォルトの名無しさん
2006/11/01(水) 19:25:54print 'tabesugi'
0618デフォルトの名無しさん
2006/11/01(水) 19:32:010619デフォルトの名無しさん
2006/11/01(水) 20:06:01print "unko"
0620デフォルトの名無しさん
2006/11/01(水) 20:41:520621デフォルトの名無しさん
2006/11/01(水) 21:02:09Nobody expects the Spanish inquisition! ジャジャ〜ン
"""
0622デフォルトの名無しさん
2006/11/01(水) 22:45:380623デフォルトの名無しさん
2006/11/01(水) 23:48:400624デフォルトの名無しさん
2006/11/02(木) 01:40:390625デフォルトの名無しさん
2006/11/02(木) 02:15:41VIPPERかよ(wwww
0626デフォルトの名無しさん
2006/11/02(木) 02:15:45本作の主人公。20歳。
一目惚れ、弱気、非力、貧乏、ドジで押しに弱く何故か勘違いされてしまうという典型的なラブコメの主人公の気質を備えている。
ヒロインの純子は「シングルさん」と呼ぶが、純子の恋敵である明日香からは「シングル�d♪」と音符付きで呼ばれる事が多い。
実家が魚屋の為か魚の知識は豊富だが血が苦手な為捌けない(むしろ純子の方が上手い)。
0627デフォルトの名無しさん
2006/11/02(木) 02:18:11メルヘン系かよ(wwwwwwwwwww
0628デフォルトの名無しさん
2006/11/02(木) 03:47:000629デフォルトの名無しさん
2006/11/02(木) 03:58:150630デフォルトの名無しさん
2006/11/02(木) 04:08:350631デフォルトの名無しさん
2006/11/02(木) 06:36:040632デフォルトの名無しさん
2006/11/02(木) 06:45:230633デフォルトの名無しさん
2006/11/02(木) 08:43:10L1=[1,2,3]で、
L2=L1*2だと
L2=[1,2,3,1,2,3]になってしまいます…
最終的にやりたいことは
L_all=[0,1,2,3,4,5]です。
L_all=[0] + L1で
L_all=[0,1,2,3]まではできたのですが、後ろの4,5がうまく行きません。
アドバイスよろしくお願いします
0634デフォルトの名無しさん
2006/11/02(木) 08:56:47リストの各要素に「2を掛ける」という処理を繰り返せばいい。
繰り返し(反復)の方法はマニュアルや参考書にたくさん書いてある。
0635デフォルトの名無しさん
2006/11/02(木) 08:59:14ありがとうございます。
繰り返しに関するページを見てみます。
0636デフォルトの名無しさん
2006/11/02(木) 10:48:24足し算・かけ算は参考書とか見ればわかるだろうけど、
質問の仕方が良くないね。
> L_all=[0,1,2,3]まではできたのですが、後ろの4,5がうまく行きません。
何をしようとしてうまくいかないのかわからない。
L_all=[0] + L1 + [4,5]
と、単純に足すのと別な方法で 4, 5 を追加したいの?
0637デフォルトの名無しさん
2006/11/02(木) 11:02:14あるいは自演。
0638デフォルトの名無しさん
2006/11/02(木) 11:04:480639デフォルトの名無しさん
2006/11/02(木) 11:37:42>>> l1 = [1, 2, 3]
>>> max_l1 = max(l1)
>>> max_l1
3
>>> l2 = [x + max_l1 for x in l1]
>>> l2
[4, 5, 6]
>>> l_all = [x - 1 for x in (l1 + l2)]
>>> l_all
[0, 1, 2, 3, 4, 5]
しかし、どうも合っている気がしない。
0640デフォルトの名無しさん
2006/11/02(木) 11:55:090641デフォルトの名無しさん
2006/11/02(木) 11:57:510642デフォルトの名無しさん
2006/11/02(木) 12:09:02原理学園の生徒さんが来ましたよ
0643デフォルトの名無しさん
2006/11/02(木) 12:32:150644デフォルトの名無しさん
2006/11/02(木) 13:09:07a = [n*2 for n in a]
del a
0646Python初心者
2006/11/02(木) 13:21:32下記の通りinput.txtを作り、
Name: Tarou Bob Cheng
Age: 28 34 46
City: Tokyo New_York Beijing
それを読み込み縦横を変換するプログラムを作成:
import sys
try:
input = open('input.txt', 'r')
except IOError:
print 'No File!'
sys.exit()
lines = input.readlines()
wordlists = [line.split() for line in lines]
for row in zip(*wordlists):
print '\t'.join(row)
すると何も出ない。
上記コード中、*wordlists[:-1]とすると:
Name:Age:City:
Tarou28Tokyo
Bob 34New_York
Cheng46Beijing
うまくOPされる。どうもinput.txt末尾の改行を
ダブって拾っているようだ。何故でしょうか?
print lines
['Name: Tarou Bob Cheng\n', 'Age: 28 34
46\n', 'City: Tokyo New_York Beijing\n', '\n']
0647デフォルトの名無しさん
2006/11/02(木) 13:23:34a = range(10)
map(lambda x: x*2, a)
del a
0648デフォルトの名無しさん
2006/11/02(木) 13:28:50表示されるけど?末尾で二度改行してるという落ちじゃないよね。
0649デフォルトの名無しさん
2006/11/02(木) 13:30:16冗長で Python らしくないと思ったので,リファクタリングしてみたよ.
以下が書き換えたコードです.
0650デフォルトの名無しさん
2006/11/02(木) 14:55:35こちらも問題なく動く。
Python 2.4.3 - Enthought Edition 1.0.0.beta4 on WinXP
Python 2.3.5 on Debian woody
さらにDebianでは改行コードをDOS(\r\n)にして再挑戦。
いずれも再現せず。
そちらの環境を報告されたし。
0651デフォルトの名無しさん
2006/11/02(木) 15:00:400652デフォルトの名無しさん
2006/11/02(木) 15:13:540653デフォルトの名無しさん
2006/11/02(木) 15:15:580654Python初心者
2006/11/02(木) 16:32:420655デフォルトの名無しさん
2006/11/02(木) 18:36:070656デフォルトの名無しさん
2006/11/02(木) 20:00:120657デフォルトの名無しさん
2006/11/02(木) 20:10:500658デフォルトの名無しさん
2006/11/02(木) 20:37:100659デフォルトの名無しさん
2006/11/02(木) 21:24:26PYTHONれき:10ねんぐらい
0660デフォルトの名無しさん
2006/11/02(木) 21:30:060661デフォルトの名無しさん
2006/11/02(木) 22:39:46分かってないな。
メモリ上に
あらわれては消える
うたかたの
形眺めて
楽しむひと時
0662デフォルトの名無しさん
2006/11/02(木) 22:44:23どこを縦読み?
0663デフォルトの名無しさん
2006/11/02(木) 22:53:26われ
かた
めて
?
0664デフォルトの名無しさん
2006/11/02(木) 23:08:18一時変数linesが余計、wordlistsも余計、inputも余計
0665デフォルトの名無しさん
2006/11/02(木) 23:11:430666デフォルトの名無しさん
2006/11/02(木) 23:11:480667デフォルトの名無しさん
2006/11/02(木) 23:18:34>なんか、「引き攣ったような」笑いだね?
引き攣っててゴメンね(WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
0668デフォルトの名無しさん
2006/11/02(木) 23:32:240669デフォルトの名無しさん
2006/11/02(木) 23:34:000670デフォルトの名無しさん
2006/11/02(木) 23:37:490671デフォルトの名無しさん
2006/11/02(木) 23:47:130672670
2006/11/02(木) 23:50:25だから、実質的には2000行くらいかな。
0673デフォルトの名無しさん
2006/11/03(金) 00:16:150674デフォルトの名無しさん
2006/11/03(金) 00:44:050675デフォルトの名無しさん
2006/11/03(金) 00:45:19pythonは難しくて無理
0676デフォルトの名無しさん
2006/11/03(金) 00:58:460677デフォルトの名無しさん
2006/11/03(金) 01:11:260678Python初心者
2006/11/03(金) 01:13:140679デフォルトの名無しさん
2006/11/03(金) 01:19:060680Python初心者
2006/11/03(金) 01:45:23誤爆ですか?
0681デフォルトの名無しさん
2006/11/03(金) 01:50:35ぶっちゃけPythonで1週間に2000行といったら相当なもん。
(C:\Python2.3\Lib\*.py にある185個のファイル中、
1000行以上あるのはわずかに17個。1割にも満たない。)
Pythonハカーに認定!w
0682デフォルトの名無しさん
2006/11/03(金) 01:54:05ところでTDDってTest Driven Developmentの略みたいだけど
具体的にはどーすんの?
doctestモジュールとかunittestモジュールを使うの?
0683デフォルトの名無しさん
2006/11/03(金) 02:13:030684デフォルトの名無しさん
2006/11/03(金) 02:47:36フーン
0685デフォルトの名無しさん
2006/11/03(金) 03:35:140686Python初心者
2006/11/03(金) 03:56:07なかなか教えてくれないのもゆとり教育の弊害でしょうか?
0687塩水 ◆1FrMT.vzQQ
2006/11/03(金) 04:11:16ソースの構成とかグダグダだと思うけど、やりたかった計算はできました\(^o^)/
ソース書きながらきづいたけど、結局複素数使わなくてもよかったみたいw
0688デフォルトの名無しさん
2006/11/03(金) 04:26:580689デフォルトの名無しさん
2006/11/03(金) 06:45:36print ""
としてるのですが、python的な正攻法ってあるのでしょうか?
0690デフォルトの名無しさん
2006/11/03(金) 07:19:360691デフォルトの名無しさん
2006/11/03(金) 07:41:480692デフォルトの名無しさん
2006/11/03(金) 08:07:350693デフォルトの名無しさん
2006/11/03(金) 08:13:47の気持ちが分かる瞬間だねえ
0694デフォルトの名無しさん
2006/11/03(金) 08:29:080695670
2006/11/03(金) 08:53:41ファイルは当然複数に別れてるよ。
先週末と昨日までの差分を取ったらその行数が出た。
>>682
Doctestは使わない。Unittestを使う。
追加したコードについてはテストコードを書く。全体のテストを実行する、の繰り返し。
結果がなかなか見えづらい、ベースとなるクラスなんかを開発しているときも
モチベーションを維持しやすい。テストが通ったときは嬉しい。
テストしやすいようにコード書く癖が付くのが意外な利点。
メソッドや関数が短くなるし、機能が抽象化される。
>>683
書き換えたり消したりしたうち、テストコードを除外した行数が2000、という意味。
長文でスマン。
0696デフォルトの名無しさん
2006/11/03(金) 09:28:28俺はテキストファイルの一括変換とかにしか使えてないので…
他の応用例があればヒントが欲しいっす。
0697デフォルトの名無しさん
2006/11/03(金) 10:50:16TDDって、すごくあこがれてるので、こういう書き込みは本当にありがたいです。
ちゃんと実践している人がいるんだね。
だけど、自分がやるのは敷居が高いなあ。
いつもスケジュールに余裕ないから、なかなか手を出せない。
0698633
2006/11/03(金) 11:13:25「あるリストnの二倍の長さを持つリストで、成分に0から1ずつ代入されたL_all」
を作ることが目的でした。本を読みながら、やっとつくれました。
n = [1, 2, 3, 4]
def Fn_Lall(r_mat):
L_all = []
x = r_mat[-1:][0] + 1
y = len(r_mat) * 2
z = range(x, y)
L_all = [0] + r_mat + z
return L_all
print Fn_Lall(n)
[0, 1, 2, 3, 4, 5, 6, 7]
0699デフォルトの名無しさん
2006/11/03(金) 11:22:59> 「あるリストnの二倍の長さを持つリストで、成分に0から1ずつ代入されたL_all」
これじゃあダメなの?
>>> n = [1, 2, 3, 4]
>>> range(2 * len(n))
[0, 1, 2, 3, 4, 5, 6, 7]
0701デフォルトの名無しさん
2006/11/03(金) 11:39:10# L_all を l_allに変えた。変数名は普通は小文字から。
# http://oldriver.org/python/pep-0008j.html
n = [1, 2, 3, 4]
l_all = range(2 * len(n))
print l_all
[0, 1, 2, 3, 4, 5, 6, 7]
0704デフォルトの名無しさん
2006/11/03(金) 12:02:27少しほのぼのしたな。
Pythonとかでどんどん伸びていってほしいと思った。
0705670
2006/11/03(金) 12:09:48>>697
TDDは開発効率を向上するためにあるものなので
スケジュール的にきついときこそ、積極的に活用するといいと思う。
unittestモジュールの使い方に慣れる
使ってるフレームワークなりなんなりの、テストツールの使い方に慣れる
この二つの学習コストが必要になるので
なかなか手を出せないという気持ちは分かるけどね。
業務時間を学習時間としてとれないなら
休日を使って、自分で試してみるといいんじゃないかな。
リストコンプリヘンションなんかを使って
1行で複雑なテスト用のassertを書けたときなんかは
自分がデキる開発者になった気がして楽しい(w
0706デフォルトの名無しさん
2006/11/03(金) 12:28:39ユニットテストツールを使おうとして、いつも引っかかるのは
・外部データリソースとの連携
…単純な関数ならテストを書くのも楽なんだけど、HTTPやデータベースを扱うコードって、
どうやってテストを書くの?
専用のテストデータを用意するにしても、すごくテストコードが膨大になりそう。
・結合テスト
…単体テストなら何とか書けるけど、結合テストになると組み合わせの場合の数が
発散して、とてもすべてを網羅できそうにない。
この辺りで行き詰まって、結局すごく小さなコードでしかTDDを試したことのない
ダメな俺様。
0707デフォルトの名無しさん
2006/11/03(金) 12:47:27ユニットテストツールは単体テスト(できるだけ小さい単位のテスト)を支援する
ものだと思っている。
0708デフォルトの名無しさん
2006/11/03(金) 12:50:04結合テストは書かないのね。まあそれはそれでいいのかも。
> ・外部データリソースとの連携
の方はどうするの?
0709デフォルトの名無しさん
2006/11/03(金) 12:52:19書かないんじゃなくて、ユニットテストツールの守備範囲外ということ。
あくまで「ユニット」テストなんだから。
0710670
2006/11/03(金) 12:58:36>・外部データリソースとの連携
絨毯爆撃的なデータを作るユーティリティを作ってテストしてるよ。
極端なケース(数値しダメな引数に英字を渡す、とか)は、
コード&テストを書く一番最初の段階で手でassert書くよ。
>・結合テスト
unittestから呼び出せる範囲のテスト、
機械的にデータを生成できる範囲のテストならやる。
もっと上流のテスト(たとえばWebブラウザを使って実際に使ってみるとか)
も定期的にやるよ。
バグが見付かったら、テストにフィードバックできないか検討する。
必要ならテストをしやすいようにコードをリファクタリングすることも含めテストを見直す。
基底部分のテストが充実していれば、
おおもとのコードを変えてまずいことになってもすぐ分かるので安心。
"テスト可能な"設計をすれば、unittestで出来るレベルのテストで
品質を向上することは可能だけど、完全な品質を保証することは不可能。
unittestは万能ではない。
なんでもそうだと思うけど、こだわりを捨てることも重要だと思うよ。
0711デフォルトの名無しさん
2006/11/03(金) 13:07:45おおおお!なんかすごくよく分かった気がする。
・テストデータは自動生成する。境界値だけは決め打ち。
・結合テストは完全なカバリッジは無理だから、手動テストを併用し、バグが見つかったら
自動テストに反映。
こんな感じに理解しました。大感謝。
それにしても、こういうコツは実際にやっている人に聞かないとわかんないなあ。
0712Python初心者
2006/11/03(金) 13:37:38>デコレータとかオブジェクト指向云々する奴が、print linesとかprint rowして
>原因を調べるセンスもないという矛盾。
どこを読んでおられるのでしょうか?
>>646
>print lines
>['Name: Tarou Bob Cheng\n', 'Age: 28 34
> 46\n', 'City: Tokyo New_York Beijing\n', '\n']
>>664
>一時変数linesが余計、wordlistsも余計、inputも余計
先生は、
import sys
[sys.stdout.write(row + '\n') for row in
['\t'.join(row) for row in
[line.split() for line in
open('input.txt', 'r').readlines()]]]
こう書いた方が分かり易いとでも?
確かにリスト内包表記が早いことは事実だが…
>>680
>>686
Python初心者[2]とかさぁ、[0]じゃないことを
明記すべきじゃないの?礼儀としては。
なお当初質問の件、よくある原因不明の「不安定な」動作と
してお忘れ下さい。「不思議と?本日は」問題なく動きました。
お騒がせしました。
0713Python初心者
2006/11/03(金) 13:39:26称して、pyc + PVCをパックにして配布する
手段がありますよね?VB,Java,.Netのように
Pythonのランタイムって無いのでしょうか?
そうすれば配布はpycだけで済みますよね?
0714デフォルトの名無しさん
2006/11/03(金) 13:47:28ライブラリが必要だから、普通のPythonとほどんどボリューム変わらんと思う
0715デフォルトの名無しさん
2006/11/03(金) 13:55:57[line.rstrip().split() for line in file('input.txt')]
0716デフォルトの名無しさん
2006/11/03(金) 14:45:26しょしんしゃさんのぱいそんは、ひによってどうさがちがうんですね。
0717デフォルトの名無しさん
2006/11/03(金) 15:10:30別にprintを使うなとは誰も言ってない
for x in zip(*eval(>>715)):
print x
あと、引数なしのsplitの正確な動作がよく分からんけど
>>715のrstripは無駄な気がする
0718デフォルトの名無しさん
2006/11/03(金) 15:34:03無駄でした
引数なしだと挙動が変わるんだね
'a\n'.split() # => ['a']
'a\n'.split('\n') # => ['a', '']
0719デフォルトの名無しさん
2006/11/03(金) 16:08:21ここに書いてあることを当てにするような初心者が本当にいるとすれば、その時点で終わってる。
0720デフォルトの名無しさん
2006/11/03(金) 16:34:08俺はようやっとプログラミングに馴染み始めた初心者だが、これは正しいの?
ハッシュがkeyとvalueの辞書ってのは傍流であって、本質は他にあるの?
■[一般][Python] タグ付けという考え方
以前はハッシュの本質は「分割して検索範囲を減らす」ことにあると思っていた。これはその通りであると思うが、別の見方をしてみると、
「タグ付け」がハッシュ(というデータ構造)のアルゴリズムの本質であると思う。
http://d.hatena.ne.jp/morchin/20061031
0721デフォルトの名無しさん
2006/11/03(金) 16:49:49読んでいっぱい書くほうが、よほど本質を理解できると思う。w
0722デフォルトの名無しさん
2006/11/03(金) 16:57:140723デフォルトの名無しさん
2006/11/03(金) 17:10:25http://www.amazon.co.jp/exec/obidos/ASIN/489471163X
http://0xcc.net/misc/sicp.html
この本についてどう思う?Pythonにも役立つ?
0724デフォルトの名無しさん
2006/11/03(金) 17:15:010725デフォルトの名無しさん
2006/11/03(金) 17:18:060726725
2006/11/03(金) 17:24:56つうか、難しすぎ。よほど知能の高い人以外は読めないんじゃないかと思った。
0727デフォルトの名無しさん
2006/11/03(金) 17:37:35>>721
「本質」は「オレの主張」に読み替えることにしてる。
0728デフォルトの名無しさん
2006/11/03(金) 17:40:120729デフォルトの名無しさん
2006/11/03(金) 17:47:32何かと思ったら、SICPの話なのね。
自分も分かんなかったけど、Little Schemer(Scheme手習い)を読んだら分かった。
0730デフォルトの名無しさん
2006/11/03(金) 17:56:120731デフォルトの名無しさん
2006/11/03(金) 18:10:450732デフォルトの名無しさん
2006/11/03(金) 18:25:34はてなのひげぽん氏が、この前こんなのを書いていた。
「計算機プログラムの構造と解釈(SICP)」を読み終えて
http://d.hatena.ne.jp/higepon/20061027/1161960363
しかし、そもそもGuido本人が、あんまりプログラミングの本を読まない人のような
気もする。
http://blog.livedoor.jp/dankogai/archives/50629146.html
このなかでGuidoだけ、コンピュータと関係ない本を挙げてる。
ちなみにSICPを挙げている人は2名。
0733デフォルトの名無しさん
2006/11/03(金) 18:51:28Quicksilver は邦訳がないので読んでなくても仕方ないが
普通プログラマならニール・スティーヴンスンくらい何冊か持ってるだろ。
0734デフォルトの名無しさん
2006/11/03(金) 18:52:14せっかく興味持ったのなら、とりあえず買って読め。
もしつまらなかったら、本ではなく君の頭のほうの問題だ。
0735723
2006/11/03(金) 19:05:39読んだ人キター!(AA略)
頭の問題は日々悩んでるんで、この本についても迷ってるんですよ。
大学の数学の教科書みたいに、確かに頭の訓練にはなるけど、
実用には別に関係ない、とかだったらどうしようと思って。
安い本じゃないですしねえ。
0736デフォルトの名無しさん
2006/11/03(金) 19:14:25webにある英語の印刷すればいいじゃない。
Schemeだけ別途憶えて、後半だけやるというのもいいよ。
なにも試験を受けるわけじゃないんだから、ばか正直に先頭から読まなくても
一番面白そうなところにいきなり上陸すればいい。
0737デフォルトの名無しさん
2006/11/03(金) 19:20:57> 大学の数学の教科書みたいに、確かに頭の訓練にはなるけど、
> 実用には別に関係ない、とかだったらどうしようと思って。
そういうのとはちょっと違うな。実用というのかわからんけど、書くプログラムは確実に
マシなものになると思う。
0738デフォルトの名無しさん
2006/11/03(金) 19:27:200739723
2006/11/03(金) 19:46:27すいません、ちょっと席をはずしてました。
ありがとうございます。英語もダメなんで、やっぱり本を買うしかないです。
まあ賭けだと思って読んでみます。
今よりすこしはマシになりたいですしね。
0740デフォルトの名無しさん
2006/11/03(金) 21:05:18出力結果がlist.txtのデータをリストとして認識してくれません。
f = open('list.txt')
line = f.readline()
a0 = line[0]
b0 = line[2]
c0 = line[4]
print a0,b0,c0,
line[0]が"["、line[2]が","のようになってしまいます。
元データがリストではないのか、読み込み方がリストでないのかわかりません。
どのように直したら、line[0]が"1"、line[1]が"-1"・・・line[4]が"-10"のようになりますか?
0741デフォルトの名無しさん
2006/11/03(金) 21:12:360742デフォルトの名無しさん
2006/11/03(金) 21:24:20動作するようになりました。
0743デフォルトの名無しさん
2006/11/03(金) 21:36:54>>元データがリストではないのか、読み込み方がリストでないのかわかりません。
ちなみに正解は「単に文字列として読んでいる」。
なのでそのやり方だと1文字目、3文字目、5文字目が代入される事になる。
eval()によってその文字列をpythonのコードとして解釈することで、単なる文字列から
リストになって期待される動作になる。
以上、蛇足かも知れませんが補足でした。
0744デフォルトの名無しさん
2006/11/03(金) 21:47:10pythonの事を聞ける身近な人がいないので、人の意見は参考になります。
初めてのpythonだと調べるのが大変で。
リファレンスもですが・・・。
0745デフォルトの名無しさん
2006/11/03(金) 22:15:320746デフォルトの名無しさん
2006/11/03(金) 22:17:570747デフォルトの名無しさん
2006/11/03(金) 22:33:39raw_input()に対するinput()みたいなもんだったのか。
0748デフォルトの名無しさん
2006/11/03(金) 22:37:10それくらい分からないでこの先どんだけ細かく躓くんだ(www
0749デフォルトの名無しさん
2006/11/03(金) 22:48:31とはいえevalでデータを読むぐらいなら、importした方がマシじゃないかと思う。
セキュリティホールになるし。
0750デフォルトの名無しさん
2006/11/03(金) 22:50:400751デフォルトの名無しさん
2006/11/03(金) 23:02:260752デフォルトの名無しさん
2006/11/03(金) 23:05:350753デフォルトの名無しさん
2006/11/03(金) 23:08:18hash が何なのか
hash の応用にどんなものがあるのか
を調べれば自明
0754デフォルトの名無しさん
2006/11/03(金) 23:11:04んで普通に解析するならevalしちゃえばいいじゃんとなるわけよw
でもそう考えると、単純な(改行やカンマをデータに含まない)csvだったら
一行読んで前後に[]をつけてevalすればリストになるのかーと思った。
と書いた時、splitでいいじゃんと普通なところに戻った。
0755デフォルトの名無しさん
2006/11/03(金) 23:14:09自分しか使わないならevalでいいし
つーか普通リストをそのままファイルに書かねえ(www
0756デフォルトの名無しさん
2006/11/03(金) 23:31:430757Python初心者 ◆hlfDgUV2TA
2006/11/04(土) 00:24:15> >>686
> Python初心者[2]とかさぁ、[0]じゃないことを
> 明記すべきじゃないの?礼儀としては。
どこの礼儀ですか?
同じコテハン同士を区別したいのであればトリップの使用をお勧めします。
0758デフォルトの名無しさん
2006/11/04(土) 00:25:380759デフォルトの名無しさん
2006/11/04(土) 00:30:190760デフォルトの名無しさん
2006/11/04(土) 00:34:050761デフォルトの名無しさん
2006/11/04(土) 00:34:430762デフォルトの名無しさん
2006/11/04(土) 00:36:430763デフォルトの名無しさん
2006/11/04(土) 00:38:090764デフォルトの名無しさん
2006/11/04(土) 00:39:510765デフォルトの名無しさん
2006/11/04(土) 00:42:02「学生のころ」って発言が多いような・・・w
0766デフォルトの名無しさん
2006/11/04(土) 00:42:580767デフォルトの名無しさん
2006/11/04(土) 00:43:400768デフォルトの名無しさん
2006/11/04(土) 00:43:59python使えないのでROMしてます.
matlabのほうがscipyより便利だし…
0769デフォルトの名無しさん
2006/11/04(土) 01:00:470770デフォルトの名無しさん
2006/11/04(土) 01:12:150771デフォルトの名無しさん
2006/11/04(土) 01:51:460772デフォルトの名無しさん
2006/11/04(土) 02:00:150773デフォルトの名無しさん
2006/11/04(土) 03:41:37同じロマンス系なのに、イタリア・スペイン・ポルトガルと違いすぎ。
0774デフォルトの名無しさん
2006/11/04(土) 03:54:580775デフォルトの名無しさん
2006/11/04(土) 05:38:26ttp://www.rubyist.net/~matz/20060615.html#p03
0776デフォルトの名無しさん
2006/11/04(土) 07:52:30古い話っすから
0777デフォルトの名無しさん
2006/11/04(土) 07:55:23○ python風味になっちゃう
0778デフォルトの名無しさん
2006/11/04(土) 09:21:10全てのみどころのある言語はLISPになっていくw
0779デフォルトの名無しさん
2006/11/04(土) 10:38:300780デフォルトの名無しさん
2006/11/04(土) 11:01:270781デフォルトの名無しさん
2006/11/04(土) 12:21:060782デフォルトの名無しさん
2006/11/04(土) 12:29:120783デフォルトの名無しさん
2006/11/04(土) 14:13:09言語そのものでのサポートではないからね。
基本はC言語スタイルのプログラミングになる。
進化というなら、 Pythonの方が上だよ。
0784デフォルトの名無しさん
2006/11/04(土) 14:27:56How I lost my faith
http://72.14.235.104/search?q=cache:efNGrpEbh9UJ:www.gembook.jp
いやいやながら他の言語を本当に勉強すると、*私の* 生産性もLispの場合よりも高くなった。
例えば、現在ではWeb開発にはPythonを使用している。
GoogleにはPeter Norvigもやって来たが、彼もまたLispを捨て去っていた。
(私はNASA時代にPeterとこの点について話し合ったことがあった。当時、彼はもう
Lispを見捨てていて、私はそれを痛ましく思ったものだ)
0785デフォルトの名無しさん
2006/11/04(土) 14:29:180786デフォルトの名無しさん
2006/11/04(土) 14:58:13>>784のリンク先を読んでみそ。そこの筆者はLISPを学んだことで
大きなメリットを得ている。
0787デフォルトの名無しさん
2006/11/04(土) 16:10:060788Python初心者
2006/11/04(土) 16:48:15>ライブラリが必要だから、普通のPythonとほどんど
>ボリューム変わらんと思う
普通のライブラリー関数は全てpycの中間コード化するから
dllのようなものだけだよね?
後は中間コードが走る環境さえあれば良い。パーサーや
デバッガーとか開発用の部分は全て取り外せば、かなり
軽くなるような気がするが?
でないとJavaがランタイム(JVM)をわざわざ配布している
意味が無くなる。
>>717
>for x in zip(*eval(>>715)):
> print x
*evalが気になる。経験者はevalな、って…
0789Python初心者
2006/11/04(土) 16:54:02試してみました。
def counter (maximum):
i = 0
while i < maximum:
print 'Hi'
yield i
i += 1
yield 'Yahoo' + str(i)
print 'Bye\n'
if __name__=='__main__':
x = counter(10)
print x.next()
print x.next()
print x.next()
print x.next()
print x.next()
5回やったが、結果は3回目の途中で終わって
しまった。何故でしょうか?
Hi
0
Yahoo1
Bye
Hi
1
Yahoo2
Bye
Hi
2
0790デフォルトの名無しさん
2006/11/04(土) 17:05:050791デフォルトの名無しさん
2006/11/04(土) 17:11:12Hi
0 <- 1回目
Yahoo1 <- 2回目
Bye
Hi
1 <- 3回目
Yahoo2 <- 4回目
Bye
Hi
2 <- 5回目
0792デフォルトの名無しさん
2006/11/04(土) 17:24:270793デフォルトの名無しさん
2006/11/04(土) 17:31:410794デフォルトの名無しさん
2006/11/04(土) 18:06:40ほっとけ
0795デフォルトの名無しさん
2006/11/04(土) 18:36:53対話画面で実行してみたら分かるよ。counter.pyに収めて実行すると、
>>> import counter
>>> x = counter.counter(10)
>>> x.next()
Hi
0
>>> x.next()
'Yahoo1'
>>> x.next()
Bye
Hi
1
>>> x.next()
'Yahoo2'
>>> x.next()
Bye
Hi
2
ジェネレータは、yield文を実行するとそこで停止し、
またnext()を呼ばれると、その次の行から再開する。
0796デフォルトの名無しさん
2006/11/04(土) 19:04:07下のページの、「イテレータを使おう」辺りを読むといいだろう。
http://www.python.jp/Zope/articles/tips
一回呼ばれると、関数内のコードを全部実行するというわけじゃない。
yield文が実行されると、そこで実行状態を凍結し、次に呼ばれるまで
待機している。
まあいかにも初心者らしい誤解なのかな。
0797デフォルトの名無しさん
2006/11/04(土) 20:37:560798デフォルトの名無しさん
2006/11/04(土) 21:35:370799デフォルトの名無しさん
2006/11/04(土) 22:46:020801デフォルトの名無しさん
2006/11/04(土) 23:02:165回が3回になったり
頭がおかしいとしか思えません
ほんとうにありがとうございました
0802デフォルトの名無しさん
2006/11/04(土) 23:51:23どうみても構って君です。
ほ(ry
0803デフォルトの名無しさん
2006/11/04(土) 23:52:42VIPでやれ
少なくとも質問の前にはリファレンスマニュアルに目を通すか
ググるくらいしてくれ
0804デフォルトの名無しさん
2006/11/04(土) 23:54:140805デフォルトの名無しさん
2006/11/05(日) 00:01:07世の中に沢山の基地外がいるとも思えないし
0806デフォルトの名無しさん
2006/11/05(日) 00:03:390807デフォルトの名無しさん
2006/11/05(日) 00:35:44あれはひどかったな。正直かわいそうだった。
0808デフォルトの名無しさん
2006/11/05(日) 01:55:58実際に自分の作業とかするときも対話式で作業することってあるの?
もしそうだとしたらどんな時に使うのかな
0809デフォルトの名無しさん
2006/11/05(日) 01:57:20俺はシェルの代わりに使ってたりする。
0810デフォルトの名無しさん
2006/11/05(日) 02:05:08pythonでlinuxコマンド使えるということですか?
cdとかlsみたいな。
0811デフォルトの名無しさん
2006/11/05(日) 02:19:30小魚ばっかり狙ってないで、もっと重箱の隅をつつくようなネタとか程度の高い宿題を持ってこいよ。
自称脱初心者が競って釣られるいまの状況は滑稽だが、そろそろ飽きてきた。
0812デフォルトの名無しさん
2006/11/05(日) 02:28:31バレバレ仮面だよきっと。
0813デフォルトの名無しさん
2006/11/05(日) 02:34:490814デフォルトの名無しさん
2006/11/05(日) 02:38:13釣りどころが浅すぎるって808みたいなやつ?
0815デフォルトの名無しさん
2006/11/05(日) 02:42:10bashが呼び出せるのかどうかはしらないけど、「cdとかlsみたいな」のはOSモジュールの中に入ってるよ。
Windowsや*nixのシェルはどうも馴染めないので環境が許す限りPython使ってるなぁ。
0816デフォルトの名無しさん
2006/11/05(日) 03:17:210817デフォルトの名無しさん
2006/11/05(日) 03:17:27ipython(ipython.scipy.org)という
強化型対話モードプログラムには
よりunixのシェルに近づけた
pyshというプロファイルがある。
機能的にbashやzshには及ばないけど、
コマンドライン補完なんかもしてくれる。
0818デフォルトの名無しさん
2006/11/05(日) 03:20:07なるほど。pythonはそういう使い方もあるのですね
レスありがとうございました。
0819デフォルトの名無しさん
2006/11/05(日) 03:39:40結構よさそうな記事が多いですね。ちょっと試しに使ってみます。
最強シェルとうたわれたzshの苦い経験があるのでちょっと躊躇しますが…
0820デフォルトの名無しさん
2006/11/05(日) 04:14:59既存のモジュールや自分で作ったモジュールの動作をちょっと確認してみたり
するときにはよく使うよ。要するに、ちょっと実験してみるときって感じ。
0821デフォルトの名無しさん
2006/11/05(日) 05:31:560822デフォルトの名無しさん
2006/11/05(日) 06:32:010823デフォルトの名無しさん
2006/11/05(日) 07:47:020824デフォルトの名無しさん
2006/11/05(日) 09:38:46>Python初心者はみんPyの作者タソに粘着していたZOPE関係者と同一人物?
漏れもそうオモタ(www
0825Python初心者
2006/11/06(月) 13:13:21そうかぁ、なんとなくwhile1回とnext()1回が対応して
いると勘違いしていた。
>>811
>あの人は知っててわざと質問形式で書いて釣ってるだけ。
>しかも釣りどころが浅すぎる。
スレのレベルに合わせて質問出来るほど経験者じゃない
から…。先月私立図書館で「初めてのPython」を借りて
読み、先週貸し出し期限が来てもう返しちゃったので
あまり高級な質問を期待しないで欲しいな。
>>824
>Python初心者はみんPyの作者タソに粘着していたZOPE関係者と同一人物?
ZOPEって、そんな言語あったぁ?
0826デフォルトの名無しさん
2006/11/06(月) 14:45:490827Python初心者
2006/11/06(月) 15:03:270828デフォルトの名無しさん
2006/11/06(月) 15:04:36本当にありがとうございました。
0829デフォルトの名無しさん
2006/11/06(月) 16:08:30よろしくwwww
0830デフォルトの名無しさん
2006/11/06(月) 16:11:140831まんこ
2006/11/06(月) 20:00:110832デフォルトの名無しさん
2006/11/06(月) 21:30:44おっpyだ
0833デフォルトの名無しさん
2006/11/06(月) 22:34:190834デフォルトの名無しさん
2006/11/06(月) 22:40:49UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
0835デフォルトの名無しさん
2006/11/06(月) 23:33:47# -*- coding: sjis -*-
print u"乙"
>>> __import__("乙")
乙
<module '乙' from '乙.py'>
>>>
0836デフォルトの名無しさん
2006/11/06(月) 23:46:550837デフォルトの名無しさん
2006/11/06(月) 23:52:33乙
>>836
binascii.Error: Incorrect padding
0838デフォルトの名無しさん
2006/11/07(火) 00:43:56エラーメッセージだけ示されても・・・
0839デフォルトの名無しさん
2006/11/07(火) 01:32:09ys:1: DeprecationWarning: Non-ASCII character '\xa5' in file 838.py on line 1, bu
t no encoding declared; see http://www.python.org/peps/pep-0263.html for details
File "838.py", line 1
エラーメッセージだけ示されても・・・
^
SyntaxError: invalid syntax
0840デフォルトの名無しさん
2006/11/07(火) 01:36:19>>> エラーメッセージだけ示されても・・・
File "<stdin>", line 1
エラーメッセージだけ示されても・・・
^
SyntaxError: invalid syntax
$ perl
エラーメッセージだけ示されても・・・
Unrecognized character ¥xE3 at - line 1
$ ruby
エラーメッセージだけ示されても・・・
-:1: Invalid char `¥250' in expression
-:1: Invalid char `¥343' in expression
-:1: Invalid char `¥203' in expression
-:1: Invalid char `¥251' in expression
-:1: Invalid char `¥343' in expression
-:1: Invalid char `¥203' in expression
(延々と続く)
ルビーバロス(wwwwwwwww
0841デフォルトの名無しさん
2006/11/07(火) 01:43:290842デフォルトの名無しさん
2006/11/07(火) 01:56:550843デフォルトの名無しさん
2006/11/07(火) 01:57:550844デフォルトの名無しさん
2006/11/07(火) 02:06:33逝ってよし
0845デフォルトの名無しさん
2006/11/07(火) 02:23:58-1
0846デフォルトの名無しさん
2006/11/07(火) 02:48:31これはひどい
0847デフォルトの名無しさん
2006/11/07(火) 02:57:16>>841
ネタを「気違いじみた」と評する○○○。
○○○に適語を埋めよ。
0848デフォルトの名無しさん
2006/11/07(火) 02:58:48ネタなら普通もうちょっと面白いでしょwww
0849デフォルトの名無しさん
2006/11/07(火) 03:01:590850デフォルトの名無しさん
2006/11/07(火) 03:03:56>>848
まあ君には面白くないだろうね。だって○○○なんだから。
○○○に適語を埋めよ。
0851デフォルトの名無しさん
2006/11/07(火) 03:06:330852デフォルトの名無しさん
2006/11/07(火) 03:08:10気違いであることとネタであることは矛盾しないと思う
どちらにしても気違いは邪魔だね
0853デフォルトの名無しさん
2006/11/07(火) 03:10:04強迫神経症かなにかのひとなの?
0854デフォルトの名無しさん
2006/11/07(火) 03:11:07ところで、○○○って何?
0855デフォルトの名無しさん
2006/11/07(火) 04:05:530856デフォルトの名無しさん
2006/11/07(火) 04:19:03gxx
0857デフォルトの名無しさん
2006/11/07(火) 04:38:050858デフォルトの名無しさん
2006/11/07(火) 04:42:15http://www.python.org/dev/culture/
0859デフォルトの名無しさん
2006/11/07(火) 04:59:080860デフォルトの名無しさん
2006/11/07(火) 06:57:45キモス
0861デフォルトの名無しさん
2006/11/07(火) 07:03:160862デフォルトの名無しさん
2006/11/07(火) 10:16:25本当にありがとうございました。
0863デフォルトの名無しさん
2006/11/07(火) 10:39:10だったら○×4じゃないのか?
0864デフォルトの名無しさん
2006/11/07(火) 11:06:510865デフォルトの名無しさん
2006/11/07(火) 11:14:270866デフォルトの名無しさん
2006/11/07(火) 11:42:180867デフォルトの名無しさん
2006/11/07(火) 12:24:320868デフォルトの名無しさん
2006/11/07(火) 13:04:430869デフォルトの名無しさん
2006/11/07(火) 13:40:07デコレ(ry
0870デフォルトの名無しさん
2006/11/07(火) 14:47:50タプルの本質(略
0871デフォルトの名無しさん
2006/11/07(火) 14:51:27一般的な定義では(ry
0872デフォルトの名無しさん
2006/11/07(火) 15:13:560873デフォルトの名無しさん
2006/11/07(火) 15:52:42オタクの親戚かとオモタ
0874デフォルトの名無しさん
2006/11/07(火) 17:00:200875デフォルトの名無しさん
2006/11/07(火) 18:47:460876デフォルトの名無しさん
2006/11/07(火) 21:51:170877デフォルトの名無しさん
2006/11/07(火) 22:30:040878デフォルトの名無しさん
2006/11/07(火) 22:37:54ほんとだ
0879デフォルトの名無しさん
2006/11/07(火) 23:49:50貴様は正しいのかと(ry
0880デフォルトの名無しさん
2006/11/08(水) 00:16:180881デフォルトの名無しさん
2006/11/08(水) 00:32:050882デフォルトの名無しさん
2006/11/08(水) 00:48:250883デフォルトの名無しさん
2006/11/08(水) 01:11:23サイコパスは頭がいいふりをした
に見えた.
0884デフォルトの名無しさん
2006/11/08(水) 01:21:44まともなPythonのスレってここ?
0885デフォルトの名無しさん
2006/11/08(水) 01:26:20すべて一人で書き込んでいるので要らないんですよ
0886デフォルトの名無しさん
2006/11/08(水) 01:26:33ところでデザインパ(ry
0887デフォルトの名無しさん
2006/11/08(水) 01:26:53これでも一番まともなんですよ
0888デフォルトの名無しさん
2006/11/08(水) 01:30:120889デフォルトの名無しさん
2006/11/08(水) 01:31:160890デフォルトの名無しさん
2006/11/08(水) 01:33:36Rubist乙。
0891デフォルトの名無しさん
2006/11/08(水) 01:35:45Rubyの話だったら,Rubyスレでやってくれ.
0892デフォルトの名無しさん
2006/11/08(水) 01:49:16やだ!もっとここで遊びたい!
0893デフォルトの名無しさん
2006/11/08(水) 05:27:03リストの最大値と、そのインデックスを調べる方法って
>>> max((value, index) for (index, value) in enumerate(L))
とも書けるよね。もっと手を抜くと
>>> max(*enumerate(L))
になる。このシュワルツ変換ってパズルみたいで面白いね。
0894デフォルトの名無しさん
2006/11/08(水) 05:57:18手を抜きすぎ。
>>> L = [3.0, 2.0, 1.0]
>>> max(*enumerate(L))
(2, 1.0)
0895デフォルトの名無しさん
2006/11/08(水) 08:01:26PyISAPIeでTracって動かせるべか?
0896デフォルトの名無しさん
2006/11/08(水) 09:59:430897デフォルトの名無しさん
2006/11/08(水) 10:18:13>>>> max((value, index) for (index, value) in enumerate(L))
valueが先に来てるのがポイントなのね。
enumerate()はindex, valueの順で値を返すイテレータを返してくるので
最大値を正しく判別できない,と。
これでもオッケー?
>>> max(list(reversed(x)) for x in enumerate(L))
0898デフォルトの名無しさん
2006/11/08(水) 12:18:29ろくにテストもせず動かないコードに改悪するって意味の用語ですか?
0899デフォルトの名無しさん
2006/11/08(水) 16:15:11アイヤー。一応試してみてから書き込んだんだけど…。
ごめんね。眠い頭でやるとダメだね。
ちなみに試したコードはこう:
>>> L = [1, 2, -3, 5, 2, 5, 8, 1, 8]
>>> max((v, i) for (i, v) in enumerate(L))
(8, 8)
>>> max(*enumerate(L))
(8, 8)
何やってんの俺…。
0900デフォルトの名無しさん
2006/11/08(水) 19:13:00テスト用の適切なケースを作るには、経験が必要だよね。
894のリストは、挙動がおかしいことを知った上で
極端な例を作ったんじゃないかと想像する。
俺だったら真ん中よりすこし前後に最大値が来るようなテストデータを作るかな。
最初の要素、最後の要素、真ん中の要素は、
ロジックが間違っていても機械的にたまたま正しい答えが出るかも知れないから。
0902デフォルトの名無しさん
2006/11/09(木) 04:18:41for i in r(34):print" ".join(map(str,x));x=y+[x[j]+x[j+1]for j in r(i)]+y
ってすればちょっとだけ短くなるね.と超遅レス.
1文になる気もするけど…
0903デフォルトの名無しさん
2006/11/09(木) 04:29:130904デフォルトの名無しさん
2006/11/09(木) 04:32:420905デフォルトの名無しさん
2006/11/09(木) 06:08:42==では無いけど
0906デフォルトの名無しさん
2006/11/09(木) 08:07:120907デフォルトの名無しさん
2006/11/09(木) 11:19:180908デフォルトの名無しさん
2006/11/09(木) 11:44:300909デフォルトの名無しさん
2006/11/09(木) 11:56:02レベルが高い=どこで応用されてるかとか
レベルが低いのが悪いわけじゃない
0910デフォルトの名無しさん
2006/11/09(木) 12:45:07夜=バイトコード談義
それ以外=メタクラス談義
でよろしく。
0911Python初心者
2006/11/09(木) 15:00:03普通Pythonの新ヴァージョンが出て大体一月程度で
追いついていたのに…
ところで、皆さんは何をエディターとしてお使いですか?
0912Python初心者
2006/11/09(木) 15:02:21って一応言っておくのが礼儀かねぇ?
0913デフォルトの名無しさん
2006/11/09(木) 15:57:01ちなみにひろゆきはどうでもいいと思われ。
ここはあんまりそういうことにこだわるする板じゃないし。
0914デフォルトの名無しさん
2006/11/09(木) 16:24:05開発に使ってるのは Emacs(Meadow)
でも、人のパソコンとか開発用でないマシンでは「メモ帳」w
0915Python初心者
2006/11/09(木) 17:03:16僕はvisual studioを使ってるよ?
0916デフォルトの名無しさん
2006/11/09(木) 17:20:54http://bc.tech.coop/blog/060302.html
Pythonと全然関係ないな。
0917デフォルトの名無しさん
2006/11/09(木) 17:53:38他のエディタ使うと無意識にhjklとかタイプしてしまう
あと無闇に:wしまくるクセがつく
0918デフォルトの名無しさん
2006/11/09(木) 17:58:56Emacsこえーよw
0919デフォルトの名無しさん
2006/11/09(木) 18:03:25vim原理主義。
vi原理主義。
メモ帳原理主義。
秀丸オタ。
0920デフォルトの名無しさん
2006/11/09(木) 19:50:300921デフォルトの名無しさん
2006/11/09(木) 20:00:56viもemacsも恐ろしいものに思えてしまう。
0922デフォルトの名無しさん
2006/11/09(木) 20:52:590923デフォルトの名無しさん
2006/11/09(木) 21:19:490924デフォルトの名無しさん
2006/11/09(木) 21:51:09最近はずっとこれ。
以前はeclipseのPyDevプラグインを使っていた時期もありました。
0925デフォルトの名無しさん
2006/11/09(木) 21:54:00module.method
みたいに打った段階でmodule.methodのヘルプ(というかdocstring)がカーソルの
右下に表示されるようなもののことを言ってるんなら、PyDevでそんなことができたはず。
0926デフォルトの名無しさん
2006/11/09(木) 22:20:13でもOmni補完はほとんど使ってない
0927デフォルトの名無しさん
2006/11/09(木) 22:32:060928デフォルトの名無しさん
2006/11/09(木) 23:19:26http://video.google.com/videoplay?docid=-6459339159268485356#13m59s
0929デフォルトの名無しさん
2006/11/09(木) 23:58:57個人的に文字列型のUnicode統合が待ち遠しい。
0930デフォルトの名無しさん
2006/11/10(金) 00:00:360931デフォルトの名無しさん
2006/11/10(金) 00:16:260932デフォルトの名無しさん
2006/11/10(金) 00:20:040933デフォルトの名無しさん
2006/11/10(金) 00:24:55http://sourceforge.net/projects/numpy
NumPy 1.0 released 2006-10-25
ってのに遭遇した。
numpy だか numeric だか numarray だか scipy だか
NumPy は numpy とは別だとかわけのわからん状態は
どうなってるんでしょう?
とりあえず数値計算なパッケージを触ってみたい人に
一等メジャーっぽいものをって言ったら上記の NumPy 1.0 でいいのかな?
0934デフォルトの名無しさん
2006/11/10(金) 00:39:22> emacs + python-mode + pycomplete + ipython
俺もそれ。もやは伴侶と化している。快適すぎる
0935Python初心者
2006/11/10(金) 11:57:39>>924
> emacs + python-mode + pycomplete + ipython
>俺もそれ。もやは伴侶と化している。快適すぎる
人気高いねぇ。最初の二つは分かるけど、後ろの
二つは何をしているの?Visual Studio並のインテリセンス
が付いているとか…
それとUnix系じゃないと使えない?例えばMeadowsとか入れれば
Windowsでも動くんですか?
>>928
>しゃべりまくるGuido(なんかしんどそう・・
>http://video.google.com/videoplay?docid=-6459339159268485356#13m59s
最初マイクを直しながら「This is more comfortable for me.」しか
分からなかった…でもNativeじゃないから分かり易いことは事実。
時々オランダ語訛りが入ってた。ー>語尾が不自然に上がるでしょ?
また長いねぇ。全部聞いた人居ますか?要約してくれると有り難い。
10行以内で…
0936デフォルトの名無しさん
2006/11/10(金) 12:03:40文字列を与えると,その名前のクラスを返す関数を作りたいと考えています.
def class_factory(str):
# returns class Hoge() or Fuga(), and so on.
return "str"()
class_factory('Hoge')
class_factory('Fuga')
マニュアルのどの節を参照すればよいでしょうか.
あるいは,このようなことができることを解説している書籍でもよいので,
ポインタをご教示いただければ幸いです.
0937デフォルトの名無しさん
2006/11/10(金) 12:10:02こういうことか?
>>> class klass:
... pass
...
>>> klass
<class __main__.klass at 0x39ca20>
>>> def class_factory(klassname):
... return eval(klassname)
...
>>> class_factory('klass')
<class __main__.klass at 0x39ca20>
>>> k = class_factory('klass')()
>>> k
<__main__.klass instance at 0x3a5530>
蛇足だが、strとかintっていう引数、変数を作るのはやめた方がいいな
0938デフォルトの名無しさん
2006/11/10(金) 12:14:00937のコードはimportと絡めるととたんに破綻するんだ。気をつけろ。
>>> import sets
>>> sets.Set([]) # sets.Setはクラス
Set([])
>>> cf('Set')([])
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<stdin>", line 2, in cf
File "<string>", line 0, in ?
NameError: name 'Set' is not defined
>>> cf('sets.Set')([])
Set([])
0939936
2006/11/10(金) 12:35:52感謝します.
> strとかintっていう引数、変数
気を付けます.
やはり
>>> class klass:
... pass
最初にクラスの定義は必要なのですね.
インスタンスではなく,クラスの動的な定義ができればと
考えていました.言葉足らずで申し訳ありません.
あるいは
class GeneralClass:
pass
GeneralClass.__name__ == 'Hoge'
のような,動的なクラス名の変更ができれば同じかとも考えたのですが,
クラス名はimmutableかと思い諦めて,先ほどの質問を致しました.
やり方を考え直そうと思います.
0940デフォルトの名無しさん
2006/11/10(金) 12:37:29MyClass = new.classobj('MyClass', (object,), {})
0941936
2006/11/10(金) 12:41:45感謝します.
まさに期待どおりの動作をしました.
さっそくnewなるモジュールについて調べてみます.
>>> import new
>>> name='Hoge'
>>> my_object=new.classobj(name, (object,), {})
>>> my_object
<class '__main__.Hoge'>
ありがとうございました.
>>937-938の手法も,使いでがあるのでメモしました.どうもありがとうございます.
0942デフォルトの名無しさん
2006/11/10(金) 12:52:150943デフォルトの名無しさん
2006/11/10(金) 14:52:39同じことだけど
>>> def foo(self): print "hello"
>>> A = type("A", (object,), {"foo": foo})
でも可。
>>> A
<class '__main__.A'>
>>> A()
<__main__.A object at 0x00DB76D0>
>>> A().foo()
hello
>>>
0944936
2006/11/10(金) 15:03:56組み込み関数だけでできるんですね.
もはや>>940とも何が起きているのか分からないので,
チュートリアルとリファレンスの最初の方を読み直して,出直してきます.
0945デフォルトの名無しさん
2006/11/10(金) 16:19:59話題としてはメタクラスに関するものなので、
情報を探すときのキーワードにするとよいと思われ。
0946Python初心者
2006/11/10(金) 21:40:40buffer = ""
def recv( self ):
temp = sock.recv( 1024 )
buffer += temp
この書き方って遅くなっちゃうのかなぁ?
他にいい書き方あるったらおしえて!
0947デフォルトの名無しさん
2006/11/10(金) 22:07:400948デフォルトの名無しさん
2006/11/10(金) 22:23:41>>> f1 = """def test(m, n):
s = ""
d = "0123456789abcdef" * m
for i in range(n):
s += d
"""
>>> f2 = """def test(m, n):
s = []
d = "0123456789abcdef" * m
for i in range(n):
s.append(d)
"".join(s)
"""
>>> Timer("test(10, 1)", f1).timeit()
2.1228756727461473
>>> Timer("test(10, 1)", f2).timeit()
2.9558281848669594
>>> Timer("test(10, 10)", f1).timeit()
13.39612017728507
>>> Timer("test(10, 10)", f2).timeit()
9.7877330778073883
0949デフォルトの名無しさん
2006/11/10(金) 22:45:410950デフォルトの名無しさん
2006/11/11(土) 00:30:07配列にデータをappendしていって最後に空文字区切りでappendする方が速いよ
と日本語で書いた方が短い
0951デフォルトの名無しさん
2006/11/11(土) 00:35:170952デフォルトの名無しさん
2006/11/11(土) 01:10:14self.buffer
0953デフォルトの名無しさん
2006/11/11(土) 08:54:32必ずしも速くはない(状況次第)ということを>>948の結果は示している。
0954デフォルトの名無しさん
2006/11/11(土) 09:58:11特に性能上のボトルネックになる部分なら
チューニングも悪くはないが
0955デフォルトの名無しさん
2006/11/11(土) 10:25:180956デフォルトの名無しさん
2006/11/11(土) 20:19:460957デフォルトの名無しさん
2006/11/11(土) 20:23:270958デフォルトの名無しさん
2006/11/11(土) 22:34:52Pythonで同じようなものありますでしょうか?
VimのWikiモードみたいなもので「Viki」ってのがありまして
そこからコンバータでhtmlに変換しようとしています
Vikiのサイトでdeplateが紹介されていたのですが
PythonでそんなんあればPythonのほうがいいと思いました
ご存じのかたいますか?
0959デフォルトの名無しさん
2006/11/11(土) 23:49:270960デフォルトの名無しさん
2006/11/12(日) 01:44:42python setup.py installを行っても、次のようなエラーメッセージが出て、完了しません。
$ python JapaneseCodecs-1.4.11/setup.py install
/usr/lib/python2.4/distutils/dist.py:222: UserWarning: 'licence' distribution option is deprecated; use 'license'
warnings.warn(msg)
running install
running build
running build_py
error: package directory 'japanese' does not exist
'japanese'のパッケージがないからエラーだよ、って意味なんでしょうけども、
対処方法がわかりません。どなたかご存じではないでしょうか。
0961デフォルトの名無しさん
2006/11/12(日) 01:45:530962デフォルトの名無しさん
2006/11/12(日) 01:52:100963デフォルトの名無しさん
2006/11/12(日) 01:54:06しかし納得がいかない。。。
日本語を扱うためのパッケージをDLし、いざインストールするとそれがないと言われるなんて。
十中八九私に過失があるんでしょうけど。
必要ないならば気にせずにやっていこうと思います。
0964デフォルトの名無しさん
2006/11/12(日) 01:55:36納得です。どもでした。
0965デフォルトの名無しさん
2006/11/12(日) 01:56:130966デフォルトの名無しさん
2006/11/12(日) 02:17:490967デフォルトの名無しさん
2006/11/12(日) 03:30:23http://fucoder.com/2006/11/python-wart-with-exception-and-stack-frame/
> Any convenient solution?
0968デフォルトの名無しさん
2006/11/12(日) 03:31:04$ cd JapaneseCodecs-1.4.11
$ python setup.py install
0969デフォルトの名無しさん
2006/11/12(日) 03:57:03def main():
print 1
try:
bar()
except:
print 2
print 3
if __name__ == "__main__":
main()
print 4
みたいに try: except: をトップレベルに置かないようにするとか
def bar():
try:
baz = Foo()
raise 'Doh'
finally:
del baz
みたいに finally: を使えばいいとかそういう話なのかな。
0970デフォルトの名無しさん
2006/11/12(日) 04:20:06"del x" は直接 x.__del__() を呼び出しません。
"del x"は x への参照カウント (reference count) を 1 つ減らします。
x.__del__()は x への参照カウントがゼロになった際にのみ呼び出されます。
オブジェクトへの参照カウントがゼロになるのを妨げる可能性のあるよくある状況には、以下のようなものがあります。
1.複数のオブジェクト間における循環参照 (二重リンクリストや、親と子へのポインタを持つツリーデータ構造)。
2.例外を捕捉した関数におけるスタックフレーム上にあるオブジェクトへの参照 (sys.exc_traceback に記憶されているトレースバックが、スタックフレームを生き延びさせます)。
3.対話モードでハンドルされなかった例外を送出したスタックフレーム上にあるオブジェクトへの参照 (sys.last_traceback に記憶されているトレースバックが、スタックフレームを生き延びさせます)。
1の状況については、明示的に循環参照を壊すしか解決策はありません。
2・3の状況は、None を sys.exc_traceback や sys.last_traceback に入れることで解決できます。
0971デフォルトの名無しさん
2006/11/12(日) 04:36:23例外のスタックフレームの中で参照されちゃうから、参照カウントが0にならなくて
スコープを抜けても解放されないっていう話みたいだね。いちいち例外情報を消すのがめんどい、と。
例外が処理されたら、例外情報が自動的にクリアされるようにできればいいんだろうけど、
できるんだろうか。処理されない例外をフックする事は可能みたいだけど。
0972デフォルトの名無しさん
2006/11/12(日) 05:53:440973デフォルトの名無しさん
2006/11/12(日) 06:53:04GIMPのフィルタくらいしか知らん
0974デフォルトの名無しさん
2006/11/12(日) 07:06:330975デフォルトの名無しさん
2006/11/12(日) 07:14:39http://ja.wikipedia.org/wiki/Python
の「Pythonによって実装されているフリー/オープンソースソフトウェア」あたりを見るといいよ
0976デフォルトの名無しさん
2006/11/12(日) 09:05:34Docutils試してみます
rest2webなんてのもあったりするんですね
いろいろ探してみます
ありがとうございました
0977デフォルトの名無しさん
2006/11/12(日) 10:39:41これまでもそうだったしこれからもそうだ。
0978デフォルトの名無しさん
2006/11/12(日) 15:57:56おぉ!あるんだなやっぱり
ありがとぉ
0979デフォルトの名無しさん
2006/11/12(日) 16:48:24調べる方法も欲しいなあということで探したらpydocを見つけました。
で、質問があるのです。
例えば関数renameの機能や引数が知りたいとします。でもosというモジュールの名前も存在も知らないとします。
この時、コマンドラインのpydocから、os.renameという情報まで辿りつくことはできるのでしょうか?
pydoc rename や pydoc -k rename のどちらもダメのようですし。。。
こういう検索をしたい場合、直接ドキュメントにgrepするしかないのでしょうか?
0980デフォルトの名無しさん
2006/11/12(日) 22:55:23http://pc8.2ch.net/test/read.cgi/tech/1163339504/
0981デフォルトの名無しさん
2006/11/13(月) 12:26:31http://tabesugi.net/memo/2006/b2.html#121342
0982デフォルトの名無しさん
2006/11/13(月) 12:42:36チュートリアル読めばわかることをいちいち書くな。
0983デフォルトの名無しさん
2006/11/13(月) 12:58:03どこかに書いてあることは書けないなんつってたら、荒らししか住めないスレ
になっちまうぞ。
0984デフォルトの名無しさん
2006/11/13(月) 13:11:510985デフォルトの名無しさん
2006/11/13(月) 13:47:16変わるし、あんまり気にする必要ないんじゃないかと思われ。
import time
count = 10000
tests = []
def test():
s = ''
for i in range(count):
s += str(i)
tests.append(test)
def test():
s = ''
for i in xrange(count):
s += str(i)
tests.append(test)
def test():
s = ''.join([ str(i) for i in range(count) ])
tests.append(test)
def test():
s = ''.join([ str(i) for i in xrange(count) ])
tests.append(test)
totals = [0.0] * len(tests)
for n in xrange(10):
for i, test in enumerate(tests):
t1 = time.time()
test()
t2 = time.time()
totals[i] += (t2 - t1) * 1000 # msec
for total in totals:
print total / 10
0986デフォルトの名無しさん
2006/11/13(月) 13:59:220987デフォルトの名無しさん
2006/11/13(月) 14:21:55#count=1000
4.72554564476
4.67648841441
3.90035584569
3.69968898594
4.24475744367
4.1335426271
#count=10000
54.5079901814
50.9173091501
51.2835010886
47.8802196681
55.1138479263
50.6915263832
内包表現が速いってのは本当っぽい。しかしxrangeが遅いというのは
少なくともPython2.5では真実ではない。
0988デフォルトの名無しさん
2006/11/13(月) 16:46:47流れが良く分かってないけどこんなのがあるね:
http://doc.astro-wise.org/timeit.html
| The difference in default timer function is because on Windows,
| clock() has microsecond granularity but time()'s granularity is 1/60th
| of a second; on Unix, clock() has 1/100th of a second granularity and
| time() is much more precise.
0989デフォルトの名無しさん
2006/11/13(月) 18:27:420990デフォルトの名無しさん
2006/11/13(月) 20:31:520991デフォルトの名無しさん
2006/11/13(月) 22:32:240992デフォルトの名無しさん
2006/11/13(月) 23:04:230993デフォルトの名無しさん
2006/11/13(月) 23:10:260994デフォルトの名無しさん
2006/11/13(月) 23:11:43tabesugi warosu(wwwwwwww
0995デフォルトの名無しさん
2006/11/13(月) 23:13:530996デフォルトの名無しさん
2006/11/13(月) 23:16:490997デフォルトの名無しさん
2006/11/13(月) 23:58:21Pythonのお勉強 Part15
http://pc8.2ch.net/test/read.cgi/tech/1163339504/
0998デフォルトの名無しさん
2006/11/14(火) 00:02:190999デフォルトの名無しさん
2006/11/14(火) 00:04:261000デフォルトの名無しさん
2006/11/14(火) 00:05:2910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。