1 :
デフォルトの名無しさん :
2006/08/30(水) 00:02:30
お、2
推奨NGワード:みんPy、柴田、キチガイ、基地外 はやく夏よ終われ
>>4 ふざけるな。貴様がスレを立てた基地害だろうが。
貴様が消えろ。今度という今度は許さん。
>>1 import python
python.exit()
えー・・・ 荒れてる時はNGワードでスルーが基本でしょう。反応するから荒れる。
>
>>988 >みんパイが叩かれてる理由を説明するレスが多すぎるから、それを省くために
>>1 に書いといてやったよ
>著者の主張を広めてみんパイ著者をあおってるってことはないだろう
>
>
>>993 >嘘をつけ。みんPy叩き関連は、おそらく大部分が貴様の自作自演だ。
>このスレの人間はほとんど読んでない。対象読者から外れているからな。
>
>>>all
>俺はもう諦めた。次スレはこのまま使おう。
>馬鹿は言葉が通じないから馬鹿なのだ。どうしようもない。
あー
あー
こんな下らぬやり取りで、入門書刊行という、ユーザ拡大のチャンスを ふいにするのか…。
>>10 作者らしき人が出てこなきゃ普通の入門書だったのにな・・・
インディーズで好きなバンドがあって、それがメジャーになると、嬉しいけど何だか寂しいよな。 それと同じで、Pythonにメジャーになってもらいたくないツンデレの仕業と考えるんだ! 「あ、あんたたちに使いこなせるほど、簡単な言語じゃないんだからねっ!」
意味不明 オタ氏ね
俺は作者なんざ来てないと思うがな。ほかの人にはどう見えるか知らんが。 しかし作者を少し恨みたくはなるよ。あのblogのエントリは、ネットイナゴの 格好のエサだ…。
まあ何日か経てば飽きるだろ 夏休みも終わりだし
>999 名前: むこうの1 Mail: sage 投稿日: 2006/08/30(水) 00:29:05
>
>>998 >こっちはみんパイの宣伝ばっかで飽き飽きしてんだよ。
>1000 名前: デフォルトの名無しさん Mail: sage 投稿日: 2006/08/30(水) 00:31:10
>
>>999 >リアル敗北者乙。
>
>そして1000!!
ゲラゲラゲラ
前スレより,粘着外基地の人となりについて。 1. 私怨らしい 2. Zope関係らしい 3. すごくヒマらしい
>>18 2. を隠れ蓑にしようという目論見が痛々しい
Pythonの達人が集まるスレは、 ここで合っていますか?
こ れ は ひ ど い このわかりにくいスレタイ まともなPythonistaの仕業とは思えない 今日は2chのPythonスレが終わった記念日...orz...
>>22 もっと自分の人生見つめなおしたほうがいいよ
VIPとかならいざ知らず 2chのム板みたいなさびれた板で ネガティブキャンペーンはできないよなー 粘着キチガイは世間を知らない井の中の蛙か 感覚がずれたリアルキチガイかのどっちかだな(www
>>19 >1. 私怨らしい
>2. Zope関係らしい
>3. すごくヒマらしい
1と3は否定しないんだね(W
本ってどうやって出すの?
ここはキチガイ隔離スレということで 新しい次スレを立てませんか?
> 「インストール方法」みたいな低ーーーいところとか,「落ちている物を拾って使います」的な乞食みたいな思想から抜け出せないのでは危ないと思います。 > 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。
31 :
28 :2006/08/30(水) 01:57:17
↑ ちなみにSISファイルとは、NOKIAという携帯等で使用されている、 Symbian OS用の圧縮ファイルです。 もしも、解凍できなかったSISファイルも解凍できるよう、プログラムを改良できた人がいたら、 神扱いされ、携帯版は祭りとなるでしょう。
>>28 それは難しい質問というより面倒くさい質問だな。w
まぁ暇な人よろしく。ww
,. ''"´ ` ` 、 ;' ':.. ;' ´ ` あたまのびょうきは ./ ● .● なおらないよ ./ ⌒ ▼⌒': __ ./ 彡 ∵人∵ノミ___  ̄ ./ _ ミ ノ"ミ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄━━ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄━━━ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄
>>28 sisinfo.pyのソースをすこし眺めてみたんだけど、
これ本当にちゃんと動くプログラムなのかな?
例えば sisreader.py にこんなコードがある。
def readSignedBytes(self, numBytes) :
buf = self.readPlainBytes(numBytes)
if len(buf) < numBytes :
return []
format = ""
for i in range(numBytes) :
format += "b"
return struct.unpack(format, buf)
def readBytesAsInt(self, numBytes) :
result = 0
bytes = self.readSignedBytes(numBytes)
if len(bytes) == numBytes :
for i in range(numBytes) :
result |= bytes[i] << (i*8)
return result
普通、2バイトを符号付きの16ビット整数として読む場合、
>>> struct.unpack("h", "\x88\x88")[0]
-30584
となるんだけど、引用したコードで readBytesAsInt(2) とやると
>>> bytes = struct.unpack("bb", "\x88\x88")
>>> (bytes[0]) | (bytes[1] << 8)
-120
>>>
というおかしな結果になる。展開できるファイルの方が少ないのでは?
sisfields.py の SISField#readFieldLength() も63ビットの符号なし整数を読む場合の
処理が仕様書(google://softwareinstallsis.pdf)と合致してない希ガス。
あと、format = "b" * numBytes だよなぁとか、むしろ
struct.unpack("%db" % numbytes, buf) だよなぁとか。Python 歴が短い印象。
35 :
34 :2006/08/30(水) 05:44:20
たぶん sisinfo.py の中の人に 「どうしても展開できません。本当にありがとうございました」って 知らせて対応してもらうのが一番手っ取り早いよ。
>>1 > > 「インストール方法」みたいな低ーーーいところとか,「落ちている物を拾って使います」的な乞食みたいな思想から抜け出せないのでは危ないと思います。
> > 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。
これは酷いね・・・
禁句じゃないか。
なんでこんなことが書けるんだ?
人間性を疑われても仕方がない。
38 :
34 :2006/08/30(水) 09:57:05
>>37 その引用部分って、開発側の人間が開発側の人間に対して
「すごーく専門性の高いものを作ってるんだから、
孤高を自覚してストイックにやらなきゃダメだよー」と促してるんだよね。
(そのことが分からないように引用されているところに悪意を感じないでもないけどw)
俺は外野だけど、同じくフリーソフトを作って公開している立場から察するに、
言われた側は良い意味で刺激を感じることはあっても怒ったり失礼だと感じることはないと思う。
きっと騒いでいるのはごく一部で、発言の真意を理解している人がほとんどだと思うけど念のため。
あら。名前を消し忘れたw
なんで皆スルーできないの!? 考えてみた。 Pythonが簡単で便利すぎて、とくに質問もでないし 話題がない。
本来なら質問は出るはずだよ。 LL Weekend もつい最近だったし、いろんな意味で話題の新刊も出たし。 特にLL方面から来る人は、他言語出身だから、最初はいろいろ聞きたいことが あるはず。実際、あちこちのblogで素朴な疑問を抱えた人が見つかる。 じゃあ、何でそういう人がこのスレに質問しに来ないのか。 理由は言うまでもあるまい。
全員が2chをみてるという前提がへん。 見てない人も多い。
基地外ですから 何を言っても無駄無駄無駄
>>44 あちこちのblogで素朴な疑問を抱えた人が見つかる。
じゃあ、何でそういう人がこのスレに質問しに来ないのか。
理由は言うまでもあるまい。
-> Pythonに疑問があるからといって、2chにくるとは限らないだろ?
お勉強スレなのに お勉強はとっくに卒業したひとが、 このスレにたまってるから 発展しないんだな。
そんなメタな議論どうでもいいよ Pythonの技術的な話だけやれ
正直、技術的な話ってなにかある? 初心者がやってきたら、教えてあげるくらいしか 楽しみが無いのに、詳しい奴ばっかりで 初心者おいてけぼりで、喧嘩しててもつまんないよな。
>>51 後半3行の意味が理解できない。できれば日本語で書いて欲しい。
これから昼の私怨タイムです。をどうぞお楽しみ下さい。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
ID導入してほしいなぁ。
>>45 引用部分の前後(消されてる部分)を自分で探して読んでちょ。
>52 4. 文章レベルが小学生並み
相当、車とプラズマテレビの件が気に障ったようだな。
話題自体はいろいろあると思うんだ。 自分が話したいことだけでも ・Python3000への移行 ・TurboGearどうよ ・SciPyいいよね ・日本語ドキュメントや書籍の誤訳の共有 ・unittest使ってる人いる? ・いかにしてPythonで飯を食うのか だけど何を話しても荒れそうで躊躇しちゃうんだよね。結局無難なQ&A対応に なってしまう。自分以外の人を見ても、叩かれにくいように1行レスをしてい る人ばかり。 本当はPythonとHaskellがすごく似てるという話をしたいんだが、荒れること 必至だからなあ。
本物のハカーだったら、そのような金銭欲がモチベーションとならないわけだが、(ry
60 :
デフォルトの名無しさん :2006/08/30(水) 12:34:29
>>58 PythonとHaskellのどこが似ているのか、まずは熱く語ってくれ。
何を話しても荒れるってのは、無いだろうと思う。 Pythonの話だけしてれば荒れない。 そこに、他の要素を持ち込むと利害関係で荒れるのでは。 特定の本の宣伝とか批判とか。 ルールをテンプレにして >2 あたりに張り付けようぜ。
>>58 そこでチラ裏、もとい、blogですよ。
まあそれはさておき、このスレってずっと前から良くも悪くもQ&Aに終始してるよね。
こういってしまうとアレだけど、2ちゃんねるはSN比が高すぎて議論したくても無理っぽいねえ・・・。
しかも上級者が初心者からの質問を今か今かと口をあけて待ってる状況でもあって、
ぶっちゃけ単なる意見交換はお呼びでない感じだねえ・・・。
まあ、うまずたゆまず、テキトーに頃合いを見計らってネタ振りしてちょ。
私怨やキチガイによる書き込みが荒れる原因。 キチガイが居なくなれば全て丸く収まる。
しばらくは無理のようで
2chのスレなんかに秩序を求めたらすぐに形骸化するし。 いつまでも馴れ合いなのが身分相応だろう。
あのさ、とりあえず「キチガイ」とか「私怨」とか そーゆー言葉遣いを避けることから始めない? こんな言葉、前スレより昔には全然出てこなかったよ。 特定の誰かに言っているのでなくても目障りだからヤメにしようよ。
>>60 お言葉に甘えて、ちょっとだけ語ると、
Haskellにもほとんどそのままあるのは
・インデントによるブロック構造
・import文を使ったモジュール管理
・関数と変数の名前空間が同一なので、関数合成が容易
・タプル
・リスト内包表記
似ているものを並べると
・イテレータ → 遅延リスト
・不変オブジェクトが基本 → 変数の再代入禁止
・実行の単位が式でなくて文 → IOモナドなど
(最後のはあんまり賛同を得られないかもしれないが、目的は似ていると思う)
PythonistaがHaskellを学ぶと、あんまり似ているんでビックリするんじゃな
いかな。少なくともGuidoはすごく意識しているだろうと思う。
まあとりあえず、このくらいで。
>少なくともGuidoはすごく意識しているだろうと思う。 それって逆じゃね
>>66 >こんな言葉、前スレより昔には全然出てこなかったよ。
認定基地外が登場したのは前スレな訳で.
このスレは基地外を隔離するための精神病院ですよ.
>>68 逆ってどういう意味か良く分からないけど、
自分はHaskellは、Pythonの大きな源流の一つだと思う。
追加。 ・文字列がシーケンス → 文字列が(不変)リスト まあ、今Haskellを知ってる人はあんまりいないかもしれないけれど、 Pythonの親戚のようなものとして認識してもらえば、Python生活にも プラスの影響があったりしないかなあと。 Python3000も、自分にはまた少しHaskellに近くなったものに見える。
似てるから、何なの?
>Python3000も、自分にはまた少しHaskellに近くなったものに見える。 それMatzも言ってた。
Python は Lisp である(?)みたいな話に近いな もちろん、無益な議論ではないと思うし、個人的には面白い でも Haskell 知ってる人は少ないんじゃない?
話したかったのは二点。 ・そもそも本当に似ているか ・似ているなら、Haskellで普及した各種の技法を、Pythonでも利用することは できるだろうか まあ2番目の話は、Haskellになれた人がある程度いないと話しづらいけどね。
Haskell使ってる人みたことないよ。 Pythonでさえも希少なのに。
>>77 >Haskell使ってる人みたことないよ。
普通はそうだよな。
そうじゃないところもあるんだろうけど。
>>76 似ているのはどちらかというと外面的な要素じゃないかという気がする。
(例:インデント文法)
内面的な設計思想はかなり違うよね。もっとも俺は Haskell のほうは「入門Haskell」に目を
通した程度なので誤解してるかもしれん。
思想はにてても シンタックスが似てなくて本当によかったとおもう。
>>79 いや実は自分もそんなにHaskellに詳しいわけじゃないけどね。
外面的に似ている点が多いのは同意してもらえるかな。
内面的設計思想については、「安全性」という点が似ていると思うんだ。
例えばPythonのクロージャは、他の多くの言語と違い、束縛された変数を書き
換えることができない。つまりクロージャは状態は持てても、それを変更はで
きない。つまり、便利さよりも安全性を取っているということ。
それはHaskellのクロージャも同じ。
他にもPythonは
・代入文は式ではない
・不変オブジェクトの使用が推奨される
ことによって、変数状態の変更によるバグを避けようとしている。
これはHaskellの変数再代入の禁止に近い設計思想だと思う。
>>80 いやむしろ、シンタックス(外面)の方が似ているのが分かりやすくない?
Python Haskell スレを埋め立てなければならない理由
うーん、やっぱりこういう話の需要は無いみたいだね。 本題にしたかったのは、Python3000と、Haskellの遅延リストの関係だったんだけど。 興味のある人はHaskellを齧ってもらえると嬉しい。 「Python3000がイテレータだらけになったのは、こういうことをやりたかったからか!」 って納得してもらえると思う。 では失礼しました。
興味深い話ありがトン
Haskell の Lazy evaluation と Python の generator は 結果的に使う目的が似ていることはあるけど、ベースとなる考えも適用範囲もかなり違うと思うぞ。 副作用、型についての考え方は真逆だし。 Python は手続き型言語にうまく関数型言語の道具を導入したなぁという気はするけど、 (手続き色の濃い言語に List conprehension を導入したセンスはけっこう凄いと思う) 関数型言語に似ているとはいえないし、似ている必要もない。
おお、レスが付いた! > 結果的に使う目的が似ていることはあるけど、ベースとなる考えも適用範囲もかな > り違うと思うぞ。 そうかな? 実装の方法は全然違うけれど、目的はどちらも「直感性を裏切らない資源の節 約」で共通じゃない? 適用範囲は、イテレータはランダムアクセスできないのが残念だけど、遅延リ ストだってシーケンシャルなアクセスをするほうが多いんだから、大差なくな い?
> 副作用、型についての考え方は真逆だし。
これも真逆とは思わないんだよ。
Rubyなどの「勝手気ままな」言語に比べて、Pythonには、副作用を封じ込めよ
うとする明確な意思がある。
>>81 にも少し書いた。本当はdo構文とPythonのス
テートメントについて話したいんだけど、まとまらないんでやめる。
型については、Pythonは実は単なる型なし言語で終わる予定じゃない。
decoratorは型チェックに使えるし、型変数の導入もずっと検討され続けてる。
ただし、Pythonが関数型だとは全く思わない。関数型の手軽に利用しやすい部
分を輸入しただけだと思う。そこについては全く同意。
これはこれで、どちらにせよ無意味な話題だな。
遅延「リスト」はね。遅延評価の結果のひとつとして、リストでイテレータっぽい使い方が できるというだけ。遅延評価のメリットには他にも勝手に memoization されるとか いろいろある。まぁデメリットも多いし、俺は遅延評価嫌いだけども。 一方で Python の generator はまさに iteration のために導入されたもの。 iteration のことだけを考えれば、 generator のほうが使いやすいし、副作用の ある言語にうまく適合していると思う。 generator 導入によるデメリットはあまりないし、 fiber 的な使い方ができるとか 応用も利く。
>>87 あと、今の Python で外の変数を書き換えられないのは、
Python では変数宣言がないので、たまたま外の変数と名前が被ったのか
実際に外の変数を使いたいのか判別できないため。
ML 見てみればわかるけど、何かいいアイデアがあれば書き換えられるように
する方向だよ。
普通のPythonスレに戻って欲しい。。。
荒れるよりは為になるじゃん。
ここまで書いたので、ついでに型についても言及しておくと、
Python に型が導入されようと Haskell なんかの型安全な言語とは違った形なのは
間違いない。
型安全性を守るため、 Haskell のリストに複数の型の値をごちゃ混ぜにできる日は
来ないだろうし( OCaml の polymorphic variant の導入はあるかもしれないけど)、
利便性のため、Python のリストに単一の型の値しか入れられなくなる日は来ないと思う。
>>91 失礼。議論するにしてももう少し具体的な話じゃないとアレだよな。
とりあえずコードを張れば 少しはためになるんジャマイカ
>>89 意見が違う理由が分かった気がする。自分は最初から遅延リストとイテレータ
と言っていたけど、あなたは遅延評価とジェネレータと言っている。議論の対
象自体が違ってたのだ。だから例えばあなたはジェネレータに特化した議論を
している。視点を共通化したら意見はそう変わらないのじゃないかと思う。
まあ自分は遅延評価が好きなので、自分はPythonがどんどんlazyになっていく
というだけで嬉しい。
>>90 それは参った。英語苦手なんで、MLはきちんと読んでない。そうか、意図的な
ものではなかったのか。ありがとう。しかしショックだ。変更されないことを
願う。
>>92 これも視点の違いのような気がする。Pythonが型安全な言語になるとは思わな
いが、実用上はHaskellと似たような使い勝手の型システムを導入するのじゃ
ないだろうか。
Haskellは今でも、複数の組み込み型を"|"で区切ったユーザ定義型を作れる。
型なし変数が無くても、これで十分だ。またPythonが型なしを捨てることは無
いだろうが、例えばリストに特定の型しかセットできないようにするやり方は
当然現れると思う。
>>94 コードを貼るともっと長くなっちゃうよ。まあご迷惑をかけしました。
クラスってブツは未だ難しいけど、よく使うデータの類型に属性とか関数とかを くっつけて纏めておける、使い方次第でものすごく便利な入れ物な気がしてきた。 いくらでも再利用できるから、タイプ量かなり減らせるし。 OOP以前って、同じ規模の為に今よりも長く打たないといけなかったのかな。
クラスは広い意味での例外処理。 扱うデータ構造を予め規定する。
前レスの
>>92 は
>>91 の誤り。
あと一つだけ。HaskellとPythonが共通して持つ、リスト内包表記について。
リスト内包表記は関数型言語らしいのだろうか?mapやfilterの方が関数型的
ではないか?そもそもmapとfilterで済むものに、何で専用の構文を与えなけ
ればならないのか?という批判がLISPERから出ている。
そのメリットは唯一つ、関数型云々ではなく、明示的で分かりやすいことだろう。
Haskellを使ってまず感じたことは、LISPよりずっと明示的で分かりやすいと
いうことだった。LISPにはシンタックスが事実上無いので、どこを見てもおん
なじに見える。しかしHaskellだと構文も演算子もあるので、同じコードでも
ずっと内容が明示的に見える。
Haskellのこの明示性は、Zen of Python の Explicit is better than
implicit.と通じていると思う。Pythonがmapを非推奨にしてリスト内包表記を
導入したのは、ちょうどLISPからHaskellへの進化の歴史をそのままなぞって
いるように見える。
では、今度こそ失礼。
100 :
デフォルトの名無しさん :2006/08/30(水) 16:21:59
>>97 >OOP以前って、同じ規模の為に今よりも長く打たないといけなかったのかな。
そんなことはないよ。構造体(とかそれに類似するデータ構造)と
コードのモジュール化をうまくやってやれば、効率の良い再利用可能なライブラリ
なんて幾らでも作れたし、実際にそうやって開発もされてきた。
OOPは、それをより楽に、明示的にできるようにしただけだよ。
いや、勝手に同じ意見にされても困るけれども…。 とりあえず Haskell を少し本格的に使ってみ? その感じだと、チュートリアル斜め読みしたくらいでしょ。 型安全については使っただけでは実感わかないかもしれないけど、 型安全を守るか、型を導入しつつも型安全を捨てて利便性を取るか、 というのは180度違う考えだよ。
lispの進化形はschemeだろ
>>101 > いや、勝手に同じ意見にされても困るけれども…。
それは大変申し訳ない。
おっしゃるとおり、自分には型の安全が証明されていることのメリットは理解
できてない。保証の無い言語と実用的には変わらないのではないかと思ってい
る。逆に言えば、恥ずかしながらその程度の使い方しかしていないということ
だが。申し訳ない。もっと勉強します。
未熟な議論にお付き合いいただき、大変ありがとうございました。
>>102 上の議論はLISPをSchemeと置き換えても変わらない。自分はもともとSchemer。
>>97 C言語での話になるけど
Classが無いときから、Struct typedef + ポインタで
色んな実装の仕方でやってきたよ。
クラスがサポートされてる言語のほうが便利なことは確実だけど。
>>104 それってつまり、C言語でもやろうと思えばOOPできるってことで。
やっぱり「OOP」以前はだらだら書いてたってことなんじゃ?
>>105 そうだね。
よく似た関数が沢山あった。
それなんてC++?
初心者です。教えてください。 class A: .. .. class B: .. .. というクラスが2つあったとします。これは同一人物なのでしょうか? 誰か知っている人がいればお願いします
世の中にはBASICやCOBOLっていう関数すらない言語もありますぞ。
>>108 どちらも人物ではないので安心してください
私怨粘着キチガイは宿題でもやってるのかな。
何か
>>108 って元粘着君が何とかして構ってもらおうとしてるんじゃないか…?とすら思える…
マジレスすると別。
というか,AとBと二つ別々にあるのなら、それが同じなわけないじゃん。
>>111 わざわざ召還するようなこと言わんでいい
寂しいな外基地(プゲラ
haskell との比較の議論は興味深いので是非そのまま続けて下さいな ネタがあるなら。べつに haskell にかぎらず python とかすってるなら なんでもいいんじゃないですかね。 ただ主な論者は 2,3人とおみうけしますが、 外の人に分かりやすいように(レス番で良いので) ハンドルつけておいて貰えると有り難いです。 続ける際はご配慮いただければ。
ところで、日本のPythonユーザって、どんな層が中心なんだろう。 海外ではホビーユーザも多いみたいだけど、日本だと研究者が多いんだろうか。 ということで、よろしかったら、このスレの皆さんに教えていただきたいんだけど 1.あなたの身分(職業)は? 2.Python歴は? 3.主に何に使ってる? 4.その他 自分に関して言えば 1.職業プログラマ 2.3ヶ月(苦笑) 3.SciPyで数値計算。あとは使い捨てスクリプト。 4.便利だー。もっと早く知りたかったよ。
さて、
>>116 がオチを着けたところで、次はPython3000のインターフェイスについて語り合おうか。
基地外臭がする。
関数型言語としてみたPythonについてはIBMのdeveloperWorksに無かった? かなり強引な記事だった記憶があるが。
120 :
デフォルトの名無しさん :2006/08/30(水) 21:25:10
言語を道具として使えず不満を垂れるだけで解決の努力も何もしないで 世間の動向ばかりを伺うのは言語房ってことでスルーすればいいと思うよ
世の中には色んな人がいるから 色んな意見を認められる、心の広い人間になりたいね ただし、色んな人 = キチガイ以外
122 :
116 :2006/08/30(水) 21:37:20
うわー、一人も書いてくれてない。 こんなに華麗にスルーされたのは初めてだよ。恥ずかしい。 しかし、なんで?
大丈夫。 スルーされてない書き込みは全部自演だから。
125 :
116 :2006/08/30(水) 21:52:43
>>124 マジレスすると、前スレでソースコードの秘匿の仕方について話し始めたのは
私なんだけど、あの時はすぐにいろんな意見が返って来て、それなりに盛り
上がったんだけどなあ。
今回のはそんなに変な書き込みだったのかな。分からない。
haskellとPythonが似てたとして、似てるから何?って感じなんだけど。 正直、haskell知らないから別のところでやって欲しいなぁ。
粘着アホ野郎のせいでみんな警戒してるんですよ。
「自分が知っている話題」以外は全部他所でやれと?
「haskell知らないから」で思考停止するような敗北者はだまって見ていろ。 前スレを忘れたいので、このままがいい。 勉強になるし、頻度が落ちてもいいから、しばらくはHaskell&Pythonを引っ張ってよ。
おまえらなあ、こんなところに貼りついてばかりいないで、 少しは自分だけの頭で考える訓練したほういい。
>>128 いや、そんなこと全然思ってない。
ただ、「似てるか似てないか」の先に、何があるのか全くわからないので、
ただ単に「似てるか似てないか」だけを話したいのなら、haskellを知らないと
なんのことやらさっぱりわからないので、別のところでやって欲しいと思っただけ。
誰かが何かを思うことすら禁止したいの?
むりやりTopic探さなくてもいいのでは?
>>129 >前スレを忘れたいので
大きな買い物でもして気晴らしすることをお勧めするよ.
車とか,プラズマテレビとか.
みんPyの作者、女性アーティストの柴田淳に謝罪すべきだと思うんだが。 勝手に画像使用して「作者です」みたいなことやってるし。
キチガイキターーー!
まあ、あと3ヶ月ぐらいは良スレにもどらんだろう。
>>116 んじゃ俺も。
1.仕事:R&D的
2.Python歴:えーと、12年ぐらい?(確か1.1か1.2が最初)
3.主な用途:
・プロトタイピング (思いつきをとりあえず形にする)
・数値計算
・語学(多言語テキスト処理とか単語暗記プログラムとか。Unicodeウマー)
・高機能電卓(IDLEウマー)
・日曜プログラミング(フリーソフトウェア的。最近お留守)
4.その他
仕様の拡張はお腹いっぱい
Pythonが最初のプログラミング言語って人どのくらいいる?
Pythonは、明らかにPerlともRubyとも似てる。 確かに、「だから何」な話題だな。
この伸び方は異常だぞ。 お前らやること無いのかよw
本でも書くかw
逃げちゃダメだよ。
うぎゃー
145 :
28 :2006/08/30(水) 22:32:51
>>34 レスありがとうございます。
うーむ、ソース自体に不具合があるのかな。
展開できるファイルは少なくはないのですが・・・。
ただ1つ気づいた事は、展開できるのはアプリ関係のSISファイルで、
展開できないのはアプリ関係以外のSISファイルみたいです。
とりあえず、sisinfo.py の中の人に聞いてみます。
>>131 ここは「オレ様」の為のスレですか。
他の人もいるんだし、興味がなければ流しておけば。
>>147 お前もスルーしろよ。
屈服させなけりゃ気が済まんのか?
すげえ被害妄想(w
>>147 はっきり言って、言語ヲタクの知識自慢が垂れ流されるのは勘弁して欲しい。
今でもウザイくらいなのに。
haskelなんてマイナー言語はほっといて、Rubyと似てるかどうかを議論しようぜ。
この速さなら言える! 3.主な用途:urllibで連番画像DL
>>153 >はいはい、似てるね.良かったね。
.と。が混じってる。
お遊びもほどほどにすれ。
「私のことを”しばたじゅん”と呼んでください」 キンモ〜☆
初心者です。教えてください。 def A: .. .. def B: .. .. という関数が2つあったとします。これは同一人物なのでしょうか?
「数値計算」が利用目的の人が、今のとこ多いみたいだね。 俺は一度も数値計算に使ったこと無いけど、便利なのか。
>>158 いいえ、違います。
斎藤さんと荒木さんです。
この速さなら言える! インディーズ時代からしばじゅんのファソだった!
キチガイは死ぬまで直らないね。
なにこの速さwwwwwwwww
逆に、Pythonに似ていない言語って何だろうか Whitespaceとかか?
この速さなら言える! 車とプラズマテレビは月賦だ。
>>163 こいつ一人がいなくなれば、かなり落ち着くと俺は思うwwwww
>>167 そういう奴に限って、変な所で粘り強いから嫌だ。
「キチガイ」と「私怨」をNGワードに入れればいいよ。
>>159 実際に計算する部分はCやFortranで書かれたコードを呼ばないとパフォーマンスが出ないんだけど、
データの入出力とかユーザインタフェース(UI)とかはC/Fortranで書くのはめんどい。
故にC/Fortranとの連携が容易で、データ入出力やUIを書くのに便利なPythonが本領を発揮するわけ。
これは数値計算に限った話ではなくて、いわゆるグルー(糊付け)言語が必要かつ有用なケースのひとつ。
処理効率のいいコンポーネントをぺたぺた張り合わせるのに超便利。
しかもPythonの場合はそういうコンポーネントが既にいっぱいある。もうウハウハ。
174 :
116 :2006/08/30(水) 23:21:56
おまえら、そんなよくわからん小難しい話やめてキチガイ叩きゴッコしようぜ!! じゃ、まず俺が鬼な!
pythonプログラマーのみなさんへ あなた達が望もうが望むまいがこれからpythonは日本で盛り上 がっていきます。くだらないことで相手を皮肉ったり警戒する のはやめてもっとpythonの中の話をしましょう。 何も分かっていない初心者(キチガイを除く)がここに訪れ るかもしれません。 それに対して、人によってはこないでくれといらいらするか もしれません。しかし、初心者には優しく時には厳しく接し ていきましょう。 これからの日本にはみなさんの技術が必要なんですよ。まじです。
Python が初めてのプログラミング言語じゃないけれど、初めて自分でまともな プログラムが組めるようになりそうなのは Python かも。 昔 C を勉強したことがあるけど、賢さが足りなかったみたいw 実用プログラムを組めるようになる前に挫折…。 俺にはやっぱりプログラミングは無理だったか orz とあきらめていたけど、 チュートリアルをやってみたら、少し希望が(;´Д`)ハァハァ まだ 200行くらいの短いスクリプトしか書いたことがないけれど、とりあえず 動くものが簡単に書けるのが(・∀・)イイ!! それにやっぱり Python は読みやすいです。 スーパーハカーばかりじゃなくて、自分のようなへぼい Python ファンもいるですよ。
俺は主に行列演算でPython使ってる。さすがに計算のコア部分に対してはC呼んるが。 昔はCでやっててコア部分をアセンブラ直書きしてたんだよね。それと同じこと。 要するにUIの問題。敷居が低くなるのが利点。わかり易さは武器。
>>178 >計算のコア部分に対してはC呼んるが
それは行列計算をPythonでやっていると言うのか?w
データ入力をやってるんじゃないのか?
つか、コア部分はCを呼び出してとかって話をよく聞くけど、まじ?
俺は断然boost::python派なんだが。
ぱ…Pyrex…
>>116 1.仕事: SE (ITスペシャリスト)
2.Python歴:1年
3.主な用途: テキスト加工、分析、抽出 (シェルスクリプトで出来ないものについて), CGI
4.その他: C言語的な小文字中心の識別子とスライスの扱い易さに惚れた
便利なライブラリのPythonバインディングがあるなら、 わざわざ boost で車輪の再発明をする気にはなれんと思うよ。
&と|と^について20分悩んだけど、理解できた。0/1に直さないとならんのね…。 それで、上の演算子の式に使える版が and,or,xorと。
>>179 > それは行列計算をPythonでやっていると言うのか?w
もちろん。入力データの生成はそれ自体が科学技術計算だからね。
入力データとなる行列を作る処理も行列計算だったりするわけだ。
> つか、コア部分はCを呼び出してとかって話をよく聞くけど、まじ?
もちろんマジ。
例えば NumPy や SciPy には BLAS/LAPACK という有名な行列計算ライブラリの
ラッパーが含まれている。BLAS と LAPACK には参照実装の他に CPU ベンダ製の
最適化バージョンが多数あって非常に効率良く行列計算が実現できる。そういう
標準的なライブラリを Python スクリプトから難なく利用できる。
パラメタ調整→コンパイル→実行の繰り返しが必要な科学技術計算の場合、
コンパイル不要の Python だととっても楽チン。これに慣れるともう
C や Fortran でライブラリの呼び出し部分を書く気にはなれない。
とりあえずコア部分を Python に組み込んで後々楽することを考えるわけだ。
通はATLASを使うんだよ。
すみませんです、IronPythonについて質問させて下さい。 IronPythonがリリースされることによってVBやC#のようにPythonが MSから正式なサポートが入るのでしょうか? 現在、社内でPythonの普及をさせようと思っていて「将来的にMSのサポートがある」 というと普及にむけて上司をの説得させる大きな材料の一つとなるので、、、 ご存じの方、ご教授お願い致します。
手段のためなら目的を選ばないぜ
>>187 将来のことなんて誰にもわからないよw
少なくともMSが公式にそういうコミットをしたことはないと思う
>>182 ,185
なるほどね、既製品を使うって意味ね。
Cを呼ぶとか難しそうに(?)聞こえたもんで、
カスタマイズした自家製モジュールの話かと誤解してしまった。
>>190 C++ならboost::python使うと簡単に呼べるよ
>>184 記号の方も単語の方も、数値にも式相手にも使えるのね。対話モードで使ってみた。
数値対象のときは、bit変換後に評価するかそのまま評価するかで結果が違うけど、
式が対象のときは同様に働くみたいだし。使うシーンで論理〜と算術〜って呼び分けてるんだ。
誤解解いてくれてありがとう。いずれ恥かくか行き詰まるとこだった。
>>190 あーいや、既存のモジュールだけじゃなく
自前のC/Fortranコードを呼ぶための拡張モジュールを自炊することもあるよ。
既存のモジュールのソースコードを見よう見まねでコピペすれば何ら難しくはない。
テキトーに setup.py を書いとくとインストーラまで作ってくれるし便利。
>>192 まだ誤解しているような気がするぞ。
算術演算子と論理演算子には原則として互換性はないよ。
前者はビット演算、後者は真偽値演算でまったく別物。
numpyが使ってるのはATLASだろ。
>>196 まずビット演算から説明しないとならない気
アホな質問で申し訳ないんだけど Pythonってプログラムの実行しながら 修正したりできる? 対話モードでプログラムを動かしながら挙動見つつ修正できるのかな?
モジュールのコードならリロードできるよ。 >>> import yourmodule >>> yourmodule.yourfunc() # 何かがおかしい。修正する。 >>> import sys >>> del sys.modules['yourmodule'] # sys.modulesからyourmoduleを削除。 >>> import yourmodule # importしなおす。 >>> yourmodule.yourfunc() # 直ってる。 単にimportし直すだけではダメ。
2回目からは reload(yourmodule) を使うという手もある。 それも面倒なら、簡易統合開発環境Idleから起動するという手もある。
>>199 氏はデバッガの話をしているんじゃないだろうか?
>>203 おれは
>>200 だが、実は聞き方が微妙で困ってた。
どちらにせよ、対話モードで開発もできるし、pdb(デバッガ)もあるし・・・。
まあ、できる。
恥ずかしながら、デバッガって使ったこと無いなあ。 print文を埋め込んでは、対話環境で関数ごとに実行するという原始的デバッグ。 本当はunittestを使うテストファーストにあこがれてるんだけど。 皆さんはどうしてますか?
>>205 気持ちを切り替えればそれほど難しくない。
unittestやテスト手法に慣れるための学習時間も必要かも。
テストファーストをはじめると,自然とテストしやすい「切り分け」をする癖がついて
設計の腕も上がると思うよ。
Pythonのコードを難なく読める中級者以上にお勧め。
おれはコーディングも実行(テスト)もpdbもすべてemacs上でやってる。
全ての作業がシームレスだよ。
>>205 pythonはC/C++なんかよりも比較的デバッガの必要性は低いけど、
それでもやっぱりデバッガ使った方が作業が早い・・・場合が多い。
>>205 EclipseのPyDEVのデバッガ使ってるよ。
それまではEmacs + pdbを長年使ってきたけど、最近Eclipseに完全に乗り換えた。
>>209 デバッガはたしかにいい感じの
あのコード補完機能ってどうよ
Python使いならEric3使ってるよな?月蝕なんて捨ててしまえ。
213 :
205 :2006/08/31(木) 15:00:49
おお、いろんなやり方があるんですねえ。
>>207 ありがとうございます。JUnitなら使ったことがあるので、Pythonでも少しずつ
導入したいと思います。動的言語のほうが単体テストの重要性は高いと思うので。
>>208 私もEmacsなんですけど、まだ全然使いこなしてないです。shellモードで
Python対話環境を立ち上げてるだけです。Emacs上でのPython開発の仕方に
ついて、どこかに良いマニュアルはないでしょうか?
>>209 Eclipseですか!あれは何でも取り込んでいくなあ。今はテキストコンソールでの
開発だから、残念ながら手を出せないんですが。
Eric3はマスコットの可愛らしさでダントツだよね!
Eric3はWindowsに冷たい。敷居が高すぎる。
216 :
208 :2006/08/31(木) 16:15:56
217 :
205 :2006/08/31(木) 16:38:53
>>216 ありがとうございます。これだけで相当幸せになれそうです。
>>195 >>196 >>198 >>> x,y = 1,2
>>> x==1 & y==2
False
>>> x==1 and y==2
True
数値相手どころか、式相手でも互換性がないのね。危なかった…。
直感的に分かるのは論理演算子の方でした。
リファレンスマニュアル5.8見ても、なにやってもFalse返したがる算術演算子を
式相手に使う場面は想像できませんでした。
>>218 優先順位のちがいだな
&, ^, | は == よりも優先されるから、
x==1 & y==2 は、x== (1 & y) ==2 となる
>>218 互換性どころの問題じゃなく両者は別物です
ビット演算について調べてください
ビット演算は、まず、数字を全部、二進数(0と1の羅列)に変換して、それぞれ の桁についてANDやORを取っているのだ。 それにしても、今の若い人は普通ビット演算なんて知らないんだろうなあ。しみじみ。
222 :
221 :2006/08/31(木) 17:30:13
変換という言い方はまずいな。要するに、数字の内部表現そのままだ。
なんかPython楽しそうだな。 ずっとperlとawkとsedだったけど、ここらで一念発起してみるか
>>218 「数値」と「式」という言葉の使い分けが気になっていたのだが、
真理値(True, False)の意味で「式」と言ってるんだね。
(ふつう式といったら数値も含む。)
&, | は整数値に対してのみ使う。float や complex は NG。
一方、and, or は多くの場合、真理値に対して使う。
比較演算子の値(比較の結果)は真理値なので and, or を使えばよい。
また、Python では伝統的に 0, None, 空タプル、空リスト、空辞書などは False 扱い、
それ以外のオブジェクトは True 扱いされる。
したがって、and, or は何でもかんでも受け付ける。
python-mode を使っている奴に訊きたいのだが python 付属の python-mode.el (SVN-34960)と emacs 付属の python.el (CVS-1.45)の どっちが最新なの? どこがどうちがうの? 単純にどちらを使うべきなの?
>>225 バージョンなんて気にしたことナカタ
ぶっちゃけどれでも同じ
227 :
208 :2006/08/31(木) 18:27:07
正しいかどうかは知らんが、とにかくこいつ
http://gunnarwrobel.de/wiki/Python.html の言うことには、python-mode.elは今んとこスタンダードで
python.elは新しく開発されたものとか。
ファイル単位でどっちが最新かって話なら、日付を。
実はおれもあまり気にしたことがなかった。
おれのLinuxでは、pythonファイル開くと勝手にpythonモードになるからな。
これはpython.elだろな。
んで、最近Cygwin上のemacsにはpython-mode.el入れた。
どっちが(機能的に)最新なの?
218はまだビット演算が何なのか理解できていないに1票。
>>221 今も昔もビット演算なんて知らないのがフツーだと思われ。
プログラム書く人間は知っていてしかるべきだろ そして知ろうとしないならそれで構わないが & と | のことは 218 は今後100年は触れないようにして欲しい
夕方に近づくと荒れそうになる件。
>>210 俺はJavaも使うのでPythonの環境移行はJavaついでという感だね。
で、PyDEVのデバッガ使える。いい。
コード補完はオマケと思って過度な期待をしなければ結構便利。
>>219 a == b == c って書けたんだ…
これまで(a == b) and (a == c)って書いてたよorz
というわけで
>>218 の例をやってみる。
>>> x,y = 2,3
>>> x == 2 & y == 2
True
なるほどね。
>>230 アセンブリ言語も地質学的昔ということなんだろうか。
#組み込み系とか制御系ではまだまだ現役なんだけどな。
>>234 (a == b) and (a == c) と書くほうが俺は好きだ。
Cでうっかりa==b==cと書いてハマる ●1点
>>234 1 < 2 < 3 なんてのもあるよ。
これを書くと誰だかばれそうだが >>> 1+3j.real 1.0 >>> 1+3j.imag 4.0 >>> がしばらく理解できなくて恥をかいた.
>>239 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・なるほどw
>>239 理解するのに10分はかかった俺は負け組。
×負け組 → ○人生の敗北者
俺もしばらく理解できなかった
俺は見る前から理解できた。
246 :
199 :2006/08/31(木) 20:07:36
変な質問してすみませんでした 3Dプログラミングやっててどうにも動作の仕組みがわからないんで 動作中にそれぞれ値がどうなってるか見てみたかったんです ここで聞くのはスレ違いにも程があるっていうのはわかっていたんですが 使ってる3Dライブラリが海外産なのでドキュメントも全て英語という始末 解読を試みたものの時間がかかってかかってorz 変な質問でしたが丁寧に答えてくださり本当に助かりました とりあえずデバックで試してみます
>>246 基本はレイトレーシング。光学計算をやればよろしい。
# みんPy立ち読みした。明らかにはじPyの二番煎じ。コーデックの説明なんてPython依存じゃなかったし。
249 :
予想 :2006/08/31(木) 20:45:26
250 :
199 :2006/08/31(木) 21:13:37
>>250 Pythonベースのシステムが全部嫌われるわけじゃない。
Zopeについては色々といいたいことがあるが、
Zopeが日本に紹介された初期に Python == Zope用の拡張言語 というような風潮があったことがあって、
それがPythonを「プログラミング言語」として利用していた層には受けが悪かったという話。
今ではそんな話も過去のこと。
なので、Panda3DぜんぜんOKと思われ。
俺はtrueSpaceというPythonでスクリプトを書ける3Dツールを使っていたこともあるので、
グラフィックス系には興味ある。
pygameスレに日記書いてたのはおまえかー
253 :
デフォルトの名無しさん :2006/08/31(木) 21:33:32
>>251 ふむ・・・、そうですか有難うございます
>>252 バレバレですね
個人的にはスレ沈めたく無いんで日記紛いにorz
気に入ったスレを覗くと4年前くらいのログが出てくるっていう化石ぶり
そう考えるとちょっと書き込みなかったくらいじゃ沈まないですよねw
>>250 いじってるというのは Python の処理系自体に手が入っているってこと?
PythonとHaskellが似てるという話してくれー
そうだ! 宿題スレで「PythonとHaskellがどんだけ似てるか」って作文書かせればいいんだ!
>>255 インタープリタに手が入ってるようです
どこまで手が入ってるかは解かりませんorz
呼び出しも「python」ではなく「ppython」として行いますし
Pythonとしては認識されないようです(Py2exe等が使えない)
>>256 ごめん、無理。このスレで、もう少しHaskell人口が増えたらね。それまでには
私も、もっときちんと勉強します。
>>85 氏には深く感謝。
逃げちゃダメだよ、逃げちゃ。
>>251 3Dと言えばPoserもPythonでスクリプティングできるようになってるね
>>258 情報サンクス。でもって、
>>250 の話に戻るけど、
インタプリタに手が入っているからといってそのソフトウェアが
敬遠されるとか嫌われるとかってのは無いんじゃないかなあ。
別の理由ならあるかも知れず。
(実は俺もインタプリタに手を入れてる。
CPython原理主義の鉄砲玉に撃たれて死ぬかもw)
逃げたようでもあり. 逃げられたようでもあり.
>>262 本来のPythonのことをちゃんと知った上で特定の環境のことを話すのならば嫌われないと思う
(たぶん)
根拠のないことを軽々しく書いたり、明らかな間違いを書けば嫌われるのは当たり前だね。 知らないことや分からないことはちゃんと真摯に質問すればいいわけだし。 普通の人は普通にしていればいい。 おかしい人は、すこし気をつけた方がいい。
燃料ktkr
>>233 おおそうですか。
以前試したときはEclipseが重かったのでそれっきりだったが
今度考えてみます。
268 :
デフォルトの名無しさん :2006/09/01(金) 02:43:11
xyzzyでpy-modeというのを入れたんだけど ループとか関数定義の終わりにインデントを戻そうとバックスペースを入力すると 警告ウインドウが出てうざい 正しいインデントの抜けかたがあるのでしょうか?
>>261 それとわすれちゃいけないBlender
>>268 xyzzyなんてのもpy-modeも使ったこと無いから知らんが、
警告ウィンドウに何がかかれているのかも示すのが正しい質問の仕方じゃないかな?
>>268 あー俺も Python は xyzzy の py-mode でやっているけど、あの警告少し
うるさいね。自分で修正したいけど、どうやっていいのかわかんない orz
272 :
デフォルトの名無しさん :2006/09/01(金) 11:51:52
>>270 Close Block: (そのブロックの先頭の内容)
と出ます
>>275 使ってる奴なら100%わかるだけの情報が入ってるんだが
お昼休みはウキウキウォッチング。
278 :
275 :2006/09/01(金) 12:17:59
間違えた。
>>268 >>271 ね。
>>276 まあそれは分かるよ。自分も使ってるから。だけどね、
・前スレのloggingみたいに、使ってない人が親切で調べてくれることがある
・はたから見て、いかにも情報の足り無そうな(実際はそうでなくても)質問
があると、他の質問者が「ああこんなんで良いのか」と思ってしまう
まあ細かい話だな。すまん。
>>278 >・はたから見て、いかにも情報の足り無そうな(実際はそうでなくても)質問
> があると、他の質問者が「ああこんなんで良いのか」と思ってしまう
実際に情報が足りない質問があったときに突っ込めばいいだけだろ。
いちいち情報が足りてる質問に突っ込む必要があるのか?
それだったらxyzzyのスレで聞けばよろしいですよう。
Pythonスレで聞いたほうが、ユーザが多いと踏んだんでしょ。
282 :
275 :2006/09/01(金) 12:30:46
うーん、そこは微妙だなあ。雰囲気というものもあるし、正直よく分からん。 ということでこの話は自分には判断できない。すまん。
ああ、あるね。
>>270 のような馬鹿を牽制するためにね。
>>283 君さ、何をしたいわけ?
>>282 で終わった話題でしょ。
個人攻撃に持ち込みたいのかな。
>>285 >個人攻撃に持ち込みたいのかな。
ププププ
はい、この話題終わり。 ↓次の話題どぞー。
9月一杯は駄目かも分からんね。
希薄な理由で他人に絡むのはキチガイ。
もうメタメタ。
うぜー。 よっぽど悔しかったのか。
>>279 メッセージを見てる人間はこんなもの示してもしょうがないと思うだろうが、見てない
人間にとってはそんなことわからない。メッセージを見れば俺にもわかるかもしれない
と思うのは自然な感情だろう。Pythonのスレで質問する以上、そういう人にも配慮して
質問するのが礼儀というもの。そういうことに突っ込まれただけで逆切れするのはとても
みっともない。質問者だったら多少でも他人の頭脳を使わせたことに敬意を表する
べきだろう。
はい、この話題終わり。 ↓次の話題どぞー。
>>293 俺質問者じゃないけど。
つか、必死すぎ。
空気読め>粘着キチガイ 読めなかったら氏ねや(ぷぷぷぷぷ
やっぱり最近暴れてる奴が絡んでたか。
>>293 >質問者だったら多少でも他人の頭脳を使わせたことに敬意を表する
>べきだろう。
鈴木さん、ですか…?
暇つぶしに調べてあげようかと思ったけど windowsのエディタなんだね。 >275 さんの指摘のようにエディタの設定の疑問は、使ってる人達に質問するのが正解だとおもいますよ。
イワズモガナー
若くてかわいいツンデレは受け入れられるが オッサンでピザなツンデレは疎ましいだけだ
>234 が相変わらず ビット演算 の意味も分からず & を誤用して間違いに気づいていないままな件について
>>302 俺も最初そう思ったけど、読み返してみたら、ああ分かってるんだなと思った。
だって、a == b == c という式になっていると気づいてるんだから。
b が (2 & y)になっているわけね。
インタラクティブのときに打ち込んだコードとかその結果とかを 任意のファイルにリダイレクトできませんかね? 例えるなら賢いedで地道に書いていくようなイメージで。
>>304 うーん、お求めの答えとは違うんだけど、
自分は対話環境を、Emacsのシェルモードで実行している。
これだと入力値と出力値をいくらでもさかのぼって取得できる。
しかし、そういうのじゃ駄目なんだよね?
ipythonでできそう
>>268 xyzzyのpy-modeは知らんが、emacsのpython-modeだと、passでブロックを明示的に閉じる。
>>304 俺だったら script コマンドを使うかも。
>>308 おお!xyzzyでもpassでブロックが閉じる!
311 :
270 :2006/09/01(金) 19:27:44
うっはーw
すげー伸びてると思ったら燃料投入したのは俺かよw
荒れてしまって申し訳ない。
いやぁみんな勘違いしているけど、実は268の時点では、
それが何依存なのかの切り分けすらできないんだよね、冷静に見ると。
ただ、
>>272 みたいにして書いてもらえれば、
「xyzzyぃ?んなおもちゃの話知るか!」って俺みたいな人間でも、
Lispファイルくらいは見てみるかってもんで、
「py-mode.lの1268-1269行のif文をカラにしてみれば?」って提案はでてくるわな。
動作確認はしないけどw
俺も使ってないしソース見てもわからんが、 バックスペースじゃなくて、左にシフトの操作じゃだめなのか?
313 :
270 :2006/09/01(金) 20:24:33
おれ、激やさしい。Win機(VMWareだけど)立ち上げて検証してやった。 やっぱ1269行目の (error "Closes block: ~a" base-text)))))) を ()))))) に書き換えたらきっとお望みの動作だね。 バイトコンパイルもお忘れなく。 いやー、残念ながら罵り合いは最後まで何の役にも立ちませんでしたねーw
なんか痛い奴だな
そういう事は思っても言わないのが大人だよ
なんかあの人を思い出しちゃうよね。
釣れますか?
はいはい柴田柴田
>>313 最後の一行書かなきゃいい人だったのに惜しかったねw
ともあれご苦労様でした
322 :
デフォルトの名無しさん :2006/09/01(金) 21:51:42
>>313 ありがとうございます
xyzzy板の方で聞いたら
ツール > 共通設定 > さまざま
で「エラーの表示をマイルドに」をチェックするといちいち警告ウインドウが開かなくなるようです
>>320 良い人じゃないかもしれないが、罵り合いより役に立つ情報だったのは確か。
するするっとスル〜
325 :
234 :2006/09/01(金) 22:19:39
>>302 む、すまん俺は
>>218 とかの人とは別の部外者だ…
ややこしくしてスマンス
せっかくなのでpythonの話。Djangoだけど。
setting.pyではado_mssqlも選べるような事書いてあるけど
実際やってみると片っ端からエラーでだめぽですな。
せっかくpyISAPIeでIISと繋がったのになあ
つーかおとなしくLinuxにしろって話かなw
>>325 別にLinuxにしなくてもIISやめるだけで幸せになったりしないかな
IISハカーによるとIISにも結構いい所あるらしい。 俺にはさっぱり理解できないが、確かにそのハカーのチューニングしたIISは 超安定動作&パフォーマンス良好だった。 pyISAPIeは知らなかたよ。今は IronPythonで ASP.NETが面白い。
IISがだめだと言ってる奴は金が出せないだけじゃないの?w
プログラミングどころかパソコン買ってまだ2年目くらいですが、 「みんなのPython」って本買いました!まだ半分くらいしか 読んでませんが、分かりやすいですねこれ。(もうひとつの、 動物の絵が表紙の奴は難しかった…。)ただ、「CとかJavaでは〜」 って言われても何のことか分からないのが悲しい…。 ところで、スライスというものはなぜ [ここから:ここまで] の 「ここまで」 の部分が目的の番号に1を足さないといけないんですか? (例) >>> a = [1, 2, 3, 4, 5] >>> a[1:3] [2, 3] >>> 0から始まるのも間違えやすそうですが、それはまぁ、注意すれば 覚えられそうですが、スライスは覚えにくいです。 本だと48ページあたりですが、理由は書いてありませんでした。
前々スレから >s[a:b] は始点が位置 a で >長さが b-a になるようになってるんよ >長さnの列全体(つまり0からn-1まで)は[0:n]と表記できることから想像できんかね?
elementtreeに関して質問です。 とりあえずエレメントとか属性とか無茶ですが 以下のようなXMLがあったとします。 <?xml version = "1.0" encoding = "utf-8"?> <person> <aperson no = "123"> <name>Yamada Hanako</name> <age>18</age> <sex>female</sex> </aperson> <aperson no = "124"> <name>aaa Hanako</name> <age>18</age> <sex>female</sex> </aperson> </person> これから、例えばaperson no = "124"のageのデータを取りたい場合 どうやれば効率がよいでしょうか? 思いついたのは、 lst = root.findall('aperson') for item in lst: if item.get("no") = "124": 124root= item break print 124root.find('age').text ぐらいなんですが;; findの後のxpathって属性まで検索対象にできないんですよね? よく分からないけどlst = root.findall('aperson@no=124')みたいに
ふつーPythonプログラマはWebサーバくらい自分で書くだろ。
>>327
>333 Web(つかhttp)サーバというのはけっこうでっかい車輪だと思うが。 てか旧はじパイ読み始めたばっかの超初心者なんだが、出来合いのんあるのと違うの? > Python製httpd
>>332 XPath 自体は属性値も扱えるはずだけど、ElementTree だとエラーになるね。
PyXML 0.8.4 だとこんな↓感じで使える。
from xml import xpath
from xml.dom.ext.reader import Sax2
reader = Sax2.Reader()
doc = reader.fromStream(file("test.xml"))
root = doc.documentElement
print xpath.Evaluate("aperson[@no='124']", root)
print xpath.Evaluate("aperson[@no='124']/age", root)
print xpath.Evaluate("aperson[@no='124']/age/text()", root)
>>334 出来合いのん:
import BaseHTTPServer
import SimpleHTTPServer
import CGIHTTPServer
Pythonはハッカーに良いとはチラホラ見るけど どういう点でいいんだい? そこら辺詳しく
> Pythonはハッカーに良い 意味が分からんのだが(苦笑
それはソースコード可読性の点に尽きるかと。 ハカーは言語化するのを疎う傾向にあるので *方言なしの*コードで語れることに惹かれるのだろう。
方言なし、、、、かなぁ。 バージョンが上がるたびに標準語が変化して、 取り残された古参ユーザがしゃべっているのはコテコテの方言、 という状況にある気がするがw
pythonはある意味で"hack"はできんよな 何やっても大抵綺麗に書ける。 凄いけど動作原理が不明とかあんまない。
実装部分(コード化)と設計部分(仕様)とを峻別しろよ。 前者をhackする奴が何処に居るんだ?w それは揚げ足取りの言葉遊びにすぎないだろw
>>341 なんか「ハック」の理解の仕方が俺と違うな・・・。
>>341 Perlみたいな言語をやっているとこうなる例。
Perlerのコードなんて見ちゃいけません!
Perlの精神....Zen(禅) Zopeの精神....Zen(禅) これでわかりましたか?
ぜんぜん分からん
Perlの言い訳....「人によって感じ方が違うんだから、同じことを幾通りにも書けるようになるのは自然なことでしょ?」 Zopeの言い訳....「一箇所にまとまっているんだから、それと同じ機能なんてすぐに勝手に書けるでしょ?」 これでわかりましたか?
Perlは書き方以前に記号がゴチャゴチャして見にくい。
>>341 そういう些末なハックに気を取られないで本質的なハックに専念できるので、ハッカーに
とっては生産性が向上するんですよ
352 :
332 :2006/09/02(土) 10:25:46
>>335 やっぱりそうですか。ありがとうございます。
じゃあアルゴリズムは332に書いてるようなのでいいでしょうか
データを増やしたらちょっと遅かったもんで。。
それともElementTreeだから遅いんですかね
もうちょっと調べてみます。
>>327 IronPythonでASP.netについてkwsk
IronPython出始めの頃少し調べたんだけど結局やり方が分からんかった
ハッカーとオタクの違いがわかりません。 whileとforの速度差にこだわるのはハッカーですか?
>355 それはヲタ
どうせsystax sugarの差なんて実装が進めば最適化で同じになるよ。
今まで、VCとVBのプログラミングをやってきましたが、 これからPythonのプログラミングについて、勉強しようと思っています。 Pythonをインストールし、Python関連のHPも色々見てみましたが、 VCのようなデバッグ方法(GUI上でステップ実行等をする)がイマイチわかりません。 申し訳ないですが、VCのようにデバッグする方法を教えて下さい。
デバッガなんぞ触って覚えろ
>>358 Komodoを使うといいんじゃないかな。有料。
Windows なら PythonWin がいいんじゃない?
IDEという物に対しての理解がいまいち浅い気がするなw
漢はEmacsで書けよ。 IDEとか軟弱者の使うモノ。
漢はEmacsで書けよ。 IDEとか軟弱者の使うモノ。 ↓ 漢はVimで書けよ。 Emacsとか軟弱者の使うモノ。 ↓ 漢はnviで書けよ。 Vimとか軟弱者の使うモノ。 ↓ 漢はedで書けよ。 nviとか軟弱者の使うモノ。 ↓ 漢はechoで書けよ。 edとか軟弱者の使うモノ。
別に何使ってもいいじゃん。 なんでおまいらそんな低次元のことで張り合ってるの?
漢はPythonで書けよ。 Rubyとか軟弱者の使うモノ。 ↓ 漢はC++で書けよ。 Pythonとか軟弱者の使うモノ。 ↓ 漢はCで書けよ。 C++とか軟弱者の使うモノ。 ↓ 漢はasmで書けよ。 Cとか軟弱者の使うモノ。 ↓ 漢はbinaryで書けよ。 asmとか軟弱者の使うモノ。
なぜにRuby?w そこはJavaだろw
>>366 ちょっとしたスクリプトとか設定ファイルは
cat > foobar.sh
とかするけど、pythonの場合はインデント厳しいからむりぽ。
たしかに\t\n通るのかなぁw
>>368 >漢はbinaryで書けよ。
>asmとか軟弱者の使うモノ。
プリミティブなツールを使うのが漢らしいと考えるのは
ちんぽがでかけりゃ女にモテるらしいと考えるようなものだ。
1行に詰め込めばいいなじゃね?
>>> isinstance(366, Hacker) False >>> isinstance(368, Hacker) False
>>374 >>> isinstance(self, Hacker)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name 'self' is not defined
>>> isinstance(375, Hacker)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name 'Hacker' is not defined
376 :
341 :2006/09/02(土) 22:23:50
あ、いや、「hack!=ハック」ってことで。 "hack"って英単語って切り刻むとかずたずたにするとか、 そー言う含みもあるから、実装依存だけど強烈に早いとか 言語の内部構造の性質を利用した抜け道とかって捉えてたんで、 ある意味でpythonに"hack"は要らないねーって思うて。 quick hackなんて言葉は、単純にできればそうしたいけど、 こういう切り抜け方があるよって響きではなかろうかと。 ていうかみんな、そんな煽らないでくれよ……
($ruby = "RUBY"の場合) "my name is #{$ruby}" #=> "my name is RUBY" これのPythonでの書き方は?
バッドノウハウktkr
バッドノウハウっつーほどでもないと思うが。 結構便利だよ。ヒアドキュメントに埋め込んだりもできるし。
別にバッドノウハウじゃないだろ
>>377 ruby = 'RUBY'
'my name is %(ruby)s' % vars()
>381 そこは python = 'python' でそ
>>382 >>> 'my name is %(ruby)s' % vars()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
KeyError: 'ruby'
375=383
1 == range(1,385)
>>384 SyntaxError: can't assign to literal
388 :
デフォルトの名無しさん :2006/09/03(日) 00:50:14
LinuxでShift_JISを扱うにはどうすれば良いの? print unicode(text,'cp932').encode('utf-8') これで出来たけど、いちいちやるのはめんどくさい。 ロケール設定すれば良いかと思ったけど、出来なかった。 locale.setlocale(locale.LC_CTYPE,('ja_JP.cp932')) Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.4/locale.py", line 381, in setlocale return _setlocale(category, locale) locale.Error: unsupported locale setting
389 :
358 :2006/09/03(日) 00:53:47
みなさんレスありがとうございます。 Komodo、eclipse、PythonWin、PyDevを それぞれ試してみます。
>>388 入力時に一括してcp932でデコードし、出力時に一括してutf-8でエンコードすればよい。
たとえば
import codecs, sys
file = codecs.open(filename, encoding="cp932")
text = file.readline()
などとして読み込む。この時点で text は unicode オブジェクト。さらに
Writer = codecs.getwriter("utf-8")
stream = Writer(sys.stdout)
print >>stream, text
などとして標準出力に印字する。
標準出力が端末のときは自動的にロケールに沿ってエンコードされるが
標準出力がファイル等にリダイレクトされている場合には
デフォルトエンコーディング(多くの場合 ascii)でエンコードされる。
よって上記のように print >>stream, ... 形式を使うのが安全確実。
392 :
デフォルトの名無しさん :2006/09/03(日) 01:24:43
質問ですが、Python さんは Windows アプリも作れるのですか? BitTorrent がそうだと検索していて知りましたが、ほかにはあまり 見当たりません(何かあります?)。 何もそこまで大規模なものではなく、Widget とか、ちょっとした ユーティリティレベルのものでいいのですが、可能なのでしょうか? Tkinter というものを使えばできそうだと知りましたが、やはり Win アプリなら VC などでやるべきでしょうか?
GUI関係を考えると、VBのが遥かに楽は楽だろうなーとは思う。比較の意味が乏しいけど。
VBは書くのが苦痛 読むのも苦痛 ソフトを使う側も苦痛 という三重苦
GUIの設計をWYSIWYGで出来るか否かの差は 悔しいが認めざるを得ないが… スモールツールなら。
gladeは?
>>393 Python には IDLE という統合環境が付いてくる。
これは Tkinter を使って書かれていて Windows でも普通に動く。
実用的な Windows アプリのひとつだと思われ。
Tkinter のいいところ:
・Windows でも Linux でも Mac でも同じように動く。
・Python に標準で付いてくる。
・シンプル。
見た目や細かい挙動にこだわらないならおすすめの GUI ライブラリだよ。
うちだけかもしれんがMacのIDLEでは履歴をさかのぼれない(WinのAlt-p)のでちょっと不便。 IDLEの中をいじればよいのかもしれんがめんどい。
>>393 vbみたいにやりたいんならBoa Constructor か PythonCard を使えばいいんじゃないかな。
前に出てたSpecTIXもあるでよ
お前もな
Python 標準の Widget は Qt ですよ。
PyQtってwindows用のパッケージあるの?
pykfって標準搭載されないんですか?
そんな特定言語依存なものは入らないだろうし 入れたら混乱の元だと思う
411 :
デフォルトの名無しさん :2006/09/03(日) 22:51:10
import urllib
f = urllib.urlopen('
http://www.2ch.net/ ')
これが10秒くらいかかるんだけど。
試しにJavaで同じようなことしたら、サクッと取ってこれた。
もちろんWebブラウザでも速い。
何かコードを書き加えないとダメ?
ちなみにOSはFedora Core 5
>>411 ウチだと1秒もかからないよ。
バージョンとか書いといた方がいいかもね。
自分とこはActivePython 2.4.3 Build 12
>>411 対話モードでやったら1秒もかからなかったよ。
ひょっとしてPythonインタプリタ自体の起動に時間がかかってるだけじゃない?
414 :
441 :2006/09/03(日) 23:15:44
バージョンは '2.4.3 (#1, Jun 13 2006, 11:46:08) \n[GCC 4.1.1 20060525 (Red Hat 4.1.1-1)]' 対話モードでも遅いんだよね。 OSの問題かな。
415 :
411 :2006/09/03(日) 23:36:04
名前間違えてた。
WindowsXP(同じPC)で動かしたら気持ちよく動いた。
なので、OSの設定か何かかなー。
とにかく問題はコードじゃないってことか。
>>412-413 ありがとうございました。
シンボルがunboundかどうかを知る方法ってtry:で囲って実際に例外吐くかどうか 調べる他にない?
"sinboru" in vars() とか?
418 :
416 :2006/09/04(月) 01:17:10
需要無いのかなぁ。動的言語なんで勢いに任せてつらつら書き進めていって いきなりunboundにぶち当たって落とされると結構不愉快なんだけど。せめて NoneかFalseと同じ扱いにしてくれりゃぁいいのに。それはそれで問題なんだろけど。
Pythonのそこらへん周りの開発時期が、他の言語で
そもそも、そういう書き方になるのはおかしいんじゃね?
例外でも投げてくれ
という声があった頃だからだと思う。
あとPythonは辞書と名前空間で管理されてるから
>>417 でいいし。
>>418 前にも未定義の変数を参照しても例外投げないでくれっていう奴がいてだな
その時はふざけんなボケまともに書けやカスって流れだった希ガス
俺が勢いに任せて書いたプログラムが動かない!!不愉快です!!!1!
>>411 Python 2.3.4 (#1, Mar 10 2006, 06:12:09) [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)]
OS: CentOS4.4 の環境で、一瞬で帰ってくる。
おそらくOS設定だろうね。
>>411 PPPoEの接続切れてて、つなぎ直す最初だけ遅いとか
>>416 ,418
こいつとは一緒に仕事したくないな。
キチガイは一生引きこもっていて欲しい。
そもそも未定義のものを参照している時点で "自分が思った通り" のプログラムじゃないのに ある仕様を規定することによって "自分が思った通り" の動作をするようになる なんて本気で信じてるんですかねぇ… どういう思考回路してるんだろう… プログラマ向きじゃないよな
>>408 公式に普通に置いてありますが?
GPLであることに問題が無ければ、Qtはかなり良い選択だと思う
>>425 ちょっと言い過ぎでは?
俺は416=418ではないが
未定義の変数を参照したら適当な初期値を与える仕様の
プログラミング言語は実在するし(例えば awk がそう)、
注意深く意図的に使えば便利なものだよ(特にワンライナーを書くとき)。
俺は Python もそうあってほしいとは思わないが、
そうあってほしいと考えることが間違いとかプログラマ向きでないとは思わない。
(あえて言えば、安易な全否定こそプログラマにあるまじき態度だと思う。)
>>427 > 俺は Python もそうあってほしいとは思わないが、
これは全く同意。
> そうあってほしいと考えることが間違いとかプログラマ向きでないとは思わない。
> (あえて言えば、安易な全否定こそプログラマにあるまじき態度だと思う。)
ここはPythonのスレなのだからそれは文脈無視の屁理屈だよ。
>>427 >注意深く意図的に使えば
随分ハードル高いな(W
>(特にワンライナーを書くとき)。
ふーん(WWW
Wでかっ
現時点でVS2005に最新のCTP-SDKを使ってIronPythonをインテグレートしても 「データ」−「新しいデータソースの追加」が使えなかった。ポトペタできない。 DBクライアントアプリ開発には最高レベルの効率だと思ったのに。残念。 C#は使う気ないし。
>>428 > 文脈無視の屁理屈
そうは思わないけど、あれこれ言っても得るものがなさそうだし俺は手を引くよ。
スライムA は にげだした!
ザカザカザッ・・・
スライムA は さびしそうに こちらをみている。
PythonにGUIなんかいらねぇだろ。VBでも使ってろよww
良く分からないのは スライムA が 「なぜ <<python>> にその機能を望んだのか?」 だよな。 素直に巣穴に戻って perl なり awk 使えばいいのに。
>>437 他人に使わせる時、リッチテキストや画像を使う時など
いくらでもGUIの欲しい場面なんてあるんだよw
Hello Wordlでも表示してオナニーしてろよww
殺伐として参りました(・∀・)
スライムA が あらわれた!
PyQtマンセー。PyGTK/wxPythonは氏ね。
うはwwwww 氏ねって言われたwwwwwwwwwカナシスwwwwwwwwwww
まだ夏休みなのか。
>>442 君には先見の明がある。
最後に残るのは PyQt
うわ自演くせえ。
>>444 思うに、夏休みと平常日の区別のある人間は比較的まとも。
一番ヤバいのは毎日貼り付いてる方々。という俺の最終予測。
PyQt 使ったアプリ見たこと無い
eric3
俺の最終予測だと,一番やばいのは基地外だよ。
きたきた
粘着は19時から予定が入っていたらしいな
俺は ホイミスライムA なんだけど, 453 のようなキチガイ妄想丸出しの考え方は, 頭の悪さが露呈しすぎだからひかえたほうがキミのためだと思うよ.
スライムA は ホイミスライム だった!
それいれても、mingwm10.dll とか qtcore4.dll がないって怒られる。
ねえねえ チョウ聞きたいんだけどさ〜! 辞書って for i in list: i['aaa'] = bbb みたいに作成できないのぉ? ってバカがバカっぽく質問してみます。
list = [{}, {}] bbb = 'ccc' for i in list: i['aaa'] = bbb で出来た
>>459 いや、
list = "a","b","c"
for i in lst:
i['aaa'] = 1
で、a['aaa'] = 1,b['aaa'] = 1,c['aaa'] = 1
こういうのを期待してるんですが無理ですよね。
>>461 >>> a = {}
>>> b = {}
>>> c = {}
>>> for i in [a,b,c]:
... i['aaa']=1
...
>>> a
{'aaa': 1}
>>> b
{'aaa': 1}
>>> c
{'aaa': 1}
いやいや、こーなんでないの? >>> for i in ["a", "b", "c"]: ...locals()[i] = { "aaa" : 1 } ... >>> a {'aaa': 1} >>> b {'aaa': 1} >>> c {'aaa': 1} >>>
464 :
458 :2006/09/05(火) 00:14:13
>>462 ,463
できました。ありがとうございます
質問です。これって仕様でしょうか? raise StopIteration() が return のように振舞ってるんですが、何か変な感じです。 Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> def f(): ... yield 1 ... raise StopIteration() ... yield 2 ... >>> [x for x in f()] [1] 元々 list = [1, 2, 3, 4] try: it = iter(list) while 1: print [it.next() for n in xrange(it.next())] except StopIteration: pass で、it.next() が StopIteration 例外を出して except で捕獲されると 思ったらされなかったのが発端なんですけど。
>>465 なんでそんな複雑なことをするのかキチガイ、じゃなかった聞きたい。
間違えた、こうだ。 list = [1, 2, 3, 4] try: it = iter(list) while 1: print tuple(it.next() for n in xrange(it.next())) except StopIteration: pass どこかの日記で見たパズルを解いていて気づいた。(はてなだったかな?)
>>> [x for x in f()] [1] どういう動作を期待してるんだろう、俺の期待している通りの動作なんだが・・・
>>465 一度 StopIteration 例外が起こったあと後続の行が実行されることを期待しているのに
そうならない、これは仕様か?という質問だよね。答えは Yes。
http://www.python.org/doc/current/ref/yield.html#l2h-512 > When a generator function is called, it returns an iterator known as a generator iterator,
> or more commonly, a generator. The body of the generator function is executed by calling
> the generator's next() method repeatedly until it raises an exception.
停止条件が StopIteration に限られていない点に注目。
つまり、ジェネレータは何であれ例外が起こったところで実行を停止する。
ジェネレータの停止とは、後続の next() の呼び出しがすべて StopIteration 例外になるということ。
f() の中で StopIteration 例外の代わりに別の例外を raise してみるといいよ。
最初にその例外が起こり、その後はずっと StopIteration 例外が起こり続ける。
要するにジェネレータは繊細な心の持ち主なんだよ。
471 :
466 :2006/09/05(火) 06:46:26
[1, 2, 3, 4] と与えられたとき、 最初の要素が 1 -> 次の1個の要素をタプルにせよという命令 -> 2 なので (2,) を表示 次の要素が 3 -> 次の3個の要素をタプルにせよという命令 -> 4 しかない(3個ない)ので中断 という挙動をしろというパズルなのですが,意図した (2,) という出力ではなく (2,) (4,) という出力になってしまいます。 (it.next() for n in xrange(it.next())) というジェネレータで例外が出るのだから、キャッチされるまでスタックを さかのぼるはずが、まるで tuple() の中で StopIteration 例外が キャッチされているかのような実行結果が妙だと思いまして。
472 :
466 :2006/09/05(火) 06:47:16
等価であるはずの def g(it): for n in xrange(it.next()): yield it.next() def execute(*a): try: it = iter(a) while 1: print tuple(g(it)) except StopIteration: pass execute(1, 2, 3, 4) だとまた結果が違って (2,) (4,) () () () 以下無限 となったり????
473 :
466 :2006/09/05(火) 07:24:20
書き込んでから気づいたけど、tuple() はイテレータの next() が StopIeration 例外を出すまで処理するんだからこれでいいのか。他のイテレータからの例外なんで 違和感あるけど(スレ汚し失礼)
こうしたら要件どおりではある。
>>473 はどういう意味か解説キボン
L = [1, 2, 3, 4]
try:
it = iter(L)
while 1:
print tuple([it.next() for n in xrange(it.next())])
except StopIteration:
pass
475 :
469 :2006/09/05(火) 10:28:36
>>473 で解決しているみたいだけど、
>>471 > まるで tuple() の中で StopIteration 例外が
> キャッチされているかのような実行結果が妙だと思いまして。
(it.next() for n in xrange(it.next())) の中で
StopIteration 例外が何回どこで起こっているかを考えると、
1回目:it.next() の5回目の呼び出し(for の前の方)
→ tuple によりキャッチ。(4,) というタプルが生成される。
(ジェネレータの生成には成功している。)
2回目:it.next() の6回目の呼び出し(xrange の中の方)
→ジェネレータの生成に失敗して except 節によりキャッチ。
となってんだよね。
何言ってるかわっぱりわかんね。
インタープリタの中の人の気持ちになるんだ
インタープリタの中の人「まーたエロ画像をバッチダウンロードですか」
んなことプログラミングすんなよw もっと単純なマクロとかソフトとかありそうだ
おれは、エロ動画のバッチダウンロードだから関係ないけど。
あれ、認証要求されて止まる事が多いんだけどどうやったら回避できるんだろう
>>481 a. basic authentication に対応する(ID とパスワードがなければアウト)。
b. もらったクッキーを食べる。
c. 適切な Referer: ヘッダを付ける(アクセス元を詐称する)。
d. 適切な User-Agent: ヘッダを付ける(ブラウザを詐称する)。
認証以外のダウンローダ除けも入ってるけど、だいたいこの辺り。
484 :
481 :2006/09/05(火) 23:49:18
>>482 >>483 丁寧にありがとう
でもそっちじゃなくてつまり、認証があるか無いか分からない URL の束をアクセスして行き、その中に認証があるやつが混ざっているとコマンドラインに ID&PASS を要求された状態でプログラム自体が停止してしまうのだけれども、その URL を飛ばしたい、という事です
日本語でおk
飛ばしたいなら飛ばせばいいだけだろ
飛びます飛びます
>>484 401 Authorization requiredが返ってきたらしかるべき処置を加えて再試行するのが常套手段
>>484 FancyURLopener.prompt_user_passwd()をオーバーライド
Python Developers Camp 2006 夏 参加者募集 みたいな事がPyJUGに書いてあったんだけども どんな人たちが来るんだろう
死因基地 GUY が建てたスレにようこそ.
>>490 すくない参加経験から察するに、
・平均年齢高め。職業人多し。
・平均スキル高め。多言語ユーザ多し。
・各人の関心の方向性が多岐に渡る。
・平均英語力高め。
・男女比高め。ZeroDivisionError 気味。
・健全性高め。オタクだらけのハズだが邪気が感じられない。
要するにみんな大人。能動的な人ほど得るものが大きい。
じゃあ僕は行けない
な、なじめん…orz
米国のデブキャンはダラスでやってるんだから 日本のデブキャンは大阪でやるべきだろ?
内包表記から書き換えるといつも:付け忘れる インデントだけでfor内部を認識するようにしてくれ
Python Damelopers Camp参加者募集
東京遠い。京都でやるなら参加する。
東京? 富士市じゃん。
プログラム書いていると、変数名としてlistやらdictやら使いたくなるんですけど、 それを使うと標準関数のlist()やdict()が使えなくなります。 変数と関数の名前空間が同じであるという仕様は気に入っているのですが、この点だけがちょっと気になります。 みなさん、どんな変数名使ってますか。 他の言語だと例えば list = new List() とか dict = new Dict() となるので、listやdictを変数として使っても問題ないです。 またPHPだと変数は$listや$dictなので関数名とかぶる心配もないですし。 なにぶんPtyhonは初めたばかりなので、こんなつまらんことで悩んでいます。
>>493 うーん、やっぱ結構頑張ってる人が来るのね
雑魚みたいなガキは行ってもいいんだろうか
勿論遊びに行きたい訳ではなくて勉強だけども
>501 listやらdictは一般的すぎるので使わないようにしてる typeとかidはあえて上書きしちゃうこともあるけど
'a'とか'my'とかリスト/辞書の役割をプレフィクスする。 例:candlidate_list, foo_list, mylist
使い捨てスクリプトならlistaとか、 lstとかで。
>>493 >能動的な人ほど得るものが大きい。
ここ試験に出るから。
ビシッ / ̄ ̄ ̄ ̄\ / ̄\( 人____) , ┤ ト|ミ/ ー◎-◎-) | \_/ ヽ (_ _) ) | __( ̄ |∴ノ 3 ノ | __)_ノ ヽ ノ ヽ___) ノ )) ヽ.
Python若手議員の会もぜひ作って下さい。
クレクレ君とキチガイは氏んだほうがいい.
>>508 >Python若手議員の会
加齢臭が漂ってくる言葉ですね。
>>493 邪気が漂うイベントの例をお願いします。
IronPython 1.0とサンプルきたこれ
>>501 > 他の言語だと例えば list = new List() とか dict = new Dict() となるので
じゃあ変数名を List, Dict にすればいいだろ
変数名にlistとか使っちゃう奴は、「何のリストなのか」を考え直した方が良い。 Person クラスのリストなら people とか。後から読む時全然違うから。
インデックスのリストなのでindiceにしました。 他のみんなに分からないと不評でした。
>>515 だけど汎用的な関数だと、そうも行かないよね。
高階関数だったりすると、もう絶対無理。
同じ悩みのあるSchemeでは、リストはlis とか list0 とかの変数名をつけてた。
>502 手をあげちゃったYO おいら雑魚レベルだけど、 興味あるお題が出ていたし 一気入門勉強の良い機会かなーと思って せっかく持ち出しで企画してくれてるんだし 興味があるというのなら十分な理由じゃないでしょうか。
雑魚は相手にされなさそう。 相手にされてるように見えて、軽くハブられそう。
みなさん。 にちゃんねるへようこそ。
>>521 みんPyノルマが増えるだけで歓迎されますよ。
>>518 最初の一歩を踏み出したわけだ。(・∀・)イイヨイイヨー
行っても乞食だと思われるだけなんじゃないの?
>>525 キミみたいなのはどこにいってもハブられるとおもうよ。
なんだそりゃ
なんだそりゃ
雑魚レベルの集会だろ。 レベル高いと思い込んでる馬鹿の集りにわざわざ参加することなし。
うひょ
>>529 この短い文章の中に根拠のない断定が少なくとも2つあってすごいと思った(www
根拠は日本発のプロダクトが皆無という事実だよ。 所詮、低レベル同士の馴れ合いの場。
>>532 井の中の蛙の煽りだろ。
レベル高いと思いこんでると思いこんでるバカの煽りにわざわざ反応する必要なし。
535 :
■■■お知らせ■■■ :2006/09/06(水) 17:31:25
こ の ス レ は 日 本 発 の P y t h o n 製 品 を 挙 げ る ス レ に な り ま し た 。
コア
533=535が井戸の中で日本発のPython製品とやらを作っている間に Pythonの話をしようぜ!!!
待ておまいら。井戸の底がGoogleと繋っているかもしれんじゃないかw
合宿に来るような向上心のある人がレベル低いとは思えないんだが
でも合宿でやるのはマクラ投げだし
楽しそうじゃんか(WWW
Wでかっ
>535 井戸を出て合宿に池。
参加することが向上心の表れだとは思えないし。 意見交換の場として参加することについても 各種コミュニケーションインフラツールの揃っている現在では甚だ疑問だし。 結局、自画自賛披露会に終わるでしょう。
ふーん
>>547 日 本 発 の P y t h o n 製 品 で き た ? ? ?
食べてもいないぶどうを酸っぱい酸っぱいと
2ちゃんって、なんでこうネガティブで陰湿で雰囲気悪いんだろう…。
ポジティブで朗らかで雰囲気が良かったら2chじゃない
だけども 問題は 今日の雨 傘がない
list → ls dict → dic
,,,,,,,,,,,,,,,,,,,, /": : : : : : : : \ /-─-,,,_: : : : : : : : :\ / '''-,,,: : : : : : : :i /、 /: : : : : : : : i ________ r-、 ,,,,,,,,,,、 /: : : : : : : : : :i / L_, , 、 \: : : : : : : : :i / 参加したら /●) (●> |: :__,=-、: / < 負けかなと思ってる l イ '- |:/ tbノノ \ l ,`-=-'\ `l ι';/ \ カエル(24・男性) ヽトェ-ェェ-:) -r'  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヾ=-' / / ____ヽ::::... / ::::| / ̄ ::::::::::::::l `──'''' :::|
いや全員参加されても困るし行きたい人が行けば それで済むだけ なんで井の底のカッパは他人の活動を否定したがるのかねー ごく一部のキ印だけだとは思うけど。ruby でも使っててください。
他人の活動否定したがるのかねー、とか言ってる本人が 明らかに貶す文脈でrubyを出してるこの馬鹿さかげん。
予想のななめ上の目指してRuby批判かよ。 どっちが井の中の蛙なのか分かりませんね。
>>558 >予想のななめ上の目指して
意味不明
>どっちが井の中の蛙なのか
「予想のななめ上の目指す」
「Ruby批判」
これのどっちがどうすると「井の中の蛙」なのか簡潔に説明白
> ruby でも使っててください。 が敗因でした。
スクリプトファイルのエンコーディングの指定は #encoding: エンコード名 #coding: エンコード名 どちらが正しいんでしょうか
自 演 失 敗 ! !
気狂いばっかりで、ZOPEも遅いからダメなんだよ!
粘着荒らしよりもっと楽しい事はあるだろうに
ZOPEの怨念どもめ! あっちいけ
ruby から嵐が出張してきているっていうのは図星だったみたいだね
カンベタソに答えてやれよ>ZOPE関係者ども
>>569 重複してるだけだと思うよ。
先週末のRubyスレプチ祭りのときは、ここ静かだったし。
普段はこっちに常駐してるみたい。
ZOPEってバンドが無かったっけ?
GNU-Toolsってのもあったな
>>> def f(*s) : print s ... >>> f(range(10)) ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],) >>> f(*range(10)) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) これ通るんだ
>>> int("1010", 2) 10 >>> int("1111", 2) 15 これの逆が欲しいんだよな. ruby みたいに "x = %b" % x 見たいな感じで. 追加して失うものなんて何かあるか?
def to2(i): s = i >= 0 and '+' or '-' i = abs(i) l = [] while i != 0: l.append(i & 1) i = i >> 1 l.reverse() return s + ''.join(map(str, l)) やっつけで書いたけど基数指定して変換するのなかったっけか?
578 :
スマソ :2006/09/07(木) 06:54:15
def to2(i): s = i >= 0 and '+' or '-' i = abs(i) l = [] while i != 0: l.append(i & 1) i = i >> 1 l.reverse() return s + ''.join(map(str, l))
誰が書いたのか大体分かってしまったw コードに性格が滲み出ているw
ビット演算の話が出たときに書いてお蔵入りにしたコード: def bin(n): assert isinstance(n, int) def bit(x): if x == 0: return "" return bit(x >> 1) + str(x & 1) if n < 0: n = 0x100000000L + n return bit(n) 負の値は2の補数で表現(よって int 型限定)。
インデントナイトワケワカメ
bin(0) だと '' が返る気が
583 :
580 :2006/09/07(木) 09:51:45
orz
if x == 0: return "" を if x < 2: return str(x) とすればいいのかな。
>570 ドコで開催してるの?
d2b = lambda d: [''.join(reversed([{True: {True:'1', False:'0'}, False: {True:'0', False:'1'}}[d>0][bool(b&abs(d))] for b in (i.takewhile(lambda x: x<=abs(d), (1<<s for s in i.count())))])) for i in [__import__('itertools')]][0]
ワンライナーの人キターーー(・∀・)!!!!!
でもこのコードはメンテしたくねぇ〜〜〜〜(WWWW
( ゚д゚) _(__つ/ ̄ ̄ ̄/_ \/ /  ̄ ̄ ̄ ( ゚д゚ ) _(__つ/ ̄ ̄ ̄/_ \/ /  ̄ ̄ ̄
593 :
590 :2006/09/07(木) 15:18:14
申し訳ない、蛇が動けなくて御用の部分は無視してくださいw
羊を丸呑みしようなんて了見は起こさないことだ、と。 つまり反面教師ですな。
PythonもRubyも共倒れ、Perl6の時代がくるという暗示か
>>595 ラリーはもっと前に行き倒れになってます。
となると、残るのは...P(ry
HP?
598 :
デフォルトの名無しさん :2006/09/07(木) 16:13:02
Prolog復興しないかな。 昔はあれで業務アプリ組んだりしてたんですよね?
Turbo Prolog が復活するって本当ですか?
とうとう haskell の時代が来たか
ttp://www.sbbit.jp/article/art.asp?newsid=2658 ↑の柴田淳氏のプレゼンでPython3000が「フロムスクラッチ」って
言ってるけど、これって完全に事実誤認だよな。
公式ドキュメントも読まないで発表してるのか?
ttp://www.python.org/dev/peps/pep-3000/ > Python 3000 will be implemented in C, and the implementation
> will be derived as an evolution of the Python 2 code base.
> This reflects my views (which I share with Joel Spolsky) on
> the dangers of complete rewrites. Since Python 3000 as a
> language is a relatively mild improvement on Python 2, we
> can gain a lot by not attempting to reimplement the language
> from scratch. I am not against parallel from-scratch
> implementation efforts, but my own efforts will be directed
> at the language and implementation that I know best.
柴田は過去の人間だから。もうすぐ消えるよ。
ファイル開く時は file より open 使えって言われてるのか?
ところでzopeってなに?
zopeイラネ
>601 ハイハイ、柴田信者の偽装偽装
信者というより、本人降臨?
zopeな人たちはzopeスレへ帰れ
pykfのサイトにアクセスできないんですが 他の配布サイトはないですか?
柴田って人、歌手なのにプログラミングもやるの?
616 :
デフォルトの名無しさん :2006/09/08(金) 01:02:05
>>589-590 ,
>>592-598 流れにワロタ。
結局残るのは、羊(Ruby)を飲み込んでところどころが裂けた(破綻した)、死んだPythonかw
普及すると案外そうなるかもしれないね。。。
欧米では十分普及してる。
なんか、日本では誰かさんのせいで「Python のトレンドはウェブプラットフォームだ!」みたいな流れになっていますが、 マクロ的に見れば、そちらの方は本流ではありませんので悪しからず。
>>615 おまけに、Pythonの本も出してるよ!
>>618 まあなんつーか
とりあえず井戸から出ろや
視野が広がるぞ
そうだな、Zope/Ploneという井戸の中から出ないと話にならない。
>>618 日本発のPython製品を作って本流を示すといいよ。
本流は何?
cPythonです Jythonは傍流です
9がつ7にち(もくよう) あーあ。 今日も玉砕だ。 またあしたもがんばろう。
>>627 >またあしたもがんばろう。
頑張らなくていいよ(WWWWWWWWWW
基地外が勘違いするから止めろよ(WWWWWWWW
日本でPython使いとして認められるためには、Googleに出向しなければならない。 零細企業のお山の大将では駄目なんだよ。
Python 2.5正式版まだかなー
なんか、日本では誰かさんのせいで「Google はPython のトレンドリーダーだ!」みたいな流れになっていますが、 マクロ的に見れば、そちらの方は本流ではありませんので悪しからず。
Pythonにトレンドとかあるのか・・ Google は Python のトレンドリーダーって言われても、 Pythonプログラマに役立つGoogleのテクニックとか公開されてるのか?
>>632 > Pythonプログラマに役立つGoogleのテクニックとか公開されてるのか?
Guido が公開されてます。
出向… ( ゚д゚) _(__つ/ ̄ ̄ ̄/_ \/ /  ̄ ̄ ̄ 出向??? ( ゚д゚ ) _(__つ/ ̄ ̄ ̄/_ \/ /  ̄ ̄ ̄
派遣 出向 就職 リストラ ┝ - - - - ┿━━━━━┿━━━━━┥ ∩___∩ /) | ノ ヽ ( i ))) / ● ● | / / | ( _●_) |ノ / ここクマ――!! 彡、 |∪| ,/ /__ ヽノ /´ (___) /
Google言語
トカゲは切るしっぽがなくなって とうとうじぶんのからだを切りはじめました もう鼻のさきしかのこっていません
_ /- イ、_ __ /: : : : : : : : : : : ( 〈〈〈〈 ヽ /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ 〈⊃ } {:: : : :ノ --‐' 、_\: : ::} ∩___∩ | | {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::} | ノ ヽ ! ! 、 l: :ノ /二―-、 |: ::ノ / ● ● | / ,,・_ | //  ̄7/ /::ノ | ( _●_) ミ/ , ’,∴ ・ ¨ 〉(_二─-┘{/ 彡、 |∪| / 、・∵ ’ /、//|  ̄ ̄ヽ / __ ヽノ / / // |//\ 〉 (___) / / // /\ / 出向できないなら出血するクマー!!
>616 >結局残るのは、羊(Ruby)を飲み込んでところどころが裂けた(破綻した)、死んだPythonかw 裂けたなんて話でてた? 単にタイーホされただけじゃねーの? なんの容疑かは知らないけど。
ヘビが捕まったんだって! へぇ、びっくり!
>>641 >ヘビが捕まったんだって!
>へぇ、びっくり!
Yamada().withdraw_squatter(641)
山田君は出てくるたびにインスタンス化されてるのかw
独身豚。 もっとも彼は子だくさんのようだが。
>>646 インスタンス生成のコスト低そうだからいいんじゃね?
いや、そういう問題じゃないだろw
PHP も使うよ (´ー` )
なんか647がスルーされている気がするんだが、 彼は「シングルトン」と言いたいんだと思うんだ。 まあ仲良くしてやってくれ(w
>>651 あらあら、気づきませんでしたわ
そのようなお言葉使い、お国はどちらだったのかしら
Pythonでシングルトンって __new__ をオーバーライドして クラスオブジェクトにインスタンス格納が常套?
>>654 モジュールは1個のオブジェクトで、
なおかつ個々のモジュールには複数のインスタンスは存在しない、
という意味で「モジュールはシングルトンパタン」と言っているのであって
シングルトンパタンをモジュールで実現、という意味ではない。
なにいってるかわっぱりさかんね。
シングルトンを独身豚と。 何を言っているのか確かに分からん。
そっちかい
>>656 モジュールをシングルトンとして使っている例はいくらでもあるじゃん。
ていうかPythonでは定石。標準ライブラリのdircache.pypとかさ。
よく分からないので教えて欲しい。 たとえばの話。 moduleA,moduleB,moduleCとあって、moduleAにはfuncAが定義されているとする。 moduleBでimport moduleAし、moduleA.funcAと参照するfuncAと moduleCでfrom moduleAし、funcAは どっちも同じ実体を指しているの?
スマソ,6行目の >moduleCでfrom moduleAし、funcAは というのは moduleCでfrom moduleA import funcAしたときのfuncAは の間違いです。
from moduleB import funcA as funcA_from_moduleB from moduleC import funcA as funcA_from_moduleC print funcA_from_moduleB is funca_from_moduleC
>>589 Dive Into Python は計画的にってことだな。
シングルトンって、「インスタンスが1つまでしか生成できない」のが保証されているってのも含めて シングルトンじゃないの?
うちの職場にも669みたいに 「どうして教科書通りにしないんですか?教科書にはそんなこと書いていません。教科書と同じでなきゃイヤ!」 と駄々をこねる奴がいます。こういう奴に自分の頭で考えさせるには、どうしたらいいでしょう?
多分 Singleton パターンが必要な場面自体 解ってないんだろ
>>670 貴方自身が自分で「どう教えるか」ということを考えることを放棄しているのに、
同僚の所為にするのはいかがなものかと存じます。
さて本題に入りましょうか。
仕事では教科書どおりのやり方が一番推奨されます。
まず、貴方が教科書熟読しましょう。
「自分のやり方」とやらも結構ですが、それは基礎を伴っている必要があります。
守離破ということです。わかりましたか?
「間違わないようにする」じゃなくて「間違えられないようにする」為に シングルトンクラスのインスタンスを生成できないように保証するのは常識だろうに。
「どうしてもクラス作りたい厨」警報!!!!
いやいやw 誰も「クラス作りたい」なんて言ってないだろw 論点がずれてるよ
確かにモジュールのグローバル変数をシングルトンとみなすのは危険だ。 reloadすればインスタンスの同一性はなくなってしまうから。 しかし、reloadは普通は対話環境で使うもので、実際のコードで使われること は考えにくい。事実上、シングルトンとみなしても大きな問題はないと思う。
>>673 全く確かにそうであるべきではあるが
そうでなければシングルトンと呼ばない訳ではないね
>>676 いや、reloadよりも現実的な危険があるよ。他のモジュールから直接書き換え
られる場合だ。
あるモジュールで、
from module_a import hoge
を実行したあとで、他のモジュールが
import module_a
module_a.hoge = u"ほげほげ"
とか実行したらどうする?
しかし、シングルトンクラスを作っても安心とは言えないんだな。Pythonでは、 あるモジュールで定義したクラスを、他のモジュールから完全に書き換えるこ とさえ出来てしまう。 結局、Pythonでは安全性の保証は、最終的にはユーザの明示的または暗黙的な 合意によってしか成り立たない。より「ユーザのやらなそうな」ことをした時 にだけ問題が起こるようなら、比較的安全だと言えるだろう。結局は程度問題。 ちなみに、実はJavaでも安全性は程度問題だったりする。Pythonと違ってJava にはprivateというものがあるが、リフレクションを利用するとそのprivateな 属性にもアクセスできてしまう。みんなやらないだけで。(単体テストの時に は利用したりするが)
そりゃ禁止事項を明記すればするほど民度が低いことの証左になるからな。
>>680 その理屈だと、Perl界の方がPython界より民度が高いことになるな。
安全性の設計の方針を、安易に「民度」なんてものに結びつけるのはよくない。
「ひいきの引き倒し」という言葉を知っているか?
「お約束」を守れない人がPythonを使うと不幸になる。 本人も、周りも。 中二病にはおすすめできない。
なにが民度だよ。馬鹿じゃねーの?
>>683 見え見えの釣りにわざわざ付き合う事ねえよ
民度?民パイ作者を見てみろよ。
ワーワー
>>685 つりでも何でも無いんだが、柴田氏のどこが気に入らないんだ?
gya-gya-
>>687 つまりお前は、
"""ガチで釣り針に食いつきました"""
ってことだな。
いいからもうみんpyの話したい人は隔離スレ立ててやってくれ。 気に入ってる気に食わないって永遠に解決し得ない言い合いのせいで 中身の無い荒れ方をするのは見るに堪えない。
根拠のないことを無責任に書き散らせばどんな話題でも荒れるよ。 荒れる原因を作ってるヤツを隔離しなければ同じこと。
シングルトンの話にに関連して、ちょっと長文。
カッチリ硬いという印象のあるPythonだが、実際にはその安全性は無いに等し
い。実行時にモジュールやクラスを自由に書き換えることができるし、オブジェ
クトにはprivateがない。そもそも変数だけがあって定数が無い。C++やJavaし
か知らない人には危険極まりなく見えるだろう。
しかし、Pythonの構文は極めて明快で、何をやっているかが分かりやすい。そ
のため「こんなことやったらまずいな」というプログラマの常識に訴える力が
強い。事実上それのみによって、Pythonの安全性は保証されている。
これは確かに危険だが、大きなメリットもある。それは「普段はやらないが、
いざというときには危険な手段も取れる」ようになるからだ。
http://practical-scheme.net/wiliki/wiliki2.cgi?Lisp%3AGeometry PythonではなくCLOSの話で恐縮だが、上のページをに出てくる例は、動的な言
語のメリットを実に良くあらわしている。長すぎて読めない人には、"java"で
上のページを検索して拾い読みするのをお薦めしたい。
695 :
691 :2006/09/09(土) 00:41:04
そうだな。693ともども隔離して欲しい。
697 :
693 :2006/09/09(土) 00:49:07
693だが、 念のためだが、妄想なんかじゃないぞ。それなりに根拠を持って書いている。 批判するのは自由だが、どこが間違っているかぐらいは指摘してほしいもんだな。
シングルトンからここまで話がふくらむんだね。 Python使いって懐が深くてすごいとおもうわ(w
>>697 それなりな根拠とやらを示したらどうだ?
>>699 君が妄想と決め付けた根拠を書くのが先じゃないかな。
もうグダグダ
まあキチガイの立てたスレだし(WWWW
敗北者でもできるPython から キチガイでもできるPython になっちゃったのかよー
705 :
693 :2006/09/09(土) 01:10:53
>>699 根拠ねえ、またここに書くと荒れそうなんだけど、言語の歴史の流れなんだよ。
SmalltalkとCLOSからオブジェクト指向は始まったんだけど、前者は比較的硬
くて後者は比較的柔らかい。
その流れはやがて大きな二極を生み出した。一つはC++のような極めて硬いオ
ブジェクト指向。もう一つはプロトタイプベースのような極めて柔らかいオブ
ジェクト指向。そしてPythonは明らかに後者に属する。
で、
>>693 に書いたことは、Pythonだけじゃなくて後者の言語のどれにも大体
当てはまることなんだよ。
まあこう書いて納得してもらえるとは思わないけどね。知ってたら初めから煽
りに来ないから。
煽 り
>>705 つまり、妄想を根拠に妄想話をしてたってことだな。
>>693 > 実行時にモジュールやクラスを自由に書き換えることができる
> オブジェクトにはprivateがない
そんな貴方に with statement
709 :
693 :2006/09/09(土) 01:52:09
>>707 まあ、そう来ると思ったよ。
>>693 のリンク先を読んでごらん。この手法はPythonでも使える。と言うより、
まともなPythonユーザなら、一度くらいは自分でやったことがあるはずだ。
まさにPythonの最大の特徴の一つなんだから。
では失礼。
693全てが単なる請け売りじゃん。 リンク先示して終りでいいだろ。 知識披露厨はこれだから・・・。
まぁ請け売りでない独自のアイデアをあまり披露されるのも困るけどなw
わかんねえな。 根拠のない妄想なのか、 根拠の丸写しの受け売りなのか、 どっちだって言いたいんだ?真逆じゃねえのか?
713 :
デフォルトの名無しさん :2006/09/09(土) 03:02:45
Webアプリケーション制作言語として見たときに、 PHPに対するPtyhonのアドバンテージには どういったことがありますか?
いまWebアプリ作ってるけど PHPとかPerlのほうが作りやすいかも……と 時々思ってしまう。。。
要するに、Webフレームワークって一体何なの?
>>715 そういうレベルの人に説明するのは難しいな。w
まず使いたいフレームワークありきでしょ。それを決めれば言語も決まる。
717 :
713 :2006/09/09(土) 03:36:15
>>716 > まず使いたいフレームワークありきでしょ。それを決めれば言語も決まる。
君と同じレベルでは嫌なので軽く調べた。
要するにWebフレームワークってORMライブラリのことでしょ?
で、テンプレートとインターフェースの主観的な使い勝手の差で類似ソフトが湧いている、と。
>>718 煽りには乗らないほうがいい。
> 要するにWebフレームワークってORMライブラリのことでしょ?
いや、それは違う。ORMライブラリは付属しているだけ。
http://www-06.ibm.com/jp/developerworks/linux/060802/j_l-django.shtml (ORMライブラリより、ORマッパという言葉のほうが普通だと思う。)
あと、そもそもフレームワークとは何かと言うと、ライブラリに似ているが、
ある意味逆のものとも言える。どちらも既存のコードと自分のコードを組み
合わせてアプリケーションを作るという点は同じだが、
・メインのロジックを自分が書き、そこから既存のコードを呼び出す場合、
その既存のコードをライブラリと言う。
・自分のコードの隙間を埋める既存のコードがライブラリ。
・メインのロジックは既存のコードであり、そこから自分のコードが呼び
出される場合、その既存のコードをフレームワークと言う。
・既存のコードの隙間に自分のコードを埋め込んでアプリに仕上げるのが
フレームワーク。
こう言っても分かりづらいだろうなあ。自分もJavaのStrutsとかを実際に
使ってみるまで分からなかった。
あとPythonのWebフレームワークって使ったことがないんで、そこから先は
他の人に聞いて。すまん。
>>693 >カッチリ硬いという印象のあるPythonだが
まぢ?
PythonのWebフレームワークを使って、日本発の製品を作ると、Googleに出向できるって本当?
出向するのと採用されるのは同じなの?
>>719 意味不明。
フレームワークとは自分の望むテンプレートを呼び出せるシステムのこと。
データ永続性のためにORマッパはテンプレート部分にデフォで含まれる。
フレームワークの利点は各コンポーネンツを admin を介するだけで自在に操れる点にある。
ユーザは指揮者となってタクトを振ってさえいればよい。
フレームワークのキチガイ定義は、スルスルっとスル〜。
最後の1行で墓穴を掘ったな。
これがなければ,「なんにでも噛みつきたいお年頃なのね」で済んだのに。
>>723 >ユーザは指揮者となってタクトを振ってさえいればよい。
おまえまともなコード書いたことないだろ。
タクト振って済めば開発者なんていらねえんだよ。
現場経験無いの見え見え。
developperworks 以外にお奨めな入門コースありますか?
>>725 > タクト振って済めば開発者なんていらねえんだよ。
不要だよ。コピペで済むような、既存アプリを再利用することに対してはね。
>>726 > それじゃテンプレートエンジンとどう違うの?
原始的にスクリプトを吐くのではなくて、単体でも成り立つような既存のサービスをいくつか混ぜ合わせた上で吐き出すという違いがある。
要するに integrated か否かという違い。
> それはWebフレームワークにそういうものが多いだけ。そうでないのもある。
そうでないものの具体例を出してね。
おはよう(つω`) すごいね。一日中スレに張り付いているの?
>>730 >そうでないものの具体例を出してね。
Zope
Webware for Python
SkunkWeb
CherryPy
Quixote
バカの相手は疲れるなあ。
>>730 > 要するに integrated か否かという違い。
この説明だと、複数ライブラリを組み合わせて作った統合ライブラリは
全部フレームワークになってしまうぞ。まだ「タクトを振るだけ」という
俗っぽい表現のほうが近いぐらいだ。
> そうでないものの具体例を出してね。
いや、Strutsがまさにそれなんだけどね。
>>732 > Zope
はい、ORマッパ入ってます。
> CherryPy
これはフレームワークではありません。
> Webware for Python
> SkunkWeb
> Quixote
これらは知らない。でも、その程度でしょう。
何この流れ。。。
井戸の中では、我々の知り得ない力学が働いているらしいということがよく分かった。
Pythonユーザにはこういうのが好きな人が多いのかな。
>>734 >> CherryPy
>これはフレームワークではありません。
http://www.cherrypy.org/ 思い切り
CherryPy is a pythonic, object-oriented HTTP framework.
と書いてあるんだが、まあよしとしよう(w
ところで ZOPE って O/R マッパーが内蔵されてるんだ
知らなかった
そろそろネタ切れかな?
>>737 すまん。俺は本当にこういうのが好きだ。
同じものを、全く違う見方をしている人がいるというだけで嬉しい。
まあPythonユーザ一般がそうだと言うつもりはないが。
9がつ9にち(どよう) よるからよなかにかけて、あたらしいあそびあいてがみつかりました。 うれしかったです。 さんじかんくらいねて、けいじばんであそんでいると、 やっぱり玉砕だ。 ごじかんくらいたっぷりひるねをしてからまたがんばろう。
とりあえず定義は難しいから保留にして、PythonのWebフレームワークを 実際に使った感じはどうなんでしょう?
勝手に保留にするなよ(WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
Wでかっ! そして長っ!
数えるのもめんどくさい。 *つかって書けよ。
Webフレームワークの定義を小国の糞掲示板の雑魚スレで決定してしまおうとは、
なかなか大それたことを。
その言葉を使って何を説明したいのかっていう中身が重要なのでは?
便宜上どうしても定義が必要なら、自分はこういう意味で使っていると明示しておけばろよしくね?
その定義が明らかにおかしな場合は「こうじゃないですか?」と突っ込みはすれども、
「ちがう」と言われれば、周囲の人間は「ふーん」と流して本題に集中すべきかと。
そういう意味で、
>>742 の気持ちも解かるが、おれはそういう強引なしきりが嫌いだw
「フレ○ムワ○ク」と書いてあるレスは読まんでない人、手を挙げてー。 ノシ
このスレはパイソニックというものの俗っぽさを如実に表してるね
ふとオモタんだが、pythonicってどういう意味なんだろな。 「Python的」の意味だと俺には使えない。そんなものを語る資格も度胸も俺にはない。 「Pythonチック」とか「Python風味」ぐらいの意味なら使ってもいいかな。
>>750 「Pythonっぽい」「Pythonにょろ〜」
>>750 「Python的」「Pythonチック」「Python風味」の意味を定義してくれないとなんとも言えません
753 :
750 :2006/09/09(土) 14:36:21
言葉の重みとしては「hacker」と似てるかも。 「自称Pythonic」は「自称hacker」と同じぐらいナンセンスでバカっぽい。 それで思い出したんだけど、 ESRは「hackerだと認知されている人からhackerだと言ってもらえること」を hackerの要件として挙げている。 だから「自称hacker」はバカっぽく聞こえるわけだ。 「Pythonic」も同じ側面がある希ガス。 つまり、自分以外の誰かのコードについて 「お、これってPythonっぽくていいじゃん」的に使う分には問題ないけど 自分のコードについて使うといかにも自画自賛っぽくてダメな感じがする。 「Pythonic」という形容詞はエロい人専用、と言ってみるテスト。
754 :
750 :2006/09/09(土) 14:39:42
最後の一文、ちょっと違うな。 自分のコードを「Pythonic」と形容できるのはエロい人だけ、と言い直してみるテスト。
今時、〜みるテスト、とか言ってるような古い人間は ろくなプログラミングは出来ない、と言ってみるテスト
756 :
750 :2006/09/09(土) 14:44:20
w
このスレの長文書く奴は馬鹿ばかりだな。 というか、全部同一人物か?
なんか、俺定義だけは譲れないって人が多いな
何でこんなに荒れるんだ? ほんとに「荒らそう」としてる奴がいるとしか思えない。
火は点けず、燃料も投下しないが、消えそうになるとパタパタあおぎ始める
>>759 であった。
古い人の自慢話と荒らし。 どっちがマシだろう。 どっちも嫌だな。
このスレは + 粘着私怨キチガイ + 長文バカ + 定義厨 + ネットイナゴ に汚染されています。
763 :
750 :2006/09/09(土) 16:10:17
長文w
俺は譲らない!俺俺俺!
俺定義と事実誤認は明かに違うけどね〜。
すいませんが質問いいですか?・・ Cで言うところのcharのポインターをintのポインターにキャストすることを Pythonではどうしたらいいのでしょう? int *p = (int*)"俺!俺だよ俺”;
>>766 その目的まで書いたほうがアドバイスを得やすいであろう
768 :
766 :2006/09/09(土) 17:14:48
python 向け暗号ライブラリを使え
俺様に命令するんじゃねぇ
771 :
766 :2006/09/09(土) 17:35:33
>>769 選択肢を増やしたいだけです。
そういったこともあり、できるだけ簡単そうなもの選んだつもりが。
実際pypiに似たものあるのも承知してますよ。
array.array("B",
でStringIOがとおらないのには参った
Cのやり方をむりやりPythonに押し付けるという事が不自然だと思う
俺を捨てることで幸せになれることが多いのに いつまでも俺を捨てられず手数が増え敵が増え。 俺って最高だな!!!
ビバ俺!!!
めがっさにょろにょろ
777 :
766 :2006/09/09(土) 18:30:11
>>772 よくわからないのでスルーさせていただきました。
選択肢はpycryptとかCerealizerあたり。
>>773 そうですね。素直にord使います。
いっそorzにしてほしい。
俺を捨てることについて相当の勇気が要ったことは事実だ。むしろ言うなら怖かったさ。 しかしな、世の中には俺より優れた人間なんていっぱい居る。 俺は俺を捨て、俺自身に敗北宣言をすることによって、 より優れた「俺共同体」と融合することが出来たと思うんだ。 俺共同体の俺より優れた別の俺共は、常に俺に対して屈服を要求し続けるわけだが、 相対としての俺共同体は個体としての俺より数段優れているので なによりアウトプットのレベルが違うんだよ。比べものにならないくらい高いんだ。 これを俺は「俺2.0」と呼ぶことにした。
長文バカ
>780 抵抗は無意味ですか?
オンドル3000
なんでPythonスレって、定期的に荒れるんだろう…。
rubyが壊れたら波及的にここが荒れるという法則
夏の名残り
Pythonを勉強しようかと検討中なのですが、 Pythonはインスタンス変数をサブクラスと共有しますか? また、そうである場合、それを制限する方法はありますか?
日本語でおk
Python を勉強すれば分かるんじゃないだろうか
すみません。以後、改善したいので、おかしいと思われた部分を抜き出して貰えないでしょうか?
>>788 すみません。もしこの要件を満たさないのであれば、学ぶ価値がないという考えがあったので、
敢えて学ぶ前に質問させて頂きました。
ドキュメントを読んだところ、どうやら根本的な解決方法は存在しないようです。
(多少は問題視をしているようで、解決法「らしき」ものはありましたが…。)
>>786 釣りでも煽りでも荒らしでもないならもっと具体的に書いてくれないと誰もまともに答えられない
できれば簡単なコードか具体的に書いてあるURL張っつけて
インスタンス変数をサブクラスと共有する、の意味がおっぱい。
翻訳したところ、プライベート変数のことらしい
いや、俺の翻訳機ではクラス変数と出た。
>>Ruby初心者スレッドPart7 681 class A: def __init__(self): self.x = 0 class B(A): def __init__(self): A.__init__(self) self.x = 1 <- かぶってるのがいやん ってことかなたぶん
すみません。言葉足らずでした。 サブクラスとインスタンス変数を共有しない、というのは、 具体的な例を使って示すと、こういう事です。 あるクラスAでは、インスタンス変数vが使われている。 Aの作者はvがA以外によって操作されることを意図しない。 あるクラスBはAのサブクラスである。BにはAと同様に、インスタンス変数vが使われている。 Bの作者はvがB以外によって操作されることを意図しない。 こういうケースにおいて、PerlやRuby、そして恐らくPythonも、 インスタンス変数の名前の衝突によりAやBの作者の意図したい事態が引き起こされてしまいます。 この問題を、Javaの様に解決する方法はないのかと質問させて頂いた次第です。
なんかバカにされてるようだけど、インスタンス変数って普通に言うだろ? 何だよプライベート変数ってw そっちのがよっぽどマイナーだよ。
インスタンス変数,って言うと外から変えられる感じ。 プライベート変数,って言うと外から変えられない感じ。
継承した側で書き換えられるような名前を付ける設計は間違っていると思います!
前提がおかしいような気がするが なんでクラスB作る時点でクラスAから派生するの? そういう用途ならラップするとか内部で生成して保持するとかじゃないの
>>799 そうですか。どうやらあなたとは意見が合いそうにないです。
>>800 そういう用途とはどういう用途ですか?
>>797 に対してのレスであれば、このコードはあくまで普遍的に
(クラスを継承ことによって)この様な状況が起こり得るのことを示唆したのであって、
特定の用途や状況に限ったものではありません。
すみません。間違いました。 × コード × 797 → 796
コンポジット、導出、pimpl、__名前を使い分ける。
なんのこたぁない。 class A: def __init__(self): self.__x=1 def f1(self): print self.__x*10 class B(A): def __init__(self): A.__init__(self) self.__x=2 def f2(self): print self.__x*10 b=B() で、b.f1()は10、b.f2()は20って、ことで解決?
1. なんで名前変えないの? 2. なんでわざわざ派生するの? Javaの方がアクロバティックなことしてるだけじゃねえの
俺は漢だから、クラスごとに__setattr__や__getattr__を書き換えてるよ。 それくらいストイックにならないと漢とは呼べないな。 俺ってすごいだろ。
つーか同じ名前だと第三者が見て分かりづらいだろ 別のものには別の名前を付けようよ
>>805 意味が分からないです。
__による解決策も悪くないですね・・・。
問題視なされているようなのでPython開発陣の今後の対応に期待したいと思います。
皆さんお忙しい中ご返答ありがとう御座いました。
アトリビュート名の衝突を完全排除できないと気にくわないっつーようなひとは Pythonには向かないかもねー 現状のPythonでも,アトリビュートの上書きを回避する方法はいくらでもあるのだから 活用すればいいだけの話で
java的な解決方法ってどんなの?マングルちゃうの?
宣言するだけ。
全部にアクセス出来るから楽なんだよ。
__があれば十分です。
>>806 に漢をみた。
いやだから自動でマングルしてるだけじゃないのかと。c++はそうだよね。
>クラスごとに__setattr__や__getattr__を書き換え この場合、組み込み関数のpropertyを使えば十分だと思う。
C++のマングルは、マングルされた名前の変数を使われることはまずないと思うのですが・・・。 そもそもあれはコンパイラがOS等の環境に合わせた解決策であって、 究極に言えばOSやCPUがインスタンスでシンボル名を解決してくれれば必要ないわけで。 もちろんJava(VM)はそれをやってくれるので、マングルは無い。
>>790 おまいの価値観では学ぶ価値がない。
だから、もう来るな。
Pythonの名前空間って便利なものじゃなかったっけ?
ちと、IronPython入れてみたけど、readMeファイルの例題が変?? C:\IronPython>ipy IronPython 1.0.2424 on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. >>> import clr >>> clr.AddReference("System.Windows.Forms") >>> import System.Windows.Forms as WinForms >>> WinForms.MessageBox.Show("Hello", "Hello World") OK 最後の >>> WinForms.MessageBox.Show("Hello", "Hello World") が、メッセージボックスにHelloと表示、Okボタンが出て終わり Hello Worldは何処にいったのでせうか??
窓タイトルとか?
>>817 これはこれは。私はスレのヌシ様を怒らせてしまったようです。なんて罪なことを!
色んな意味で、このスレでは私のPythonに対するイメージが確立されました。
たとえ学ぶことがあっても、もうここで質問するようなことは無いのでどうぞお気を沈めてください^^
>>816 pythonでもマングルされた名前を使うことはまずないよ。
>>820 迂闊でした。orz
とにかく、Win環境に親和性のあるPythonが手にはいって大喜びです
次は、Haskellがほしい
>>824 キチガイが和もうとして失敗したんだよ(WWWWWW
listやdictはクラス化されないのかなー 歴史的にみてしかたないっちゃあそれまでだけど、今の仕様だとクラスとそうでないのとがごっちゃになっていて、なんかいまいちな感じがするのはおれだけ?
9がつ9にち(どよう) きょうはキャラをかえてみた。ひたすらていしせいでたいおうしようとするさくせんだ。 しばらくはうまくいった。でも、やはりいつものくせが出てしまった。 また玉砕だ!!! あたらしいさくせんをかんがえて、またがんばろう。
マングルって、いやらしい言葉を想像しちゃうね。
>>828 よくわからないけど、こういうことですか?
return mangle(name)
舐め
まんぐる返し
Pythonについて勉強しようと思い、 PythonWinをインストールして、 デバッグ環境を構築しました。 PythonWinでサンプルプログラムを実行する事は出来たのですが、 プログラム実行時に、引数を指定する方法が分かりません。 (※"TEST.py -i abc.txt"というように、TEST.pyに2つの引数を与えて デバッガ上で実行したい場合に、「-i」と「abc.txt」の指定方法が分かりません) 申し訳ないですが、デバッガ上で、 プログラム実行時に引数を指定する方法を教えて下さい。
834 :
デフォルトの名無しさん :2006/09/10(日) 16:08:19
string.encodeとstring.decode を時折逆さまに書いてしまう脳足りんの俺様の為に string.encodeToとstring.decodeBy にしてくれるといいなぁ。
>>833 メニューの File->Run で出るダイアログの Arguments
encode と unicode を使ってるから decode は 使ったことがない
>>786 多分もういないんだろうけど、一応。
Pythonのクラスシステムはとんでもなく原始的。
selfとか、マングリングとか、普通なら処理系に任せられるところを
人間が意識しなきゃならない。
だけどこんなのでも、意外に実用に耐える。
まあ騙されたと思って使ってみそ。
>selfとか、マングリングとか、普通なら処理系に任せられるところを >人間が意識しなきゃならない。 うーん... そういう風に思う人には向かないんじゃないのかな...
>>838 そうかな。それなりに使えているんならいいと思うが。
それなら、Pythonに向いている人はどう思うの?
いじり放題じゃん 堅い言語仕様だとライブラリに問題があったときとかに変態的テクニック使いまくるハメになるし
それPer(ry まあそういう要素があってこそ良くなる部分も無い訳じゃない。
self は長所
> self は長所 kwsk
selfなんてどう考えたって、「処理系実装者が手を抜ける」以外のメリットなんて 無いと思うが。
手を抜けるからそれでいいじゃない
>>846 のタイプの一行煽りは、決してマトモに説明しないので、華麗にスルー。
しかし、この手のクソ仕様マンセー野郎ってのは、rubyだけじゃなくてpythonにもいるのな。
rubyと同列にするなよ
良いものは良い、悪いものは悪い、といった冷静な話をすることが、 このスレではずっとできないでいるんだよ。残念なことに。
selfって実際長所があるから実装されているんでしょ? ずっと前にもどこかで質問したけれど回答もらえなかったが。 > 処理系実装者が手を抜ける っていってもそんなに大きなメリットにはならない気がするし。
「省略できて便利」と同じくらいの理由。 明示できて便利。
後付けの機能だからでしょう。Perlもそうだし。
クラスのためにわざわざ仕様を増やしたくねー 実装するのはマンドクセ 全部オブジェクトだし辞書があるからいーじゃん というのはあったかもな
単に言語仕様をシンプルに保ちたかったからじゃね?
確かにシンプルなのはいい点だよな。 時々、自分がコンパイラの代わりをやらされているような気にもなるが。
あれ、もしかしてself好きは少数派か?
my派ですから
>>858 少数派か多数派か知らんけど、俺は嫌い。
何で俺様がいちいちselfを書かねばならんのだ、って感じ。
self が嫌なら My とか this とか a とか書けばいいじゃない 冗談はともかく、予約語が一つ減るというのはメリットかも メソッドを単なる関数として使いまわせる、というのもあるね
>>858 まぁ今流行ってる大抵のオブジェクト指向言語ではself相当は書かないからなぁ。
日本でPythonを最初の言語に選択するケースも少ないだろうから、
そう思う人が多くてもしょうがないんじゃねーかね。
一応self必須は、読みやすさに貢献しているってメリットがある。
LEGBルールから、Lに存在しなければGかBに存在すると分かるが
selfが省略可能だと疑う場所が一つ増える。
selfって慣例だったのか…、知らんかった。 だったら明日からは自分用は、aでいいや。 確かにPythonは(自由というか緩いというか)、 True/Falseにさえ代入できるくらいに、 予約語少ないもんなぁ。 Noneくらいでしか怒られない寛大さ。
LEGBルールって何?(ググる気ないよ) 分かりやすい文章書けないの?
ググる気が無いってんなら、理解する気も無いんだろ?
ググってもほとんど出てこないのな まあLocalとGlobalくらいは文脈からわかるけど
>>865 調べてまでも理解する価値なしと判断したまで。
>>863 いや、selfが予約語で無いぐらいで「予約語少ない」と評するのはどうかと思うが。
他の一般的な言語と同じくらい予約語あるぞ。
printとか他の言語じゃ予約語じゃないものまであるし。
>>867 じゃあ、俺はお前の存在を理解する価値無しと判断させてもらう。
よって特に説明は市内。
キチガイが居るとスレの流れが違うなあ(WWWWWW
これだけ盛り上がれるなら、普段見ている過疎スレにも1人キチガイが欲しくなるね。
>873 まだ「保守」だけのカキコが連なる方がマシじゃないか……?
まぁ自分が理解できんことや同意できんことに対してキチガイ呼ばわりする奴の書き込みが続くよかはマシだな。
請け売りって意味不明な奴でた
人の文章読んでるようじゃ一生無理。
じゃあなんでここ読んでるんだ?
Python でも早く C# や C99 のように識別子に Unicode 文字使えるようにならないかな そうなったら「self」なんて書かないで「俺」って書くのに
ちょっとミステリアスにかっこいいこと言ってみたい年頃なんだろ。いわゆる中二病。
「俺」ってかっこいいか?そもそも二バイトだし。
オブジェクト指向ではあっても
クラス指向ではないから self が必要なんじゃないだろか
>>880 まずは str と unicode の一本化からだろうな
昨日は ElementTree で unicode を喰ってくれなくて驚いたよ
self がジャマだっていっている人は 何を問題にしているのですか? クラス変数とインスタンス変数の区別はどうするのでしょう?
>>882 タイミングがズレたんだよ。selfの代わりに「俺」はかっこよすぎ。是非使ってくれ。
「そもそも二バイトだし」の意味がわからん utf8で俺は3バイトだし、utf16ではそもそも全て2バイトだし。
なんとなくメカニズムが見える安心感があると思う>self
selfとかmyとかaとかthisとかの論争に付き合うのが面倒だったので、 自分で決められるようにしたんだろうな。
myって何の言語?squeak, RubyはselfだしJava, C++, C#はthis・・・。
selfにかわるキーワードなにがいい。 wife とかどうだ
chin
893 :
861 :2006/09/11(月) 00:07:19
>>890 ごめん My じゃなくて Me だった
ちなみに VB ね
meか。短くていいな。
896 :
833 :2006/09/11(月) 00:25:21
>>835 おお!ここで指定すれば良かったのですか!
教えて頂いて、本当にありがとうございます。
>>890 Ruby の場合、仕様上は self だろうけど現実で相応するのは @ だろうな
埋伏しているRuby厨の皆さんにお尋ねします。トップレベルとクラスに同じ 名前のメソッドがある場合、Pythonだとselfの有無で呼び分けできるわけ ですが、これをRubyでやるにはどうすればいいでしょうか。 def foo(): print "outer" class A: def foo(self): print "inner" class B(A): def boo(self): self.foo() # inner foo() # outer B().boo()
rubyスレでやれよ
>>898 def boo
foo # 明示的に self.foo でも良い
Kernel.foo
end
ところで、Python の self が必須なのは
元々 self が予約語でなかった Python に後から予約語追加すると
過去のコードで不具合出るからじゃないのか?
んでその時に互換性を重視してそういう仕様にした結果
今度は self の省略も互換性が無くなるから
中々出来なくなっちゃってこじ付けてるんでは
val = (yield i)
904 :
898 :2006/09/11(月) 10:13:52
>>901 def foo
puts "outer"
end
class A
def foo
puts "inner"
end
end
class B < A
def boo
foo
Kernel.foo
end
end
B.new.boo
ruby 1.8.5 (2006-08-25)
inner
a.rb:15:in `boo': private method `foo' called for Kernel:Module (NoMethodError)
from a.rb:19
Rubyユーザですら間違えるというのは、つまりPythonのわかりやすさが勝っている
ということですね。「間違いようのない方法が1つあるのがいいね」でしたっけ。
905 :
901 :2006/09/11(月) 11:47:03
>>904 あーそっか。private だから無理なんだな。
Kernel.module_eval{foo}
で良いかな?
Kernel.method(:foo).call
なんて変態的なやり方もあるが。
> Rubyユーザですら間違えるというのは
> つまりPythonのわかりやすさが勝っているということですね。
その通り。Python は判りやすいよ。
一人では Ruby 使ってるが多人数で使う気にはなれんし。
Ruby は出来れば速いが知らない事は本当に解らない。
> 「間違いようのない方法が1つあるのがいいね」
これ言ったの誰だろ、またいつもの「教祖様の狂言」か?w
matz 自体は Ruby スレでも叩かれるぐらい厨発言繰り返してるよ。
こないだもMLで矛盾した発言繰り返してたし。
Ruby 自体は好きだが
あの教祖はどうにも疑わしい Ruby 厨の愚痴でした。
スレ汚し失礼。
Python 2.4をCentOS 4.0(Python 2.3がインストールされている)上で使いたいのですが、 yumリポジトリでは2.4のRPMが提供されていません。 ソースからインストールするしかないでしょうか? 同OS上で2.4を使っている方はいますか?
def foo puts "outer" end public :foo class A def foo puts "inner" end end class B < A def boo foo Kernel.foo end end B.new.boo
ちょっと質問です。 タプルのリスト、例えば [('A', 1), ('B', 2)] を、リストのリスト [['A', 1], ['B', 2]] にしたい場合は、各要素をコピー&変換した新しいリストを作るしかないですか?
そうです >>> a = [('A', 1), ('B', 2)] >>> map(list, a) [['A', 1], ['B', 2]]
ありがとうございます。 やっぱ、そうですか・・ データベース関連のスクリプト作ってて千件近いリスト処理になるんで SQL段階で処理するか、Pythonに取り込んだあと処理するか思案中です。
A = [('A', 1), ('B', 2)] B = [('foo',), ('bar',)] c = [ [aa, ab, b] for (aa, ab), b in zip(a, b)] みたいなことをしたいのかな。
SQLでやったほうが効率いいだろうな
いや、Pythonの方が効率がいいよ。
>>910 よっぽどカラム数の多いテーブルじゃなければ
千件程度なら絶対時間が短いだろうからどっちでやっても大差なさげ。
将来件数が増える見込みがあるならSQLでやっとくのが無難だろうね。
(というか、SQL で書ける処理は全部 SQL で書くのが筋でしょう。)
SQL で "書ける" 処理だと何でもかんでもやっちゃいそうな気が
>>915 Python 処理系を SQL で記述、とかの話か?
そりゃ、SQL だろうが Whitespace だろうが無限のリソースがあれば何でもかんでも記述可能だろうけどね
917 :
デフォルトの名無しさん :2006/09/11(月) 22:09:28
組み込み関数super()の使い方について教えてください。 下記のコードのように、AAクラスからAクラスの__init__()を呼びたい場合に、 super()はどう書けばいいのでしょうか? class A: def __init__(self): print "__init__ of A" class AA(A): def __init__(self): A.__init__(self) # これはOK super(AA).__init__(self) # これはエラーになりました。 print "__init__ of AA" aa = AA()
すいません、インデントが反映されませんでした。。 一応もう一度書いておきます。 class A: def __init__(self): print "__init__ of A" class AA(A): def __init__(self): A.__init__(self) # これはOK super(AA).__init__(self) # これはエラーになりました。 print "__init__ of AA" aa = AA()
matzのRuby みんなのPython
>>918 class A(object): # 新形式クラスでないと駄目
def __init__(self):
print "__init__ of A"
class AA(A):
def __init__(self):
A.__init__(self) # これはOK
super(AA, self).__init__() # これでOK
print "__init__ of AA"
aa = AA()
921 :
918 :2006/09/11(月) 22:44:40
>>920 できました! ありがとうございました。
matzもatsも過去の人。相手になんない
Pythonスレが3週間そこそこで1000まで行くなんて、珍しいこともあるもんだ。
キチガイ様々だな。
次のスレは長持ちするといいな。
鉄Py 1.0 Python 2.5 ネタはいろいろあるから それなりに盛り上がるかも試練
from mymodule import * って、 __import__ で、かくとどうなるのでしょうか?
#他人(含む将来の自分)が読むことを考え、'self'や'args'のお約束は踏まえると誓う。 b,c,dというリストを期待したPerlの@list=(b..d)相当の操作はどうしましょう。 数字ならrangeでごまかせば似たようにできるんだけど、文字は怒られた。 あと、m//とs///とか。検索すると、matchとかsubとかそれっぽい機能が メソッドにはあるみたい。
>>905 >> 「間違いようのない方法が1つあるのがいいね」
>
> これ言ったの誰だろ、またいつもの「教祖様の狂言」か?w
Zen of Python の一節じゃないの?
埋めっつっても結構あるぞw
>>915 要はCOBOLerみたいな、何でも
SELECT * FROM MYTABLE
して加工なんて阿呆な事すなっつー事でそ
>>832 そうなの?リファレンスマニュアルを見る限り、クラスは型のひとつであり、リストや辞書は(クラスでない)型であると書いてるように見えるけど。
じゃあPythonでは
class list:
....
とか
class dict:
....
というふうに定義されていると考えていいの?
Python関連スレ増えたな
>>933 そうか、厳密に言うとクラスじゃないね。訂正。
でも class mylist(list): のように継承できるし、
isinstance() はクラスのインスタンスにも [] や {} にも同じように働く。
違うのは組み込み型は変更できない(list.foo=1みたいな代入は不可)ぐらいなもので
ほとんどの場合はクラスと同じように使える。
∩___∩ | | ノ\ ヽ | / ●゛ ● | | | ∪ ( _●_) ミ j 彡、 |∪| | J / ∩ノ ⊃ ヽ ( \ / _ノ | | .\ “ /__| | \ /___ /
Python 2.5のリリース予定、現地時間の今日(12日)だろ 予定通りリリースされるんだろうか
>>939 サンクス
気になるならちゃんとPEPを見れば良かったね
>>929 コードの連続した文字列を生成する必要が、まず思いつかん。
テストデータ生成するときとか使ったことあるけど まあめったに使わんわな
>>929 >>> ''.join(chr(c) for c in range(ord('b'), ord('d')+1))
'bcd'
こんな? map(chr, range(ord('a'), ord('z') + 1))
>>944 ''.join が足りない。
>>943 カッコが足りないと思ったんだけど、ちゃんと動いた。
ジェネレータ式のカッコと関数呼び出しのカッコって兼用できるの?
リスト内包表記だったら、こう書かなきゃならないのに。
''.join([chr(c) for c in range(ord('b'), ord('d')+1)])
この[]が()にならなきゃならないかと思ってた。
そこがジェネレータ表現のいいところ。
>>945 文法的に許される場所ならジェネレータ式に ( ) は不要。
[ ] の中にジェネレータ式があるとジェネレータがリストに変換されるだけ。
Language Reference 5.2.5 The parentheses can be omitted on calls with only one argument. へぇー
今PEP読んで気づいた。 [expr(x) for x in 1, 2, 3]はOKだけど(expr(x) for x in 1, 2, 3)はダメなんだと。
>>945 929は['b', 'c', 'd']を期待してると思ったんだけど、違うの?
Perl読めね
951 :
945 :2006/09/12(火) 20:38:14
文字列フォーマット、無図化死す
次スレができたけど、こっちが埋まらないね。 粘着が消えてくれた証なら喜ばしいことだ。
ステでいいんじゃない. どうせ基地外がたてたスレだし.
沈黙は銀、だなお前。
私怨荒らしいなくなったな。 二度と戻ってくるなよ。
>956 >955
IronPythonは鉄だよ、喪前。
アイロンは家電だよ、お袋。
スチーム付きがお勧め
今お買い求めになるとアイロン台をサービス。
間違えた、今お買い物になるとIronPythonをサービス。
また間違えた、もういいです。
S山さんぽ。
N山さんです
( ´_ゝ`)σ)´_ゝ`) < 962-964
( ´_ゝ`)σ)3`)
⊂⊃ , '"  ̄ ヽ. ル)"ノノルλ ルil´_ゝ`ノリ 〃//ヾ ゴリッ /_ノ_>ゝ○-++#####∵:ブ゙チッ: し'(__) ⊂⌒~⊃。Д。)⊃
ルil´_ゝ`ノリ 〃//ヾ ゴリッ /_ノ_>ゝ○-++#####∵:ブ゙チッ: ← 私怨粘着荒らしキチガイ し'(__) ⊂⌒~⊃。Д。)⊃
貴様らは人間ではない、爬虫動物のクソをかき集めた値打ちしかない! メソッドで ( ) たれる前と後に『 self. 』と言え!分かったかウジ虫ども!
Sir, No, Sir !!!
ウジ虫に失礼た。