1 :
デフォルトの名無しさん :
2006/10/20(金) 00:34:56
BBC は以下の文章に不適切な表現があることを予め謝罪します
おっ、Pythonスレ。
また おっぱい ネタかよw
>>8 なんかその人前提からして間違ってるような気がする。
使いやすい対話環境があるんだからPythonにワンライナーなんていらんだろうに。
ネタにマジレスカコワルイ
内容がどうあれ、煽り口調のレスはスルーで参りましょう。
devCamp2006s のプレゼンだと どういう事情(?)だったか 分かりやすかったんだけどな > ワンライナーノヒト
14 :
デフォルトの名無しさん :2006/10/20(金) 10:24:06
デブキャンってピザのオフ会だと思っていました。
>>10 "ワンライナー"という言葉に過剰反応するのは損。
よく読むと、面白いテクニックがいろいろ載っているよ。
17 :
Python初心者 :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的なセンス」を持った人間ほど、この辺り
気になりませんかね?
原理主義者は Python を使わない方がいいと思います。
決定、selfは廃止しましょう! ついでにリストも静的に領域確保して配列にしましょう!
はいはい。それは良かったですね。 次の方どうぞ。
エイプリルフールは半年先ですので. その点ご留意いただきますよう.
Djangoは盛り上がってるんだか盛り上がってないんだか分からないな。
まだ盛り上げたいか盛り上げたくないかのレベルじゃねぇの。
>とインスタンスメソッドとは利用方法が >全然違います。つまり第一引数にselfを >使用する以前の問題。 それ以前にその関数をインスタンスメソッドにする 意味がわからないんだけど。
スタティックメソッドをインスタンスメソッドにするにはどうすればいいんですか?
はじめのことばをかいてるひとは、えらいひとなの?えらいからかいてるの?おしえてえらいひと。
なんで過剰に反応するの?
>27 背伸びしなくても分かっている機能を使えばいいんじゃないかな?
28 が相当ダメそうなのはなんとなく分かるな。
selfを予約後にしても同等の仕組みはできるけど その代わりキャストとか文脈の解釈とか他の方法が必要になるんじゃねーの?
self を予約後にするならば クラスメソッドの第一引数 cls とか kls とかも予約後にしなくちゃ! 原理主義は忙しくて大変だなあ!!!
>>29 日陰者のキチガイのすることだから、大目に見てあげてよ.
マジレスしつつ、理解不足を露呈しているかわいそうな人たち
中二病は早く直そう。 病気のまま大人になると取り返しが付かないことに。
>>36 それはオリジナル国産スクリプト言語を作り始めたりしてしまう、という事か?
銀の弾丸キボンヌ
41 :
デフォルトの名無しさん :2006/10/20(金) 18:55:03
銀ダマ鉄砲の弾でよい?
(-ε-。)ブー
Djangoは非常に素晴らしいと思うけど レンタルスペースで使えるところがほとんど無いから いまいち流行らないんだと思う。 ファイルシステムがそのままURLにマッピングされるようなタイプじゃないと やっぱり敷居は高いよね。
そうだね。Perl+jocode.plにはかなわないよね。
Djangoについての細かい話なら専用スレでやるべきだろうけど、 仮にもPython製のフレームワークなんだし。 ちょろっと話題に出たらたちまち追い出そうとするのは狭すぎやしないかい。
>>47 誘導した者なんですが、気に障ったようならすいません。
「専用スレがあるので、詳しく話したいならこっちのスレの方がいいですよ」
というつもりだったのですが、書き方が悪かったようです。
Pythonで、CPANみたいなのはありますか。 つまりライブラリを集めているリポジトリと、それをインストールするためのパッケージシステムです。
TurboGearsってどうなんでしょう。これからはやっぱデザインとロジックが ちゃんと分離できるのが流行ると思ってるけど。ZOPE+ZPTも最近また盛り上がっ てますよね。DjangoにしてもTurboGearsにしてもまだまだ情報が少ないですね。
Djangoはドキュメントが翻訳されてるし TurboGearsはmookにそこそこのボリュームの日本語解説が書いてある 自分で使って試して比べてみればいいんじゃねえの?
ZOPEってどのへんで盛り上がってるんでしょうか?
50の脳内。
>>52 Zope Japan も潰れたし盛り上がるわけがない.
55 :
50 :2006/10/21(土) 00:40:53
訂正:ZOPE+ZPT → pythonscript + ZPT
>>52-54 まあニートには分からないでしょうね。
ネットでしか情報が手に入らないわけだし。
いまさらだけどIronってどういう意味なの?
>>55 >訂正:ZOPE+ZPT → pythonscript + ZPT
pythonscriptって何?
>>55 ニートを馬鹿に出来るほど立派なことを書いてるつもりか?
>>55 まともな受け答えが出来ないお前は社内ヒキコモリ。
60 :
50 :2006/10/21(土) 00:52:54
あれれニートを怒らせちゃったなw
やべ、こいつ構って君だ
50はZopeとかZPTとかpythonscriptとやらをおとしめるのが目的なんだよ.
かまってクンのせいで 駄スレ度が増加してしまいました
65 :
↑ :2006/10/21(土) 01:06:08
さらに増加
まともに質問に答えられずはぐらかす コイツ救いようがねえな PythonやめてRubyでも使っておけや 頼むから
まともな質問なんてあったっけか
Rubyを引き合いに出す奴は荒らしたい奴だからほっとけ
>>55 >訂正:ZOPE+ZPT → pythonscript + ZPT
意味不明.頭沸いてるんじゃないのか.
沸いてるんだろうね
∧_∧ ry ´・ω・`ヽっ `! i ゝ c_c_,.ノ ( ) .∧ ∧.( (´・ω・∩ またーりしようよ o ,ノ O_ .ノ .(ノ ━━
かわいそうに。 なんてみじんも思わない。
>71 かわいす とはちょっと思ったw
やっぱり建設的じゃないレスの比率が高い。
建設的なレスの比率が高いスレなんてあるのか?
sciPy使ってる人いる? 日本語で役立ちそうな情報が乗っているサイトとかないかしら・
佐賀スレ
79 :
デフォルトの名無しさん :2006/10/21(土) 05:23:02
>>49 サイトとしてはPython Cheese ShopとかPEAKとかかな
85 :
76 :2006/10/21(土) 13:15:52
みなさんありがとう. 普段はmatlab市か使わないんだけど,ちょっとpythonにも手を出してみようと思って.
佐賀県でpython
>>79 俺、大学で習った最初の言語がMATHEMATICAだったよ・・・
みんな明らかに不満そうだったw
>>8 __setitem__を__call__にぶち込むテクにワロタ
もはや異次元
>>17 >>19 python3でもselfは明示的ってのはすでに決ってるらしい
ので、そのあたりの仕様はpython使う限り、あきらめた
方がいいと思います。
pythonライクな文法の別の言語でselfを省略できるのが
あったような気が・・・
もうPHPでいいよ。Pythonと縁が無くて幸せだったと思える時が来るから。
言語の仕様で文句言うより、言語を使って何を作るかに注力しようぜ。
92 :
Python初心者 :2006/10/21(土) 17:12:18
>>91 >言語の仕様で文句言うより、言語を使って
>何を作るかに注力しようぜ。
至言ですね。
但し何を作るかが決まれば、Pythonでなくても
どんな言語でも作れるってところが問題で…
そこで再帰的に言語仕様の話へと循環する
訳です。
93 :
Python初心者 :2006/10/21(土) 17:13:31
Pythonのfor構文よりC言語のfor文の実行速度は 2倍早い。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文よりすっきりしてますよね。 実行速度が早い、分かり易い、かつ短く簡潔である。 リスト内包表記を使わない手は無いと思うが。 どうでしょう?
>>93 その通りだと思うよ。
ところでここら辺でメタクラスの話でもしてみないか?
賛成。ついでにリストを配列にしようぜ。
self は当然廃止な.
なにがどうでしょうなのか
新言語設計の話題は専用スレを立ててやってください
感想文や素晴らしい思いつきはブログとかに書けばいいんじゃね?
guidoタンに直談判、もちろんオランダ語で
蘭学者はおらぬか!佐賀県!
つか、「Python初心者」って奴は全然初心者じゃなくて 明らかに工作員だな。 前スレとかでは相手してたけどそろそろスルーしよーっと。
103は明らかに初心者
どうでしょう?
工作員っていうか、「名前を口にするのも憚られるあの人」じゃないの?
何?佐賀県から工作員が来たって?
PythonでRADできるんだ。すげー…。 まあ、UI切り貼りぺたぺたをPythonでやる(やらなくちゃダメ)なケースは そんな多くないと思うけど、夢があるなー。
さいきんやたら佐賀ットの名を聞くけどどうかしたのか
>>114 こんなことやってるから佐賀は馬鹿にされるのだと思う←これも通知されるかw
115は小心者
>>117 のblog
2chの書き込みへのレスは2chに書くべきだと思う・・w
118 は工作員。
>>120 え、ZOPEとリスト生成の話がどう関連するのか聞いただけで工作員なの?
なんで過剰反応するの?
なんでもいいからZOPEを叩きたいんだろ。韓国の反日と同じ。ほっといてやれ。
放っておけない理由があるんだよきっと.
ハ_ハ ('(゚∀゚∩ またーりしようよ! ヽ 〈 ヽヽ_)
Pythonユーザはまだまだ少ないんだから内輪もめはやめようよ。
悪いのも荒らしてるのもみんなあの人だから。
てか、なんでこのスレ耐性異常に低いんだ? 2chなんだから別に荒れてても華麗にスルーでいいじゃん。 少々毒があってもアホでもネタ。 やめようと、叩こうとか云いたくなるならROMしてた方がいいよ。
で、 pythonscript って結局なんなの?
130 :
デフォルトの名無しさん :2006/10/22(日) 11:36:08
>>128 荒らしも荒らし止めろも単なる暇つぶしですよ
キチガイと工作員はたたいて追い出すべき。
>>128 てか、お前耐性異常に低いんだ?
2chなんだから別に荒れてても華麗にスルーでいいじゃん。
少々毒があってもアホでもネタ。
ROMしてた方がいいよとか云いたくなるならROMしてた方がいいよ。
je ne comprends pas
>>134 2chなんだから少々耐性低い奴いても華麗にスルーでいいじゃんww
138 :
Python初心者 :2006/10/22(日) 17:45:00
>>103 >つか、「Python初心者」って奴は全然初心者じゃなくて
>明らかに工作員だな。
Pythonを初めて触って思いついたことを書いている
だけだけど、それが何かの工作になるのでしょうか?
ただ、言語そのものは一応Java,C,C++,Delphi,
VB,PHP,Lisp,Scheme,Prolog,Ruby,Curl,Perl,
Rebol,Icon,TclTk,Sqeak,桐の一括処理?とかで
Hello World!だけは出力できるけど…(w
140 :
Python初心者 :2006/10/22(日) 18:08:22
>>139 無理です…
ところで、
Decoratorを使いたいと考え、最もシンプルな
例として下記コードを書いてみました。
def deco(func):
def greeting():
print 'Hello'
func()
return greeting
@deco
def say_name():
print 'Python'
say_name()
OPは下記の通り:
Hello
Python
141 :
Python初心者 :2006/10/22(日) 18:09:04
@decoはsay_name = deco(say_name)と同じ。 つまり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
> 何故、下記のようにならないのでしょうか? IndentationError だから。 初心者はつまずきやすいところだから気を付けてね。
> ただ、言語そのものは一応Java,C,C++,Delphi, > VB,PHP,Lisp,Scheme,Prolog,Ruby,Curl,Perl, > Rebol,Icon,TclTk,Sqeak,桐の一括処理?とかで 立派な工作員です。本当にありがとうございました。
>143 別に良いんじゃね? 所詮 HelloWorld しか出来ないんだし。 それよか Python の話題を出そうぜ ……言い出しっぺの法則? ははっ
>>141 @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回出力されると思ったの?
>>141 一番外のgreetingで一回Hello
次のgreetingで2回目のHello
最後にsay_nameでPython
だと思いますが・・?
つか、デコレーターの意味がまったく分からない。
どんな局面でこれが必要になるのか・・・
誰もが納得できるような、ここはデコレーターしかない
見たいな局面が出てくるとはとても思えない
カブリー
言語オタテラキモス
外人が「あ、俺日本語しゃべれるぜー コニチワー」って言うのと同じだと思うけどw
CherryPyが使ってる
デコレータはシンタクスシュガーだから 別に無くても困らないよ
デコレータよりメタクラスの話をしようぜ。
Djangoも使ってる。 っていうかフレームワークかくときに便利なんだと思う>デコレータ
デコレーターは IQ 140 以上でないと使えないよ。
ただ単に高階関数でラップする構文糖に、なぜそんなIQが必要なの
>>146 > 誰もが納得できるような、ここはデコレーターしかない
> 見たいな局面が出てくるとはとても思えない
そういう人はデコレータを使わなければいいだけだと思う
人生で覚えることがひとつ減ってラッキーではないか
Python初心者とやらの推定IQは79くらいか. IQ低い奴はZOPEでも使っていればいい. あ, Script(Python) は避けた方がいいぞ.
厨のすくつと化しました
悪意しかねえスレだなw 役には立たんが見物としちゃ楽しすぎるぜ
161 :
デフォルトの名無しさん :2006/10/23(月) 01:43:39
IQなど存在しない
CQ出版のほうがエロい。
>>160 気に障ることが書いてあったのかも知れないけど、
そんなときこそスルーする力を身につけようぜ!
スルー力厨。
166 :
デフォルトの名無しさん :2006/10/23(月) 04:40:33
>>>True = False >>>True False 激しくワロタ、何だコレw
T/Fが予約されてないから、代入可能って過去スレでも話題になってた。 気になる人はいるんだな。P3kでは予約されるのかねぇ。
using: classmethod deco def func(arg): pass ていうのを知ったんですが、 J2 proposalっていうのは未だに揉めてるんでしょうか? pythonコミュニティ自体がばらばらにならないといいなぁという心配が・・・
del __builtins__ が最強
原理主義者はPythonを使わない方がいいよ。
>>166 >>>>True = False
>>>>True
>False
>
>激しくワロタ、何だコレw
ふつうこういうことしないし、非原理主義者は「ふーん」で思考終了。
>>166 実用上困ることはほとんどないという意味で
>>171 に同意。
原理主義者云々はともかくとして。w
174 :
デフォルトの名無しさん :2006/10/23(月) 13:52:15
pythonが実行されている環境のタイムゾーンを示すアルファベットの 文字列(日本だと'JST')を取得したいのですが、どうすればできる でしょうか? import time time.tzset[0] を使ってみたのですが、Windowsで実行すると"東京 (標準時)" というShiftJISの文字列が返ってきてしまいます。
>>> True = False >>> bool(1) True >>> if bool(1): ... print "foo" ... foo >>> if bool(1) == True: ... print "foo" ... ぜんぜんおかしくないさ。 なにいってんだおまいら。
>>172 自分とは違う種類の人間だということ。
それ以上の意味はない。
変人、きちがい、チョン、ヲタクでも可。
>>175 どうも値のTrueと名前のTrueが別物っぽいですね。(常識なのかな・・・?
>>170 のようにうっかり__builtins__を消してしまったときの裏技
>>>del __builtins__
>>>True
NameError:...
>>>True=1==1
>>>True
True
ひょっとして、このスレ、もうPython使い一人もいないとか?
何をいまさら
定義厨(wwwwww
>>176 つまり言葉の意味を知らずに使っているということだな。
正直にそう言えよ。
「教典」に従うことでしか安心感を得られない。 細かいことにいちいちつっかかる。 消毒、消毒!! 自ら持つ信念が無い。 故に実社会ではまったく「使えない」。 そんな奴らなのさ〜>原理主義者
ipython-0.7.2.win32をインストールしたんだけどIPython起動して IN[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
185 :
Python初心者 :2006/10/23(月) 16:08:49
>>143 >立派な工作員です。本当にありがとうございました。
申し遅れましたが、一応C#は現在使用中、Haskellや
Ocamlもかって触ったことがありますので工作員資格に
追加しておいて頂ければ…
言語厨と工作員は違います
でも行動と見た目は似ています。
188 :
Python初心者 :2006/10/23(月) 16:14:27
>>145 ,146
Tks!デコレーターって言う意味がようやく
分かりました。
例えば下記のようなコードで前処理と後処理を
関数に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
スレ違いだったらごめんなさい。
Code 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/
>>156 >ただ単に高階関数でラップする構文糖(シンタックスシュガー)
俺にはこの説明が簡潔で分かりやすかった
実用的な例が増えてくると想像力に乏しい人でもイメージしやすくなるだろうな
>174 time.strftime('%Z')
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32 >>> import time >>> print time.strftime('%Z', time.localtime(time.time())) 東京 (標準時) (*0w0)ウェーイ
locale.setlocale してみれば?
>>169 どもです〜^-^/
(パカ
(モクモクモクモク
アワワワワ
196 :
174 :2006/10/24(火) 02:47:47
>>194 locale.setlocaleで英語を設定してみましたがダメでした・・・
日本語版windowsならJSTじゃなくて東京(標準時)なのは仕様 international版でも'Tokyo Standard Time'って還ってきたと思う なのでレジストリ書き換えるかwin2k以上なら環境変数TZをJST-9に設定すればいいかも あるいはスクリプト側でUTC +09:00をJSTにしちゃうとか
199 :
Python初心者 :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
印字している内容が不必要に扇動的な件
Pythonのオブジェクトは所詮インタプリタという空間にくっついた属性でしかない
きみたちをお相手係に任命する
>>200 , 201
馬鹿が馬鹿な事をするのまでは阻止しないのが Pythonic
IQ 65に格下げ。 おまけに空気読めない称号も付与。
ここは殺伐とIQについて語るスレになりました
↑普通のプログラム入門書だった気が・・・立ち読みしかしてないけど
>>206 要するによく使う条件を
@条件_required
def .....
で、書くとifが減ってうるさくない感じになるってことですね・・・
しかし、何かとかぶってる感じがする・・・
>>207 プログラミング初心者には良い本。
一般的なプログラミングの話に重点を置いているので、
Python入門用と考えると、内容が薄いのと扱ってるバージョンがちょっと古い。
>>211 207みたいな厨房には必要なんだよきっと.
>>207 初心者向けの本だが、このスレの住人のほとんどが
内容をちゃんと理解できていないと思われる。
メタクラスについて話すべき時期に来ていると思います
じゃあ、ネタ振れよ
213 にも必要らしいぞ
今月のSoftware Design読んだ人いる? 近くの本屋に置いてなかったので Python入門どんな感じだったか聞きたいです
メタクラスのアナグラムでよろしく。
〜の話しようぜ、ってフリ自体がネタだとおもう
はじめのことばをかいてるひとは、えらいひとなの?えらいからかいてるの?おしえてえらいひと。
じーど?
自称ハイレベルなユーザーばかりが集うインターネッツですね(*^_^*)
ちょっと質問なんだけど、Python でダウンキャストみたいなことは できないのでしょうか。 具体的には、 class A: def X(self): return 'hello' class B(A): def QuotedX(self): return '"' + self.X() + '"' def ReturnsA(): return A() の様なものがあったとして、ReturnsA() の戻り値を B のインスタンスと見て QuotedX を 呼びたいんです。動的にメソッドを追加するというのは無しで、何か方法はあるのでしょうか。
>>224 それはダウンキャストでもアップキャストでもない。単なるキチガイキャスト。w
なぜそんなことをやりたいと思ったのかを書けばもうちょっとマシな質問になるだろう。
>>224 Pythonならダウン"キャスト"なんてする必要もない
その例は本当にダウンキャストの例なのか?
QuotedXを呼び出すつもりでQuotedYと書いてた、 とか言うオチじゃないだろうな。
難しいことを簡単に考えるのが頭のいい人。 難しいことを難しくしか考えられないのはバカ。 しかもこういうバカは自分がバカであることに気づかないから始末に負えない。
> def ReturnsA(): > return A() > の様なものがあったとして、ReturnsA() の戻り値を B のインスタンスと見て > QuotedX を呼びたいんです。 返してるのがAのインスタンスなのに、Bとして扱いたいってこと?? そりゃいくらなんでも無茶じゃねぇだろうか。
230 :
224 :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 のメソッドを呼ぶ様な横着はできないかと思った次第です。
結局メタクラスに誘導なんですね。
>230 そんなあなたにとっておきの解。 つ [C++] オールドスタイルキャストしちゃえばどんなポインタも望み通りのクラスインスタンスになれるよ!! ハ_ハ ('(゚∀゚∩ でもしぬるよ!! ヽ 〈 ヽヽ_)
230が言ってるのがどういうタイプの横着のことなのか分からん・・・ まさかそんな基礎設計的な部分で「タイプがめんどくさい」とか・・・・?w
「俺ってすごい感」とか そういうやつだと想像。
235 :
227 :2006/10/25(水) 02:04:19
読み違えてた。正直すまんかった。 こういうことだったのね。 a = ReturnsA() a.__class__ = B
>>230 >要するに、インターフェースを換えずに振る舞いを換えたり
>新たなインターフェースを追加したいと言うことです。
いくらなんでも矛盾してるだろ。いいたいことはわかるが。
つうか、こんなことができる言語ってなかなかないような気がする。
プロトタイプ指向でもない限り。
>>235 Pythonすげえ!
委譲ということばがでたところで質問。 Python を使ってデザインパターンの説明してるページとかないですか?
おまえら賢いな。俺には
>>224 の言いたいこととやりたいことがサッパリ理解できないわけだが
ここはエスパー養成スレですから
242 :
227 :2006/10/25(水) 10:50:38
エスパーでも何でもない。釣られただけ。
要は、「(動的なクラス変更ができない言語のために発明された)
アスペクトとかデコレータとかをPythonでやるにはどうすればいいの?」
という質問なんでしょ。
動的なクラス変更ができるPythonなら、235で書いた(書かされた)通り、
「動的にクラスを変更すればできますよ」という答えが出てくるのは必定。
そこで
>>236 、
>>235 のような「それは反則じゃないのか」という反応が起きるのも予定調和。
そして、この流れ自体が、
>>231 が喝破したように、
>>224 が仕掛けたメタクラス誘導のための釣り。
これに釣られて、227で墓穴を掘り、235でネタを提供させられ、
ついにはこの解説を書かされる羽目になったのが俺。
暇人の集うスレへようこそ。
227を釣るスレになりました。
>>227 正直、感動した。
まとまらない質問に、見事なまとめで答える。
Q&Aの見本のようなやり取りだと思った。
初心者ばかりのスレで孤立する 241
変数が定義されてるかどうか調べるのに、 if not '__host' in dir(self) とかやってる私は変ですかね。
>>248 >dir(self)
hasattr(self, '__host')
変じゃないよ。 みんな隠しているけど、ここはそんな人たちばかりだから。
vars(self).has_key('__host')
has_key() は西暦 3000 年に消滅するので なるべく使わないようにしたほうがいい
うちの鬼が笑っています。
256 :
Python初心者 :2006/10/25(水) 16:23:07
空気を読まないPython初心者として一言:
Pythonのオブジェクト指向は他の言語とは
かなり違いますよね。
class PythonJoke :
X = 'Python'
if X=='Ruby':
print 'Yadaa! Ruby'
else:
print 'OK! Python'
PythonJoke()
PythonJoke->OP:
OK! Python
クラスが普通の関数と同じように使える…
>>199 クラスの定義文の外でクラス自体も、それから
生成したインスタンスも自由に変更出来る。
確かにパワフルな印象はあるが、これはこれで
使いこなすのは結構難しいような気がする。
特に多人数で開発するとき。
いちいちdir()で中味を確認しないとクラスや
インスタンスが使えない…、なんてことには
ならないのだろうか?
>>254 お宅の鬼によろしく言っておいてください。
>>255 そんなことをここで訊くのが間違っている。
こんなところに出入りしている暇があったら素直にソース嫁。
259 :
255 :2006/10/25(水) 16:41:25
>>258 ソースがある場所だけでも教えていただけると助かります。
>>259 おまいの貼り付けた記事に書いてあるだろうがー
256 が仲間になりたそうにこちらを見ています
ソフトウェアデザインの2.5解説は On Python を読みましたと言わんばかりだったなぁ。
>>263 On Pythonって何?
おっぱいそんしか知らないぜ。
>>264 雑誌原稿が書きたくて悔しいご本人だよ。
そっとしておいてやれ(ww
>>265 うはwwwwwwwww
とんだ馬鹿面引っこ抜いちまった。
サイト管理者の方、すみませんでした。
>>263 どっちも python.org の英文を元にした二次情報だろ.
悔しいのかも知れないが、こういうときは黙っておくのが男というものだよ.
新着47件ですか
269 :
デフォルトの名無しさん :2006/10/25(水) 19:05:51
あの、forでまわして配列に値を順繰りに詰め込んで逝くという動作についてなんだけど ネットを駆使して調べて 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的にはスマートではなかったりするんでしょうか?
リストの内包表記かな。 あと、print文も print "sum[%d] =%d" % (r, sum[r]) みたいにするのがいいと思う。
>>269 ネットで何を調べたのかは知らないでげすが、組み込み関数のreduceを使って
>>> reduce(lambda a, b: a + b, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 0)
55
とするのが、関数型言語的にはベタでスマートなやり方ですがPython的には
どっちでもいいでげす。
組み込み関数sum()を知らないスマートな初心者の集まるスレはここですか?
269がめちゃくちゃに見えるんだけど・・・?
嫌なことや気になることでもあったに違いない
めちゃくちゃでもいいんだよ。 lambdaやreduceやメタクラスさえ使えれば満足なんだから。
lamda や reduce , メタクラスを不用意に使いたがる人たちを 「おっぱいそん」と呼んで蔑むことにしましょう
testしてないコード書き込む奴はバカ
エスパー能力で補完すると sum[r] = sum[r-1] + r としたいのかな
スレを流したい理由でもあったんだろ。
283 :
デフォルトの名無しさん :2006/10/25(水) 21:57:04
最近、Pythonに興味を持ったんだけどPythonスレっていつもこういう流れなのか? つーか、ここって本当にPythonの本スレなのか?
スレ番二桁過ぎた辺りから特に、住民が陰険になってこんな感じ。 慣れればどうってことないんで、本スレと認識してOK
さて、そろそろメタ(ry
287 :
283 :2006/10/25(水) 22:20:01
海外はともかく日本国内で代表的なフォーラムがあるようにも見えないし、 MLやmixiのコミュも閑古鳥が鳴いてる。 Perlの次に人気がある(はずの)スクリプト言語のユーザー達は、一体どこで 情報交換してるのか不思議で仕方ない。
とりあえずどんな言語だろうと、mixiに期待するのは止めとけ。 多少荒れたとしても、この板の方がはるかにマシだ。
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] でした。
>>290 Pythonの解説があまりにも中途半端だと思った.
この著者本当にPython知ってんのかレベルの中途半端さ.
初心者の集まるスレはここですか?って、そりゃないだろう。何それ?
もうレスは完結してるのに自分で勝手にやったんだろう?
教えてもらった君が言うのもなんだが、ちょっと暴走してるんじゃないか。
組み込み関数sum()のことも、展開した形に直されて実行されると知っているから、
"展開したらどういう構造になるのか?"と聞いたわけ。
そうしたら、"速度を気にするのなら使うべきではない。が、どうしても構造が気になるならファイル出力して見ろ"と
返答をいただいた。
これはつまり、組み込み関数sum()は遅い、少なくとも組み込み関数sum()を使うことで手打ちよりも速く最適化されるわけではないって言ってるんじゃないの?
これは、組み込み関数sum()が実行速度を落とす(結果論)以外の何にあたるの?
一体誰が、組み込み関数sum()で実行速度が遅くなる"理屈"を聞いたんだよ。そこも勝手な勘違いだろう。
組み込み関数sum()を使うと実行速度が遅くなる、 答えは YES これでいいんだろ? これが結果だろ?
それが
>>274 の"組み込み関数sum()を知らないスマートな初心者の集まるスレはここですか?"ってことだろ?
何を余計な理屈を言って、それで"初心者の集まるスレはここですか?"ですか?w
初心者の集まるスレはここですか?ってw
お前、どんな内容であろうと、叩くか、人の足元見て博識ぶって偉そうにするかしか能がないだろ。
やらされたくなかったらレス自体しなければいいこと。
レスさえしなければ、俺の質問は流されて終わるか、他の誰かが知識を分けてくれるか、ただそれだけ。
Pythonしか使えないやつというより、俺も含めてこのスレ全体が腐ってるんじゃねーか。
俺と同類だよ同類。俺もこの程度でファビョンするくらいだから低俗なんだろうがな、
お前らも同等な低俗さだよ。同じような人間として言わせてくれよな。否、同じ生き物として認めたがらないんだろうけどな。
まぁ、このレス以降もう来ないから、テキトーに釣られときな。
教えてくれてありがとーな。
このスレの住人もあまり人のこと言えませんよね
アワワワワワ。
ひゃあ、きちがいだ。
sumとかstrとかintとかいう変数を定義しちゃダメだぉ。 >>> int = 0 >>> int("123") Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: 'int' object is not callable
ある程度の規模のツールを作ることになって、文字列処理がメイン と言うこともあり、Pythonで作って配布する事になった。 しかし、py2exeを試したが、DLL付属でとてもサイズがデカイ。 IronPythonも考えたが、相手方の環境を考え見送った。 結局py2exeで作った実行ファイルを渡したが、「サイズでかい」、とか 「何このDLL」とか、色々言われてしまった。 次に展開する時は、「前のツールと同じ場所に置いて」とでも言えばいいのか。 Pythonで作ったツールとか、社内とかで配布したい場合どうしてる?
そうね。ミキシは無いね。 一番いいのは自分で調べることだと思う。 ほぼ全ての情報はWebにまとまってる。
>>298 俺は、会社の規模がさほど大きくないこともあって、問答無用で
Python をインストールさせるが...
それより、IronPython を使わせる方がハードル高い気がする。
GUIのアレ、うろ覚えだけど.netだっけか。 記事で見たら付属ファイル無いとかなんとか、 夢みたいな良い事ばかり書いてあったな。
302 :
298 :2006/10/26(木) 00:27:43
>>300 Cygwin環境があれば、強制的に入れさせることも「あり」なんですけどね・・・。
setup.pyにWINDOWSフォルダにPython24.DLLをコピーする処理を書こうかとも
思ったが、後で問題になるかも知れないと思い断念。
早いところVBスクリプトとかJスクリプトとかと同じ扱いになって欲しい<Python
(car, *cdr) = [1,2,3,4] とかできると嬉しいんだけどな…。
mixiのPythonコミュは管理人が小物過ぎるんだろ。 あと,MLは時代遅れかもな。 最近の奴はBlog + ソーシャルブックマークとかで情報収集してるんじゃね?
>>302 1つのexeファイルにパッキング
圧縮すれば小さくなるし
>289 それ動く? なんで リスト が必要ではない(と思われる)ところで []を書こうとするのか?
>>289 sum = sum + [r] よりも sum.append(r) の方が効率的で速いよ。
>>303 car, cdr = x[0], x[1:] と書くのと大差ないよーな。
>>298 > 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 用インストーラでサクサク、というのが敷居を下げるコツのような希ガス。
アンインストールも簡単で後腐れがなければなお良い(これもお試しユーザにとっては重要)。
バイナリはpy2exeで作って、インストーラはInno Setupで作っているよ。 結果的にファイルがいっぱいあっても、インストーラ一発でインストールできるなら 素人さんは文句言わないような気がする。
入れるときに見えるアーカイブが一つなら、中がカオスでも気づかれないしね。
>>306 やりかたが分からなかったから
とりあえずやりたいことを実現するために出来ることをやってみたら
この形が一番始めにできたからです
いわばオブジェクト指…思考です!
アワワワワワ。
Numpy 1.0出たね。 って使ってる人少ない?
289はHaskell的なスタイルだなって思った。
関数型言語風のスタイルも オブジェクト指向風のスタイルも そつなくこなすのがPython的にいけてるスタイル
320 :
Python初心者 :2006/10/26(木) 20:47:47
>>262 ねぇ、
>>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は使わない方が良い。
「堂々と」言語仕様の問題点を指摘していたような
記憶がある。
杞憂でしょう ついうっかり間違えて使うようなバグまがいの仕様ではないし 上級者しか使えない言語は問題だけど 上級者しか使わない言語機能は問題にはならない
これだから原理主義者は...。
何が問題なの?
クラス名に()を付けてコンストラクタを呼び出す構文なら他の言語にもある。
>>320 323に同意。それらの言語仕様の何がどう問題なの?
トリッキーなことができるのと、実際にトリッキーなことをやるのとは違う。
トリッキーなことをしなくても Python プログラムは書ける。
Python は法律じゃない。トリッキーな抜け穴があっても誰も困らない。
いわゆる「弱い型付け」の言語は実行時とそれ以前(たとえばコンパイル) の区別がなくて、関数やクラスの定義を実行時に解釈する物が殆ど。 クラス定義が実行時に解釈されるんだから、たとえばメソッドの書き換え が実行時に出来るかどうかは、その属性が外から変更できるかどうか、の 問題に帰結する。 トリッキーだと思うかどうかは読む人のバックグラウンド次第じゃないか? lambdaとかクロージャとかの経験があれば、あってよかった、ってなもんかも。 そういう話じゃなくて?
>320 言語仕様の問題点?古い時代の標準ライブラリの問題点だろ?
釣りが上手ですね。
原理主義者だ、原理主義者だ、何の原理か知らねえけど原理主義者だ!
perl みたいに一つのこと解決する短い式や文をいろんな書き方で書けるという 特徴を否定的に表現して、英語でなんとかって言うらしいんだけど、なんだっけ?
TOOWTDI There's Only One Way To Do It かな?違うかも
332 :
298 :2006/10/26(木) 23:40:16
亀レスだけど、
>>308 thanx。
トイレの内側に貼っておくわ。
一応配布対象は、同じ開発メンバーだったりするんだが、
全員から「Python?しらね」、と言われてしまっている。
「PerlとC言語を足して、2で割って、$記号を引いた様な言語」と言うと納得してもらえる。
本当はもっと伝えたいことはあるんだが、雰囲気がサワヤカ過ぎて言葉にできない。
>>331 それです!
どうもありがとう。で、最近は python もいろいろな書き方できるようになってきた
ような気がする。というのが本題でした。
具体例とか言われると、迷うけど、2.5の参考演算子とか、要るの〜?って感じで。
3000には switch も来るそうで。
複数の言語を浅くやってると、switch $i in だか case in $i だか esac だか栄作だか
混乱するんですよね。
>>333 replace('参考', '三項')
>>333 参考演算子って、自分の知らない仕様が追加されているのかと思ってあせったYO!
「三項」ね・・・。
switchイラネ。if - elifで十分じゃん・・・。
たまにelse ifと書いて、叱られるけど。
>>335 if 〜 elifだと、条件式の評価が複数回になる
switchなら、一回で済む
>2.5の参考演算子とか、要るの〜?って感じで。 あの構文使うぐらいなら今まで通り〜and〜or〜と書いたほうがよっぽど分かり易いな。
338 :
335 :2006/10/27(金) 00:16:07
>>336 それは本当?
内部的に、やっていることは一緒じゃなくて?
>>336 そうなの?
確かにCだと switch のほうが速いと言うのは定説ではあるが
(いまどきは知らんが、もしかしたら最適化でそんなのどっちでも同じになってるかも)
http://www.python.org/dev/peps/pep-3103/ There 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を子守歌にして寝ろ。クソどもが。
341 :
335 :2006/10/27(金) 00:26:27
調べてみたが、switch-caseではなくて
match identifier:
object:
syntax
object:
continue # Equal C - no break
any:
pass # Equal C - default
みたいな文法なんだねぇ。
書けるにしても、もうちっと他の言語と合わせて欲しいかも。
>>339 VCやGCCやMIPS系のコンパイラでも殆ど最適化かかっているよ。
ただ、逐一判定は行っているので(無駄な判定はとばしてしまうが)、
>>336 が本当ならすごい実装していることになる。
あわわわわわ。
341は、自分では頭がいいつもりのトンデモ電波野郎。
345 :
341 :2006/10/27(金) 00:31:29
m9(^Д^)プギャー!!
動的言語らしからぬ微妙な実装構文
いずれにせよ、C みたいに、case の break を書かずに置いて複数の条件ブロックを 実行させるようなことはできないみたいね。 まぁアレもどうかとは思うが。break 忘れる奴多すぎ。
Googleに変なものを掴まされて、恥ずかしくなったので トンデモ電波野郎は去ることにするよ。
351 :
Python初心者 :2006/10/27(金) 15:03:55
>>321 〜329
>何が問題なの?
例えば、
「初めての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)
そりゃ大変だ。まぁがんばれ
>>351 「初心者」が嵌り易い問題だとは思いません
頼むから、質問するなら最後まで読み通してからにしろよ・・・ 質問に答えてから「答えは〜ページに書いてありました」なんて失礼にもほどがある
Python初心者の真の目的は、はじPyの評価をおとしめることなのである。
釣りが上手ですね
>>351 Javaでも使ってろ,というのもカワイソウなので
ヒント: >>> dir(OverLoad)
「メソッドが上書きされて警告も出ないなんて、初心者が…」という展開になると予想。
×「メソッドが上書きされて警告も出ないなんて、初心者が…」 ○「メソッドが上書きされて警告も出ないなんて、私が…」
大好きな他の言語達と比べる前に まず本の一冊くらい読み通そうね。
>>362 >ちなみにちゃんと出来るので心配無用
こういうこと言ってんじゃないと思うが。
まぁ引数の数が違うメソッドの名前を同じにしたい場面って、あまり思いつかないけどね。
>>351 のサンプルだったら確かに
>>362 の紹介した任意引数リストで
十分だと思うし。
リストを容易に扱える時点でC++とかのオーバーロードなんて(゚听)イラネ。
>>351 > >何が問題なの?
> 例えば、
ぜんぜんたとえになっていない件について。
>>199 と
>>256 と
>>351 はそれぞれ違う言語機能の話じゃん。
どうもあなたの読書感想文はウケが悪いみたいだから、
続きは自分の日記帳に書くのがいいと思われ。
>>364 いいじゃん。ネタないんだから、このネタで。
Python初心者氏、なんか「その機能を使って何をやりたいのか」がイメージ出来てないように見える Pythonに対してだけでなく、暗黙の内に比較対照にしている言語に対してもだけど
原理主義者だもの。 汚いものは消毒しないとね。
だからよ、何の原理よ?
プログラム言語論の原理主義
370 :
デフォルトの名無しさん :2006/10/27(金) 21:17:57
リストのデータ型を文字列から整数型に 変換したいのですが、ループを使わずに 一気に変換することは可能でしょうか? 例: ['1','2','3'] → [1, 2, 3] どなたかご教授頂けないでしょうか。 よろしくお願い致します。
map(lambda x: int(x), ['1', '2', '3'])
map(int, ['1', '2', '3'])
373 :
370 :2006/10/27(金) 21:49:43
>>371 >>372 どうもありがとうございます(´∀`*)
mapという関数を使えばよいのですね。
本当に助かりました。
a = [int(x) for x in a]
言語仕様にちょっとでもケチをつける奴には死を!って感じだな。
単に馬鹿が馬鹿にされているだけだろ
ケチのつけ方に悪意がこもっていたり、 個人の好き嫌いを一般論にすり替えようとしてたりしてるから。
故に原理主義者と。
変な火の粉が降りかかってくるから振り払わないと火傷しちゃうんですよぉ
「このぱいそん、じゃばじゃない!」と言っているようだ。
香ばしくなってまいりました。
そういうときは原理主義でメタクラスな話でもしようよ
原理主義者なら当然 self は廃止だよな。
どういう原理だよ
我々の教典には「はじめにselfありき」とあります.
はらさとるですが何か?
原理主義的にはメタクラスはプロキシーパタンに分類されます
アワワワワ。
同じ反応ばっかりしてると某おっさんなのがバレバレ仮面。
敢えて悩まずに「Python初心者」「原理主義」「メタクラス」を透明アボリッシュ
言語仕様にちょっとでもケチをつける奴には死を!って感じだな。
故に原理主義者なんですよぉ。
>>389 >バレバレ仮面
大正ロマンの香りのする妄想ですね。
バレバレ仮面のメタクラス的実装について、原理主義的に議論しようぜ.
>>Python初心者 正直、私はあなたを応援するよ。 あなたの質問は、他の言語スレならどれも問題なく応答されている類のものだ。 「空気が読めない」とか批判されているけど、 はっきり言って、ここのスレの空気は腐っている。
本人乙
メタクラス原理主義 デザパタ原理主義 lambda原理主義 態度のでかい初心者はいぢめる原理主義 腐ったスレとけなしつつ、ほかに行くとこがない原理主義
>>395 本の一冊もまともに最後まで読めないアホを応援すんなよWWW
いずれにせよPEP一読してからね>バレバレ仮面
Python初心者とか言ってる奴は何をやろうとしてるんだ? なんか、JavaやLispの参考書のサンプルをPythonで書き直してみるとか そういうただ不毛なパズルをやってるだけのような気がする… そもそも違うものなんだから、考え方や心構えも違うわけで。 例えとしては微妙かも知れないが、 性善説に基づいたある程度の秩序が成り立ってる所に 性悪説の常識を振り回しながら踏み込んでいく、っていうのは 必ずしも望ましい事ではないと思う。
>そもそも違うものなんだから、考え方や心構えも違うわけで。 その考え方や心構えを聞いているように見えるが。
言語仕様にちょっとでもケチをつける奴には死を!と叫ぶ おそらくPythonやってもいない粘着嵐を追い出さないとダメだ。
いい加減に、そろそろPythonの話を。 まずはメタクラスあたりから。
398 の超ロングパスはいつか届く日は来るのだろうか
なんだかキャラとして独立したバレバレ仮面のAAよろしく
>>407 川|川川 川 ‖川 | | | ー ー|| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 川川 | |ー□--□l < 同じ反応ばっかりしてると某おっさんなのがバレバレ仮面。 川川| | \ J/|| \_______________ 川川‖ | ロ|/| カタカタカタ 川川|‖\|__|l|l _____ /川川川__/川川 | | ̄ ̄\ \ | 川川| |/川l__,| | | ̄ ̄| | \_|__|_|、__| | |__| | \____|つ |__|__/ / | | | | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕 | | ̄
キモイ
python の宿題。。。スレのほうがよっぽど良スレな。 ところで、python の thread で mutex で複数待たせて、mutex 開放するとするじゃない? そのときブロックから復帰するのってFIFO?それともOSまかせの順不同?
それリファレンスに書いてなかったっけ?
PythonでSICPやります
413 :
Python初心者 :2006/10/28(土) 15:38:33
>>395 応援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の実力の程を世界に知らしめてやろう!、
といった「気迫溢れる先生」は居られないのだろうか?
>>411 >どのスレッドが処理を進行できるのかは定義されておらず、実装によって異なるかもしれません。
かなぁ。結局 pthread もそうだし、python の thread って pthread 利用してるんだっけか。
pthread だと lock 開放順をFIFO したかったら root 権が要るんだけど、python ではどうなんだろうなぁ。
>>412 意味はよくわからないが、SICP の例文を全部 Python で書いてくれるとうれしい
見事にスルー仮面。
417 :
デフォルトの名無しさん :2006/10/28(土) 16:09:19
>>413 検索してみると翻訳作業をはじめたといってる人は見つかるんだけど
続けてるとかあきらめたとかの現況がわからないので
別個にはじめていいものかどうかわからんね。
本一冊訳すのは根性が必要だぞ。 このスレにいるキモオタどもには、そんな根性のあるやつなんていないよ。
前半:すでにある文書とかぶりまくり 後半:英語読めない素人には必要ナシ
>>302 Pythonで作られたプレゼンツールKeyJnoteの
Windows版はPythonの必要な部分だけ抜き出して使っているみたいだ。
ファイル数は354、16.0MB。
まあでかいけど、いまどきはさほど問題になる大きさでもないと思う。
これと同じ方法が使えないかな?
アワワワワ仮面。
すげーページ数だ。。>1596ページ 前版もかなり分厚かったと記憶してるけど、3rd editionは何センチぐらいになるんですか?
幅や高さより厚いです!(ウソ)
つまんないし寒い。
メタクラス仮面。
>>422 随分厚くなってるんだね。
どんなことが加筆されてるんだろうか。
428 :
デフォルトの名無しさん :2006/10/28(土) 18:11:10
_ ∩ ( ゚∀゚)彡 おっぱいそん! ⊂彡 おっぱいそん!
コードを書き込む→原理主義者扱い
強迫神経症?
432 :
デフォルトの名無しさん :2006/10/28(土) 18:51:32
なんかProgramming Pythonって普通のプログラミング言語本みたいな文法項目の網羅的解説見たいな構成になってないよね。
>>>^Zqawsedfrtgyhujikolp でも終了可能
日本語のおらいりいは表紙がねずみ
エラーをキャッチするような部分をデコレーターにして 付けたりはずしたりするといい感じ
凸レータの@書法って廃止になんねーかなぁ。 面倒でもちゃんと書けばいいと思った。@とか使いたくない。perlじゃあるまいし。
どっちかっていうとJavaのアノテーション記法を意識してると思うけどね
使わないから気にならない
テストに出るぞ
>>440 いろんなことがごっちゃに書いてあってとても読みづらいですね。
これも釣りなのかと思ってしまう(WWWWWWWWW
>>422 自分も買った。背表紙は6.0cmあった。重さは2.0Kg。
紀伊国屋から持って帰るのがちと辛かった。
乙
(a)==aの合理性について
(a,)としないとタプルにならないんだよね 意外とはまりポイントになりやすい そのかわり、次のどっちも同じ戻り値になるわけだが return a return (a)
>>445 (a) == aにならないのはおかしいって言いたいのか?
要素1個のタプルを作りたかったら、
(a,)って書かないとダメなのが気持ち悪い、とかじゃなくて?
448 :
447 :2006/10/29(日) 02:01:33
かぶった。鬱氏。
タプルの本質は ',' なんだよね '(' ')' はダミーだと思え
マニュアルには > 一つの要素を持つタプルは、値の後ろにコンマを続ける > (単一の値を丸括弧で囲むだけでは不十分です) ことで構築できます。 > 美しくはないけれども、効果的です。 とあるね。 The Zen of Python の > Special cases aren't special enough to break the rules. > Although practicality beats purity. あたりだろうか。
バックスラッシュを使わずに行を継続するのに便利かなと思ったり・・ return ( a + b + c ) (a)がタプルにならないおかげでこういう行継続が可能に・・・ (使い方間違ってるのかな・・・
>>449 その自慢の「本質」とやらで空タプルを作ってくれ。
「() と書けば空タプルが作れる」って例外が設けられてるだけじゃね?
例外は(a, )のほうだろ ()、[]、{}で空のが作れるのは統一されてる
(a,)が気持ち悪いひとは「','がタプルを作るんだよ」と思えば気にならないよ 程度の意味しかないな。
>>454 別に括弧で括らなくても、カンマを付けるだけでタプルになるんだよね。
>>> t = 1,
>>> t
(1,)
そういう意味で
>>449 は「',' がタプルの本質」って書いたんじゃないだろうか。
んで、本来は括弧が不要である以上「()で空タプルができる」ってのが例外かな、と思ったんだけど。
まあ、あんまりグダグダと議論しても、Guidoにでも聞かない限り答えはでないか。
>>456 答えは言語仕様で厳格に規定されていると思うけど
タプルにカッコが必須でないおかげで、以下のように書けるんだよな def foo(): return 1, 2, 3 a, b, c = foo() 気が利いてるよな
そもそも式をまとめるのと関数の引数の範囲を表すのとタプルを作るのに同じ小括弧を使っているのがまずいよ だから、タプルには 〔きっこう括弧〕 でも使う事にすれば良かったんだ
特に関係ないが きっこうかっこ って微妙にすわりが悪いな
「」 『』 【】 《》 とかいろいろ使えそうだな
配列の最大値をとるには、max(list)を使えばいいのは分ったんだけど、 indexの値と一緒にとりたい場合って、組み込みの関数ってあるんすかね? (val,index)=max(list)見たいな感じで、list内の最大値と、そのインデックスが帰ってくると嬉しい。
(1, 2, 3, 4, 4)みたいに、最大値が複数ある場合を考えないとならないので アドホックな方法は存在しえないかもな max()で帰ってきた値をindex()に渡せばインデックスは得られるよ
自明な解 a=(1, 2, 3, 4, 4) [i[0] for i in enumerate(a) if i[1] == max(a)]
こういうのは? >>> 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)
素直にやるならこう? def where_is_max(L): for index, value in enumerate(L): if value == max(L): return (index, value)
467 :
462 :2006/10/29(日) 14:32:51
色々なやりかたありがとうです。
引数リストも内部ではタプルとして持ち歩くから、別な物と考えるのは微妙かも。
実装はそうかもしれないが、 hoge(a, b, c) を hoge a, b, c と書いたりは出来ないので表記上は別物になるでしょう
value, index = max(zip(L, range(len(L))))
>タプルには 〔きっこう括弧〕 でも使う事にすれば良かったん 459でもすぐに思いつく程度のことをGuidoが考えなかったとでも?
そりゃGuidoがJIS記号文字を日常的につかっていればちょっとは思いついたかもね。
from operator import itemgetter index, value = max(enumerate(a), key=itemgetter(1))
474 :
Python初心者 :2006/10/29(日) 20:47:08
>>422 >初心者ですが、Programming Python, 3rd Edition 買ってみました。
>ページ総数1596に圧倒されてます。買う前から判ってたけどさ。
重かったろうねぇ…
「初めてのPython」->715ページの倍!
私は現在ようやく476ページまで読破したところです。
ところでLuts先生がPythonの講義をすると、必ず受講者の
半分がオブジェクト指向プログラミングのところで
脱落するそうです。ー>(熟睡する人もいるとか…)
「Pythonの」オブジェクト指向で脱落した人は本当に
「半分で」済んでいるのだろうか?
結構奥が深いというか、複雑怪奇というか、脱落するのは
ある意味必然的な結果のように感じる。
先生は他の言語でオブジェクト指向によるシステム開発
経験の有る無しが受講生の覚醒と熟睡を分けると書いて
いるが、返って有る人の方が熟睡度が深いかもね?
Sugeee勉強になったよ。ありがとさん。
>>472 Unicodeにはいろんな括弧があるから今後設計される言語は楽しみだなw
色んな括弧を華麗に使い分ける言語なんて使いたくないけどな
perl みたいにワケワカメな記号を沢山覚えないといけないのはイヤ
<タプル>でいいじゃん
括弧だけで構成されたBlainF*ck系実装って絶対あるだろーなー
>>478 それも嫌だが、
begin-tuple 1, 2, 3, end-tuple
みたいなのもちょっと鬱陶しいぞw
要はバランス感覚だね
>>474 本は最後まで読んでから物を言え、と
何度言われれば分かるの?
これだけ人の言うことを無視する人も珍しいね。なんとゆーか、暖簾に腕押し。
キチガイだもの。
俺の、俺の、俺の話を聞けぇぇぇ〜〜〜〜♪
>487 あー、交渉人が主役のエロゲでそれが決め台詞な奴いた。
「応援する」とかいうやつも怪しいもんだな(WWWW
逆に hoge((a,b,c)) を hoge(a,b,c) と書くこもとも出来ない、 この辺の仕様の関係で、引数の*valっていうのが抜かせないんだと思う・・
キチガイは、「はじめてのPython」を陥れようとする工作員なんだぜ。
hoge(*(a, b, c)) となら書けるね。args = (a, b, c); hoge(*args) でも可。
493 :
デフォルトの名無しさん :2006/10/30(月) 00:51:44
♪ ∧,_∧ (´・ω・`) )) Simple, fun, and indented〜♪ (( ( つ ヽ、 ♪ 〉 とノ ))) (__ノ^(_)
不定個の引数を受け取りたい場面を普通にある。 そのための仕様だろ。
この*argsとか**argsが出るたびに、背中がむずむずっとする。凡人の成果じゃないなと。
不定個数の引数を受け取る仕様は他の言語にもあるしPython以前からもあった。
>>496 こういうピンボケがいるからこのスレはダメになる
>>495 >*argsとか**args
異なる引数に同じ名前をつけたらダメだよ。
基本から勉強しようね。
>>497 お前がピンボケと思うのなら、「いや、そうじゃなくてね」と話を続けるのが大人ってもんだ.
このコミュニケーション不全野郎が.
>>498 そういう事じゃないだろ
hogeって書いてあったら全部同じ変数かよ
つーか普通 ** ときたら kws とかだろ? args はねえよ 495 = 497 = 500は世間を知らないお子ちゃま決定(WWWWWW
502 :
デフォルトの名無しさん :2006/10/30(月) 12:04:18
やれやれだぜ・・・
おれはkeywordsかkeys派。 ハンガリアンなツワモノはいますか?
>>495 には、どういう理由でどうむずむずするのか説明希望
しかしkwsってヘンだよね(www V I P P E R か (wwwwwww
*a と **k だろ?
>>496 誰もPythonが初めて実装したなんて言ってないと思うよ
509 :
デフォルトの名無しさん :2006/10/30(月) 13:09:48
対話型インタープリターのの新しい終了の仕方見つけた。 >>>type(exit)("death note")()
>509 カッコが多くてムズムズッとするぜ
>>509 >type(exit)("death note")()
TypeError: 'str' object is not callable
>>512 >>type(exit)("death note")()
NameError: No. I wrote your name. You die.
エスパー能力を総動員して真性厨房と和むスレはここですか?
こんなときにバレバレ仮面がいてくれたら。。。
>>512 ん?もしかして古いpythonだと、exitが文字列だったりするんですかね?
type(exit)だけだと何になりますか?
>>518 /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)
:
(続き) /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
もう誰が基地外で誰が基地外でないのかすら分からなくなってしまった
おやおや、
>>521 は自分以外に「でない人」などいないことに気づいていないようですよ。
そんなの些細な問題ですよ
>>522 二重否定の構文は分かりづらく、メンテナンス性が悪いと思ったので
リファクタリングしてみました
> おやおや、
>>521 は自分だけが「基地外」であることに気づいていないようですよ。
わかりやすいな
まさに Pythonic !
print "Simple is better than complex."
あれ、ほんとにそうなるのか?
志村〜、うしろ〜〜!、うしろ〜〜!
>>519 >>520 途中でPythonのバージョンが変わってるようですが???w
ソース確認してきたけどやっぱり2.4のexitはただの文字列で、
2.5のexitはQuitterクラス(という終了用のクラス)になってる模様。
だから2.5だと
>>509 みたいな遊び(?)が可能
>>530 >ソース確認してきたけどやっぱり2.4のexitはただの文字列で、
>2.5のexitはQuitterクラス(という終了用のクラス)になってる模様。
519と520に該当コードが張ってあるじゃん。
君は分裂症とかそういう病気の人かな?
532 :
Python初心者 :2006/10/30(月) 18:25:58
>>483 >本は最後まで読んでから物を言え、と
>何度言われれば分かるの?
ご忠告により昨日頑張って525ページまで読みました。
Lutz先生がそのページにおいて、
「Pythonという言語のコア部分の解説は終わりです。
ここまで読んだ方は、十分に自分はPythonプログラマ
であると名乗る資格があるでしょう。」
と認証されました。「履歴書」にそう書けって…
533 :
Python初心者 :2006/10/30(月) 18:28:01
ところで、この前だれかPythonでインターフェースを 実装する方法を書いてましたよね?以下、私も考えましたが、 今一ぴったり来ない。他に良い手はあるでしょうか? 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!
>>531 ああ、日本語がまったく書いてないから
>>519 >>520 の意図が全然読めてなかった。
しかし、これで分裂症に見られるわけか。なんかもう書きたくない。
じゃあねバイバイ
アワワワワワ。
O/Rマッピングツールというか、オブジェクトをそのまんまXMLとして 吐き出すようなモジュールってありますか? あるいは、そんなものって需要ありますか?作ろうとしてるんですが。
>>533 zope3は自前でインターフェースを実装している
>>533 そゆのは Template Method パタンとゆーのでは。
_________________________
<○ノ
‖
くく
しまった!デザパタはNGワードだった!
オレが止めているうちに他の話題に移れ!
早く!早く!オレに構わず逝け!
構ってクンの言語クソオタとか ひたすらソース貼るだけで日本語では罵倒以外出来ない奴とか…。 Pythonに興味を持った人がこのスレ見て 「Pythonプログラマは人格破綻者ばっかりだ」とか思われたら 悔しくてたまらないわあ。
工作員乙。
>>542 このスレだけ見てそういう判断をするのは問題だし、そういう人間はおらんだろう。
>>542 真っ先に指摘すべきは
空気が読めず何度言われても態度を改めない「Python初心者」だろ(w
お前わかりやすすぎるんだよ、馬鹿が(wwwwwww
pythonスレって、昔からこんなもんだ。 日本語の情報少なくて、とっつきにくい印象があるのか 底辺がものすご狭い。
いや、昔はもっとまったりしてたよ 何ていうかこう、斜め上から爆撃するような人はほとんどいなかった
そもそも人がいなかっただけ、とか。 Zope本出たね、って言っただけで厨呼ばわりされたりしたな
キチガイもいなかったな。
英語の情報に頼らざるを得ない状況ではDQNは寄ってこない。 日本語の情報が増えるとDQNも増える。
海外在住の日本人の Pythonista で DQN を知ってるぞ(wwww 言葉遣いがヘンな奴。
>>539 こういうノリは好きだ(w
ついでに言うとデザパタネタに過剰反応しちゃう奴もわりと好きだ(wwww
俺は*args,**kwargsだ。 どっかで見たから真似したんだけど。
そろそろPython初心者が ちょっとでも話が難しくなると皆さんも分からないんですねw とか言い出すのでスルーちからを発揮する時
Python初心者の質問はあくまで初心者の域をでないものだし問題なくね?
私は Python初心者を 応援します という自演 どーでもいいですよ
>555 確かにPython自体は初心者だと思うが 他言語では「自称」中級者だろうなw 少なくとも本当の初心者とは違う 強いて言えばアンチって感じか? 結構知ってる癖に知らないフリして さも今知ったフリして難癖付ける ま、他言語でもアンチなんだろうがな クレーマー気質の奴って居るからね
特定言語の水準ではなくて、人間として初心者なんだと思うよ
どんぐりの背比べ
工作員乙。
561 :
Python初心者 :2006/10/31(火) 16:29:36
>>557 >結構知ってる癖に知らないフリして
>さも今知ったフリして難癖付ける
難癖つけてる気は全然ないんだが。
ここに居る連中でもPythonが最初のプログラミング言語だ
なんてのは少ないはずだ。大抵はVB,C,Java辺りから
流れてきてPythonが面白いので使ってる訳じゃないの?
謂わば全員Pythonは第二外国語のようなもんだ。
まして日本においてPythonで食ってるなんてのは極々少数。
(一部のWriter程度…か)
従ってこのスレで他の言語の視点から、それと比較して
Pythonの言語仕様を語ることが難癖とはとても思えん。
なお、読んでから発言しろ!って何回も指摘されるので
一応「初めてのPython」全て読了しました。
理解出来たかどうかは別にして…
と言うか、あまり厚いので最後の方では最初に書かれてあった
内容をすっかり忘れてしまい、zip()ってなんだったかなぁ?
って感じだった。
700ページでそれ位だから1600ページあるProgramming Python,
3rd Edition は…とても手が出ない。
もし、Programming Pythonを読んでない奴は、ここで発言する
資格無し、と言われれば沈黙せざるを得ないが…
>>561 >もし、Programming Pythonを読んでない奴は、ここで発言する
>資格無し、と言われれば沈黙せざるを得ないが…
アンタに限ってはそういうことにしておいてほしいぜ。
とりあえず3行以上のレスは禁止にしてほしいな
今までほとんど傍観していたが、そろそろ、スレを分けるべき時かと思う。 ○このスレの禁止事項 ・デザパタ ・メタクラス ・他言語との比較(特にRuby) ・Pythonの言語仕様についての違和感 ・3行以上の長文 いいかげん息がつまる。なぜこれらが禁止事項なのか、理解できない。
> 従ってこのスレで他の言語の視点から、それと比較して > Pythonの言語仕様を語る には、それなりの知識や経験が必要で、本を途中まで読んだだけで語っても 他人に笑われるだけだってことだよ
おまえ1行レスじゃ ねぇ かよ
>>564 >○このスレの禁止事項
誰が決めたんだ(w
気にすることないじゃん
過剰反応する奴はスルーすればいいし
な?<4行目
>>567 > 過剰反応する奴はスルーすればいいし
> な?<4行目
俺もそう思ってたんだが、今は考えが違う。
このスレの煽り叩きをずっと見ていたんだが、彼らは外部から来た荒らしじゃ
なくて、元からの住人で、質問の回答者をやったりもしてるんじゃないだろうか?
だったら、追い出そうとしたり、スルーして沈静化を待ったりしても意味がない。
つまり、愉快犯でやってるんじゃなくて、このスレの(彼らにとっての)クオ
リティを守ろうとしているんだと思う。理解しづらいが、メタクラスやデザパ
タや他言語の話をすると(彼らにとっての)クオリティが落ちるんだろう。
彼らには彼らの幸せがあるんだから、そういう話をどこか別スレでやれるなら、
お互い幸せになれるんじゃないかと思った。
>・3行以上の長文 python のコードはワンライナー限定? っていうのはチト問題ありすぎ
つ〜*Darkside Python* Part.1
3行以上の長文を禁止する必要はないだろう。確かに読まないから無駄ではあるけど。
そうだ! みんな本名で投稿すればいいんだよ!
森 亮靖さんってエラい人? どんなプログラム作ってる人?
こういう構って君をスルーすればスレの雰囲気も変わってくると思うよ。
575 :
デフォルトの名無しさん :2006/10/31(火) 20:40:53
俺の場合は C --> asm --> LISP --> Python だな。全部学部時代で。 Python 以外の LL は使うことはないけど常識的なことは知っている程度。 なぜ Python だったのか。単純に言えば C++ で書くのウザかったから。
def hoge(): def moge(): return 'hogemoge' x = """hogemoge"""" >>> print getLocals(hoge) {'x': 'hogemoge', 'moge': <function>} てな感じでlocals()を外から取り出す関数って不可能?
>>576 hogeを実行しない限り、取り出したいもの自体が存在していない気がする
初心者ですが、デバッグ時などにオブジェクトの内容をdumpするにはどうしたらいいんでしょう? phpでいうところのvar_dump()みたいのを探したんですが見つからないなーと。。
>>576 とりあえず。
>>> hoge.func_code.co_varnames
('moge', 'x')
>>> hoge.func_code.co_nlocals
2
>>578 print >>sys.stderr, repr(some_object)
とかじゃなくて?
まんこちゃんはシングルトンになったほうがいいかもな。
583 :
Python初心者 :2006/11/01(水) 12:21:30
>>568 >つまり、愉快犯でやってるんじゃなくて、このスレの(彼らにとっての)クオ
>リティを守ろうとしているんだと思う。理解しづらいが、メタクラスやデザパ
>タや他言語の話をすると(彼らにとっての)クオリティが落ちるんだろう。
不思議だなやぁ?と思っていたがヒントが見えてきた。
メタクラス、デザパタ、多言語に共通するもの…
「実は」オブジェクト指向プログラミングじゃないの?
クオリティが落ちるじゃなくて、抽象度が上がると
困るとかさぁ…(あっ!5行になってしまったぁ…)
>>583 お前が言うな(WWWWWWWWWWWW
>>564 >>567 相手の言ってないことを持ち出して非難するのは詭弁家の手法だって
死んだじっちゃんが言ってた。
>>583 >メタクラス、デザパタ、多言語に共通するもの…
荒らしが持ち出す話題だから敬遠されてるだけ。
>>585 君は言ったつもりが無くても、相手(の一部)にはそのように伝わっているの
だよ。
そして、君が荒らしと認定している人を、このスレの全員が荒らし認定してい
るわけではないのだ。
荒らし認定していない人からは、君は「デザパタの話をするだけで過剰反応す
る人」と受け取られているのだよ。
つまり、そういう人からは、君の方がが荒らし認定されているのだよ。
やはりスレは分けるべきだな。感覚が違いすぎる。そして、どちらが正しいと
か、間違っているとか決めることは出来ない。
587 :
585 :2006/11/01(水) 12:56:14
私はデザパタがらみの投稿をした覚えがないのだが。
みなさんにはタプル成分とmonty成分の入った錠剤を処方しておきますね
>>587 じゃあ、「デザパタがらみの投稿に対して、それを荒らしと感じた人(反応し
たかどうかは問わない)」と定義すればいいのか?
しかしこの定義の変更は瑣末に過ぎない。あなた本人が何をしたかは割とどう
でも良くて、本論は、
・デザパタ等の投稿を荒らしと感じた住人が多数いたこと。
・荒らしと感じなかった住人もいたこと。
・後者からは、何で荒らしなのか理解できず、むしろ前者の住人のうち、大き
く反応した人々のほうを荒らしと感じたこと。
・どちらが正しいかを押し付ける権利はどちらにも無いこと。
この4点になる。これらについては理解してもらえるか?
591 :
585 :2006/11/01(水) 13:31:32
どっちが正しいかなんて問題にしてないよ。繰り返すが相手の言ってないことを ネタに他人を批判するのは止めたほうがいい。私にとっては君みたいなのは 荒らしで、君にとってはそうじゃない。それだけの話。
ちょっとはPythonの話をしろよw
運営厨みたいなメタ議論つまらんぞ
>>594 なんでわざわざはてなブックマークのURLをはるのかね、あんたネットイナゴか?
いずれにしろお前の方が荒らしっぽく見えるわ(プ
荒らしの定義がなんだか分かんなくなってきたと思われ。
ヒマな奴、たくさんいるんだな
>>595 ページ下方のコメント欄に、いくつかリンクが紹介されてて、
それを見ながらだとヒアリングの苦手な自分にも楽しめるんだよ。
それにしても
> お前の方が荒らしっぽく見えるわ(プ
こういう主張をすることに意味は無い、と再三書いたつもりだったが。
議論が無駄だったことを改めて痛感。
>>564 (メタクラス|デザパタ)の話をしようぜ、とか、(Python|Ruby)はとにかく糞だ、
って話を切り出すのが荒らしの常套手段だから敬遠されてるんでは
俺はこうやってメタクラスを使ってるんだがどうよ、ってな内容ならレスもつくだろ
喧嘩は他所でやってくれ。おまえらの論争に興味はない。
喧嘩とMonty Pythonの話題は宿題スレでやればいいのにね
どっちが荒らしかと聞かれれば両方荒らしだと思う
ここは俺の日記帳だ!
俺の、俺の、俺の話を聞け〜〜〜〜♪
前から言いたかったのだが、一行レスは全部荒らし。長文のほうがはるかにマシ。
じゃあ これからは 3行以下のレスは禁止な。
しかし困ったことに、3行以上の長文も禁止なのだよ。
>>606 そ
れ
で
も
困
ら
な
い
け
ど
ち
ょ
っ
と
不
便
だ
と
思
う
>>607 ちょうど3行のレスは禁止の禁止だから、
逆にオーケーってことにしようぜ
イライラを事故処理できないオコチャマと それを見ていじって楽しむ暇な奴 みんな Pythonista さ
禁じ手の行間読みが普通な、審判も居ない匿名掲示板で、議論なんぞ試みられても…
う ん こ た べ た よ
う ま か っ た ?
苦いだけ。やめとけ
unko tabesugi
def unko(): print 'tabesugi'
食ウンをデザパタ使って書こうぜ
def tabesugi(): print "unko"
VIPに迷い込んだかと思った
""" Nobody expects the Spanish inquisition! ジャジャ〜ン """
こうばしく
忘れてた!シングルトンの話をしようぜ!
624 :
デフォルトの名無しさん :2006/11/02(木) 01:40:39
どうぞ、語ってください。
シングルd 本作の主人公。20歳。 一目惚れ、弱気、非力、貧乏、ドジで押しに弱く何故か勘違いされてしまうという典型的なラブコメの主人公の気質を備えている。 ヒロインの純子は「シングルさん」と呼ぶが、純子の恋敵である明日香からは「シングルd♪」と音符付きで呼ばれる事が多い。 実家が魚屋の為か魚の知識は豊富だが血が苦手な為捌けない(むしろ純子の方が上手い)。
>>626 メルヘン系かよ(wwwwwwwwwww
シングルさん、実は女性説
やおいかよ(wwwwwwwww
awwwwww
シングルdは童顔だが30才の「結婚しない女」っぽいな
Pythonと関係ないしだいいちキモい
633 :
デフォルトの名無しさん :2006/11/02(木) 08:43:10
あの、リストの中身を計算するのはどうすればいいのでしょうか? L1=[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がうまく行きません。 アドバイスよろしくお願いします
>>633 リストの各要素に「2を掛ける」という処理を繰り返せばいい。
繰り返し(反復)の方法はマニュアルや参考書にたくさん書いてある。
>>634 ありがとうございます。
繰り返しに関するページを見てみます。
>>633 足し算・かけ算は参考書とか見ればわかるだろうけど、
質問の仕方が良くないね。
> L_all=[0,1,2,3]まではできたのですが、後ろの4,5がうまく行きません。
何をしようとしてうまくいかないのかわからない。
L_all=[0] + L1 + [4,5]
と、単純に足すのと別な方法で 4, 5 を追加したいの?
633の質問で内容を理解したと思われる634は超エスパー。 あるいは自演。
またこの流れか…
エスパー力を最大限発揮してみた。 >>> 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] しかし、どうも合っている気がしない。
リストは配列です。
638は自治厨です。
学園ものか(wwwwww
a = range(10) a = [n*2 for n in a] del a
645 :
Python初心者 :2006/11/02(木) 13:20:48
>>583 >>584 >お前が言うな(WWWWWWWWWWWW
なんか、「引き攣ったような」笑いだね?
646 :
Python初心者 :2006/11/02(木) 13:21:32
さて、そろそろPythonに戻って、質問があります。 下記の通り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']
>>644 a = range(10)
map(lambda x: x*2, a)
del a
>>646 表示されるけど?末尾で二度改行してるという落ちじゃないよね。
>>644 ,647
冗長で Python らしくないと思ったので,リファクタリングしてみたよ.
以下が書き換えたコードです.
>>646 こちらも問題なく動く。
Python 2.4.3 - Enthought Edition 1.0.0.beta4 on WinXP
Python 2.3.5 on Debian woody
さらにDebianでは改行コードをDOS(\r\n)にして再挑戦。
いずれも再現せず。
そちらの環境を報告されたし。
釣りがうまいですね。
デコレータとかオブジェクト指向云々する奴が、print linesとかprint rowして原因を調べるセンスもないという矛盾。
ゆえに人間として初心者である、と。
つーか皆でPython初心者になろうぜ
初心者しかいない。
俺は初心者じゃない。
初心者はみんなそう言う。
ああ言えば上祐ばっか
なまえ:しょしんしゃ PYTHONれき:10ねんぐらい
静かに、そして確実に世代交代が進んでいます。
>>649 分かってないな。
メモリ上に
あらわれては消える
うたかたの
形眺めて
楽しむひと時
と われ かた めて ?
>>646 一時変数linesが余計、wordlistsも余計、inputも余計
一行野郎あらわる
ゆえに人間として初心者である、と。
>>645 >なんか、「引き攣ったような」笑いだね?
引き攣っててゴメンね(WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
で、お前らこの1週間で何行Pythonプログラムを書いたんだ?
ここの質問検証するのに、20行くらいかな
3000行くらいかな。我ながら少ないと思う。
3.000行位かな
672 :
670 :2006/11/02(木) 23:50:25
オイラはTDDを実践しているので、実際に動いているコードは2/3くらいだ。 だから、実質的には2000行くらいかな。
アイデアが来るのを待ってるので一行も
3行半
matlabのコードなら… pythonは難しくて無理
Mercurialのスレってある?
>676ー、スレ検索、スレ検索!
678 :
Python初心者 :2006/11/03(金) 01:13:14
どうだろうね
680 :
Python初心者 :2006/11/03(金) 01:45:23
681 :
デフォルトの名無しさん :2006/11/03(金) 01:50:35
>>672 ぶっちゃけPythonで1週間に2000行といったら相当なもん。
(C:\Python2.3\Lib\*.py にある185個のファイル中、
1000行以上あるのはわずかに17個。1割にも満たない。)
Pythonハカーに認定!w
682 :
デフォルトの名無しさん :2006/11/03(金) 01:54:05
>>672 ところでTDDってTest Driven Developmentの略みたいだけど
具体的にはどーすんの?
doctestモジュールとかunittestモジュールを使うの?
一週間で書いた3000行のうちの2000行が生き残ってる時点で糞プロジェクト確実
>683 フーン
客層変わったね。ゆとり教育ゆとり教育
686 :
Python初心者 :2006/11/03(金) 03:56:07
>>685 なかなか教えてくれないのもゆとり教育の弊害でしょうか?
クーロン力を計算するプログラムデキタ。 ソースの構成とかグダグダだと思うけど、やりたかった計算はできました\(^o^)/ ソース書きながらきづいたけど、結局複素数使わなくてもよかったみたいw
689 :
デフォルトの名無しさん :2006/11/03(金) 06:45:36
任意の場所で改行したい時は print "" としてるのですが、python的な正攻法ってあるのでしょうか?
引数なしで print
どもですm(__)m
学生の時にしっかり勉強しとけば… の気持ちが分かる瞬間だねえ
694 :
デフォルトの名無しさん :2006/11/03(金) 08:29:08
世の中には間違ったまま死んで逝く人の方が多いのです。だから気になさらぬように。
695 :
670 :2006/11/03(金) 08:53:41
>>681 ファイルは当然複数に別れてるよ。
先週末と昨日までの差分を取ったらその行数が出た。
>>682 Doctestは使わない。Unittestを使う。
追加したコードについてはテストコードを書く。全体のテストを実行する、の繰り返し。
結果がなかなか見えづらい、ベースとなるクラスなんかを開発しているときも
モチベーションを維持しやすい。テストが通ったときは嬉しい。
テストしやすいようにコード書く癖が付くのが意外な利点。
メソッドや関数が短くなるし、機能が抽象化される。
>>683 書き換えたり消したりしたうち、テストコードを除外した行数が2000、という意味。
長文でスマン。
「実際の成果物には含まれないけど開発の過程でPython使ってる」人っている? 俺はテキストファイルの一括変換とかにしか使えてないので… 他の応用例があればヒントが欲しいっす。
>>695 TDDって、すごくあこがれてるので、こういう書き込みは本当にありがたいです。
ちゃんと実践している人がいるんだね。
だけど、自分がやるのは敷居が高いなあ。
いつもスケジュールに余裕ないから、なかなか手を出せない。
698 :
633 :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]
>>698 > 「あるリストnの二倍の長さを持つリストで、成分に0から1ずつ代入されたL_all」
これじゃあダメなの?
>>> n = [1, 2, 3, 4]
>>> range(2 * len(n))
[0, 1, 2, 3, 4, 5, 6, 7]
700 :
633 :2006/11/03(金) 11:38:31
もしかして、対話環境で書いたら、分かってもらえないのかもしれない。
# 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]
702 :
701 :2006/11/03(金) 11:41:44
おっと、
>>700 で書き込みがあった。
ちゃんと通じてたのね。スマソ。
まあ何にせよ解決してよかった。
703 :
633 :2006/11/03(金) 11:49:31
>>701 ありがとうございます。
サイトを参考にソースを整形してみます。
なんつうか、「初めてのプログラミング」って感じで、 少しほのぼのしたな。 Pythonとかでどんどん伸びていってほしいと思った。
705 :
670 :2006/11/03(金) 12:09:48
またしても長文気味で申し訳ないが。
>>697 TDDは開発効率を向上するためにあるものなので
スケジュール的にきついときこそ、積極的に活用するといいと思う。
unittestモジュールの使い方に慣れる
使ってるフレームワークなりなんなりの、テストツールの使い方に慣れる
この二つの学習コストが必要になるので
なかなか手を出せないという気持ちは分かるけどね。
業務時間を学習時間としてとれないなら
休日を使って、自分で試してみるといいんじゃないかな。
リストコンプリヘンションなんかを使って
1行で複雑なテスト用のassertを書けたときなんかは
自分がデキる開発者になった気がして楽しい(w
>>705 ユニットテストツールを使おうとして、いつも引っかかるのは
・外部データリソースとの連携
…単純な関数ならテストを書くのも楽なんだけど、HTTPやデータベースを扱うコードって、
どうやってテストを書くの?
専用のテストデータを用意するにしても、すごくテストコードが膨大になりそう。
・結合テスト
…単体テストなら何とか書けるけど、結合テストになると組み合わせの場合の数が
発散して、とてもすべてを網羅できそうにない。
この辺りで行き詰まって、結局すごく小さなコードでしかTDDを試したことのない
ダメな俺様。
>>706 ユニットテストツールは単体テスト(できるだけ小さい単位のテスト)を支援する
ものだと思っている。
>>707 結合テストは書かないのね。まあそれはそれでいいのかも。
> ・外部データリソースとの連携
の方はどうするの?
>>708 書かないんじゃなくて、ユニットテストツールの守備範囲外ということ。
あくまで「ユニット」テストなんだから。
710 :
670 :2006/11/03(金) 12:58:36
>>706 >・外部データリソースとの連携
絨毯爆撃的なデータを作るユーティリティを作ってテストしてるよ。
極端なケース(数値しダメな引数に英字を渡す、とか)は、
コード&テストを書く一番最初の段階で手でassert書くよ。
>・結合テスト
unittestから呼び出せる範囲のテスト、
機械的にデータを生成できる範囲のテストならやる。
もっと上流のテスト(たとえばWebブラウザを使って実際に使ってみるとか)
も定期的にやるよ。
バグが見付かったら、テストにフィードバックできないか検討する。
必要ならテストをしやすいようにコードをリファクタリングすることも含めテストを見直す。
基底部分のテストが充実していれば、
おおもとのコードを変えてまずいことになってもすぐ分かるので安心。
"テスト可能な"設計をすれば、unittestで出来るレベルのテストで
品質を向上することは可能だけど、完全な品質を保証することは不可能。
unittestは万能ではない。
なんでもそうだと思うけど、こだわりを捨てることも重要だと思うよ。
>>710 おおおお!なんかすごくよく分かった気がする。
・テストデータは自動生成する。境界値だけは決め打ち。
・結合テストは完全なカバリッジは無理だから、手動テストを併用し、バグが見つかったら
自動テストに反映。
こんな感じに理解しました。大感謝。
それにしても、こういうコツは実際にやっている人に聞かないとわかんないなあ。
712 :
Python初心者 :2006/11/03(金) 13:37:38
>>652 >デコレータとかオブジェクト指向云々する奴が、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]じゃないことを
明記すべきじゃないの?礼儀としては。
なお当初質問の件、よくある原因不明の「不安定な」動作と
してお忘れ下さい。「不思議と?本日は」問題なく動きました。
お騒がせしました。
713 :
Python初心者 :2006/11/03(金) 13:39:26
ところでPythonのフローズンバイナリーと 称して、pyc + PVCをパックにして配布する 手段がありますよね?VB,Java,.Netのように Pythonのランタイムって無いのでしょうか? そうすれば配布はpycだけで済みますよね?
>>713 ライブラリが必要だから、普通のPythonとほどんどボリューム変わらんと思う
>>712 [line.rstrip().split() for line in file('input.txt')]
>>712 しょしんしゃさんのぱいそんは、ひによってどうさがちがうんですね。
>>712 別にprintを使うなとは誰も言ってない
for x in zip(*eval(
>>715 )):
print x
あと、引数なしのsplitの正確な動作がよく分からんけど
>>715 のrstripは無駄な気がする
>>717 無駄でした
引数なしだと挙動が変わるんだね
'a\n'.split() # => ['a']
'a\n'.split('\n') # => ['a', '']
>>686 ここに書いてあることを当てにするような初心者が本当にいるとすれば、その時点で終わってる。
>>692 俺はようやっとプログラミングに馴染み始めた初心者だが、これは正しいの?
ハッシュがkeyとvalueの辞書ってのは傍流であって、本質は他にあるの?
■[一般][Python] タグ付けという考え方
以前はハッシュの本質は「分割して検索範囲を減らす」ことにあると思っていた。これはその通りであると思うが、別の見方をしてみると、
「タグ付け」がハッシュ(というデータ構造)のアルゴリズムの本質であると思う。
http://d.hatena.ne.jp/morchin/20061031
「本質」などと言う恥ずかしい単語を使う人の話を読むよりも、プログラムをいっぱい 読んでいっぱい書くほうが、よほど本質を理解できると思う。w
いい加減にPython自体のソースコード読めよ。Cぐらい読めるだろ?
役に立つから読む、役に立たないから読まないという奴は、何を読んでも役に立たない。
>>724 がSICPを読んでいない方に500ペリカ。
726 :
725 :2006/11/03(金) 17:24:56
まあ、俺も読んでないんだけど。 つうか、難しすぎ。よほど知能の高い人以外は読めないんじゃないかと思った。
1を使わず1を定義するやつが喉につかえてる。
>>721 「本質」は「オレの主張」に読み替えることにしてる。
言語の仕様を云々議論するなら最低限これくらい読んでいて当然な本だと思っていたのだが
> 1を使わず1を定義するやつが喉につかえてる。 何かと思ったら、SICPの話なのね。 自分も分かんなかったけど、Little Schemer(Scheme手習い)を読んだら分かった。
Pythonスレ本来の高慢さが戻ってきた?
なんかすごい本なのかな。読み終えた人はここに何人ぐらい居るんだ?
>>732 Quicksilver は邦訳がないので読んでなくても仕方ないが
普通プログラマならニール・スティーヴンスンくらい何冊か持ってるだろ。
>>723 せっかく興味持ったのなら、とりあえず買って読め。
もしつまらなかったら、本ではなく君の頭のほうの問題だ。
735 :
723 :2006/11/03(金) 19:05:39
>>734 読んだ人キター!(AA略)
頭の問題は日々悩んでるんで、この本についても迷ってるんですよ。
大学の数学の教科書みたいに、確かに頭の訓練にはなるけど、
実用には別に関係ない、とかだったらどうしようと思って。
安い本じゃないですしねえ。
>>735 webにある英語の印刷すればいいじゃない。
Schemeだけ別途憶えて、後半だけやるというのもいいよ。
なにも試験を受けるわけじゃないんだから、ばか正直に先頭から読まなくても
一番面白そうなところにいきなり上陸すればいい。
>>735 > 大学の数学の教科書みたいに、確かに頭の訓練にはなるけど、
> 実用には別に関係ない、とかだったらどうしようと思って。
そういうのとはちょっと違うな。実用というのかわからんけど、書くプログラムは確実に
マシなものになると思う。
技術オタの戯れ言はこのへんでやめて、そろそろメタクラスの話をしようぜ。
739 :
723 :2006/11/03(金) 19:46:27
>>736-737 すいません、ちょっと席をはずしてました。
ありがとうございます。英語もダメなんで、やっぱり本を買うしかないです。
まあ賭けだと思って読んでみます。
今よりすこしはマシになりたいですしね。
740 :
デフォルトの名無しさん :2006/11/03(金) 21:05:18
[1,-1,10,-10]を書き込んだlist.txtを読み出して出力しようとしたのですが、 出力結果が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"のようになりますか?
line = eval(f.readline())
感謝です。 動作するようになりました。
>>740 >>元データがリストではないのか、読み込み方がリストでないのかわかりません。
ちなみに正解は「単に文字列として読んでいる」。
なのでそのやり方だと1文字目、3文字目、5文字目が代入される事になる。
eval()によってその文字列をpythonのコードとして解釈することで、単なる文字列から
リストになって期待される動作になる。
以上、蛇足かも知れませんが補足でした。
いえ、説明ありがとうございます。 pythonの事を聞ける身近な人がいないので、人の意見は参考になります。 初めてのpythonだと調べるのが大変で。 リファレンスもですが・・・。
このスレの簡単な質問のやりとりが俺の血となり骨となっていく
ずいぶん安いな。
激安ですぜ。evalって便利なのねー。 raw_input()に対するinput()みたいなもんだったのか。
evalごときで喜ぶのが安いって言ってんだよ。 それくらい分からないでこの先どんだけ細かく躓くんだ(www
>>747 とはいえevalでデータを読むぐらいなら、importした方がマシじゃないかと思う。
セキュリティホールになるし。
importしてもヤバいコードは実行されちゃうけどね〜。
単純なリストくらいなら普通に解析したほうがいい罠。
XML原理主義の俺が来ましたょ。
>720 hash が何なのか hash の応用にどんなものがあるのか を調べれば自明
>>751 んで普通に解析するならevalしちゃえばいいじゃんとなるわけよw
でもそう考えると、単純な(改行やカンマをデータに含まない)csvだったら
一行読んで前後に[]をつけてevalすればリストになるのかーと思った。
と書いた時、splitでいいじゃんと普通なところに戻った。
どう使うかによるんじゃね? 自分しか使わないならevalでいいし つーか普通リストをそのままファイルに書かねえ(www
だよなwww
>
>>680 >
>>686 > Python初心者[2]とかさぁ、[0]じゃないことを
> 明記すべきじゃないの?礼儀としては。
どこの礼儀ですか?
同じコテハン同士を区別したいのであればトリップの使用をお勧めします。
モノホンのネラーだわこいつ(WWWWWWWWWWWWWWWWWWWWWWW
偽物とかあるのか?
特に識別する必要性を感じないのだが
むしろ単にいなくなって欲しいっつーか
同意
レス番が飛んでるw
答える奴は止めないけどアンカー引用しないで欲しいわ
このスレって現役の学生は少ないのかな・・・ 「学生のころ」って発言が多いような・・・w
実社会における学生の比率を反映してるだけじゃない?
少子化のご時世だしね
学生います! python使えないのでROMしてます. matlabのほうがscipyより便利だし…
私は学生ではありませんが、あちらのほうはまだ現役ですよ
Il a insinué quelques choses.
フランス語っぽくみえる。ラテンの香りはしない。
フランス語は言語学的にはラテン語族に分類されます.
ゲルマン人の末裔なのに言葉はラテン語族か。 同じロマンス系なのに、イタリア・スペイン・ポルトガルと違いすぎ。
辺境だから
× pythonになっちゃう ○ python風味になっちゃう
Paul Grahamに言わせれば 全てのみどころのある言語はLISPになっていくw
lisp は進化しないのか?
ボーグだから。
Lisp は言語としては完璧なので進化の余地がありません
終わった言語ってことか
lispは、オブジェクト指向プログラミングがやりにくい。 言語そのものでのサポートではないからね。 基本はC言語スタイルのプログラミングになる。 進化というなら、 Pythonの方が上だよ。
Googleに就職したLisperの話。(サイトが落ちているんでGoogleキャッシュ)
How 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を見捨てていて、私はそれを痛ましく思ったものだ)
しかし、LISPには歴史の蓄積があるから、それを無視するのはもったいない。
>>784 のリンク先を読んでみそ。そこの筆者はLISPを学んだことで
大きなメリットを得ている。
今度はGoogle厨か
788 :
Python初心者 :2006/11/04(土) 16:48:15
>>714 >ライブラリが必要だから、普通のPythonとほどんど
>ボリューム変わらんと思う
普通のライブラリー関数は全てpycの中間コード化するから
dllのようなものだけだよね?
後は中間コードが走る環境さえあれば良い。パーサーや
デバッガーとか開発用の部分は全て取り外せば、かなり
軽くなるような気がするが?
でないとJavaがランタイム(JVM)をわざわざ配布している
意味が無くなる。
>>717 >for x in zip(*eval(
>>715 )):
> print x
*evalが気になる。経験者はevalな、って…
789 :
Python初心者 :2006/11/04(土) 16:54:02
さて、Generatorのyieldが複数あるとどうなるのか? 試してみました。 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
いや、ちゃんと5回だよ
しまった。何故でしょうか? Hi 0 <- 1回目 Yahoo1 <- 2回目 Bye Hi 1 <- 3回目 Yahoo2 <- 4回目 Bye Hi 2 <- 5回目
何故ならそこにyield文があったからさ!
何が議題になったのか分からない
マニュアルすら読んでないんだろ ほっとけ
>>789 対話画面で実行してみたら分かるよ。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()を呼ばれると、その次の行から再開する。
スライド11のサンプル間違ってね?
self._nをインクリメントし忘れてるっぽいけど・・・
python初心者って結局のところ何がしたいんだろう?
同じコードが時によって挙動を変えたり 5回が3回になったり 頭がおかしいとしか思えません ほんとうにありがとうございました
>>800 VIPでやれ
少なくとも質問の前にはリファレンスマニュアルに目を通すか
ググるくらいしてくれ
ググれって言っても、この場合はGCSのことなんだけどね。
Python初心者はみんPyの作者タソに粘着していたZOPE関係者と同一人物? 世の中に沢山の基地外がいるとも思えないし
あれとは違う気がするが、臭さは同じ扱いでよし。
>>805 あれはひどかったな。正直かわいそうだった。
対話式で実行例書き込んでくれてる人良く見かけるけど、 実際に自分の作業とかするときも対話式で作業することってあるの? もしそうだとしたらどんな時に使うのかな
>>809 pythonでlinuxコマンド使えるということですか?
cdとかlsみたいな。
あの人は知っててわざと質問形式で書いて釣ってるだけ。しかも釣りどころが浅すぎる。 小魚ばっかり狙ってないで、もっと重箱の隅をつつくようなネタとか程度の高い宿題を持ってこいよ。 自称脱初心者が競って釣られるいまの状況は滑稽だが、そろそろ飽きてきた。
○○仮面って・・・ どこの小学生のネタだよ(´・ω・)
>>811 釣りどころが浅すぎるって808みたいなやつ?
>>810 bashが呼び出せるのかどうかはしらないけど、「cdとかlsみたいな」のはOSモジュールの中に入ってるよ。
Windowsや*nixのシェルはどうも馴染めないので環境が許す限りPython使ってるなぁ。
俺もlogin shellはipythonだ
>>810 ipython(ipython.scipy.org)という
強化型対話モードプログラムには
よりunixのシェルに近づけた
pyshというプロファイルがある。
機能的にbashやzshには及ばないけど、
コマンドライン補完なんかもしてくれる。
>>815 ,817
なるほど。pythonはそういう使い方もあるのですね
レスありがとうございました。
ipythonでググってみると?とか、!つければ通常のコマンドも利用可能とか 結構よさそうな記事が多いですね。ちょっと試しに使ってみます。 最強シェルとうたわれたzshの苦い経験があるのでちょっと躊躇しますが…
>>808 既存のモジュールや自分で作ったモジュールの動作をちょっと確認してみたり
するときにはよく使うよ。要するに、ちょっと実験してみるときって感じ。
使ってるとつくづくPy^H^HMatlabは便利なうんこ野郎だということがよく分かる。
new style classはraise出来ないっと...φ(..)
>>805 >Python初心者はみんPyの作者タソに粘着していたZOPE関係者と同一人物?
漏れもそうオモタ(www
825 :
Python初心者 :2006/11/06(月) 13:13:21
>>791 そうかぁ、なんとなくwhile1回とnext()1回が対応して
いると勘違いしていた。
>>811 >あの人は知っててわざと質問形式で書いて釣ってるだけ。
>しかも釣りどころが浅すぎる。
スレのレベルに合わせて質問出来るほど経験者じゃない
から…。先月私立図書館で「初めてのPython」を借りて
読み、先週貸し出し期限が来てもう返しちゃったので
あまり高級な質問を期待しないで欲しいな。
>>824 >Python初心者はみんPyの作者タソに粘着していたZOPE関係者と同一人物?
ZOPEって、そんな言語あったぁ?
そろそろsageを覚えてもいいんじゃないかと思う秋の夕暮れちょっと前
827 :
Python初心者 :2006/11/06(月) 15:03:27
分かっててやってるものはしょうがないじゃんw
基地外ですから何を言っても無駄です。 本当にありがとうございました。
上がってるスレにやってきました よろしくwwww
sage
831 :
まんこ :2006/11/06(月) 20:00:11
まんこ
ちがう おっpyだ
乙.py
>>833 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
>>> print open("乙.py").read() # -*- coding: sjis -*- print u"乙" >>> __import__("乙") 乙 <module '乙' from '乙.py'> >>>
print 'bTnvvIjvvL7QlO+8vu+8ie++jO++n++9t+++nu+9rO+9sCEh\n'.decode("base64").decode("utf-8")
>>838 ys: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
$python >>> エラーメッセージだけ示されても・・・ 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
気違いじみた展開だな
エラーリカバリーは腕の見せどころ
問1:
>>841 ネタを「気違いじみた」と評する○○○。
○○○に適語を埋めよ。
気違いだとばれたのでネタ宣言ですか ネタなら普通もうちょっと面白いでしょwww
おっ.pyの派生がネタじゃなかったら、俺は何を信じて生きていけばいいんだろう
問2:
>>848 まあ君には面白くないだろうね。だって○○○なんだから。
○○○に適語を埋めよ。
・・・面白いと思ってやってるんだろうか
>>848 気違いであることとネタであることは矛盾しないと思う
どちらにしても気違いは邪魔だね
なんで過剰反応するのか分からん. 強迫神経症かなにかのひとなの?
○○○であることを指摘されたからカンにさわったんだよ ところで、○○○って何?
ぬるぽ
どうもすごい勢いでキチガイ認定しに来る変なのが一人居る
The first and most important thing is to be friendly, even (I should say especially) with people who disagree with you. Other people are not idiots just because they disagree with you, so don't call them idiots.
http://www.python.org/dev/culture/
図星みたいだ.
ボケ殺しの集団がスレに貼り付いとる キモス
途中からボケが全然面白くないのが困る
○○○ですから、何を言っても無駄です。 本当にありがとうございました。
○○○って人名か? だったら○×4じゃないのか?
↑ということにしたいのですね
そろそろメタク(ry
そろそろPythonの話をしてほしい
だからメタク(ry
ナタク(ry
質問です。 デコレ(ry
質問です。 タプルの本質(略
お答えします。 一般的な定義では(ry
良ス(ry
>865 オタクの親戚かとオモタ
その調子だ!だんだんレベルが上がってきたぞ!!
サキュバスは頭がいたいふりをした!
とも蔵
なんでIDが表示されないんだろう?
あ” ほんとだ
>868 貴様は正しいのかと(ry
ド低脳スレじゃないってば!
なじめないガキがスネているようにしか見えない(ry
ruby終わったな
>>875 サイコパスは頭がいいふりをした
に見えた.
なんだこのスレ まともなPythonのスレってここ?
>>877 すべて一人で書き込んでいるので要らないんですよ
お前深夜になると現れるな(wwwwww ところでデザインパ(ry
こうやってレベルが下がってゆくわけだ
ここはRuby厨の遊び場になりました
>889 Rubyの話だったら,Rubyスレでやってくれ.
>>893 手を抜きすぎ。
>>> L = [3.0, 2.0, 1.0]
>>> max(*enumerate(L))
(2, 1.0)
ここで聞くのも微妙なんだけど PyISAPIeでTracって動かせるべか?
max(*zip(L,range(len(L))))
>>893 >>>> max((value, index) for (index, value) in enumerate(L))
valueが先に来てるのがポイントなのね。
enumerate()はindex, valueの順で値を返すイテレータを返してくるので
最大値を正しく判別できない,と。
これでもオッケー?
>>> max(list(reversed(x)) for x in enumerate(L))
「シュワルツ変換」って ろくにテストもせず動かないコードに改悪するって意味の用語ですか?
>>> 894, 898 アイヤー。一応試してみてから書き込んだんだけど…。 ごめんね。眠い頭でやるとダメだね。 ちなみに試したコードはこう: >>> 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) 何やってんの俺…。
>>899 テスト用の適切なケースを作るには、経験が必要だよね。
894のリストは、挙動がおかしいことを知った上で
極端な例を作ったんじゃないかと想像する。
俺だったら真ん中よりすこし前後に最大値が来るようなテストデータを作るかな。
最初の要素、最後の要素、真ん中の要素は、
ロジックが間違っていても機械的にたまたま正しい答えが出るかも知れないから。
901 :
899 :2006/11/08(水) 22:26:37
>>900 なるほど。勉強になったよ。ありがとう。
>>189 for i in r(34):print" ".join(map(str,x));x=y+[x[j]+x[j+1]for j in r(i)]+y
ってすればちょっとだけ短くなるね.と超遅レス.
1文になる気もするけど…
ソフトウェアテストにpythonって使うの?
うん
enumerate(x)自体がzip(range(len(x)),x)とほとんど等価な気がする ==では無いけど
確かに、後者のxはジェネレータ使えないな。
夜中の進行はレベルが低いとオモタ。
そうか。昼休みになったらレベルの高いレクチャーしてくれよ
レベルが低い=より仕様に密着した話題 レベルが高い=どこで応用されてるかとか レベルが低いのが悪いわけじゃない
昼=フレームワーク談義 夜=バイトコード談義 それ以外=メタクラス談義 でよろしく。
911 :
Python初心者 :2006/11/09(木) 15:00:03
ActivePython2.5のリリースが遅いよね? 普通Pythonの新ヴァージョンが出て大体一月程度で 追いついていたのに… ところで、皆さんは何をエディターとしてお使いですか?
912 :
Python初心者 :2006/11/09(木) 15:02:21
管理人のひろゆきさんのお誕生日オメデトー! って一応言っておくのが礼儀かねぇ?
Emacs と xyzzy。 ちなみにひろゆきはどうでもいいと思われ。 ここはあんまりそういうことにこだわるする板じゃないし。
>>911 開発に使ってるのは Emacs(Meadow)
でも、人のパソコンとか開発用でないマシンでは「メモ帳」w
915 :
Python初心者 :2006/11/09(木) 17:03:16
へーemacsなんか使ってる人いるんだ 僕はvisual studioを使ってるよ?
俺はVIM使ってる 他のエディタ使うと無意識にhjklとかタイプしてしまう あと無闇に:wしまくるクセがつく
emacs原理主義。 vim原理主義。 vi原理主義。 メモ帳原理主義。 秀丸オタ。
システム管理してるからなりゆきでvim
DOSとwindowsから入ってunix系触る必要ないと、 viもemacsも恐ろしいものに思えてしまう。
俺は ed.py だ
インテリセンス的なライブラリリファレンスがないだろうかー
emacs + python-mode + pycomplete + ipython な環境が快適すぎるので 最近はずっとこれ。 以前はeclipseのPyDevプラグインを使っていた時期もありました。
>>923 module.method
みたいに打った段階でmodule.methodのヘルプ(というかdocstring)がカーソルの
右下に表示されるようなもののことを言ってるんなら、PyDevでそんなことができたはず。
vim7 + skk.vim でもOmni補完はほとんど使ってない
バイトコード直打ちの俺が来ましたょ。
Python3000にちなんで標高3000mの高地で講演を行ったらしい(嘘) 個人的に文字列型のUnicode統合が待ち遠しい。
ツマンネ。
ネンマツですね。
ネツマン。
なにげに旅をしていたら
http://sourceforge.net/projects/numpy NumPy 1.0 released 2006-10-25
ってのに遭遇した。
numpy だか numeric だか numarray だか scipy だか
NumPy は numpy とは別だとかわけのわからん状態は
どうなってるんでしょう?
とりあえず数値計算なパッケージを触ってみたい人に
一等メジャーっぽいものをって言ったら上記の NumPy 1.0 でいいのかな?
>>924 > emacs + python-mode + pycomplete + ipython
俺もそれ。もやは伴侶と化している。快適すぎる
935 :
Python初心者 :2006/11/10(金) 11:57:39
>>934 >>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行以内で…
質問させてください. 文字列を与えると,その名前のクラスを返す関数を作りたいと考えています. def class_factory(str): # returns class Hoge() or Fuga(), and so on. return "str"() class_factory('Hoge') class_factory('Fuga') マニュアルのどの節を参照すればよいでしょうか. あるいは,このようなことができることを解説している書籍でもよいので, ポインタをご教示いただければ幸いです.
>>936 こういうことか?
>>> 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っていう引数、変数を作るのはやめた方がいいな
続きな。 937のコードは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([])
939 :
936 :2006/11/10(金) 12:35:52
>>937-938 感謝します.
> strとかintっていう引数、変数
気を付けます.
やはり
>>> class klass:
... pass
最初にクラスの定義は必要なのですね.
インスタンスではなく,クラスの動的な定義ができればと
考えていました.言葉足らずで申し訳ありません.
あるいは
class GeneralClass:
pass
GeneralClass.__name__ == 'Hoge'
のような,動的なクラス名の変更ができれば同じかとも考えたのですが,
クラス名はimmutableかと思い諦めて,先ほどの質問を致しました.
やり方を考え直そうと思います.
import new MyClass = new.classobj('MyClass', (object,), {})
941 :
936 :2006/11/10(金) 12:41:45
>>940 感謝します.
まさに期待どおりの動作をしました.
さっそくnewなるモジュールについて調べてみます.
>>> import new
>>> name='Hoge'
>>> my_object=new.classobj(name, (object,), {})
>>> my_object
<class '__main__.Hoge'>
ありがとうございました.
>>937-938 の手法も,使いでがあるのでメモしました.どうもありがとうございます.
やっぱりメタク(ry
>>941 同じことだけど
>>> def foo(self): print "hello"
>>> A = type("A", (object,), {"foo": foo})
でも可。
>>> A
<class '__main__.A'>
>>> A()
<__main__.A object at 0x00DB76D0>
>>> A().foo()
hello
>>>
944 :
936 :2006/11/10(金) 15:03:56
>>943 組み込み関数だけでできるんですね.
もはや
>>940 とも何が起きているのか分からないので,
チュートリアルとリファレンスの最初の方を読み直して,出直してきます.
>>944 話題としてはメタクラスに関するものなので、
情報を探すときのキーワードにするとよいと思われ。
946 :
Python初心者 :2006/11/10(金) 21:40:40
class A: buffer = "" def recv( self ): temp = sock.recv( 1024 ) buffer += temp この書き方って遅くなっちゃうのかなぁ? 他にいい書き方あるったらおしえて!
lisp使え
>>> from timeit import Timer >>> 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
groove!
何度も連結するんであれば 配列にデータをappendしていって最後に空文字区切りでappendする方が速いよ と日本語で書いた方が短い
join
結局読みにくいコードにするくらいなら素直に書け 特に性能上のボトルネックになる部分なら チューニングも悪くはないが
ボトルネックはおまえの能力。Python に非は無い。
この時期ボトルネックのセーターは暖かくていいよね。
そろそろボトルネック奏法の話をしようぜ
rubyで書かれた「deplate」というWikiのコンバータがあります Pythonで同じようなものありますでしょうか? VimのWikiモードみたいなもので「Viki」ってのがありまして そこからコンバータでhtmlに変換しようとしています Vikiのサイトでdeplateが紹介されていたのですが PythonでそんなんあればPythonのほうがいいと思いました ご存じのかたいますか?
Docutils
JapaneseCodecsをインストールしようとしているんですが、 python 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'のパッケージがないからエラーだよ、って意味なんでしょうけども、 対処方法がわかりません。どなたかご存じではないでしょうか。
いまどきJapaneseCodecsなんて不要だということに気が付こうぜ
2.4には標準で入ってる
へーそうなんだ。ありがとうございます。 しかし納得がいかない。。。 日本語を扱うためのパッケージをDLし、いざインストールするとそれがないと言われるなんて。 十中八九私に過失があるんでしょうけど。 必要ないならば気にせずにやっていこうと思います。
そろそろJapaneseCodecsのことは忘れてあげてください
むしろ ninix を忘れないでくれ、ninix
>>960 $ cd JapaneseCodecs-1.4.11
$ python setup.py install
>>967 def 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: を使えばいいとかそういう話なのかな。
参考までに。 "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 に入れることで解決できます。
ローカル変数の解放を、参照カウントによるGCで行われるようにしたいけど、例外を投げると 例外のスタックフレームの中で参照されちゃうから、参照カウントが0にならなくて スコープを抜けても解放されないっていう話みたいだね。いちいち例外情報を消すのがめんどい、と。 例外が処理されたら、例外情報が自動的にクリアされるようにできればいいんだろうけど、 できるんだろうか。処理されない例外をフックする事は可能みたいだけど。
どうみてもGuidoの責任です。
パイソンで書かれた有名なソフト教えて GIMPのフィルタくらいしか知らん
Bittorrent
>>959 さん
Docutils試してみます
rest2webなんてのもあったりするんですね
いろいろ探してみます
ありがとうございました
問題があれば理にかなった解決策を見つけて直す。 これまでもそうだったしこれからもそうだ。
pythonの調べもの(関数の機能や引数など)は普段Webからやるのですが、ローカルでかつコマンドラインで 調べる方法も欲しいなあということで探したらpydocを見つけました。 で、質問があるのです。 例えば関数renameの機能や引数が知りたいとします。でもosというモジュールの名前も存在も知らないとします。 この時、コマンドラインのpydocから、os.renameという情報まで辿りつくことはできるのでしょうか? pydoc rename や pydoc -k rename のどちらもダメのようですし。。。 こういう検索をしたい場合、直接ドキュメントにgrepするしかないのでしょうか?
>>981 チュートリアル読めばわかることをいちいち書くな。
どこを読めば書いてあるんだ?つか、お勉強スレなんだからいいじゃねえか。 どこかに書いてあることは書けないなんつってたら、荒らししか住めないスレ になっちまうぞ。
もうなってる。
マジレスすると、Python2.5では1,2,3は大差なかった。順位も試すたびに 変わるし、あんまり気にする必要ないんじゃないかと思われ。 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
って、Windowsのtime.time()の解像度が低いせいか?orz
QueryPerformanceCounterを使うwintime.timeをでっちあげて計ってみた。 #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では真実ではない。
>986
流れが良く分かってないけどこんなのがあるね:
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.
おお、調べてみます。
1000get…には遠いか
あと10レスだからさして遠くない
ここで新スレに移動
Python初心者はこのスレと一緒に埋め立て。
>>982 tabesugi warosu(wwwwwwww
ウメ
Zope関係者の外基地も一緒に埋めようぜ。
998
py1000
1000だったらPython初心者はもう来ない。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。