Pythonのお勉強 Part3000.12

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
日本Pythonユーザ会
http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
まとめwiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
問題集
http://www.pythonchallenge.com/

Pythonのお勉強 Part11
http://pc8.2ch.net/test/read.cgi/tech/1155219600/

みんなのPython著者はこんなブログを書いてる人
>> http://coreblog.org/ats/scbscriber-of-coreblogml
> 「インストール方法」みたいな低ーーーいところとか,「落ちている物を拾って使います」的な乞食みたいな思想から抜け出せないのでは危ないと思います。
> 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。
2デフォルトの名無しさん:2006/08/30(水) 00:06:07
お、2
3デフォルトの名無しさん:2006/08/30(水) 00:06:36
>>1
4デフォルトの名無しさん:2006/08/30(水) 00:17:34
推奨NGワード:みんPy、柴田、キチガイ、基地外

はやく夏よ終われ
5デフォルトの名無しさん:2006/08/30(水) 00:19:01
>>4
ふざけるな。貴様がスレを立てた基地害だろうが。
貴様が消えろ。今度という今度は許さん。
6デフォルトの名無しさん:2006/08/30(水) 00:21:34
>>1

import python
python.exit()
7デフォルトの名無しさん:2006/08/30(水) 00:25:18
えー・・・ 荒れてる時はNGワードでスルーが基本でしょう。反応するから荒れる。
8デフォルトの名無しさん:2006/08/30(水) 00:29:39
>>>988
>みんパイが叩かれてる理由を説明するレスが多すぎるから、それを省くために>>1に書いといてやったよ
>著者の主張を広めてみんパイ著者をあおってるってことはないだろう
>
>>>993
>嘘をつけ。みんPy叩き関連は、おそらく大部分が貴様の自作自演だ。
>このスレの人間はほとんど読んでない。対象読者から外れているからな。
>
>>>all
>俺はもう諦めた。次スレはこのまま使おう。
>馬鹿は言葉が通じないから馬鹿なのだ。どうしようもない。

あー
あー
9デフォルトの名無しさん:2006/08/30(水) 00:34:32
>>5
偏執狂は病院へ行ってください
10デフォルトの名無しさん:2006/08/30(水) 00:36:17
こんな下らぬやり取りで、入門書刊行という、ユーザ拡大のチャンスを
ふいにするのか…。
11デフォルトの名無しさん:2006/08/30(水) 00:37:37
>>10
作者らしき人が出てこなきゃ普通の入門書だったのにな・・・
12デフォルトの名無しさん:2006/08/30(水) 00:40:23
インディーズで好きなバンドがあって、それがメジャーになると、嬉しいけど何だか寂しいよな。

それと同じで、Pythonにメジャーになってもらいたくないツンデレの仕業と考えるんだ!
「あ、あんたたちに使いこなせるほど、簡単な言語じゃないんだからねっ!」
13デフォルトの名無しさん:2006/08/30(水) 00:43:55
意味不明
オタ氏ね
14デフォルトの名無しさん:2006/08/30(水) 00:44:37
俺は作者なんざ来てないと思うがな。ほかの人にはどう見えるか知らんが。
しかし作者を少し恨みたくはなるよ。あのblogのエントリは、ネットイナゴの
格好のエサだ…。
15デフォルトの名無しさん:2006/08/30(水) 00:46:51
16デフォルトの名無しさん:2006/08/30(水) 00:47:21
まあ何日か経てば飽きるだろ 夏休みも終わりだし
17デフォルトの名無しさん:2006/08/30(水) 00:47:37
>999 名前: むこうの1 Mail: sage 投稿日: 2006/08/30(水) 00:29:05
>>>998
>こっちはみんパイの宣伝ばっかで飽き飽きしてんだよ。
>1000 名前: デフォルトの名無しさん Mail: sage 投稿日: 2006/08/30(水) 00:31:10
>>>999
>リアル敗北者乙。
>
>そして1000!!

ゲラゲラゲラ
18デフォルトの名無しさん:2006/08/30(水) 00:50:08
前スレより,粘着外基地の人となりについて。

1. 私怨らしい
2. Zope関係らしい
3. すごくヒマらしい
19デフォルトの名無しさん:2006/08/30(水) 00:55:46
>>18
2. を隠れ蓑にしようという目論見が痛々しい
20デフォルトの名無しさん:2006/08/30(水) 01:01:14
Pythonの達人が集まるスレは、
ここで合っていますか?
21デフォルトの名無しさん:2006/08/30(水) 01:08:20
>>5
著者乙
22デフォルトの名無しさん:2006/08/30(水) 01:08:59
こ   れ   は   ひ   ど   い
 

このわかりにくいスレタイ
まともなPythonistaの仕業とは思えない 
 
 
 
 
今日は2chのPythonスレが終わった記念日...orz...
23デフォルトの名無しさん:2006/08/30(水) 01:16:44
>>20
合ってます。もう達人すぎて大変ですよ。
24デフォルトの名無しさん:2006/08/30(水) 01:25:49
>>22
もっと自分の人生見つめなおしたほうがいいよ
25デフォルトの名無しさん:2006/08/30(水) 01:26:44
VIPとかならいざ知らず
2chのム板みたいなさびれた板で
ネガティブキャンペーンはできないよなー
粘着キチガイは世間を知らない井の中の蛙か
感覚がずれたリアルキチガイかのどっちかだな(www
26デフォルトの名無しさん:2006/08/30(水) 01:34:42
>>19
>1. 私怨らしい
>2. Zope関係らしい
>3. すごくヒマらしい

1と3は否定しないんだね(W
27デフォルトの名無しさん:2006/08/30(水) 01:44:13
本ってどうやって出すの?
28デフォルトの名無しさん:2006/08/30(水) 01:47:37
>>23
それなら難しい質問をさせて頂きます。

ttp://www.newlc.com/SIS-Info-tool-for-Symbian-9-1-SIS.html
上記サイトにある、「sisinfo.zip」をダウンロードして解凍すると、
「sisinfo.py」等のファイルが入っています。

sisinfoは何をするものかと言いますと、「SIS」という形式で圧縮されたファイルを
解凍するプログラムです。

しかし、実際には、解凍できるSISファイルと解凍できないSISファイルがあり、
なぜ解凍できない場合があるのか分からなくて困っています。
解凍できるSISファイルと解凍できないSISファイル構造の違いについて、
sisinfoのソースから、何か少しでも手がかりとなるような事があれば、教えて頂きたいです。

@sisinfoの使用方法
 コマンドプロンプトで、「sisinfo.py -f [フルパスのSISファイル名] -e [ファイル解凍先ディレクトリパス]
 と打ち込む。
A解凍できるSISファイル
 ttp://www.handango.com/servlet/d/screenshot_s60_3rd_2.30.sis?s=1&p=186751&secw=1e5842b1&email=fafafaf%40hotmail.com
 ↑からダウンロードできるSISファイル
B解凍できないSISファイル
 ttp://gallery.mobile9.com/d/40737/
 ↑からダウンロードできる(※20秒ぐらい待つと、ダウンロード先リンクが表示される)SISファイル

29デフォルトの名無しさん:2006/08/30(水) 01:55:03
ここはキチガイ隔離スレということで
新しい次スレを立てませんか?
30デフォルトの名無しさん:2006/08/30(水) 01:57:12
> 「インストール方法」みたいな低ーーーいところとか,「落ちている物を拾って使います」的な乞食みたいな思想から抜け出せないのでは危ないと思います。
> 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。
3128:2006/08/30(水) 01:57:17

ちなみにSISファイルとは、NOKIAという携帯等で使用されている、
Symbian OS用の圧縮ファイルです。

もしも、解凍できなかったSISファイルも解凍できるよう、プログラムを改良できた人がいたら、
神扱いされ、携帯版は祭りとなるでしょう。
32デフォルトの名無しさん:2006/08/30(水) 02:12:27
>>28
それは難しい質問というより面倒くさい質問だな。w
まぁ暇な人よろしく。ww
33デフォルトの名無しさん:2006/08/30(水) 02:27:41
            ,. ''"´    ` ` 、
           ;'            ':..
          ;'     ´       `  あたまのびょうきは
        ./        ●     .●    なおらないよ
        ./          ⌒  ▼⌒':     
  __  ./         彡  ∵人∵ノミ___
    ̄ ./  _         ミ   ノ"ミ ̄ ̄ ̄
   ̄ ̄ ̄ ̄ ̄━━ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ̄ ̄━━━ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
           ̄ ̄ ̄ ̄ ̄ ̄ ̄           ̄ ̄ ̄ ̄ ̄ ̄ ̄
34デフォルトの名無しさん:2006/08/30(水) 05:37:00
>>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 歴が短い印象。
3534:2006/08/30(水) 05:44:20
たぶん sisinfo.py の中の人に
「どうしても展開できません。本当にありがとうございました」って
知らせて対応してもらうのが一番手っ取り早いよ。
36デフォルトの名無しさん:2006/08/30(水) 07:25:25
>>33
ナカちゃん。はやく成仏してください。
37デフォルトの名無しさん:2006/08/30(水) 08:40:42
>>1
> > 「インストール方法」みたいな低ーーーいところとか,「落ちている物を拾って使います」的な乞食みたいな思想から抜け出せないのでは危ないと思います。
> > 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。
これは酷いね・・・
禁句じゃないか。
なんでこんなことが書けるんだ?
人間性を疑われても仕方がない。
3834:2006/08/30(水) 09:57:05
>>37
その引用部分って、開発側の人間が開発側の人間に対して
「すごーく専門性の高いものを作ってるんだから、
孤高を自覚してストイックにやらなきゃダメだよー」と促してるんだよね。
(そのことが分からないように引用されているところに悪意を感じないでもないけどw)
俺は外野だけど、同じくフリーソフトを作って公開している立場から察するに、
言われた側は良い意味で刺激を感じることはあっても怒ったり失礼だと感じることはないと思う。


きっと騒いでいるのはごく一部で、発言の真意を理解している人がほとんどだと思うけど念のため。
39デフォルトの名無しさん:2006/08/30(水) 09:58:03
あら。名前を消し忘れたw
40デフォルトの名無しさん:2006/08/30(水) 10:04:53
なんで皆スルーできないの!?

考えてみた。
Pythonが簡単で便利すぎて、とくに質問もでないし
話題がない。
41デフォルトの名無しさん:2006/08/30(水) 10:45:38
本来なら質問は出るはずだよ。
LL Weekend もつい最近だったし、いろんな意味で話題の新刊も出たし。

特にLL方面から来る人は、他言語出身だから、最初はいろいろ聞きたいことが
あるはず。実際、あちこちのblogで素朴な疑問を抱えた人が見つかる。

じゃあ、何でそういう人がこのスレに質問しに来ないのか。
理由は言うまでもあるまい。
42デフォルトの名無しさん:2006/08/30(水) 10:47:33
全員が2chをみてるという前提がへん。
見てない人も多い。
43デフォルトの名無しさん:2006/08/30(水) 10:50:06
基地外ですから
何を言っても無駄無駄無駄
44デフォルトの名無しさん:2006/08/30(水) 11:27:39
>>42 誰もそんなもん前提にしてないと思うが。
45デフォルトの名無しさん:2006/08/30(水) 11:48:47
>>38
具体的にどこが専門性高い?
46デフォルトの名無しさん:2006/08/30(水) 12:02:22
>>44
あちこちのblogで素朴な疑問を抱えた人が見つかる。
じゃあ、何でそういう人がこのスレに質問しに来ないのか。
理由は言うまでもあるまい。

-> Pythonに疑問があるからといって、2chにくるとは限らないだろ?
47デフォルトの名無しさん:2006/08/30(水) 12:04:27
お勉強スレなのに
お勉強はとっくに卒業したひとが、
このスレにたまってるから
発展しないんだな。
48デフォルトの名無しさん:2006/08/30(水) 12:05:48
そんなメタな議論どうでもいいよ
Pythonの技術的な話だけやれ
49デフォルトの名無しさん:2006/08/30(水) 12:06:40
>>48
と、オッサンが申しております
50デフォルトの名無しさん:2006/08/30(水) 12:06:44
>>48
おまえもな
51デフォルトの名無しさん:2006/08/30(水) 12:08:16
正直、技術的な話ってなにかある?

初心者がやってきたら、教えてあげるくらいしか
楽しみが無いのに、詳しい奴ばっかりで
初心者おいてけぼりで、喧嘩しててもつまんないよな。
52デフォルトの名無しさん:2006/08/30(水) 12:12:23
>>51
後半3行の意味が理解できない。できれば日本語で書いて欲しい。
53デフォルトの名無しさん:2006/08/30(水) 12:12:45
これから昼の私怨タイムです。をどうぞお楽しみ下さい。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
54デフォルトの名無しさん:2006/08/30(水) 12:15:17
ID導入してほしいなぁ。
55デフォルトの名無しさん:2006/08/30(水) 12:16:40
>>45
引用部分の前後(消されてる部分)を自分で探して読んでちょ。
56デフォルトの名無しさん:2006/08/30(水) 12:22:53
>52
4. 文章レベルが小学生並み
57デフォルトの名無しさん:2006/08/30(水) 12:27:03
相当、車とプラズマテレビの件が気に障ったようだな。
58デフォルトの名無しさん:2006/08/30(水) 12:27:54
話題自体はいろいろあると思うんだ。
自分が話したいことだけでも

・Python3000への移行
・TurboGearどうよ
・SciPyいいよね
・日本語ドキュメントや書籍の誤訳の共有
・unittest使ってる人いる?
・いかにしてPythonで飯を食うのか

だけど何を話しても荒れそうで躊躇しちゃうんだよね。結局無難なQ&A対応に
なってしまう。自分以外の人を見ても、叩かれにくいように1行レスをしてい
る人ばかり。
本当はPythonとHaskellがすごく似てるという話をしたいんだが、荒れること
必至だからなあ。
59デフォルトの名無しさん:2006/08/30(水) 12:32:41
本物のハカーだったら、そのような金銭欲がモチベーションとならないわけだが、(ry
60デフォルトの名無しさん:2006/08/30(水) 12:34:29
>>58
PythonとHaskellのどこが似ているのか、まずは熱く語ってくれ。
61デフォルトの名無しさん:2006/08/30(水) 12:43:27
何を話しても荒れるってのは、無いだろうと思う。

Pythonの話だけしてれば荒れない。
そこに、他の要素を持ち込むと利害関係で荒れるのでは。
特定の本の宣伝とか批判とか。
ルールをテンプレにして >2 あたりに張り付けようぜ。
62デフォルトの名無しさん:2006/08/30(水) 12:46:15
>>58
そこでチラ裏、もとい、blogですよ。

まあそれはさておき、このスレってずっと前から良くも悪くもQ&Aに終始してるよね。
こういってしまうとアレだけど、2ちゃんねるはSN比が高すぎて議論したくても無理っぽいねえ・・・。
しかも上級者が初心者からの質問を今か今かと口をあけて待ってる状況でもあって、
ぶっちゃけ単なる意見交換はお呼びでない感じだねえ・・・。

まあ、うまずたゆまず、テキトーに頃合いを見計らってネタ振りしてちょ。
63デフォルトの名無しさん:2006/08/30(水) 12:46:16
私怨やキチガイによる書き込みが荒れる原因。
キチガイが居なくなれば全て丸く収まる。
64デフォルトの名無しさん:2006/08/30(水) 12:47:40
しばらくは無理のようで
65デフォルトの名無しさん:2006/08/30(水) 12:52:07
2chのスレなんかに秩序を求めたらすぐに形骸化するし。
いつまでも馴れ合いなのが身分相応だろう。
66デフォルトの名無しさん:2006/08/30(水) 12:53:59
あのさ、とりあえず「キチガイ」とか「私怨」とか
そーゆー言葉遣いを避けることから始めない?

こんな言葉、前スレより昔には全然出てこなかったよ。
特定の誰かに言っているのでなくても目障りだからヤメにしようよ。
67デフォルトの名無しさん:2006/08/30(水) 12:54:45
>>60
お言葉に甘えて、ちょっとだけ語ると、

Haskellにもほとんどそのままあるのは
・インデントによるブロック構造
・import文を使ったモジュール管理
・関数と変数の名前空間が同一なので、関数合成が容易
・タプル
・リスト内包表記

似ているものを並べると
・イテレータ → 遅延リスト
・不変オブジェクトが基本 → 変数の再代入禁止
・実行の単位が式でなくて文 → IOモナドなど
(最後のはあんまり賛同を得られないかもしれないが、目的は似ていると思う)

PythonistaがHaskellを学ぶと、あんまり似ているんでビックリするんじゃな
いかな。少なくともGuidoはすごく意識しているだろうと思う。

まあとりあえず、このくらいで。
68デフォルトの名無しさん:2006/08/30(水) 12:57:29
>少なくともGuidoはすごく意識しているだろうと思う。

それって逆じゃね
69デフォルトの名無しさん:2006/08/30(水) 12:58:44
>>66
>こんな言葉、前スレより昔には全然出てこなかったよ。

認定基地外が登場したのは前スレな訳で.
このスレは基地外を隔離するための精神病院ですよ.
70デフォルトの名無しさん:2006/08/30(水) 13:01:40
>>68
逆ってどういう意味か良く分からないけど、
自分はHaskellは、Pythonの大きな源流の一つだと思う。
71デフォルトの名無しさん:2006/08/30(水) 13:08:51
72デフォルトの名無しさん:2006/08/30(水) 13:09:28
追加。
・文字列がシーケンス → 文字列が(不変)リスト

まあ、今Haskellを知ってる人はあんまりいないかもしれないけれど、
Pythonの親戚のようなものとして認識してもらえば、Python生活にも
プラスの影響があったりしないかなあと。

Python3000も、自分にはまた少しHaskellに近くなったものに見える。
73デフォルトの名無しさん:2006/08/30(水) 13:11:43
似てるから、何なの?
74デフォルトの名無しさん:2006/08/30(水) 13:12:49
>Python3000も、自分にはまた少しHaskellに近くなったものに見える。

それMatzも言ってた。
75デフォルトの名無しさん:2006/08/30(水) 13:14:43
Python は Lisp である(?)みたいな話に近いな
もちろん、無益な議論ではないと思うし、個人的には面白い
でも Haskell 知ってる人は少ないんじゃない?
76デフォルトの名無しさん:2006/08/30(水) 13:15:07
話したかったのは二点。
・そもそも本当に似ているか
・似ているなら、Haskellで普及した各種の技法を、Pythonでも利用することは
 できるだろうか

まあ2番目の話は、Haskellになれた人がある程度いないと話しづらいけどね。
77デフォルトの名無しさん:2006/08/30(水) 13:18:11
Haskell使ってる人みたことないよ。
Pythonでさえも希少なのに。
78デフォルトの名無しさん:2006/08/30(水) 13:19:09
>>77
>Haskell使ってる人みたことないよ。

普通はそうだよな。
そうじゃないところもあるんだろうけど。
79デフォルトの名無しさん:2006/08/30(水) 13:20:32
>>76
似ているのはどちらかというと外面的な要素じゃないかという気がする。
(例:インデント文法)
内面的な設計思想はかなり違うよね。もっとも俺は Haskell のほうは「入門Haskell」に目を
通した程度なので誤解してるかもしれん。
80デフォルトの名無しさん:2006/08/30(水) 13:24:21
思想はにてても
シンタックスが似てなくて本当によかったとおもう。
81デフォルトの名無しさん:2006/08/30(水) 13:39:28
>>79
いや実は自分もそんなにHaskellに詳しいわけじゃないけどね。

外面的に似ている点が多いのは同意してもらえるかな。
内面的設計思想については、「安全性」という点が似ていると思うんだ。

例えばPythonのクロージャは、他の多くの言語と違い、束縛された変数を書き
換えることができない。つまりクロージャは状態は持てても、それを変更はで
きない。つまり、便利さよりも安全性を取っているということ。
それはHaskellのクロージャも同じ。

他にもPythonは
・代入文は式ではない
・不変オブジェクトの使用が推奨される
ことによって、変数状態の変更によるバグを避けようとしている。
これはHaskellの変数再代入の禁止に近い設計思想だと思う。

>>80
いやむしろ、シンタックス(外面)の方が似ているのが分かりやすくない?
82デフォルトの名無しさん:2006/08/30(水) 13:49:48
Python
Haskell
スレを埋め立てなければならない理由
83デフォルトの名無しさん:2006/08/30(水) 14:03:57
うーん、やっぱりこういう話の需要は無いみたいだね。

本題にしたかったのは、Python3000と、Haskellの遅延リストの関係だったんだけど。
興味のある人はHaskellを齧ってもらえると嬉しい。
「Python3000がイテレータだらけになったのは、こういうことをやりたかったからか!」
って納得してもらえると思う。

では失礼しました。
84デフォルトの名無しさん:2006/08/30(水) 14:11:17
興味深い話ありがトン
85デフォルトの名無しさん:2006/08/30(水) 14:18:53
Haskell の Lazy evaluation と Python の generator は
結果的に使う目的が似ていることはあるけど、ベースとなる考えも適用範囲もかなり違うと思うぞ。
副作用、型についての考え方は真逆だし。
Python は手続き型言語にうまく関数型言語の道具を導入したなぁという気はするけど、
(手続き色の濃い言語に List conprehension を導入したセンスはけっこう凄いと思う)
関数型言語に似ているとはいえないし、似ている必要もない。
86デフォルトの名無しさん:2006/08/30(水) 14:29:49
おお、レスが付いた!

> 結果的に使う目的が似ていることはあるけど、ベースとなる考えも適用範囲もかな
> り違うと思うぞ。

そうかな?
実装の方法は全然違うけれど、目的はどちらも「直感性を裏切らない資源の節
約」で共通じゃない?
適用範囲は、イテレータはランダムアクセスできないのが残念だけど、遅延リ
ストだってシーケンシャルなアクセスをするほうが多いんだから、大差なくな
い?
87デフォルトの名無しさん:2006/08/30(水) 14:38:14
> 副作用、型についての考え方は真逆だし。

これも真逆とは思わないんだよ。
Rubyなどの「勝手気ままな」言語に比べて、Pythonには、副作用を封じ込めよ
うとする明確な意思がある。>>81にも少し書いた。本当はdo構文とPythonのス
テートメントについて話したいんだけど、まとまらないんでやめる。

型については、Pythonは実は単なる型なし言語で終わる予定じゃない。
decoratorは型チェックに使えるし、型変数の導入もずっと検討され続けてる。

ただし、Pythonが関数型だとは全く思わない。関数型の手軽に利用しやすい部
分を輸入しただけだと思う。そこについては全く同意。
88デフォルトの名無しさん:2006/08/30(水) 14:52:41
これはこれで、どちらにせよ無意味な話題だな。
89デフォルトの名無しさん:2006/08/30(水) 14:53:01
遅延「リスト」はね。遅延評価の結果のひとつとして、リストでイテレータっぽい使い方が
できるというだけ。遅延評価のメリットには他にも勝手に memoization されるとか
いろいろある。まぁデメリットも多いし、俺は遅延評価嫌いだけども。

一方で Python の generator はまさに iteration のために導入されたもの。
iteration のことだけを考えれば、 generator のほうが使いやすいし、副作用の
ある言語にうまく適合していると思う。
generator 導入によるデメリットはあまりないし、 fiber 的な使い方ができるとか
応用も利く。
90デフォルトの名無しさん:2006/08/30(水) 15:00:02
>>87
あと、今の Python で外の変数を書き換えられないのは、
Python では変数宣言がないので、たまたま外の変数と名前が被ったのか
実際に外の変数を使いたいのか判別できないため。
ML 見てみればわかるけど、何かいいアイデアがあれば書き換えられるように
する方向だよ。
91デフォルトの名無しさん:2006/08/30(水) 15:05:19
普通のPythonスレに戻って欲しい。。。
92デフォルトの名無しさん:2006/08/30(水) 15:11:44
荒れるよりは為になるじゃん。
93デフォルトの名無しさん:2006/08/30(水) 15:13:23
ここまで書いたので、ついでに型についても言及しておくと、
Python に型が導入されようと Haskell なんかの型安全な言語とは違った形なのは
間違いない。
型安全性を守るため、 Haskell のリストに複数の型の値をごちゃ混ぜにできる日は
来ないだろうし( OCaml の polymorphic variant の導入はあるかもしれないけど)、
利便性のため、Python のリストに単一の型の値しか入れられなくなる日は来ないと思う。

>>91
失礼。議論するにしてももう少し具体的な話じゃないとアレだよな。
94デフォルトの名無しさん:2006/08/30(水) 15:15:49
とりあえずコードを張れば
少しはためになるんジャマイカ
95デフォルトの名無しさん:2006/08/30(水) 15:35:12
>>89
意見が違う理由が分かった気がする。自分は最初から遅延リストとイテレータ
と言っていたけど、あなたは遅延評価とジェネレータと言っている。議論の対
象自体が違ってたのだ。だから例えばあなたはジェネレータに特化した議論を
している。視点を共通化したら意見はそう変わらないのじゃないかと思う。

まあ自分は遅延評価が好きなので、自分はPythonがどんどんlazyになっていく
というだけで嬉しい。

>>90
それは参った。英語苦手なんで、MLはきちんと読んでない。そうか、意図的な
ものではなかったのか。ありがとう。しかしショックだ。変更されないことを
願う。
96デフォルトの名無しさん:2006/08/30(水) 15:40:04
>>92
これも視点の違いのような気がする。Pythonが型安全な言語になるとは思わな
いが、実用上はHaskellと似たような使い勝手の型システムを導入するのじゃ
ないだろうか。

Haskellは今でも、複数の組み込み型を"|"で区切ったユーザ定義型を作れる。
型なし変数が無くても、これで十分だ。またPythonが型なしを捨てることは無
いだろうが、例えばリストに特定の型しかセットできないようにするやり方は
当然現れると思う。


>>94
コードを貼るともっと長くなっちゃうよ。まあご迷惑をかけしました。
97デフォルトの名無しさん:2006/08/30(水) 16:14:19
クラスってブツは未だ難しいけど、よく使うデータの類型に属性とか関数とかを
くっつけて纏めておける、使い方次第でものすごく便利な入れ物な気がしてきた。
いくらでも再利用できるから、タイプ量かなり減らせるし。
OOP以前って、同じ規模の為に今よりも長く打たないといけなかったのかな。
98デフォルトの名無しさん:2006/08/30(水) 16:17:41
クラスは広い意味での例外処理。
扱うデータ構造を予め規定する。
99デフォルトの名無しさん:2006/08/30(水) 16:21:05
前レスの>>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は、それをより楽に、明示的にできるようにしただけだよ。
101デフォルトの名無しさん:2006/08/30(水) 16:24:59
いや、勝手に同じ意見にされても困るけれども…。
とりあえず Haskell を少し本格的に使ってみ?
その感じだと、チュートリアル斜め読みしたくらいでしょ。
型安全については使っただけでは実感わかないかもしれないけど、
型安全を守るか、型を導入しつつも型安全を捨てて利便性を取るか、
というのは180度違う考えだよ。
102デフォルトの名無しさん:2006/08/30(水) 16:25:50
lispの進化形はschemeだろ
103デフォルトの名無しさん:2006/08/30(水) 16:41:20
>>101
> いや、勝手に同じ意見にされても困るけれども…。

それは大変申し訳ない。
おっしゃるとおり、自分には型の安全が証明されていることのメリットは理解
できてない。保証の無い言語と実用的には変わらないのではないかと思ってい
る。逆に言えば、恥ずかしながらその程度の使い方しかしていないということ
だが。申し訳ない。もっと勉強します。

未熟な議論にお付き合いいただき、大変ありがとうございました。

>>102
上の議論はLISPをSchemeと置き換えても変わらない。自分はもともとSchemer。
104デフォルトの名無しさん:2006/08/30(水) 17:20:58
>>97
C言語での話になるけど
Classが無いときから、Struct typedef + ポインタで
色んな実装の仕方でやってきたよ。

クラスがサポートされてる言語のほうが便利なことは確実だけど。
105デフォルトの名無しさん:2006/08/30(水) 17:37:51
>>104
それってつまり、C言語でもやろうと思えばOOPできるってことで。
やっぱり「OOP」以前はだらだら書いてたってことなんじゃ?
106デフォルトの名無しさん:2006/08/30(水) 18:11:54
>>105
そうだね。
よく似た関数が沢山あった。
107デフォルトの名無しさん:2006/08/30(水) 18:43:10
それなんてC++?
108デフォルトの名無しさん:2006/08/30(水) 19:34:18
初心者です。教えてください。

class A:
..
..

class B:
..
..


というクラスが2つあったとします。これは同一人物なのでしょうか?
誰か知っている人がいればお願いします
109デフォルトの名無しさん:2006/08/30(水) 19:36:28
世の中にはBASICやCOBOLっていう関数すらない言語もありますぞ。
110デフォルトの名無しさん:2006/08/30(水) 19:36:30
>>108
どちらも人物ではないので安心してください
111デフォルトの名無しさん:2006/08/30(水) 19:39:05
私怨粘着キチガイは宿題でもやってるのかな。
112デフォルトの名無しさん:2006/08/30(水) 19:41:00
何か>>108って元粘着君が何とかして構ってもらおうとしてるんじゃないか…?とすら思える…

マジレスすると別。
というか,AとBと二つ別々にあるのなら、それが同じなわけないじゃん。
113デフォルトの名無しさん:2006/08/30(水) 19:43:46
>>111
わざわざ召還するようなこと言わんでいい
114デフォルトの名無しさん:2006/08/30(水) 19:45:20
寂しいな外基地(プゲラ
115デフォルトの名無しさん:2006/08/30(水) 20:34:12
haskell との比較の議論は興味深いので是非そのまま続けて下さいな

ネタがあるなら。べつに haskell にかぎらず python とかすってるなら
なんでもいいんじゃないですかね。

ただ主な論者は 2,3人とおみうけしますが、
外の人に分かりやすいように(レス番で良いので)
ハンドルつけておいて貰えると有り難いです。

続ける際はご配慮いただければ。
116デフォルトの名無しさん:2006/08/30(水) 20:34:13
ところで、日本のPythonユーザって、どんな層が中心なんだろう。
海外ではホビーユーザも多いみたいだけど、日本だと研究者が多いんだろうか。

ということで、よろしかったら、このスレの皆さんに教えていただきたいんだけど
1.あなたの身分(職業)は?
2.Python歴は?
3.主に何に使ってる?
4.その他

自分に関して言えば
1.職業プログラマ
2.3ヶ月(苦笑)
3.SciPyで数値計算。あとは使い捨てスクリプト。
4.便利だー。もっと早く知りたかったよ。
117デフォルトの名無しさん:2006/08/30(水) 20:41:59
さて、>>116がオチを着けたところで、次はPython3000のインターフェイスについて語り合おうか。
118デフォルトの名無しさん:2006/08/30(水) 20:50:52
基地外臭がする。
119デフォルトの名無しさん:2006/08/30(水) 21:21:38
関数型言語としてみたPythonについてはIBMのdeveloperWorksに無かった?
かなり強引な記事だった記憶があるが。
120デフォルトの名無しさん:2006/08/30(水) 21:25:10
言語を道具として使えず不満を垂れるだけで解決の努力も何もしないで
世間の動向ばかりを伺うのは言語房ってことでスルーすればいいと思うよ
121デフォルトの名無しさん:2006/08/30(水) 21:29:47
世の中には色んな人がいるから
色んな意見を認められる、心の広い人間になりたいね

ただし、色んな人 = キチガイ以外
122116:2006/08/30(水) 21:37:20
うわー、一人も書いてくれてない。
こんなに華麗にスルーされたのは初めてだよ。恥ずかしい。
しかし、なんで?
123デフォルトの名無しさん:2006/08/30(水) 21:40:40
>>115
でもRubyとの比較は泥沼な気配。
124デフォルトの名無しさん:2006/08/30(水) 21:42:03
大丈夫。
スルーされてない書き込みは全部自演だから。
125116:2006/08/30(水) 21:52:43
>>124
マジレスすると、前スレでソースコードの秘匿の仕方について話し始めたのは
私なんだけど、あの時はすぐにいろんな意見が返って来て、それなりに盛り
上がったんだけどなあ。
今回のはそんなに変な書き込みだったのかな。分からない。
126デフォルトの名無しさん:2006/08/30(水) 21:56:30
haskellとPythonが似てたとして、似てるから何?って感じなんだけど。

正直、haskell知らないから別のところでやって欲しいなぁ。
127デフォルトの名無しさん:2006/08/30(水) 22:04:07
粘着アホ野郎のせいでみんな警戒してるんですよ。
128すごい発想だな:2006/08/30(水) 22:07:56
「自分が知っている話題」以外は全部他所でやれと?
129デフォルトの名無しさん:2006/08/30(水) 22:15:28
「haskell知らないから」で思考停止するような敗北者はだまって見ていろ。

前スレを忘れたいので、このままがいい。
勉強になるし、頻度が落ちてもいいから、しばらくはHaskell&Pythonを引っ張ってよ。
130デフォルトの名無しさん:2006/08/30(水) 22:15:42
おまえらなあ、こんなところに貼りついてばかりいないで、
少しは自分だけの頭で考える訓練したほういい。
131デフォルトの名無しさん:2006/08/30(水) 22:17:14
>>128
いや、そんなこと全然思ってない。

ただ、「似てるか似てないか」の先に、何があるのか全くわからないので、
ただ単に「似てるか似てないか」だけを話したいのなら、haskellを知らないと
なんのことやらさっぱりわからないので、別のところでやって欲しいと思っただけ。

誰かが何かを思うことすら禁止したいの?
132デフォルトの名無しさん:2006/08/30(水) 22:18:41
むりやりTopic探さなくてもいいのでは?
133デフォルトの名無しさん:2006/08/30(水) 22:20:54
>>129
>前スレを忘れたいので

大きな買い物でもして気晴らしすることをお勧めするよ.
車とか,プラズマテレビとか.
134デフォルトの名無しさん:2006/08/30(水) 22:21:45
みんPyの作者、女性アーティストの柴田淳に謝罪すべきだと思うんだが。
勝手に画像使用して「作者です」みたいなことやってるし。
135デフォルトの名無しさん:2006/08/30(水) 22:22:18
キチガイキターーー!
136デフォルトの名無しさん:2006/08/30(水) 22:22:21
まあ、あと3ヶ月ぐらいは良スレにもどらんだろう。
137デフォルトの名無しさん:2006/08/30(水) 22:22:52
>>116
んじゃ俺も。

1.仕事:R&D的
2.Python歴:えーと、12年ぐらい?(確か1.1か1.2が最初)
3.主な用途:
・プロトタイピング (思いつきをとりあえず形にする)
・数値計算
・語学(多言語テキスト処理とか単語暗記プログラムとか。Unicodeウマー)
・高機能電卓(IDLEウマー)
・日曜プログラミング(フリーソフトウェア的。最近お留守)
4.その他
仕様の拡張はお腹いっぱい
138デフォルトの名無しさん:2006/08/30(水) 22:23:02
Pythonが最初のプログラミング言語って人どのくらいいる?
139デフォルトの名無しさん:2006/08/30(水) 22:23:34
Pythonは、明らかにPerlともRubyとも似てる。
確かに、「だから何」な話題だな。
140デフォルトの名無しさん:2006/08/30(水) 22:24:57
この伸び方は異常だぞ。
お前らやること無いのかよw
141デフォルトの名無しさん:2006/08/30(水) 22:26:50
本でも書くかw
142デフォルトの名無しさん:2006/08/30(水) 22:27:08
>>133
みんぱい買えば?
143デフォルトの名無しさん:2006/08/30(水) 22:30:33
逃げちゃダメだよ。
144デフォルトの名無しさん:2006/08/30(水) 22:30:41
うぎゃー
14528:2006/08/30(水) 22:32:51
>>34
レスありがとうございます。

うーむ、ソース自体に不具合があるのかな。
展開できるファイルは少なくはないのですが・・・。
ただ1つ気づいた事は、展開できるのはアプリ関係のSISファイルで、
展開できないのはアプリ関係以外のSISファイルみたいです。

とりあえず、sisinfo.py の中の人に聞いてみます。
146デフォルトの名無しさん:2006/08/30(水) 22:33:35
>>141
外基地に粘着されるぞ(ww
147デフォルトの名無しさん:2006/08/30(水) 22:34:03
>>131
ここは「オレ様」の為のスレですか。
他の人もいるんだし、興味がなければ流しておけば。
148デフォルトの名無しさん:2006/08/30(水) 22:34:59
>>147
お前もスルーしろよ。
屈服させなけりゃ気が済まんのか?
149デフォルトの名無しさん:2006/08/30(水) 22:37:19
すげえ被害妄想(w
150デフォルトの名無しさん:2006/08/30(水) 22:37:33
>>147
はっきり言って、言語ヲタクの知識自慢が垂れ流されるのは勘弁して欲しい。
今でもウザイくらいなのに。
151デフォルトの名無しさん:2006/08/30(水) 22:38:03
>>150
はいはい、オレ様オレ様。
152デフォルトの名無しさん:2006/08/30(水) 22:39:12
haskelなんてマイナー言語はほっといて、Rubyと似てるかどうかを議論しようぜ。
153デフォルトの名無しさん:2006/08/30(水) 22:39:56
>>152
はいはい、似てるね.良かったね。
154デフォルトの名無しさん:2006/08/30(水) 22:39:59
>>151
お前うざいぞ。
155デフォルトの名無しさん:2006/08/30(水) 22:40:11
この速さなら言える!
3.主な用途:urllibで連番画像DL
156デフォルトの名無しさん:2006/08/30(水) 22:42:14
>>153
>はいはい、似てるね.良かったね。
.と。が混じってる。
お遊びもほどほどにすれ。
157デフォルトの名無しさん:2006/08/30(水) 22:43:49
「私のことを”しばたじゅん”と呼んでください」

キンモ〜☆
158デフォルトの名無しさん:2006/08/30(水) 22:44:43
初心者です。教えてください。

def A:
..
..

def B:
..
..


という関数が2つあったとします。これは同一人物なのでしょうか?
159デフォルトの名無しさん:2006/08/30(水) 22:45:14
「数値計算」が利用目的の人が、今のとこ多いみたいだね。
俺は一度も数値計算に使ったこと無いけど、便利なのか。
160デフォルトの名無しさん:2006/08/30(水) 22:45:38
>>158
いいえ、違います。
斎藤さんと荒木さんです。
161デフォルトの名無しさん:2006/08/30(水) 22:46:02
この速さなら言える!
インディーズ時代からしばじゅんのファソだった!
162デフォルトの名無しさん:2006/08/30(水) 22:46:50
>>161
作者乙
163デフォルトの名無しさん:2006/08/30(水) 22:47:47
キチガイは死ぬまで直らないね。
164デフォルトの名無しさん:2006/08/30(水) 22:47:52
なにこの速さwwwwwwwww
165デフォルトの名無しさん:2006/08/30(水) 22:48:05
逆に、Pythonに似ていない言語って何だろうか
Whitespaceとかか?
166デフォルトの名無しさん:2006/08/30(水) 22:48:10
この速さなら言える!
車とプラズマテレビは月賦だ。
167デフォルトの名無しさん:2006/08/30(水) 22:48:32
>>163
こいつ一人がいなくなれば、かなり落ち着くと俺は思うwwwww
168デフォルトの名無しさん:2006/08/30(水) 22:49:23
>>167
そういう奴に限って、変な所で粘り強いから嫌だ。
169デフォルトの名無しさん:2006/08/30(水) 22:49:31
>>167
俺も正直そう思ってた・・・
170デフォルトの名無しさん:2006/08/30(水) 22:49:38
>>166
貧乏人乙彼!!!
171デフォルトの名無しさん:2006/08/30(水) 22:52:49
「キチガイ」と「私怨」をNGワードに入れればいいよ。
172デフォルトの名無しさん:2006/08/30(水) 22:56:22
>>160
ありがとうございました。
173デフォルトの名無しさん:2006/08/30(水) 22:59:56
>>159
実際に計算する部分はCやFortranで書かれたコードを呼ばないとパフォーマンスが出ないんだけど、
データの入出力とかユーザインタフェース(UI)とかはC/Fortranで書くのはめんどい。
故にC/Fortranとの連携が容易で、データ入出力やUIを書くのに便利なPythonが本領を発揮するわけ。

これは数値計算に限った話ではなくて、いわゆるグルー(糊付け)言語が必要かつ有用なケースのひとつ。
処理効率のいいコンポーネントをぺたぺた張り合わせるのに超便利。
しかもPythonの場合はそういうコンポーネントが既にいっぱいある。もうウハウハ。
174116:2006/08/30(水) 23:21:56
おお、やっと止まった。
自分を入れても少しだけど、書いてくれる人もちらほら。>>116, >>137, >>155 (?)
ありがとうございます。
175デフォルトの名無しさん:2006/08/30(水) 23:25:27
おまえら、そんなよくわからん小難しい話やめてキチガイ叩きゴッコしようぜ!!













じゃ、まず俺が鬼な!
176デフォルトの名無しさん:2006/08/30(水) 23:27:52
pythonプログラマーのみなさんへ

あなた達が望もうが望むまいがこれからpythonは日本で盛り上
がっていきます。くだらないことで相手を皮肉ったり警戒する
のはやめてもっとpythonの中の話をしましょう。

何も分かっていない初心者(キチガイを除く)がここに訪れ
るかもしれません。
それに対して、人によってはこないでくれといらいらするか
もしれません。しかし、初心者には優しく時には厳しく接し
ていきましょう。
これからの日本にはみなさんの技術が必要なんですよ。まじです。
177デフォルトの名無しさん:2006/08/30(水) 23:58:59
Python が初めてのプログラミング言語じゃないけれど、初めて自分でまともな
プログラムが組めるようになりそうなのは Python かも。
昔 C を勉強したことがあるけど、賢さが足りなかったみたいw
実用プログラムを組めるようになる前に挫折…。

俺にはやっぱりプログラミングは無理だったか orz とあきらめていたけど、
チュートリアルをやってみたら、少し希望が(;´Д`)ハァハァ
まだ 200行くらいの短いスクリプトしか書いたことがないけれど、とりあえず
動くものが簡単に書けるのが(・∀・)イイ!!
それにやっぱり Python は読みやすいです。

スーパーハカーばかりじゃなくて、自分のようなへぼい Python ファンもいるですよ。
178デフォルトの名無しさん:2006/08/30(水) 23:59:03
俺は主に行列演算でPython使ってる。さすがに計算のコア部分に対してはC呼んるが。
昔はCでやっててコア部分をアセンブラ直書きしてたんだよね。それと同じこと。
要するにUIの問題。敷居が低くなるのが利点。わかり易さは武器。
179デフォルトの名無しさん:2006/08/31(木) 00:20:51
>>178
>計算のコア部分に対してはC呼んるが
それは行列計算をPythonでやっていると言うのか?w
データ入力をやってるんじゃないのか?

つか、コア部分はCを呼び出してとかって話をよく聞くけど、まじ?
俺は断然boost::python派なんだが。
180デフォルトの名無しさん:2006/08/31(木) 00:25:36
ぱ…Pyrex…
181デフォルトの名無しさん:2006/08/31(木) 00:32:55
>>116
1.仕事: SE (ITスペシャリスト)
2.Python歴:1年
3.主な用途: テキスト加工、分析、抽出 (シェルスクリプトで出来ないものについて), CGI
4.その他: C言語的な小文字中心の識別子とスライスの扱い易さに惚れた
182デフォルトの名無しさん:2006/08/31(木) 00:34:01
便利なライブラリのPythonバインディングがあるなら、
わざわざ boost で車輪の再発明をする気にはなれんと思うよ。
183デフォルトの名無しさん:2006/08/31(木) 00:39:56
&と|と^について20分悩んだけど、理解できた。0/1に直さないとならんのね…。
それで、上の演算子の式に使える版が and,or,xorと。
184デフォルトの名無しさん:2006/08/31(木) 00:43:04
>>183
論理演算子と算術演算子の違いだよ。
185デフォルトの名無しさん:2006/08/31(木) 00:50:24
>>179
> それは行列計算をPythonでやっていると言うのか?w

もちろん。入力データの生成はそれ自体が科学技術計算だからね。
入力データとなる行列を作る処理も行列計算だったりするわけだ。

> つか、コア部分はCを呼び出してとかって話をよく聞くけど、まじ?

もちろんマジ。
例えば NumPy や SciPy には BLAS/LAPACK という有名な行列計算ライブラリの
ラッパーが含まれている。BLAS と LAPACK には参照実装の他に CPU ベンダ製の
最適化バージョンが多数あって非常に効率良く行列計算が実現できる。そういう
標準的なライブラリを Python スクリプトから難なく利用できる。
パラメタ調整→コンパイル→実行の繰り返しが必要な科学技術計算の場合、
コンパイル不要の Python だととっても楽チン。これに慣れるともう
C や Fortran でライブラリの呼び出し部分を書く気にはなれない。
とりあえずコア部分を Python に組み込んで後々楽することを考えるわけだ。
186デフォルトの名無しさん:2006/08/31(木) 01:08:00
通はATLASを使うんだよ。
187デフォルトの名無しさん:2006/08/31(木) 01:12:51
すみませんです、IronPythonについて質問させて下さい。

IronPythonがリリースされることによってVBやC#のようにPythonが
MSから正式なサポートが入るのでしょうか?

現在、社内でPythonの普及をさせようと思っていて「将来的にMSのサポートがある」
というと普及にむけて上司をの説得させる大きな材料の一つとなるので、、、

ご存じの方、ご教授お願い致します。
188デフォルトの名無しさん:2006/08/31(木) 01:25:08
手段のためなら目的を選ばないぜ
189デフォルトの名無しさん:2006/08/31(木) 01:42:26
>>187
将来のことなんて誰にもわからないよw
少なくともMSが公式にそういうコミットをしたことはないと思う
190デフォルトの名無しさん:2006/08/31(木) 01:44:41
>>182,185
なるほどね、既製品を使うって意味ね。
Cを呼ぶとか難しそうに(?)聞こえたもんで、
カスタマイズした自家製モジュールの話かと誤解してしまった。
191デフォルトの名無しさん:2006/08/31(木) 01:45:53
>>190
C++ならboost::python使うと簡単に呼べるよ
192デフォルトの名無しさん:2006/08/31(木) 01:47:00
>>184
記号の方も単語の方も、数値にも式相手にも使えるのね。対話モードで使ってみた。
数値対象のときは、bit変換後に評価するかそのまま評価するかで結果が違うけど、
式が対象のときは同様に働くみたいだし。使うシーンで論理〜と算術〜って呼び分けてるんだ。
誤解解いてくれてありがとう。いずれ恥かくか行き詰まるとこだった。
193デフォルトの名無しさん:2006/08/31(木) 01:52:11
>>191
>>190 = >>179かと。
194デフォルトの名無しさん:2006/08/31(木) 03:06:04
>>190
あーいや、既存のモジュールだけじゃなく
自前のC/Fortranコードを呼ぶための拡張モジュールを自炊することもあるよ。
既存のモジュールのソースコードを見よう見まねでコピペすれば何ら難しくはない。
テキトーに setup.py を書いとくとインストーラまで作ってくれるし便利。
195デフォルトの名無しさん:2006/08/31(木) 03:10:02
>>192
まだ誤解しているような気がするぞ。
算術演算子と論理演算子には原則として互換性はないよ。
前者はビット演算、後者は真偽値演算でまったく別物。
196デフォルトの名無しさん:2006/08/31(木) 06:10:42
>>192 1 & 2 評価してみるよろし
197デフォルトの名無しさん:2006/08/31(木) 09:03:24
numpyが使ってるのはATLASだろ。
198デフォルトの名無しさん:2006/08/31(木) 09:04:06
>>196
まずビット演算から説明しないとならない気
199デフォルトの名無しさん:2006/08/31(木) 10:54:25
アホな質問で申し訳ないんだけど
Pythonってプログラムの実行しながら
修正したりできる?

対話モードでプログラムを動かしながら挙動見つつ修正できるのかな?
200デフォルトの名無しさん:2006/08/31(木) 10:59:39
>>199
まあ、できる。
201デフォルトの名無しさん:2006/08/31(木) 11:03:00
モジュールのコードならリロードできるよ。

>>> import yourmodule
>>> yourmodule.yourfunc() # 何かがおかしい。修正する。
>>> import sys
>>> del sys.modules['yourmodule'] # sys.modulesからyourmoduleを削除。
>>> import yourmodule   # importしなおす。
>>> yourmodule.yourfunc() # 直ってる。

単にimportし直すだけではダメ。
202デフォルトの名無しさん:2006/08/31(木) 11:33:35
2回目からは reload(yourmodule) を使うという手もある。
それも面倒なら、簡易統合開発環境Idleから起動するという手もある。
203デフォルトの名無しさん:2006/08/31(木) 11:41:12
>>199氏はデバッガの話をしているんじゃないだろうか?
204デフォルトの名無しさん:2006/08/31(木) 12:24:38
>>203
おれは>>200だが、実は聞き方が微妙で困ってた。
どちらにせよ、対話モードで開発もできるし、pdb(デバッガ)もあるし・・・。


まあ、できる。
205デフォルトの名無しさん:2006/08/31(木) 12:40:21
恥ずかしながら、デバッガって使ったこと無いなあ。
print文を埋め込んでは、対話環境で関数ごとに実行するという原始的デバッグ。
本当はunittestを使うテストファーストにあこがれてるんだけど。
皆さんはどうしてますか?
206デフォルトの名無しさん:2006/08/31(木) 12:42:27
>>205
同じく!
207デフォルトの名無しさん:2006/08/31(木) 12:45:45
>>205
気持ちを切り替えればそれほど難しくない。
unittestやテスト手法に慣れるための学習時間も必要かも。

テストファーストをはじめると,自然とテストしやすい「切り分け」をする癖がついて
設計の腕も上がると思うよ。
Pythonのコードを難なく読める中級者以上にお勧め。
208デフォルトの名無しさん:2006/08/31(木) 13:01:12
おれはコーディングも実行(テスト)もpdbもすべてemacs上でやってる。
全ての作業がシームレスだよ。

>>205
pythonはC/C++なんかよりも比較的デバッガの必要性は低いけど、
それでもやっぱりデバッガ使った方が作業が早い・・・場合が多い。
209デフォルトの名無しさん:2006/08/31(木) 13:10:46
>>205
EclipseのPyDEVのデバッガ使ってるよ。
それまではEmacs + pdbを長年使ってきたけど、最近Eclipseに完全に乗り換えた。
210デフォルトの名無しさん:2006/08/31(木) 13:20:49
>>209
デバッガはたしかにいい感じの
あのコード補完機能ってどうよ
211デフォルトの名無しさん:2006/08/31(木) 13:39:09
Python使いならEric3使ってるよな?月蝕なんて捨ててしまえ。
212デフォルトの名無しさん:2006/08/31(木) 13:49:28
213205:2006/08/31(木) 15:00:49
おお、いろんなやり方があるんですねえ。

>>207
ありがとうございます。JUnitなら使ったことがあるので、Pythonでも少しずつ
導入したいと思います。動的言語のほうが単体テストの重要性は高いと思うので。

>>208
私もEmacsなんですけど、まだ全然使いこなしてないです。shellモードで
Python対話環境を立ち上げてるだけです。Emacs上でのPython開発の仕方に
ついて、どこかに良いマニュアルはないでしょうか?

>>209
Eclipseですか!あれは何でも取り込んでいくなあ。今はテキストコンソールでの
開発だから、残念ながら手を出せないんですが。
214デフォルトの名無しさん:2006/08/31(木) 15:23:20
Eric3はマスコットの可愛らしさでダントツだよね!
215デフォルトの名無しさん:2006/08/31(木) 15:27:17
Eric3はWindowsに冷たい。敷居が高すぎる。
216208:2006/08/31(木) 16:15:56
>>213
python-modeつっこんで.emacsから呼ぶだけ。
こういう作業はEmacs一般の話だからあっちこっちに書かれている。
適当にコード書いてC-c C-cすれば新しいバッファに結果が表示される。
pdbはM-x pdbと打って開始。
操作方法は下。
http://www.python.jp/Zope/articles/tips/pdb-howto-2?pp=1

emacsが、「pdb?知らねーよ。」と怒ってきたら、
http://page.sourceforge.net/tricks.htm
の「Running pdb under emacs」という項目などを参考に。
(ようするにパス通すだけ?)
217205:2006/08/31(木) 16:38:53
>>216
ありがとうございます。これだけで相当幸せになれそうです。
218デフォルトの名無しさん:2006/08/31(木) 17:02:52
>>195>>196>>198
>>> x,y = 1,2
>>> x==1 & y==2
False
>>> x==1 and y==2
True
数値相手どころか、式相手でも互換性がないのね。危なかった…。
直感的に分かるのは論理演算子の方でした。
リファレンスマニュアル5.8見ても、なにやってもFalse返したがる算術演算子を
式相手に使う場面は想像できませんでした。
219デフォルトの名無しさん:2006/08/31(木) 17:09:24
>>218
優先順位のちがいだな
&, ^, | は == よりも優先されるから、
x==1 & y==2 は、x== (1 & y) ==2 となる
220デフォルトの名無しさん:2006/08/31(木) 17:11:42
>>218
互換性どころの問題じゃなく両者は別物です

ビット演算について調べてください
221デフォルトの名無しさん:2006/08/31(木) 17:23:12
ビット演算は、まず、数字を全部、二進数(0と1の羅列)に変換して、それぞれ
の桁についてANDやORを取っているのだ。

それにしても、今の若い人は普通ビット演算なんて知らないんだろうなあ。しみじみ。
222221:2006/08/31(木) 17:30:13
変換という言い方はまずいな。要するに、数字の内部表現そのままだ。
223デフォルトの名無しさん:2006/08/31(木) 17:32:05
なんかPython楽しそうだな。
ずっとperlとawkとsedだったけど、ここらで一念発起してみるか
224デフォルトの名無しさん:2006/08/31(木) 17:50:50
>>218
「数値」と「式」という言葉の使い分けが気になっていたのだが、
真理値(True, False)の意味で「式」と言ってるんだね。
(ふつう式といったら数値も含む。)

&, | は整数値に対してのみ使う。float や complex は NG。
一方、and, or は多くの場合、真理値に対して使う。
比較演算子の値(比較の結果)は真理値なので and, or を使えばよい。
また、Python では伝統的に 0, None, 空タプル、空リスト、空辞書などは False 扱い、
それ以外のオブジェクトは True 扱いされる。
したがって、and, or は何でもかんでも受け付ける。
225デフォルトの名無しさん:2006/08/31(木) 17:57:04
python-mode を使っている奴に訊きたいのだが
python 付属の python-mode.el (SVN-34960)と
emacs 付属の python.el (CVS-1.45)の
どっちが最新なの?
どこがどうちがうの?
単純にどちらを使うべきなの?
226デフォルトの名無しさん:2006/08/31(木) 18:05:35
>>225
バージョンなんて気にしたことナカタ
ぶっちゃけどれでも同じ
227208: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入れた。
228デフォルトの名無しさん:2006/08/31(木) 18:43:45
どっちが(機能的に)最新なの?
229デフォルトの名無しさん:2006/08/31(木) 18:45:22
218はまだビット演算が何なのか理解できていないに1票。
230デフォルトの名無しさん:2006/08/31(木) 18:49:30
>>221
今も昔もビット演算なんて知らないのがフツーだと思われ。
231デフォルトの名無しさん:2006/08/31(木) 18:54:33
プログラム書く人間は知っていてしかるべきだろ

そして知ろうとしないならそれで構わないが
& と | のことは 218 は今後100年は触れないようにして欲しい
232デフォルトの名無しさん:2006/08/31(木) 18:58:11
夕方に近づくと荒れそうになる件。
233デフォルトの名無しさん:2006/08/31(木) 19:06:17
>>210
俺はJavaも使うのでPythonの環境移行はJavaついでという感だね。
で、PyDEVのデバッガ使える。いい。
コード補完はオマケと思って過度な期待をしなければ結構便利。
234デフォルトの名無しさん:2006/08/31(木) 19:11:18
>>219
a == b == c って書けたんだ…
これまで(a == b) and (a == c)って書いてたよorz

というわけで>>218の例をやってみる。

>>> x,y = 2,3
>>> x == 2 & y == 2
True

なるほどね。
235デフォルトの名無しさん:2006/08/31(木) 19:14:40
>>230
アセンブリ言語も地質学的昔ということなんだろうか。
#組み込み系とか制御系ではまだまだ現役なんだけどな。
236デフォルトの名無しさん:2006/08/31(木) 19:16:12
>>234
(a == b) and (a == c) と書くほうが俺は好きだ。
237デフォルトの名無しさん:2006/08/31(木) 19:16:44
Cでうっかりa==b==cと書いてハマる ●1点
238デフォルトの名無しさん:2006/08/31(木) 19:19:58
>>234 1 < 2 < 3 なんてのもあるよ。
239デフォルトの名無しさん:2006/08/31(木) 19:41:21
これを書くと誰だかばれそうだが

>>> 1+3j.real
1.0
>>> 1+3j.imag
4.0
>>>

がしばらく理解できなくて恥をかいた.
240デフォルトの名無しさん:2006/08/31(木) 19:49:08
>>239
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・なるほどw
241デフォルトの名無しさん:2006/08/31(木) 19:56:56
>>239 理解するのに10分はかかった俺は負け組。
242デフォルトの名無しさん:2006/08/31(木) 19:57:30
×負け組 → ○人生の敗北者
243デフォルトの名無しさん:2006/08/31(木) 19:58:32
俺もしばらく理解できなかった
244デフォルトの名無しさん:2006/08/31(木) 20:02:07
俺は見る前から理解できた。
245デフォルトの名無しさん:2006/08/31(木) 20:02:30
>>239
かっこ わるい
246199:2006/08/31(木) 20:07:36
変な質問してすみませんでした
3Dプログラミングやっててどうにも動作の仕組みがわからないんで
動作中にそれぞれ値がどうなってるか見てみたかったんです

ここで聞くのはスレ違いにも程があるっていうのはわかっていたんですが
使ってる3Dライブラリが海外産なのでドキュメントも全て英語という始末
解読を試みたものの時間がかかってかかってorz
変な質問でしたが丁寧に答えてくださり本当に助かりました
とりあえずデバックで試してみます
247デフォルトの名無しさん:2006/08/31(木) 20:18:36
>>246
基本はレイトレーシング。光学計算をやればよろしい。

# みんPy立ち読みした。明らかにはじPyの二番煎じ。コーデックの説明なんてPython依存じゃなかったし。
248デフォルトの名無しさん:2006/08/31(木) 20:40:31
>>246
なんて3Dライブラリ?
249予想:2006/08/31(木) 20:45:26
>>248
PyGameに一票
250199:2006/08/31(木) 21:13:37
>>248
Panda3Dって奴です
http://www.panda3d.org/
フリーのライブラリとしては凄いのではと思います
チュートリアル、リファレンスがかなり豊富で
ディズニーとカーネギー大学の共同開発ってのもミソかもしれません
元はディズニーのMMOゲームのエンジンとして開発されたようです
http://toontown.disney.co.jp/

ただ問題はPython弄ってるみたいなんですよね
なのでこのスレ的にはちょっと敬遠されるかもしれません
確かZopeというのも弄ってたので嫌われてるという話でしたが・・・。
251デフォルトの名無しさん:2006/08/31(木) 21:29:02
>>250
Pythonベースのシステムが全部嫌われるわけじゃない。
Zopeについては色々といいたいことがあるが、
Zopeが日本に紹介された初期に Python == Zope用の拡張言語 というような風潮があったことがあって、
それがPythonを「プログラミング言語」として利用していた層には受けが悪かったという話。
今ではそんな話も過去のこと。
なので、Panda3DぜんぜんOKと思われ。
俺はtrueSpaceというPythonでスクリプトを書ける3Dツールを使っていたこともあるので、
グラフィックス系には興味ある。
252デフォルトの名無しさん:2006/08/31(木) 21:31:33
pygameスレに日記書いてたのはおまえかー
253デフォルトの名無しさん:2006/08/31(木) 21:33:32
http://id32.fm-p.jp/42/dapoyo/


ちょwwwwwここすげぇwwwwwwww

254デフォルトの名無しさん:2006/08/31(木) 21:50:24
>>251
ふむ・・・、そうですか有難うございます

>>252
バレバレですね
個人的にはスレ沈めたく無いんで日記紛いにorz
気に入ったスレを覗くと4年前くらいのログが出てくるっていう化石ぶり
そう考えるとちょっと書き込みなかったくらいじゃ沈まないですよねw
255デフォルトの名無しさん:2006/08/31(木) 21:53:02
>>250
いじってるというのは Python の処理系自体に手が入っているってこと?
256デフォルトの名無しさん:2006/08/31(木) 22:11:13
PythonとHaskellが似てるという話してくれー
257デフォルトの名無しさん:2006/08/31(木) 22:13:42
そうだ!
宿題スレで「PythonとHaskellがどんだけ似てるか」って作文書かせればいいんだ!
258デフォルトの名無しさん:2006/08/31(木) 22:15:09
>>255
インタープリタに手が入ってるようです
どこまで手が入ってるかは解かりませんorz
呼び出しも「python」ではなく「ppython」として行いますし
Pythonとしては認識されないようです(Py2exe等が使えない)
259デフォルトの名無しさん:2006/08/31(木) 22:16:37
>>256
ごめん、無理。このスレで、もう少しHaskell人口が増えたらね。それまでには
私も、もっときちんと勉強します。>>85氏には深く感謝。
260デフォルトの名無しさん:2006/08/31(木) 22:41:44
逃げちゃダメだよ、逃げちゃ。
261デフォルトの名無しさん:2006/08/31(木) 22:43:31
>>251
3Dと言えばPoserもPythonでスクリプティングできるようになってるね
262デフォルトの名無しさん:2006/08/31(木) 22:49:57
>>258
情報サンクス。でもって、>>250の話に戻るけど、
インタプリタに手が入っているからといってそのソフトウェアが
敬遠されるとか嫌われるとかってのは無いんじゃないかなあ。
別の理由ならあるかも知れず。

(実は俺もインタプリタに手を入れてる。
CPython原理主義の鉄砲玉に撃たれて死ぬかもw)
263デフォルトの名無しさん:2006/08/31(木) 22:50:25
逃げたようでもあり.

逃げられたようでもあり.
264デフォルトの名無しさん:2006/08/31(木) 22:59:10
>>262
本来のPythonのことをちゃんと知った上で特定の環境のことを話すのならば嫌われないと思う
(たぶん)
265デフォルトの名無しさん:2006/08/31(木) 23:20:08
根拠のないことを軽々しく書いたり、明らかな間違いを書けば嫌われるのは当たり前だね。
知らないことや分からないことはちゃんと真摯に質問すればいいわけだし。
普通の人は普通にしていればいい。
おかしい人は、すこし気をつけた方がいい。
266デフォルトの名無しさん:2006/09/01(金) 00:03:49
燃料ktkr
267デフォルトの名無しさん:2006/09/01(金) 00:31:42
>>233
おおそうですか。
以前試したときはEclipseが重かったのでそれっきりだったが
今度考えてみます。
268デフォルトの名無しさん:2006/09/01(金) 02:43:11
xyzzyでpy-modeというのを入れたんだけど
ループとか関数定義の終わりにインデントを戻そうとバックスペースを入力すると
警告ウインドウが出てうざい
正しいインデントの抜けかたがあるのでしょうか?
269デフォルトの名無しさん:2006/09/01(金) 06:57:30
>>261
それとわすれちゃいけないBlender
270デフォルトの名無しさん:2006/09/01(金) 10:47:57
>>268
xyzzyなんてのもpy-modeも使ったこと無いから知らんが、
警告ウィンドウに何がかかれているのかも示すのが正しい質問の仕方じゃないかな?
271デフォルトの名無しさん:2006/09/01(金) 11:44:44
>>268
あー俺も Python は xyzzy の py-mode でやっているけど、あの警告少し
うるさいね。自分で修正したいけど、どうやっていいのかわかんない orz
272デフォルトの名無しさん:2006/09/01(金) 11:51:52
>>270
Close Block: (そのブロックの先頭の内容)
と出ます
273デフォルトの名無しさん:2006/09/01(金) 11:54:31
>>270
知らないんなら口出ししなくていいよ
274デフォルトの名無しさん:2006/09/01(金) 11:58:45
>>273
オマエモナー
275デフォルトの名無しさん:2006/09/01(金) 12:05:09
>>273
こういうのは、回答しやすくするためのアドバイスなんだから、いいと思うん
だけどな。

>>269 >>271
私もちょっと使ってるけど、変え方は分からない。まあ気にならないけど。
↓のスレで、親切な人がコードを改造してくれることがあるから、聞いてみたら?

xyzzyの使い方が分からぬやし励ましあえその9
http://pc7.2ch.net/test/read.cgi/software/1143621919/l20
276デフォルトの名無しさん:2006/09/01(金) 12:07:43
>>275
使ってる奴なら100%わかるだけの情報が入ってるんだが
277デフォルトの名無しさん:2006/09/01(金) 12:10:19
お昼休みはウキウキウォッチング。
278275:2006/09/01(金) 12:17:59
間違えた。>>268 >>271 ね。

>>276
まあそれは分かるよ。自分も使ってるから。だけどね、
・前スレのloggingみたいに、使ってない人が親切で調べてくれることがある
・はたから見て、いかにも情報の足り無そうな(実際はそうでなくても)質問
 があると、他の質問者が「ああこんなんで良いのか」と思ってしまう

まあ細かい話だな。すまん。
279デフォルトの名無しさん:2006/09/01(金) 12:23:00
>>278
>・はたから見て、いかにも情報の足り無そうな(実際はそうでなくても)質問
> があると、他の質問者が「ああこんなんで良いのか」と思ってしまう

実際に情報が足りない質問があったときに突っ込めばいいだけだろ。
いちいち情報が足りてる質問に突っ込む必要があるのか?
280デフォルトの名無しさん:2006/09/01(金) 12:28:03
それだったらxyzzyのスレで聞けばよろしいですよう。
281デフォルトの名無しさん:2006/09/01(金) 12:29:03
Pythonスレで聞いたほうが、ユーザが多いと踏んだんでしょ。
282275:2006/09/01(金) 12:30:46
うーん、そこは微妙だなあ。雰囲気というものもあるし、正直よく分からん。
ということでこの話は自分には判断できない。すまん。
283デフォルトの名無しさん:2006/09/01(金) 12:35:52
>>279
>>272で書かれた後に、書く必要無いなどとわざわざ突っ込む必要があるのか?
284デフォルトの名無しさん:2006/09/01(金) 12:40:08
ああ、あるね。
>>270のような馬鹿を牽制するためにね。
285デフォルトの名無しさん:2006/09/01(金) 12:42:27
>>283
君さ、何をしたいわけ?
>>282で終わった話題でしょ。
個人攻撃に持ち込みたいのかな。
286デフォルトの名無しさん:2006/09/01(金) 12:44:32
>>285
>個人攻撃に持ち込みたいのかな。

ププププ
287デフォルトの名無しさん:2006/09/01(金) 12:45:33
はい、この話題終わり。

↓次の話題どぞー。
288デフォルトの名無しさん:2006/09/01(金) 12:46:35
9月一杯は駄目かも分からんね。
289デフォルトの名無しさん:2006/09/01(金) 12:46:43
希薄な理由で他人に絡むのはキチガイ。
290デフォルトの名無しさん:2006/09/01(金) 12:48:13
もうメタメタ。
291デフォルトの名無しさん:2006/09/01(金) 12:48:42
>>270=>>275乙。
292デフォルトの名無しさん:2006/09/01(金) 12:49:42
うぜー。
よっぽど悔しかったのか。
293デフォルトの名無しさん:2006/09/01(金) 12:50:16
>>279
メッセージを見てる人間はこんなもの示してもしょうがないと思うだろうが、見てない
人間にとってはそんなことわからない。メッセージを見れば俺にもわかるかもしれない
と思うのは自然な感情だろう。Pythonのスレで質問する以上、そういう人にも配慮して
質問するのが礼儀というもの。そういうことに突っ込まれただけで逆切れするのはとても
みっともない。質問者だったら多少でも他人の頭脳を使わせたことに敬意を表する
べきだろう。
294デフォルトの名無しさん:2006/09/01(金) 12:50:28
はい、この話題終わり。

↓次の話題どぞー。
295デフォルトの名無しさん:2006/09/01(金) 12:52:12
>>293
俺質問者じゃないけど。
つか、必死すぎ。
296デフォルトの名無しさん:2006/09/01(金) 12:52:41
空気読め>粘着キチガイ
読めなかったら氏ねや(ぷぷぷぷぷ
297デフォルトの名無しさん:2006/09/01(金) 12:54:27
やっぱり最近暴れてる奴が絡んでたか。
298デフォルトの名無しさん:2006/09/01(金) 13:00:27
>>293
>質問者だったら多少でも他人の頭脳を使わせたことに敬意を表する
>べきだろう。

鈴木さん、ですか…?
299デフォルトの名無しさん:2006/09/01(金) 13:06:18
暇つぶしに調べてあげようかと思ったけど
windowsのエディタなんだね。
>275 さんの指摘のようにエディタの設定の疑問は、使ってる人達に質問するのが正解だとおもいますよ。
300デフォルトの名無しさん:2006/09/01(金) 13:11:03
イワズモガナー
301デフォルトの名無しさん:2006/09/01(金) 13:25:26
若くてかわいいツンデレは受け入れられるが
オッサンでピザなツンデレは疎ましいだけだ
302デフォルトの名無しさん:2006/09/01(金) 13:34:49
>234 が相変わらず ビット演算 の意味も分からず
& を誤用して間違いに気づいていないままな件について
303デフォルトの名無しさん:2006/09/01(金) 13:39:56
>>302
俺も最初そう思ったけど、読み返してみたら、ああ分かってるんだなと思った。
だって、a == b == c という式になっていると気づいてるんだから。
b が (2 & y)になっているわけね。
304デフォルトの名無しさん:2006/09/01(金) 14:45:48
インタラクティブのときに打ち込んだコードとかその結果とかを
任意のファイルにリダイレクトできませんかね?
例えるなら賢いedで地道に書いていくようなイメージで。
305デフォルトの名無しさん:2006/09/01(金) 15:02:45
>>304
うーん、お求めの答えとは違うんだけど、
自分は対話環境を、Emacsのシェルモードで実行している。
これだと入力値と出力値をいくらでもさかのぼって取得できる。
しかし、そういうのじゃ駄目なんだよね?
306デフォルトの名無しさん:2006/09/01(金) 15:23:54
ipythonでできそう
307デフォルトの名無しさん:2006/09/01(金) 15:38:26
308デフォルトの名無しさん:2006/09/01(金) 16:44:48
>>268
xyzzyのpy-modeは知らんが、emacsのpython-modeだと、passでブロックを明示的に閉じる。
309デフォルトの名無しさん:2006/09/01(金) 17:08:26
>>304
俺だったら script コマンドを使うかも。
310デフォルトの名無しさん:2006/09/01(金) 17:27:00
>>308
おお!xyzzyでもpassでブロックが閉じる!
311270:2006/09/01(金) 19:27:44
うっはーw
すげー伸びてると思ったら燃料投入したのは俺かよw
荒れてしまって申し訳ない。
いやぁみんな勘違いしているけど、実は268の時点では、
それが何依存なのかの切り分けすらできないんだよね、冷静に見ると。

ただ、>>272みたいにして書いてもらえれば、
「xyzzyぃ?んなおもちゃの話知るか!」って俺みたいな人間でも、
Lispファイルくらいは見てみるかってもんで、
「py-mode.lの1268-1269行のif文をカラにしてみれば?」って提案はでてくるわな。
動作確認はしないけどw
312デフォルトの名無しさん:2006/09/01(金) 20:01:53
俺も使ってないしソース見てもわからんが、
バックスペースじゃなくて、左にシフトの操作じゃだめなのか?
313270:2006/09/01(金) 20:24:33
おれ、激やさしい。Win機(VMWareだけど)立ち上げて検証してやった。
やっぱ1269行目の
(error "Closes block: ~a" base-text))))))

())))))
に書き換えたらきっとお望みの動作だね。
バイトコンパイルもお忘れなく。

いやー、残念ながら罵り合いは最後まで何の役にも立ちませんでしたねーw
314デフォルトの名無しさん:2006/09/01(金) 20:26:16
>>313
おつかれ。GJ!
315デフォルトの名無しさん:2006/09/01(金) 20:58:51
なんか痛い奴だな
316デフォルトの名無しさん:2006/09/01(金) 21:04:33
そういう事は思っても言わないのが大人だよ
317デフォルトの名無しさん:2006/09/01(金) 21:07:32
なんかあの人を思い出しちゃうよね。
318デフォルトの名無しさん:2006/09/01(金) 21:15:34
釣れますか?
319デフォルトの名無しさん:2006/09/01(金) 21:20:32
はいはい柴田柴田
320デフォルトの名無しさん:2006/09/01(金) 21:36:04
>>313
最後の一行書かなきゃいい人だったのに惜しかったねw
ともあれご苦労様でした
321デフォルトの名無しさん:2006/09/01(金) 21:39:34
>>313
乙w
322デフォルトの名無しさん:2006/09/01(金) 21:51:42
>>313
ありがとうございます

xyzzy板の方で聞いたら
ツール > 共通設定 > さまざま
で「エラーの表示をマイルドに」をチェックするといちいち警告ウインドウが開かなくなるようです
323デフォルトの名無しさん:2006/09/01(金) 21:56:12
>>320
良い人じゃないかもしれないが、罵り合いより役に立つ情報だったのは確か。
324デフォルトの名無しさん:2006/09/01(金) 21:58:49
するするっとスル〜
325234:2006/09/01(金) 22:19:39
>>302
む、すまん俺は>>218とかの人とは別の部外者だ…
ややこしくしてスマンス

せっかくなのでpythonの話。Djangoだけど。
setting.pyではado_mssqlも選べるような事書いてあるけど
実際やってみると片っ端からエラーでだめぽですな。
せっかくpyISAPIeでIISと繋がったのになあ

つーかおとなしくLinuxにしろって話かなw
326デフォルトの名無しさん:2006/09/01(金) 22:28:07
>>325
別にLinuxにしなくてもIISやめるだけで幸せになったりしないかな
327デフォルトの名無しさん:2006/09/01(金) 23:37:49
IISハカーによるとIISにも結構いい所あるらしい。
俺にはさっぱり理解できないが、確かにそのハカーのチューニングしたIISは
超安定動作&パフォーマンス良好だった。
pyISAPIeは知らなかたよ。今は IronPythonで ASP.NETが面白い。
328デフォルトの名無しさん:2006/09/01(金) 23:57:52
IISがだめだと言ってる奴は金が出せないだけじゃないの?w
329デフォルトの名無しさん:2006/09/02(土) 00:08:30
プログラミングどころかパソコン買ってまだ2年目くらいですが、
「みんなのPython」って本買いました!まだ半分くらいしか
読んでませんが、分かりやすいですねこれ。(もうひとつの、
動物の絵が表紙の奴は難しかった…。)ただ、「CとかJavaでは〜」
って言われても何のことか分からないのが悲しい…。

ところで、スライスというものはなぜ [ここから:ここまで] の
「ここまで」 の部分が目的の番号に1を足さないといけないんですか?

(例)
>>> a = [1, 2, 3, 4, 5]
>>> a[1:3]
[2, 3]
>>>

0から始まるのも間違えやすそうですが、それはまぁ、注意すれば
覚えられそうですが、スライスは覚えにくいです。

本だと48ページあたりですが、理由は書いてありませんでした。
330デフォルトの名無しさん:2006/09/02(土) 00:10:35
>>329
前スレあたりに回答あり
331デフォルトの名無しさん:2006/09/02(土) 00:20:48
前々スレから

>s[a:b] は始点が位置 a で
>長さが b-a になるようになってるんよ

>長さnの列全体(つまり0からn-1まで)は[0:n]と表記できることから想像できんかね?
332デフォルトの名無しさん:2006/09/02(土) 00:37:52
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')みたいに
333デフォルトの名無しさん:2006/09/02(土) 00:51:44
ふつーPythonプログラマはWebサーバくらい自分で書くだろ。>>327
334デフォルトの名無しさん:2006/09/02(土) 01:34:43
>333
Web(つかhttp)サーバというのはけっこうでっかい車輪だと思うが。
てか旧はじパイ読み始めたばっかの超初心者なんだが、出来合いのんあるのと違うの? > Python製httpd
335デフォルトの名無しさん:2006/09/02(土) 01:42:43
>>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
336デフォルトの名無しさん:2006/09/02(土) 01:51:39
Pythonはハッカーに良いとはチラホラ見るけど
どういう点でいいんだい?
そこら辺詳しく
337デフォルトの名無しさん:2006/09/02(土) 01:55:50
> Pythonはハッカーに良い

意味が分からんのだが(苦笑
338デフォルトの名無しさん:2006/09/02(土) 02:06:10
339デフォルトの名無しさん:2006/09/02(土) 02:09:03
それはソースコード可読性の点に尽きるかと。
ハカーは言語化するのを疎う傾向にあるので
*方言なしの*コードで語れることに惹かれるのだろう。
340デフォルトの名無しさん:2006/09/02(土) 02:16:07
方言なし、、、、かなぁ。
バージョンが上がるたびに標準語が変化して、
取り残された古参ユーザがしゃべっているのはコテコテの方言、
という状況にある気がするがw
341デフォルトの名無しさん:2006/09/02(土) 02:19:08
pythonはある意味で"hack"はできんよな
何やっても大抵綺麗に書ける。
凄いけど動作原理が不明とかあんまない。
342デフォルトの名無しさん:2006/09/02(土) 02:32:27
実装部分(コード化)と設計部分(仕様)とを峻別しろよ。
前者をhackする奴が何処に居るんだ?w
それは揚げ足取りの言葉遊びにすぎないだろw
343デフォルトの名無しさん:2006/09/02(土) 02:32:35
>>341
なんか「ハック」の理解の仕方が俺と違うな・・・。
344デフォルトの名無しさん:2006/09/02(土) 02:37:00
>>341
Perlみたいな言語をやっているとこうなる例。
345おかあさん:2006/09/02(土) 03:01:22
Perlerのコードなんて見ちゃいけません!
346デフォルトの名無しさん:2006/09/02(土) 03:02:40
Perlの精神....Zen(禅)
Zopeの精神....Zen(禅)

これでわかりましたか?
347デフォルトの名無しさん:2006/09/02(土) 03:28:04
ぜんぜん分からん
348デフォルトの名無しさん:2006/09/02(土) 03:38:02
Perlの言い訳....「人によって感じ方が違うんだから、同じことを幾通りにも書けるようになるのは自然なことでしょ?」
Zopeの言い訳....「一箇所にまとまっているんだから、それと同じ機能なんてすぐに勝手に書けるでしょ?」

これでわかりましたか?
349デフォルトの名無しさん:2006/09/02(土) 05:59:41
Perlは書き方以前に記号がゴチャゴチャして見にくい。
350デフォルトの名無しさん:2006/09/02(土) 07:28:58
事故レス。

> XPath 自体は属性値も扱えるはずだけど、ElementTree だとエラーになるね。

XPath のサブセットゆえに要素名の検索しかできないっぽい。
http://effbot.org/zone/element-xpath.htm
351デフォルトの名無しさん:2006/09/02(土) 09:39:42
>>341
そういう些末なハックに気を取られないで本質的なハックに専念できるので、ハッカーに
とっては生産性が向上するんですよ
352332:2006/09/02(土) 10:25:46
>>335
やっぱりそうですか。ありがとうございます。
じゃあアルゴリズムは332に書いてるようなのでいいでしょうか
データを増やしたらちょっと遅かったもんで。。
それともElementTreeだから遅いんですかね

もうちょっと調べてみます。
353デフォルトの名無しさん:2006/09/02(土) 11:07:21
>>327
IronPythonでASP.netについてkwsk
IronPython出始めの頃少し調べたんだけど結局やり方が分からんかった
354デフォルトの名無しさん:2006/09/02(土) 11:16:51
>>352
XPath を使いたいなら属性値の判定も含めて XPath でやるのが速いと思われ。
でもって、速度も追求するなら C で書かれた処理系の Python バインディングが必要だろうね。
俺は未見だけど ElementTree のホームページで紹介されてる lxml が良さげなのでは。
インタフェースは ElementTree 互換らしい。findall() もかなり速いっぽい。
http://codespeak.net/lxml/performance.html#tree-traversal
355デフォルトの名無しさん:2006/09/02(土) 12:52:57
ハッカーとオタクの違いがわかりません。
whileとforの速度差にこだわるのはハッカーですか?
356デフォルトの名無しさん:2006/09/02(土) 13:01:33
>355
それはヲタ
357デフォルトの名無しさん:2006/09/02(土) 14:01:19
どうせsystax sugarの差なんて実装が進めば最適化で同じになるよ。
358デフォルトの名無しさん:2006/09/02(土) 14:10:29
今まで、VCとVBのプログラミングをやってきましたが、
これからPythonのプログラミングについて、勉強しようと思っています。

Pythonをインストールし、Python関連のHPも色々見てみましたが、
VCのようなデバッグ方法(GUI上でステップ実行等をする)がイマイチわかりません。
申し訳ないですが、VCのようにデバッグする方法を教えて下さい。
359デフォルトの名無しさん:2006/09/02(土) 15:06:44
デバッガなんぞ触って覚えろ
360デフォルトの名無しさん:2006/09/02(土) 15:58:47
>>358
Komodoを使うといいんじゃないかな。有料。
361デフォルトの名無しさん:2006/09/02(土) 16:11:44
>>358
eclipseじゃできないの?
362デフォルトの名無しさん:2006/09/02(土) 16:25:12
Windows なら PythonWin がいいんじゃない?
363デフォルトの名無しさん:2006/09/02(土) 16:27:12
>>358
PyDevでもできた。
364デフォルトの名無しさん:2006/09/02(土) 16:59:15
IDEという物に対しての理解がいまいち浅い気がするなw
365デフォルトの名無しさん:2006/09/02(土) 17:28:11
漢はEmacsで書けよ。
IDEとか軟弱者の使うモノ。
366デフォルトの名無しさん:2006/09/02(土) 17:42:34
漢はEmacsで書けよ。
IDEとか軟弱者の使うモノ。

漢はVimで書けよ。
Emacsとか軟弱者の使うモノ。

漢はnviで書けよ。
Vimとか軟弱者の使うモノ。

漢はedで書けよ。
nviとか軟弱者の使うモノ。

漢はechoで書けよ。
edとか軟弱者の使うモノ。
367デフォルトの名無しさん:2006/09/02(土) 18:30:58
別に何使ってもいいじゃん。
なんでおまいらそんな低次元のことで張り合ってるの?
368デフォルトの名無しさん:2006/09/02(土) 18:35:49
漢はPythonで書けよ。
Rubyとか軟弱者の使うモノ。

漢はC++で書けよ。
Pythonとか軟弱者の使うモノ。

漢はCで書けよ。
C++とか軟弱者の使うモノ。

漢はasmで書けよ。
Cとか軟弱者の使うモノ。

漢はbinaryで書けよ。
asmとか軟弱者の使うモノ。
369デフォルトの名無しさん:2006/09/02(土) 18:37:17
なぜにRuby?w
そこはJavaだろw
370デフォルトの名無しさん:2006/09/02(土) 19:17:37
>>366
ちょっとしたスクリプトとか設定ファイルは
cat > foobar.sh

とかするけど、pythonの場合はインデント厳しいからむりぽ。
371デフォルトの名無しさん:2006/09/02(土) 20:10:27
たしかに\t\n通るのかなぁw
372デフォルトの名無しさん:2006/09/02(土) 20:14:22
>>368
>漢はbinaryで書けよ。
>asmとか軟弱者の使うモノ。

プリミティブなツールを使うのが漢らしいと考えるのは

  ちんぽがでかけりゃ女にモテるらしいと考えるようなものだ。
373デフォルトの名無しさん:2006/09/02(土) 20:16:51
1行に詰め込めばいいなじゃね?
374デフォルトの名無しさん:2006/09/02(土) 20:44:50
>>> isinstance(366, Hacker)
False
>>> isinstance(368, Hacker)
False
375デフォルトの名無しさん:2006/09/02(土) 21:46:19
>>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
376341:2006/09/02(土) 22:23:50
あ、いや、「hack!=ハック」ってことで。
"hack"って英単語って切り刻むとかずたずたにするとか、
そー言う含みもあるから、実装依存だけど強烈に早いとか
言語の内部構造の性質を利用した抜け道とかって捉えてたんで、
ある意味でpythonに"hack"は要らないねーって思うて。
quick hackなんて言葉は、単純にできればそうしたいけど、
こういう切り抜け方があるよって響きではなかろうかと。
ていうかみんな、そんな煽らないでくれよ……
377デフォルトの名無しさん:2006/09/02(土) 22:44:11
($ruby = "RUBY"の場合)

"my name is #{$ruby}" #=> "my name is RUBY"

これのPythonでの書き方は?
378デフォルトの名無しさん:2006/09/02(土) 22:45:45
バッドノウハウktkr
379デフォルトの名無しさん:2006/09/02(土) 22:55:54
バッドノウハウっつーほどでもないと思うが。
結構便利だよ。ヒアドキュメントに埋め込んだりもできるし。
380デフォルトの名無しさん:2006/09/02(土) 23:10:53
別にバッドノウハウじゃないだろ
381デフォルトの名無しさん:2006/09/02(土) 23:11:23
>>377
ruby = 'RUBY'
'my name is %(ruby)s' % vars()
382デフォルトの名無しさん:2006/09/02(土) 23:49:20
>381
そこは python = 'python' でそ
383デフォルトの名無しさん:2006/09/02(土) 23:58:36
>>382
>>> 'my name is %(ruby)s' % vars()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
KeyError: 'ruby'
384デフォルトの名無しさん:2006/09/03(日) 00:03:06
375=383
385デフォルトの名無しさん:2006/09/03(日) 00:10:13
1 == range(1,385)
386デフォルトの名無しさん:2006/09/03(日) 00:12:02
>>384
SyntaxError: can't assign to literal
387デフォルトの名無しさん:2006/09/03(日) 00:13:12
>>386
楽しそうだね。
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
389358:2006/09/03(日) 00:53:47
みなさんレスありがとうございます。
Komodo、eclipse、PythonWin、PyDevを
それぞれ試してみます。
390デフォルトの名無しさん:2006/09/03(日) 01:05:49
>>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, ... 形式を使うのが安全確実。
391デフォルトの名無しさん:2006/09/03(日) 01:07:19
392デフォルトの名無しさん:2006/09/03(日) 01:24:43
>>390、391
ありがとー。
393デフォルトの名無しさん:2006/09/03(日) 02:32:43
質問ですが、Python さんは Windows アプリも作れるのですか?
BitTorrent がそうだと検索していて知りましたが、ほかにはあまり
見当たりません(何かあります?)。

何もそこまで大規模なものではなく、Widget とか、ちょっとした
ユーティリティレベルのものでいいのですが、可能なのでしょうか?
Tkinter というものを使えばできそうだと知りましたが、やはり
Win アプリなら VC などでやるべきでしょうか?
394デフォルトの名無しさん:2006/09/03(日) 02:33:54
>>393
問題なく可能
395デフォルトの名無しさん:2006/09/03(日) 04:03:13
GUI関係を考えると、VBのが遥かに楽は楽だろうなーとは思う。比較の意味が乏しいけど。
396デフォルトの名無しさん:2006/09/03(日) 05:02:19
VBは書くのが苦痛 読むのも苦痛 ソフトを使う側も苦痛 という三重苦
397デフォルトの名無しさん:2006/09/03(日) 07:58:24
GUIの設計をWYSIWYGで出来るか否かの差は
悔しいが認めざるを得ないが…
スモールツールなら。
398デフォルトの名無しさん:2006/09/03(日) 08:11:44
gladeは?
399デフォルトの名無しさん:2006/09/03(日) 08:37:12
>>393
Python には IDLE という統合環境が付いてくる。
これは Tkinter を使って書かれていて Windows でも普通に動く。
実用的な Windows アプリのひとつだと思われ。
Tkinter のいいところ:
・Windows でも Linux でも Mac でも同じように動く。
・Python に標準で付いてくる。
・シンプル。
見た目や細かい挙動にこだわらないならおすすめの GUI ライブラリだよ。
400デフォルトの名無しさん:2006/09/03(日) 09:07:46
うちだけかもしれんがMacのIDLEでは履歴をさかのぼれない(WinのAlt-p)のでちょっと不便。
IDLEの中をいじればよいのかもしれんがめんどい。
401デフォルトの名無しさん:2006/09/03(日) 10:03:54
>>393
vbみたいにやりたいんならBoa Constructor か PythonCard を使えばいいんじゃないかな。
402デフォルトの名無しさん:2006/09/03(日) 11:51:27
前に出てたSpecTIXもあるでよ
403デフォルトの名無しさん:2006/09/03(日) 14:04:56
>>268
マルチは辞めような。
404デフォルトの名無しさん:2006/09/03(日) 14:28:41
お前もな
405デフォルトの名無しさん:2006/09/03(日) 14:39:45
406デフォルトの名無しさん:2006/09/03(日) 14:47:06
Python 標準の Widget は Qt ですよ。
407デフォルトの名無しさん:2006/09/03(日) 15:42:17
PyQtってwindows用のパッケージあるの?
408デフォルトの名無しさん:2006/09/03(日) 16:03:41
>>407
多分無い。
409デフォルトの名無しさん:2006/09/03(日) 21:38:16
pykfって標準搭載されないんですか?
410デフォルトの名無しさん:2006/09/03(日) 21:58:31
そんな特定言語依存なものは入らないだろうし
入れたら混乱の元だと思う
411デフォルトの名無しさん:2006/09/03(日) 22:51:10
import urllib
f = urllib.urlopen('http://www.2ch.net/')

これが10秒くらいかかるんだけど。
試しにJavaで同じようなことしたら、サクッと取ってこれた。
もちろんWebブラウザでも速い。
何かコードを書き加えないとダメ?
ちなみにOSはFedora Core 5
412デフォルトの名無しさん:2006/09/03(日) 23:06:56
>>411
ウチだと1秒もかからないよ。
バージョンとか書いといた方がいいかもね。

自分とこはActivePython 2.4.3 Build 12
413デフォルトの名無しさん:2006/09/03(日) 23:07:07
>>411
対話モードでやったら1秒もかからなかったよ。
ひょっとしてPythonインタプリタ自体の起動に時間がかかってるだけじゃない?
414441: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の問題かな。
415411:2006/09/03(日) 23:36:04
名前間違えてた。

WindowsXP(同じPC)で動かしたら気持ちよく動いた。
なので、OSの設定か何かかなー。
とにかく問題はコードじゃないってことか。
>>412-413 ありがとうございました。
416デフォルトの名無しさん:2006/09/04(月) 00:43:01
シンボルがunboundかどうかを知る方法ってtry:で囲って実際に例外吐くかどうか
調べる他にない?
417デフォルトの名無しさん:2006/09/04(月) 00:47:36
"sinboru" in vars() とか?
418416:2006/09/04(月) 01:17:10
需要無いのかなぁ。動的言語なんで勢いに任せてつらつら書き進めていって
いきなりunboundにぶち当たって落とされると結構不愉快なんだけど。せめて
NoneかFalseと同じ扱いにしてくれりゃぁいいのに。それはそれで問題なんだろけど。
419デフォルトの名無しさん:2006/09/04(月) 01:45:32
Pythonのそこらへん周りの開発時期が、他の言語で
 そもそも、そういう書き方になるのはおかしいんじゃね?
 例外でも投げてくれ
という声があった頃だからだと思う。

あとPythonは辞書と名前空間で管理されてるから>>417でいいし。
420デフォルトの名無しさん:2006/09/04(月) 03:11:33
>>418
前にも未定義の変数を参照しても例外投げないでくれっていう奴がいてだな
その時はふざけんなボケまともに書けやカスって流れだった希ガス
421デフォルトの名無しさん:2006/09/04(月) 03:18:53
俺が勢いに任せて書いたプログラムが動かない!!不愉快です!!!1!
422デフォルトの名無しさん:2006/09/04(月) 03:22:28
>>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設定だろうね。
423デフォルトの名無しさん:2006/09/04(月) 05:38:28
>>411
PPPoEの接続切れてて、つなぎ直す最初だけ遅いとか
424デフォルトの名無しさん:2006/09/04(月) 08:13:41
>>416,418
こいつとは一緒に仕事したくないな。
キチガイは一生引きこもっていて欲しい。
425デフォルトの名無しさん:2006/09/04(月) 10:32:28
そもそも未定義のものを参照している時点で
"自分が思った通り" のプログラムじゃないのに
ある仕様を規定することによって
"自分が思った通り" の動作をするようになる
なんて本気で信じてるんですかねぇ…

どういう思考回路してるんだろう… プログラマ向きじゃないよな
426デフォルトの名無しさん:2006/09/04(月) 11:17:27
>>408
公式に普通に置いてありますが?
GPLであることに問題が無ければ、Qtはかなり良い選択だと思う
427デフォルトの名無しさん:2006/09/04(月) 13:10:24
>>425
ちょっと言い過ぎでは?
俺は416=418ではないが
未定義の変数を参照したら適当な初期値を与える仕様の
プログラミング言語は実在するし(例えば awk がそう)、
注意深く意図的に使えば便利なものだよ(特にワンライナーを書くとき)。

俺は Python もそうあってほしいとは思わないが、
そうあってほしいと考えることが間違いとかプログラマ向きでないとは思わない。

(あえて言えば、安易な全否定こそプログラマにあるまじき態度だと思う。)
428デフォルトの名無しさん:2006/09/04(月) 13:21:51
>>427
> 俺は Python もそうあってほしいとは思わないが、

これは全く同意。

> そうあってほしいと考えることが間違いとかプログラマ向きでないとは思わない。
> (あえて言えば、安易な全否定こそプログラマにあるまじき態度だと思う。)

ここはPythonのスレなのだからそれは文脈無視の屁理屈だよ。
429デフォルトの名無しさん:2006/09/04(月) 14:21:21
>>427
>注意深く意図的に使えば
随分ハードル高いな(W

>(特にワンライナーを書くとき)。
ふーん(WWW
430デフォルトの名無しさん:2006/09/04(月) 14:23:54
Wでかっ
431デフォルトの名無しさん:2006/09/04(月) 14:36:12
現時点でVS2005に最新のCTP-SDKを使ってIronPythonをインテグレートしても
「データ」−「新しいデータソースの追加」が使えなかった。ポトペタできない。
DBクライアントアプリ開発には最高レベルの効率だと思ったのに。残念。
C#は使う気ないし。
432デフォルトの名無しさん:2006/09/04(月) 15:23:16
>>428
> 文脈無視の屁理屈

そうは思わないけど、あれこれ言っても得るものがなさそうだし俺は手を引くよ。
433デフォルトの名無しさん:2006/09/04(月) 15:40:19
スライムA は にげだした!
434デフォルトの名無しさん:2006/09/04(月) 15:44:07
ザカザカザッ・・・
435デフォルトの名無しさん:2006/09/04(月) 16:02:45
スライムA は さびしそうに こちらをみている。
436デフォルトの名無しさん:2006/09/04(月) 17:32:24
Tkinterの代わりはだいぶ前から議論されてるみたいだね。
ttp://www.daa.com.au/pipermail/pygtk/2003-March/004763.html
>There are three major contenders in the
>cross-platform GUI race, PyGtk, wxPython and PyQT.
437デフォルトの名無しさん:2006/09/04(月) 17:35:56
PythonにGUIなんかいらねぇだろ。VBでも使ってろよww
438デフォルトの名無しさん:2006/09/04(月) 17:43:25
良く分からないのは スライムA が
「なぜ <<python>> にその機能を望んだのか?」
だよな。

素直に巣穴に戻って perl なり awk 使えばいいのに。
439デフォルトの名無しさん:2006/09/04(月) 18:14:39
>>437
他人に使わせる時、リッチテキストや画像を使う時など
いくらでもGUIの欲しい場面なんてあるんだよw
Hello Wordlでも表示してオナニーしてろよww
440デフォルトの名無しさん:2006/09/04(月) 18:15:58
殺伐として参りました(・∀・)
441デフォルトの名無しさん:2006/09/04(月) 18:20:36
スライムA が あらわれた!
442デフォルトの名無しさん:2006/09/04(月) 18:26:21
PyQtマンセー。PyGTK/wxPythonは氏ね。
443デフォルトの名無しさん:2006/09/04(月) 18:27:45
うはwwwww
氏ねって言われたwwwwwwwwwカナシスwwwwwwwwwww
444デフォルトの名無しさん:2006/09/04(月) 18:29:11
まだ夏休みなのか。
445デフォルトの名無しさん:2006/09/04(月) 18:35:21
>>442
君には先見の明がある。

最後に残るのは PyQt
446デフォルトの名無しさん:2006/09/04(月) 18:36:33
うわ自演くせえ。
447デフォルトの名無しさん:2006/09/04(月) 18:37:25
>>444
思うに、夏休みと平常日の区別のある人間は比較的まとも。
一番ヤバいのは毎日貼り付いてる方々。という俺の最終予測。
448デフォルトの名無しさん:2006/09/04(月) 18:39:19
>>447
そうだね.その通りだと思うよ.
449デフォルトの名無しさん:2006/09/04(月) 18:50:29
PyQt 使ったアプリ見たこと無い
450デフォルトの名無しさん:2006/09/04(月) 18:55:22
eric3
451デフォルトの名無しさん:2006/09/04(月) 18:55:40
俺の最終予測だと,一番やばいのは基地外だよ。
452デフォルトの名無しさん:2006/09/04(月) 20:36:01
きたきた
453デフォルトの名無しさん:2006/09/04(月) 20:58:36
粘着は19時から予定が入っていたらしいな
454デフォルトの名無しさん:2006/09/04(月) 22:02:25
>>426
おまえにはコレが足りないんだよ。
http://www.riverbankcomputing.co.uk/pyqt/download.php
455デフォルトの名無しさん:2006/09/04(月) 22:56:47
俺は ホイミスライムA なんだけど,
453 のようなキチガイ妄想丸出しの考え方は,
頭の悪さが露呈しすぎだからひかえたほうがキミのためだと思うよ.
456デフォルトの名無しさん:2006/09/04(月) 22:58:56
スライムA は ホイミスライム だった!
457デフォルトの名無しさん:2006/09/04(月) 22:59:41
それいれても、mingwm10.dll とか qtcore4.dll がないって怒られる。
458デフォルトの名無しさん:2006/09/04(月) 23:33:46
ねえねえ
チョウ聞きたいんだけどさ〜!
辞書って

for i in list:
i['aaa'] = bbb

みたいに作成できないのぉ?

ってバカがバカっぽく質問してみます。
459デフォルトの名無しさん:2006/09/04(月) 23:42:41
list = [{}, {}]
bbb = 'ccc'

for i in list:
 i['aaa'] = bbb

で出来た
460デフォルトの名無しさん:2006/09/04(月) 23:45:49
>>457
pyQTと一緒に Qt4-GPL をインストールする必要があるんじゃないか。

たぶん http://www.trolltech.com/developer/downloads/qt/windows の、
コレ qt-win-opensource-4.1.4-mingw.exe
461デフォルトの名無しさん:2006/09/04(月) 23:54:56
>>459
いや、

list = "a","b","c"
for i in lst:
i['aaa'] = 1

で、a['aaa'] = 1,b['aaa'] = 1,c['aaa'] = 1
こういうのを期待してるんですが無理ですよね。
462デフォルトの名無しさん:2006/09/04(月) 23:58:51
>>461
>>> a = {}
>>> b = {}
>>> c = {}
>>> for i in [a,b,c]:
...    i['aaa']=1
...
>>> a
{'aaa': 1}
>>> b
{'aaa': 1}
>>> c
{'aaa': 1}
463デフォルトの名無しさん:2006/09/05(火) 00:09:36
いやいや、こーなんでないの?

>>> for i in ["a", "b", "c"]:
...locals()[i] = { "aaa" : 1 }
...
>>> a
{'aaa': 1}
>>> b
{'aaa': 1}
>>> c
{'aaa': 1}
>>>
464458:2006/09/05(火) 00:14:13
>>462,463
できました。ありがとうございます
465デフォルトの名無しさん:2006/09/05(火) 00:32:14
質問です。これって仕様でしょうか?
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 で捕獲されると
思ったらされなかったのが発端なんですけど。

466デフォルトの名無しさん:2006/09/05(火) 00:39:32
>>465
なんでそんな複雑なことをするのかキチガイ、じゃなかった聞きたい。
467デフォルトの名無しさん:2006/09/05(火) 00:48:02

間違えた、こうだ。

list = [1, 2, 3, 4]

try:
  it = iter(list)
  while 1:
    print tuple(it.next() for n in xrange(it.next()))
except StopIteration:
  pass

どこかの日記で見たパズルを解いていて気づいた。(はてなだったかな?)
468デフォルトの名無しさん:2006/09/05(火) 01:41:56
>>> [x for x in f()]
[1]
どういう動作を期待してるんだろう、俺の期待している通りの動作なんだが・・・
469デフォルトの名無しさん:2006/09/05(火) 02:52:48
>>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 例外が起こり続ける。
470デフォルトの名無しさん:2006/09/05(火) 03:40:17
要するにジェネレータは繊細な心の持ち主なんだよ。
471466: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 例外が
キャッチされているかのような実行結果が妙だと思いまして。
472466: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,)
()
()
()
以下無限

となったり????
473466:2006/09/05(火) 07:24:20
書き込んでから気づいたけど、tuple() はイテレータの next() が StopIeration
例外を出すまで処理するんだからこれでいいのか。他のイテレータからの例外なんで
違和感あるけど(スレ汚し失礼)
474デフォルトの名無しさん:2006/09/05(火) 07:50:05
こうしたら要件どおりではある。
>>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
475469: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 節によりキャッチ。

となってんだよね。
476デフォルトの名無しさん:2006/09/05(火) 17:05:46
何言ってるかわっぱりわかんね。
477デフォルトの名無しさん:2006/09/05(火) 20:30:01
インタープリタの中の人の気持ちになるんだ
478デフォルトの名無しさん:2006/09/05(火) 21:11:11
インタープリタの中の人「まーたエロ画像をバッチダウンロードですか」
479デフォルトの名無しさん:2006/09/05(火) 21:46:25
んなことプログラミングすんなよw
もっと単純なマクロとかソフトとかありそうだ
480デフォルトの名無しさん:2006/09/05(火) 22:02:03
おれは、エロ動画のバッチダウンロードだから関係ないけど。
481デフォルトの名無しさん:2006/09/05(火) 23:13:28
あれ、認証要求されて止まる事が多いんだけどどうやったら回避できるんだろう
482デフォルトの名無しさん:2006/09/05(火) 23:28:21
>>481
a. basic authentication に対応する(ID とパスワードがなければアウト)。
b. もらったクッキーを食べる。
c. 適切な Referer: ヘッダを付ける(アクセス元を詐称する)。
d. 適切な User-Agent: ヘッダを付ける(ブラウザを詐称する)。

認証以外のダウンローダ除けも入ってるけど、だいたいこの辺り。
483デフォルトの名無しさん:2006/09/05(火) 23:41:41
>>482
a. urllib2.HTTPBasicAuthHandler
b. cookielib.CookieJar
c&d. urllib2.Request.add_header

ライブラリリファレンスに例がのってたよ。
http://www.python.jp/doc/release/lib/urllib2-examples.html
http://www.python.jp/doc/release/lib/cookielib-examples.html
484481:2006/09/05(火) 23:49:18
>>482
>>483
丁寧にありがとう

でもそっちじゃなくてつまり、認証があるか無いか分からない URL の束をアクセスして行き、その中に認証があるやつが混ざっているとコマンドラインに ID&PASS を要求された状態でプログラム自体が停止してしまうのだけれども、その URL を飛ばしたい、という事です
485デフォルトの名無しさん:2006/09/05(火) 23:51:29
日本語でおk
486デフォルトの名無しさん:2006/09/06(水) 00:01:27
飛ばしたいなら飛ばせばいいだけだろ
487デフォルトの名無しさん:2006/09/06(水) 00:04:08
飛びます飛びます
488デフォルトの名無しさん:2006/09/06(水) 00:19:18
>>484
401 Authorization requiredが返ってきたらしかるべき処置を加えて再試行するのが常套手段
489デフォルトの名無しさん:2006/09/06(水) 00:30:55
>>484
FancyURLopener.prompt_user_passwd()をオーバーライド
490デフォルトの名無しさん:2006/09/06(水) 00:41:25
Python Developers Camp 2006 夏 参加者募集

みたいな事がPyJUGに書いてあったんだけども
どんな人たちが来るんだろう
491デフォルトの名無しさん:2006/09/06(水) 00:52:13
>>490
>1
492デフォルトの名無しさん:2006/09/06(水) 01:26:04
死因基地 GUY が建てたスレにようこそ.
493デフォルトの名無しさん:2006/09/06(水) 01:45:56
>>490
すくない参加経験から察するに、

・平均年齢高め。職業人多し。
・平均スキル高め。多言語ユーザ多し。
・各人の関心の方向性が多岐に渡る。
・平均英語力高め。
・男女比高め。ZeroDivisionError 気味。
・健全性高め。オタクだらけのハズだが邪気が感じられない。

要するにみんな大人。能動的な人ほど得るものが大きい。
494デフォルトの名無しさん:2006/09/06(水) 02:22:56
じゃあ僕は行けない
495デフォルトの名無しさん:2006/09/06(水) 02:33:59
な、なじめん…orz
496デフォルトの名無しさん:2006/09/06(水) 04:23:55
米国のデブキャンはダラスでやってるんだから
日本のデブキャンは大阪でやるべきだろ?
497デフォルトの名無しさん:2006/09/06(水) 04:37:30
内包表記から書き換えるといつも:付け忘れる
インデントだけでfor内部を認識するようにしてくれ
498デフォルトの名無しさん:2006/09/06(水) 06:29:48
Python Damelopers Camp参加者募集
499デフォルトの名無しさん:2006/09/06(水) 06:49:07
東京遠い。京都でやるなら参加する。
500デフォルトの名無しさん:2006/09/06(水) 06:51:27
東京?
富士市じゃん。
501デフォルトの名無しさん:2006/09/06(水) 06:56:43
プログラム書いていると、変数名としてlistやらdictやら使いたくなるんですけど、
それを使うと標準関数のlist()やdict()が使えなくなります。
変数と関数の名前空間が同じであるという仕様は気に入っているのですが、この点だけがちょっと気になります。
みなさん、どんな変数名使ってますか。

他の言語だと例えば list = new List() とか dict = new Dict() となるので、listやdictを変数として使っても問題ないです。
またPHPだと変数は$listや$dictなので関数名とかぶる心配もないですし。

なにぶんPtyhonは初めたばかりなので、こんなつまらんことで悩んでいます。
502デフォルトの名無しさん:2006/09/06(水) 07:08:27
>>493
うーん、やっぱ結構頑張ってる人が来るのね
雑魚みたいなガキは行ってもいいんだろうか
勿論遊びに行きたい訳ではなくて勉強だけども
503デフォルトの名無しさん:2006/09/06(水) 07:41:26
>501
listやらdictは一般的すぎるので使わないようにしてる
typeとかidはあえて上書きしちゃうこともあるけど
504デフォルトの名無しさん:2006/09/06(水) 07:51:11
'a'とか'my'とかリスト/辞書の役割をプレフィクスする。
例:candlidate_list, foo_list, mylist
505デフォルトの名無しさん:2006/09/06(水) 07:54:37
使い捨てスクリプトならlistaとか、 lstとかで。
506デフォルトの名無しさん:2006/09/06(水) 08:50:56
>>493
>能動的な人ほど得るものが大きい。

ここ試験に出るから。

    ビシッ  / ̄ ̄ ̄ ̄\
    / ̄\(  人____)
  , ┤    ト|ミ/  ー◎-◎-)
 |  \_/  ヽ    (_ _) )
 |   __( ̄ |∴ノ  3 ノ 
 |    __)_ノ ヽ     ノ
 ヽ___) ノ    ))   ヽ.
508デフォルトの名無しさん:2006/09/06(水) 09:11:25
Python若手議員の会もぜひ作って下さい。
509デフォルトの名無しさん:2006/09/06(水) 09:27:59
クレクレ君とキチガイは氏んだほうがいい.
510デフォルトの名無しさん:2006/09/06(水) 10:16:10
>>508
>Python若手議員の会

加齢臭が漂ってくる言葉ですね。
511デフォルトの名無しさん:2006/09/06(水) 11:38:20
>>493
邪気が漂うイベントの例をお願いします。
512デフォルトの名無しさん:2006/09/06(水) 11:54:52
>>507
○○○さん,出社早々お疲れさまです
513デフォルトの名無しさん:2006/09/06(水) 11:57:58
IronPython 1.0とサンプルきたこれ
514デフォルトの名無しさん:2006/09/06(水) 12:00:22
>>501
> 他の言語だと例えば list = new List() とか dict = new Dict() となるので

じゃあ変数名を List, Dict にすればいいだろ
515デフォルトの名無しさん:2006/09/06(水) 12:23:56
変数名にlistとか使っちゃう奴は、「何のリストなのか」を考え直した方が良い。
Person クラスのリストなら people とか。後から読む時全然違うから。
516デフォルトの名無しさん:2006/09/06(水) 12:31:49
インデックスのリストなのでindiceにしました。
他のみんなに分からないと不評でした。
517デフォルトの名無しさん:2006/09/06(水) 13:07:42
>>515
だけど汎用的な関数だと、そうも行かないよね。
高階関数だったりすると、もう絶対無理。
同じ悩みのあるSchemeでは、リストはlis とか list0 とかの変数名をつけてた。
518デフォルトの名無しさん:2006/09/06(水) 14:11:36
>502
手をあげちゃったYO

おいら雑魚レベルだけど、
興味あるお題が出ていたし
一気入門勉強の良い機会かなーと思って

せっかく持ち出しで企画してくれてるんだし
興味があるというのなら十分な理由じゃないでしょうか。
519デフォルトの名無しさん:2006/09/06(水) 14:29:04
>>513
ベータ取れてる?
520デフォルトの名無しさん:2006/09/06(水) 14:36:44
521デフォルトの名無しさん:2006/09/06(水) 15:26:33
雑魚は相手にされなさそう。
相手にされてるように見えて、軽くハブられそう。
522デフォルトの名無しさん:2006/09/06(水) 15:28:14
みなさん。
にちゃんねるへようこそ。
523デフォルトの名無しさん:2006/09/06(水) 15:40:46
>>521
みんPyノルマが増えるだけで歓迎されますよ。
524デフォルトの名無しさん:2006/09/06(水) 16:29:44
>>518
最初の一歩を踏み出したわけだ。(・∀・)イイヨイイヨー
525デフォルトの名無しさん:2006/09/06(水) 16:42:01
行っても乞食だと思われるだけなんじゃないの?
526デフォルトの名無しさん:2006/09/06(水) 16:50:50
>>525
キミみたいなのはどこにいってもハブられるとおもうよ。
527デフォルトの名無しさん:2006/09/06(水) 16:51:03
なんだそりゃ
528デフォルトの名無しさん:2006/09/06(水) 17:09:51
なんだそりゃ
529デフォルトの名無しさん:2006/09/06(水) 17:09:49
雑魚レベルの集会だろ。
レベル高いと思い込んでる馬鹿の集りにわざわざ参加することなし。
530デフォルトの名無しさん:2006/09/06(水) 17:10:34
うひょ
531デフォルトの名無しさん:2006/09/06(水) 17:11:33
>>528-529
時間が戻っている・・・
532デフォルトの名無しさん:2006/09/06(水) 17:15:01
>>529
この短い文章の中に根拠のない断定が少なくとも2つあってすごいと思った(www
533デフォルトの名無しさん:2006/09/06(水) 17:18:33
根拠は日本発のプロダクトが皆無という事実だよ。
所詮、低レベル同士の馴れ合いの場。
534デフォルトの名無しさん:2006/09/06(水) 17:21:32
>>532
井の中の蛙の煽りだろ。
レベル高いと思いこんでると思いこんでるバカの煽りにわざわざ反応する必要なし。
535■■■お知らせ■■■:2006/09/06(水) 17:31:25

こ の ス レ は 日 本 発 の P y t h o n 製 品 を 挙 げ る ス レ に な り ま し た 。
536デフォルトの名無しさん:2006/09/06(水) 17:32:10
日本発の「プロダクト」とやらを>>533に期待
537デフォルトの名無しさん:2006/09/06(水) 17:37:01
コア
538デフォルトの名無しさん:2006/09/06(水) 17:38:57
>>535
井戸の中からお送りしています。
539デフォルトの名無しさん:2006/09/06(水) 17:41:19
>>533
wktk(・∀・)
540デフォルトの名無しさん:2006/09/06(水) 17:43:34
533=535が井戸の中で日本発のPython製品とやらを作っている間に
Pythonの話をしようぜ!!!
541デフォルトの名無しさん:2006/09/06(水) 18:15:08
待ておまいら。井戸の底がGoogleと繋っているかもしれんじゃないかw
542デフォルトの名無しさん:2006/09/06(水) 18:37:15
合宿に来るような向上心のある人がレベル低いとは思えないんだが
543デフォルトの名無しさん:2006/09/06(水) 18:42:45
でも合宿でやるのはマクラ投げだし
544デフォルトの名無しさん:2006/09/06(水) 18:43:28
楽しそうじゃんか(WWW
545デフォルトの名無しさん:2006/09/06(水) 18:50:33
Wでかっ
546デフォルトの名無しさん:2006/09/06(水) 18:51:52
>535
井戸を出て合宿に池。
547デフォルトの名無しさん:2006/09/06(水) 19:01:28
参加することが向上心の表れだとは思えないし。
意見交換の場として参加することについても
各種コミュニケーションインフラツールの揃っている現在では甚だ疑問だし。

結局、自画自賛披露会に終わるでしょう。
548デフォルトの名無しさん:2006/09/06(水) 19:02:11
ふーん
549デフォルトの名無しさん:2006/09/06(水) 19:04:37
>>547
日 本 発 の P y t h o n 製 品 で き た ? ? ?
550デフォルトの名無しさん:2006/09/06(水) 19:13:26
食べてもいないぶどうを酸っぱい酸っぱいと
551デフォルトの名無しさん:2006/09/06(水) 19:27:51
2ちゃんって、なんでこうネガティブで陰湿で雰囲気悪いんだろう…。
552デフォルトの名無しさん:2006/09/06(水) 19:36:47
ポジティブで朗らかで雰囲気が良かったら2chじゃない
553デフォルトの名無しさん:2006/09/06(水) 19:39:38
だけども
問題は
今日の雨
傘がない
554デフォルトの名無しさん:2006/09/06(水) 19:50:08
list → ls
dict → dic
555デフォルトの名無しさん:2006/09/06(水) 20:12:47
              ,,,,,,,,,,,,,,,,,,,,
             /": : : : : : : : \
           /-─-,,,_: : : : : : : : :\
          /     '''-,,,: : : : : : : :i
          /、      /: : : : : : : : i      ________
         r-、 ,,,,,,,,,,、 /: : : : : : : : : :i    /
         L_, ,   、 \: : : : : : : : :i   / 参加したら
         /●) (●>   |: :__,=-、: / <   負けかなと思ってる 
         l イ  '-     |:/ tbノノ    \    
        l ,`-=-'\     `l ι';/       \  カエル(24・男性)
        ヽトェ-ェェ-:)     -r'          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ヾ=-'     / / 
     ____ヽ::::...   / ::::|
  / ̄ ::::::::::::::l `──''''   :::|
556デフォルトの名無しさん:2006/09/06(水) 20:38:37
いや全員参加されても困るし行きたい人が行けば
それで済むだけ

なんで井の底のカッパは他人の活動を否定したがるのかねー

ごく一部のキ印だけだとは思うけど。ruby でも使っててください。
557デフォルトの名無しさん:2006/09/06(水) 20:44:38
他人の活動否定したがるのかねー、とか言ってる本人が
明らかに貶す文脈でrubyを出してるこの馬鹿さかげん。
558デフォルトの名無しさん:2006/09/06(水) 21:29:47
予想のななめ上の目指してRuby批判かよ。
どっちが井の中の蛙なのか分かりませんね。
559デフォルトの名無しさん:2006/09/06(水) 21:34:24
>>558
>予想のななめ上の目指して
意味不明

>どっちが井の中の蛙なのか
「予想のななめ上の目指す」
「Ruby批判」
これのどっちがどうすると「井の中の蛙」なのか簡潔に説明白
560デフォルトの名無しさん:2006/09/06(水) 22:06:36
> ruby でも使っててください。
が敗因でした。
561デフォルトの名無しさん:2006/09/06(水) 22:17:24
スクリプトファイルのエンコーディングの指定は
#encoding: エンコード名

#coding: エンコード名

どちらが正しいんでしょうか
562デフォルトの名無しさん:2006/09/06(水) 22:18:55















563デフォルトの名無しさん:2006/09/06(水) 22:23:36
>>561
後者
564デフォルトの名無しさん:2006/09/06(水) 22:27:35
565デフォルトの名無しさん:2006/09/06(水) 22:29:48
>>561
どっちも正しい
566デフォルトの名無しさん:2006/09/06(水) 22:36:04
気狂いばっかりで、ZOPEも遅いからダメなんだよ!
567デフォルトの名無しさん:2006/09/06(水) 23:15:34
粘着荒らしよりもっと楽しい事はあるだろうに
568ZOPEを知らない子供達:2006/09/06(水) 23:19:41
ZOPEの怨念どもめ! あっちいけ
569デフォルトの名無しさん:2006/09/06(水) 23:30:36
ruby から嵐が出張してきているっていうのは図星だったみたいだね
570デフォルトの名無しさん:2006/09/06(水) 23:37:06
カンベタソに答えてやれよ>ZOPE関係者ども
571デフォルトの名無しさん:2006/09/06(水) 23:47:22
>>569
重複してるだけだと思うよ。
先週末のRubyスレプチ祭りのときは、ここ静かだったし。
普段はこっちに常駐してるみたい。
572デフォルトの名無しさん:2006/09/07(木) 00:17:36
ZOPEってバンドが無かったっけ?
573デフォルトの名無しさん:2006/09/07(木) 00:22:10
GNU-Toolsってのもあったな
574デフォルトの名無しさん:2006/09/07(木) 02:03:21
>>573
バンド名!?
575デフォルトの名無しさん:2006/09/07(木) 06:26:45
>>> 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)

これ通るんだ
576デフォルトの名無しさん:2006/09/07(木) 06:31:00
>>> int("1010", 2)
10
>>> int("1111", 2)
15

これの逆が欲しいんだよな.
ruby みたいに "x = %b" % x 見たいな感じで.
追加して失うものなんて何かあるか?
577デフォルトの名無しさん:2006/09/07(木) 06:52:42
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))
579デフォルトの名無しさん:2006/09/07(木) 07:37:54
誰が書いたのか大体分かってしまったw

コードに性格が滲み出ているw
580デフォルトの名無しさん:2006/09/07(木) 09:10:08
ビット演算の話が出たときに書いてお蔵入りにしたコード:

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 型限定)。
581デフォルトの名無しさん:2006/09/07(木) 09:18:19
インデントナイトワケワカメ
582デフォルトの名無しさん:2006/09/07(木) 09:27:47
bin(0) だと '' が返る気が
583580:2006/09/07(木) 09:51:45
orz
584デフォルトの名無しさん:2006/09/07(木) 09:56:39
if x == 0: return "" を if x < 2: return str(x) とすればいいのかな。
585デフォルトの名無しさん:2006/09/07(木) 10:18:34
>570
ドコで開催してるの?
586デフォルトの名無しさん:2006/09/07(木) 10:21:28
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]
587デフォルトの名無しさん:2006/09/07(木) 10:53:03
ワンライナーの人キターーー(・∀・)!!!!!
588デフォルトの名無しさん:2006/09/07(木) 11:00:27
でもこのコードはメンテしたくねぇ〜〜〜〜(WWWW
589デフォルトの名無しさん:2006/09/07(木) 11:21:05
590デフォルトの名無しさん:2006/09/07(木) 11:49:06
>>589
暗示的ですな。

ttp://www.rubyist.net/~matz/20050709.html
>私の一族のマスコット動物は羊なのだが

591デフォルトの名無しさん:2006/09/07(木) 11:51:44

  ( ゚д゚)
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄

  ( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄
592デフォルトの名無しさん:2006/09/07(木) 15:16:14
>>589-590
要は共倒れかww
593590:2006/09/07(木) 15:18:14
申し訳ない、蛇が動けなくて御用の部分は無視してくださいw
594デフォルトの名無しさん:2006/09/07(木) 15:26:12
羊を丸呑みしようなんて了見は起こさないことだ、と。
つまり反面教師ですな。
595デフォルトの名無しさん:2006/09/07(木) 15:27:23
PythonもRubyも共倒れ、Perl6の時代がくるという暗示か
596デフォルトの名無しさん:2006/09/07(木) 15:31:35
>>595
ラリーはもっと前に行き倒れになってます。
となると、残るのは...P(ry
597デフォルトの名無しさん:2006/09/07(木) 16:11:54
HP?
598デフォルトの名無しさん:2006/09/07(木) 16:13:02
Prolog復興しないかな。
昔はあれで業務アプリ組んだりしてたんですよね?
599デフォルトの名無しさん:2006/09/07(木) 16:20:27
Turbo Prolog が復活するって本当ですか?
600デフォルトの名無しさん:2006/09/07(木) 16:33:26
とうとう haskell の時代が来たか
601デフォルトの名無しさん:2006/09/07(木) 16:42:04
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.
602デフォルトの名無しさん:2006/09/07(木) 16:54:56
>>599
そんなのあったのかw
見たところ、Delphi(.NET)とC#,C++のみっぽいけど...。

http://www.borland.com/downloads/download_turbo.html

スラッシュドット ジャパン | Borland Turboシリーズ、無償ダウンロード開始
http://slashdot.jp/articles/06/09/06/1414208.shtml
603デフォルトの名無しさん:2006/09/07(木) 21:11:53
>>598
してないんじゃないか?
604デフォルトの名無しさん:2006/09/07(木) 21:12:11
柴田は過去の人間だから。もうすぐ消えるよ。
605デフォルトの名無しさん:2006/09/07(木) 21:27:03
ファイル開く時は file より open 使えって言われてるのか?
606デフォルトの名無しさん:2006/09/07(木) 21:31:25
ところでzopeってなに?
607デフォルトの名無しさん:2006/09/07(木) 21:44:01
zopeイラネ
608デフォルトの名無しさん:2006/09/07(木) 22:01:00
609デフォルトの名無しさん:2006/09/07(木) 22:04:56
>>601
宣伝乙.
610デフォルトの名無しさん:2006/09/07(木) 22:08:31
>601
ハイハイ、柴田信者の偽装偽装
611デフォルトの名無しさん:2006/09/07(木) 22:10:27
信者というより、本人降臨?
612デフォルトの名無しさん:2006/09/07(木) 22:15:07
zopeな人たちはzopeスレへ帰れ
613デフォルトの名無しさん:2006/09/07(木) 22:37:18
pykfのサイトにアクセスできないんですが
他の配布サイトはないですか?
614デフォルトの名無しさん:2006/09/07(木) 23:01:27
Python IAQ が翻訳されてる…。
http://newworld.ddo.jp/doc/python-iaq-ja/

乙です!
615デフォルトの名無しさん:2006/09/08(金) 00:02:38
柴田って人、歌手なのにプログラミングもやるの?
616デフォルトの名無しさん:2006/09/08(金) 01:02:05
>>589-590,>>592-598
流れにワロタ。
結局残るのは、羊(Ruby)を飲み込んでところどころが裂けた(破綻した)、死んだPythonかw

普及すると案外そうなるかもしれないね。。。
617デフォルトの名無しさん:2006/09/08(金) 01:07:58
欧米では十分普及してる。
618デフォルトの名無しさん:2006/09/08(金) 01:12:18
なんか、日本では誰かさんのせいで「Python のトレンドはウェブプラットフォームだ!」みたいな流れになっていますが、
マクロ的に見れば、そちらの方は本流ではありませんので悪しからず。
619デフォルトの名無しさん:2006/09/08(金) 01:13:05
>>615
おまけに、Pythonの本も出してるよ!
620デフォルトの名無しさん:2006/09/08(金) 01:13:49
>>618
Guidoのせいだなきっと。
621デフォルトの名無しさん:2006/09/08(金) 01:20:08
ttp://www.djangoproject.com/weblog/2006/aug/07/guidointerview/

作者タソのくせにマクロ的に見た本流を変えようとするなんてけしからん!(プンプン
622デフォルトの名無しさん:2006/09/08(金) 01:21:36
>>618
まあなんつーか
 
 
 
とりあえず井戸から出ろや
 
 
視野が広がるぞ
623デフォルトの名無しさん:2006/09/08(金) 01:23:42
そうだな、Zope/Ploneという井戸の中から出ないと話にならない。
624デフォルトの名無しさん:2006/09/08(金) 01:28:51
>>618
日本発のPython製品を作って本流を示すといいよ。
625デフォルトの名無しさん:2006/09/08(金) 01:42:53
本流は何?
626デフォルトの名無しさん:2006/09/08(金) 01:49:43
cPythonです
Jythonは傍流です
627デフォルトの名無しさん:2006/09/08(金) 01:58:04
9がつ7にち(もくよう)

あーあ。
今日も玉砕だ。
またあしたもがんばろう。
628デフォルトの名無しさん:2006/09/08(金) 02:05:01
>>627
>またあしたもがんばろう。

頑張らなくていいよ(WWWWWWWWWW
基地外が勘違いするから止めろよ(WWWWWWWW
629デフォルトの名無しさん:2006/09/08(金) 02:09:10
日本でPython使いとして認められるためには、Googleに出向しなければならない。
零細企業のお山の大将では駄目なんだよ。
630デフォルトの名無しさん:2006/09/08(金) 02:23:49
Python 2.5正式版まだかなー
631デフォルトの名無しさん:2006/09/08(金) 02:46:39
なんか、日本では誰かさんのせいで「Google はPython のトレンドリーダーだ!」みたいな流れになっていますが、
マクロ的に見れば、そちらの方は本流ではありませんので悪しからず。
632デフォルトの名無しさん:2006/09/08(金) 02:49:34
Pythonにトレンドとかあるのか・・
Google は Python のトレンドリーダーって言われても、
Pythonプログラマに役立つGoogleのテクニックとか公開されてるのか?
633デフォルトの名無しさん:2006/09/08(金) 02:52:14
>>632
> Pythonプログラマに役立つGoogleのテクニックとか公開されてるのか?
Guido が公開されてます。
634デフォルトの名無しさん:2006/09/08(金) 02:56:28
       出向…
  ( ゚д゚)
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄
       出向???
  ( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄
635デフォルトの名無しさん:2006/09/08(金) 03:03:26
   派遣      出向      就職      リストラ
    ┝ - - - - ┿━━━━━┿━━━━━┥
    ∩___∩   /)
    | ノ      ヽ  ( i )))
   /  ●   ● | / /
   |    ( _●_)  |ノ /   ここクマ――!!
  彡、   |∪|    ,/
  /__  ヽノ   /´
 (___)     /
636デフォルトの名無しさん:2006/09/08(金) 09:25:20
>>635
イキロ
637デフォルトの名無しさん:2006/09/08(金) 09:46:42
Google言語
638デフォルトの名無しさん:2006/09/08(金) 09:59:28
トカゲは切るしっぽがなくなって
とうとうじぶんのからだを切りはじめました

もう鼻のさきしかのこっていません
639デフォルトの名無しさん:2006/09/08(金) 10:06:58
                      _ /- イ、_
           __        /: : : : : : : : : : : (
          〈〈〈〈 ヽ     /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
          〈⊃  }     {:: : : :ノ --‐' 、_\: : ::}
   ∩___∩  |   |      {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
   | ノ      ヽ !   !   、  l: :ノ /二―-、 |: ::ノ
  /  ●   ● |  /   ,,・_  | //   ̄7/ /::ノ
  |    ( _●_)  ミ/ , ’,∴ ・ ¨  〉(_二─-┘{/
 彡、   |∪|  /  、・∵ ’  /、//|  ̄ ̄ヽ
/ __  ヽノ /         /   // |//\ 〉
(___)   /         /    //   /\ /

出向できないなら出血するクマー!!
640デフォルトの名無しさん:2006/09/08(金) 10:18:43
>616
>結局残るのは、羊(Ruby)を飲み込んでところどころが裂けた(破綻した)、死んだPythonかw

裂けたなんて話でてた?
単にタイーホされただけじゃねーの?
なんの容疑かは知らないけど。
641デフォルトの名無しさん:2006/09/08(金) 10:39:21
ヘビが捕まったんだって!
へぇ、びっくり!
642デフォルトの名無しさん:2006/09/08(金) 10:43:59
>>641
死刑ッ!(ビシッ
643デフォルトの名無しさん:2006/09/08(金) 10:44:36
644デフォルトの名無しさん:2006/09/08(金) 11:08:31
>>641
>ヘビが捕まったんだって!
>へぇ、びっくり!
Yamada().withdraw_squatter(641)
645デフォルトの名無しさん:2006/09/08(金) 11:17:53
646デフォルトの名無しさん:2006/09/08(金) 12:31:35
山田君は出てくるたびにインスタンス化されてるのかw
647デフォルトの名無しさん:2006/09/08(金) 12:38:08
独身豚。

もっとも彼は子だくさんのようだが。
648デフォルトの名無しさん:2006/09/08(金) 12:43:48
>>646
インスタンス生成のコスト低そうだからいいんじゃね?
649デフォルトの名無しさん:2006/09/08(金) 12:52:18
いや、そういう問題じゃないだろw
650デフォルトの名無しさん:2006/09/08(金) 12:59:09
PHP も使うよ (´ー` )
651デフォルトの名無しさん:2006/09/08(金) 13:02:12
なんか647がスルーされている気がするんだが、
彼は「シングルトン」と言いたいんだと思うんだ。
まあ仲良くしてやってくれ(w
652デフォルトの名無しさん:2006/09/08(金) 13:15:14
>>651
あらあら、気づきませんでしたわ
そのようなお言葉使い、お国はどちらだったのかしら
653デフォルトの名無しさん:2006/09/08(金) 13:28:32
Pythonでシングルトンって __new__ をオーバーライドして
クラスオブジェクトにインスタンス格納が常套?
654デフォルトの名無しさん:2006/09/08(金) 13:49:07
>>653
Pythonではシングルトンが必要なとき、モジュールで用が済んだりする。
ムネオたんの発言参照。
ttp://www.python.jp/pipermail/python-ml-jp/2002-January/001029.html
655デフォルトの名無しさん:2006/09/08(金) 14:03:16
>>653
そもそもクラスにしないのが常套
656デフォルトの名無しさん:2006/09/08(金) 15:24:59
>>654
モジュールは1個のオブジェクトで、
なおかつ個々のモジュールには複数のインスタンスは存在しない、
という意味で「モジュールはシングルトンパタン」と言っているのであって
シングルトンパタンをモジュールで実現、という意味ではない。
657デフォルトの名無しさん:2006/09/08(金) 16:09:51
なにいってるかわっぱりさかんね。
658デフォルトの名無しさん:2006/09/08(金) 16:35:32
シングルトンを独身豚と。
何を言っているのか確かに分からん。
659デフォルトの名無しさん:2006/09/08(金) 17:14:08
そっちかい
660デフォルトの名無しさん:2006/09/08(金) 17:20:44
>>656
モジュールをシングルトンとして使っている例はいくらでもあるじゃん。
ていうかPythonでは定石。標準ライブラリのdircache.pypとかさ。
661デフォルトの名無しさん:2006/09/08(金) 17:40:32
よく分からないので教えて欲しい。

たとえばの話。
moduleA,moduleB,moduleCとあって、moduleAにはfuncAが定義されているとする。
moduleBでimport moduleAし、moduleA.funcAと参照するfuncAと
moduleCでfrom moduleAし、funcAは
どっちも同じ実体を指しているの?
662デフォルトの名無しさん:2006/09/08(金) 17:43:43
スマソ,6行目の
>moduleCでfrom moduleAし、funcAは
というのは
moduleCでfrom moduleA import funcAしたときのfuncAは
の間違いです。
663デフォルトの名無しさん:2006/09/08(金) 17:46:27
from moduleB import funcA as funcA_from_moduleB
from moduleC import funcA as funcA_from_moduleC

print funcA_from_moduleB is funca_from_moduleC
664デフォルトの名無しさん:2006/09/08(金) 17:51:45
>>661-662
同じ実体を指す(だからシングルトンとして使える)
665デフォルトの名無しさん:2006/09/08(金) 18:19:16
666デフォルトの名無しさん:2006/09/08(金) 18:44:29
667デフォルトの名無しさん:2006/09/08(金) 18:53:39
>>663,664
よく分かったよ。サンクス!
668デフォルトの名無しさん:2006/09/08(金) 18:58:15
>>589

Dive Into Python は計画的にってことだな。

669デフォルトの名無しさん:2006/09/08(金) 20:46:31
シングルトンって、「インスタンスが1つまでしか生成できない」のが保証されているってのも含めて
シングルトンじゃないの?
670デフォルトの名無しさん:2006/09/08(金) 20:56:21
うちの職場にも669みたいに
「どうして教科書通りにしないんですか?教科書にはそんなこと書いていません。教科書と同じでなきゃイヤ!」
と駄々をこねる奴がいます。こういう奴に自分の頭で考えさせるには、どうしたらいいでしょう?
671デフォルトの名無しさん:2006/09/08(金) 20:58:25
多分 Singleton パターンが必要な場面自体
解ってないんだろ
672デフォルトの名無しさん:2006/09/08(金) 21:09:27
>>670
貴方自身が自分で「どう教えるか」ということを考えることを放棄しているのに、
同僚の所為にするのはいかがなものかと存じます。

さて本題に入りましょうか。
仕事では教科書どおりのやり方が一番推奨されます。
まず、貴方が教科書熟読しましょう。

「自分のやり方」とやらも結構ですが、それは基礎を伴っている必要があります。
守離破ということです。わかりましたか?
673デフォルトの名無しさん:2006/09/08(金) 21:10:29
「間違わないようにする」じゃなくて「間違えられないようにする」為に
シングルトンクラスのインスタンスを生成できないように保証するのは常識だろうに。
674デフォルトの名無しさん:2006/09/08(金) 21:16:46
「どうしてもクラス作りたい厨」警報!!!!
675デフォルトの名無しさん:2006/09/08(金) 21:21:50
いやいやw 誰も「クラス作りたい」なんて言ってないだろw 論点がずれてるよ
676デフォルトの名無しさん:2006/09/08(金) 21:26:58
確かにモジュールのグローバル変数をシングルトンとみなすのは危険だ。
reloadすればインスタンスの同一性はなくなってしまうから。

しかし、reloadは普通は対話環境で使うもので、実際のコードで使われること
は考えにくい。事実上、シングルトンとみなしても大きな問題はないと思う。
677デフォルトの名無しさん:2006/09/08(金) 21:32:30
>>673
全く確かにそうであるべきではあるが
そうでなければシングルトンと呼ばない訳ではないね
678デフォルトの名無しさん:2006/09/08(金) 21:38:21
>>676
いや、reloadよりも現実的な危険があるよ。他のモジュールから直接書き換え
られる場合だ。

あるモジュールで、

from module_a import hoge

を実行したあとで、他のモジュールが

import module_a
module_a.hoge = u"ほげほげ"

とか実行したらどうする?
679デフォルトの名無しさん:2006/09/08(金) 22:03:29
しかし、シングルトンクラスを作っても安心とは言えないんだな。Pythonでは、
あるモジュールで定義したクラスを、他のモジュールから完全に書き換えるこ
とさえ出来てしまう。

結局、Pythonでは安全性の保証は、最終的にはユーザの明示的または暗黙的な
合意によってしか成り立たない。より「ユーザのやらなそうな」ことをした時
にだけ問題が起こるようなら、比較的安全だと言えるだろう。結局は程度問題。

ちなみに、実はJavaでも安全性は程度問題だったりする。Pythonと違ってJava
にはprivateというものがあるが、リフレクションを利用するとそのprivateな
属性にもアクセスできてしまう。みんなやらないだけで。(単体テストの時に
は利用したりするが)
680デフォルトの名無しさん:2006/09/08(金) 22:14:29
そりゃ禁止事項を明記すればするほど民度が低いことの証左になるからな。
681デフォルトの名無しさん:2006/09/08(金) 22:22:58
>>680
その理屈だと、Perl界の方がPython界より民度が高いことになるな。
安全性の設計の方針を、安易に「民度」なんてものに結びつけるのはよくない。
「ひいきの引き倒し」という言葉を知っているか?
682デフォルトの名無しさん:2006/09/08(金) 22:41:21
「お約束」を守れない人がPythonを使うと不幸になる。
本人も、周りも。
中二病にはおすすめできない。
683デフォルトの名無しさん:2006/09/08(金) 22:43:18
なにが民度だよ。馬鹿じゃねーの?
684デフォルトの名無しさん:2006/09/08(金) 22:56:37
>>683
見え見えの釣りにわざわざ付き合う事ねえよ
685デフォルトの名無しさん:2006/09/08(金) 23:20:18
民度?民パイ作者を見てみろよ。
686デフォルトの名無しさん:2006/09/08(金) 23:37:24
ワーワー
687デフォルトの名無しさん:2006/09/08(金) 23:50:29
>>685
つりでも何でも無いんだが、柴田氏のどこが気に入らないんだ?
688デフォルトの名無しさん:2006/09/09(土) 00:08:12
gya-gya-
689デフォルトの名無しさん:2006/09/09(土) 00:18:01
>>687
つまりお前は、

"""ガチで釣り針に食いつきました"""

ってことだな。
690デフォルトの名無しさん:2006/09/09(土) 00:18:09
いいからもうみんpyの話したい人は隔離スレ立ててやってくれ。
気に入ってる気に食わないって永遠に解決し得ない言い合いのせいで
中身の無い荒れ方をするのは見るに堪えない。
691デフォルトの名無しさん:2006/09/09(土) 00:26:08
根拠のないことを無責任に書き散らせばどんな話題でも荒れるよ。
荒れる原因を作ってるヤツを隔離しなければ同じこと。
692デフォルトの名無しさん:2006/09/09(土) 00:31:10
>>689
スライムA乙
693デフォルトの名無しさん:2006/09/09(土) 00:34:11
シングルトンの話にに関連して、ちょっと長文。

カッチリ硬いという印象のあるPythonだが、実際にはその安全性は無いに等し
い。実行時にモジュールやクラスを自由に書き換えることができるし、オブジェ
クトにはprivateがない。そもそも変数だけがあって定数が無い。C++やJavaし
か知らない人には危険極まりなく見えるだろう。

しかし、Pythonの構文は極めて明快で、何をやっているかが分かりやすい。そ
のため「こんなことやったらまずいな」というプログラマの常識に訴える力が
強い。事実上それのみによって、Pythonの安全性は保証されている。

これは確かに危険だが、大きなメリットもある。それは「普段はやらないが、
いざというときには危険な手段も取れる」ようになるからだ。

http://practical-scheme.net/wiliki/wiliki2.cgi?Lisp%3AGeometry

PythonではなくCLOSの話で恐縮だが、上のページをに出てくる例は、動的な言
語のメリットを実に良くあらわしている。長すぎて読めない人には、"java"で
上のページを検索して拾い読みするのをお薦めしたい。
694デフォルトの名無しさん:2006/09/09(土) 00:35:48
>>693
そんな長々と妄想聞かされても困るから
695691:2006/09/09(土) 00:41:04
>>694
こういうヤツを隔離すべき。
696デフォルトの名無しさん:2006/09/09(土) 00:45:59
そうだな。693ともども隔離して欲しい。
697693:2006/09/09(土) 00:49:07
693だが、
念のためだが、妄想なんかじゃないぞ。それなりに根拠を持って書いている。
批判するのは自由だが、どこが間違っているかぐらいは指摘してほしいもんだな。
698デフォルトの名無しさん:2006/09/09(土) 00:49:52
シングルトンからここまで話がふくらむんだね。
Python使いって懐が深くてすごいとおもうわ(w
699デフォルトの名無しさん:2006/09/09(土) 00:52:14
>>697
それなりな根拠とやらを示したらどうだ?
700デフォルトの名無しさん:2006/09/09(土) 00:53:59
>>699
君が妄想と決め付けた根拠を書くのが先じゃないかな。
701デフォルトの名無しさん:2006/09/09(土) 01:01:22
もうグダグダ
702デフォルトの名無しさん:2006/09/09(土) 01:01:33
>>699-700
小学生みたいな言い合いするなよw
703デフォルトの名無しさん:2006/09/09(土) 01:03:10
まあキチガイの立てたスレだし(WWWW
704デフォルトの名無しさん:2006/09/09(土) 01:06:45
敗北者でもできるPython
から
キチガイでもできるPython
になっちゃったのかよー
705693:2006/09/09(土) 01:10:53
>>699
根拠ねえ、またここに書くと荒れそうなんだけど、言語の歴史の流れなんだよ。

SmalltalkとCLOSからオブジェクト指向は始まったんだけど、前者は比較的硬
くて後者は比較的柔らかい。
その流れはやがて大きな二極を生み出した。一つはC++のような極めて硬いオ
ブジェクト指向。もう一つはプロトタイプベースのような極めて柔らかいオブ
ジェクト指向。そしてPythonは明らかに後者に属する。

で、>>693に書いたことは、Pythonだけじゃなくて後者の言語のどれにも大体
当てはまることなんだよ。

まあこう書いて納得してもらえるとは思わないけどね。知ってたら初めから煽
りに来ないから。
706デフォルトの名無しさん:2006/09/09(土) 01:20:26

707デフォルトの名無しさん:2006/09/09(土) 01:32:10
>>705
つまり、妄想を根拠に妄想話をしてたってことだな。
708デフォルトの名無しさん:2006/09/09(土) 01:36:39
>>693
> 実行時にモジュールやクラスを自由に書き換えることができる
> オブジェクトにはprivateがない
そんな貴方に with statement
709693:2006/09/09(土) 01:52:09
>>707
まあ、そう来ると思ったよ。

>>693のリンク先を読んでごらん。この手法はPythonでも使える。と言うより、
まともなPythonユーザなら、一度くらいは自分でやったことがあるはずだ。
まさにPythonの最大の特徴の一つなんだから。

では失礼。
710デフォルトの名無しさん:2006/09/09(土) 02:34:53
693全てが単なる請け売りじゃん。

リンク先示して終りでいいだろ。
知識披露厨はこれだから・・・。
711デフォルトの名無しさん:2006/09/09(土) 02:47:50
まぁ請け売りでない独自のアイデアをあまり披露されるのも困るけどなw
712デフォルトの名無しさん:2006/09/09(土) 02:51:38
わかんねえな。
根拠のない妄想なのか、
根拠の丸写しの受け売りなのか、
どっちだって言いたいんだ?真逆じゃねえのか?
713デフォルトの名無しさん:2006/09/09(土) 03:02:45
Webアプリケーション制作言語として見たときに、
PHPに対するPtyhonのアドバンテージには
どういったことがありますか?
714デフォルトの名無しさん:2006/09/09(土) 03:06:09
いまWebアプリ作ってるけど
PHPとかPerlのほうが作りやすいかも……と
時々思ってしまう。。。
715デフォルトの名無しさん:2006/09/09(土) 03:15:35
要するに、Webフレームワークって一体何なの?
716デフォルトの名無しさん:2006/09/09(土) 03:18:14
>>715
そういうレベルの人に説明するのは難しいな。w
まず使いたいフレームワークありきでしょ。それを決めれば言語も決まる。
717713:2006/09/09(土) 03:36:15
>>714
それはどういった時に思われますか?
718デフォルトの名無しさん:2006/09/09(土) 03:57:35
>>716
> まず使いたいフレームワークありきでしょ。それを決めれば言語も決まる。
君と同じレベルでは嫌なので軽く調べた。

要するにWebフレームワークってORMライブラリのことでしょ?
で、テンプレートとインターフェースの主観的な使い勝手の差で類似ソフトが湧いている、と。
719デフォルトの名無しさん:2006/09/09(土) 08:32:17
>>718
煽りには乗らないほうがいい。

> 要するにWebフレームワークってORMライブラリのことでしょ?
いや、それは違う。ORMライブラリは付属しているだけ。
http://www-06.ibm.com/jp/developerworks/linux/060802/j_l-django.shtml
(ORMライブラリより、ORマッパという言葉のほうが普通だと思う。)

あと、そもそもフレームワークとは何かと言うと、ライブラリに似ているが、
ある意味逆のものとも言える。どちらも既存のコードと自分のコードを組み
合わせてアプリケーションを作るという点は同じだが、

・メインのロジックを自分が書き、そこから既存のコードを呼び出す場合、
 その既存のコードをライブラリと言う。
・自分のコードの隙間を埋める既存のコードがライブラリ。
・メインのロジックは既存のコードであり、そこから自分のコードが呼び
 出される場合、その既存のコードをフレームワークと言う。
・既存のコードの隙間に自分のコードを埋め込んでアプリに仕上げるのが
 フレームワーク。

こう言っても分かりづらいだろうなあ。自分もJavaのStrutsとかを実際に
使ってみるまで分からなかった。

あとPythonのWebフレームワークって使ったことがないんで、そこから先は
他の人に聞いて。すまん。
720デフォルトの名無しさん:2006/09/09(土) 08:46:59
>>693
>カッチリ硬いという印象のあるPythonだが
まぢ?
721デフォルトの名無しさん:2006/09/09(土) 08:51:14
PythonのWebフレームワークを使って、日本発の製品を作ると、Googleに出向できるって本当?
722デフォルトの名無しさん:2006/09/09(土) 08:57:20
出向するのと採用されるのは同じなの?
723デフォルトの名無しさん:2006/09/09(土) 09:25:53
>>719
意味不明。

フレームワークとは自分の望むテンプレートを呼び出せるシステムのこと。
データ永続性のためにORマッパはテンプレート部分にデフォで含まれる。

フレームワークの利点は各コンポーネンツを admin を介するだけで自在に操れる点にある。
ユーザは指揮者となってタクトを振ってさえいればよい。
724デフォルトの名無しさん:2006/09/09(土) 09:38:48
フレームワークのキチガイ定義は、スルスルっとスル〜。
725デフォルトの名無しさん:2006/09/09(土) 09:46:44
最後の1行で墓穴を掘ったな。
これがなければ,「なんにでも噛みつきたいお年頃なのね」で済んだのに。

>>723
>ユーザは指揮者となってタクトを振ってさえいればよい。

おまえまともなコード書いたことないだろ。
タクト振って済めば開発者なんていらねえんだよ。
726デフォルトの名無しさん:2006/09/09(土) 09:48:09
>>723
困ったなあ。フレームワークの意味を知ってる?
http://e-words.jp/w/E38395E383ACE383BCE383A0E383AFE383BCE382AF.html

> フレームワークとは自分の望むテンプレートを呼び出せるシステムのこと。
それじゃテンプレートエンジンとどう違うの?

> データ永続性のためにORマッパはテンプレート部分にデフォで含まれる。
それはWebフレームワークにそういうものが多いだけ。そうでないのもある。

> フレームワークの利点は各コンポーネンツを admin を介するだけで自在に操れる点
> にある。
> ユーザは指揮者となってタクトを振ってさえいればよい。
なんかムズムズするが、まあいいやこれは。
727デフォルトの名無しさん:2006/09/09(土) 09:51:13
現場経験無いの見え見え。
728デフォルトの名無しさん:2006/09/09(土) 09:55:40
ttp://mail.zope.org/pipermail/zope3-checkins/2005-December/027035.html

世の中にはたった2行でコミッター気取りの人もいるみたいだし,
まあいいんじゃないでしょうか.
729デフォルトの名無しさん:2006/09/09(土) 09:56:39
developperworks 以外にお奨めな入門コースありますか?
730デフォルトの名無しさん:2006/09/09(土) 09:58:54
>>725
> タクト振って済めば開発者なんていらねえんだよ。
不要だよ。コピペで済むような、既存アプリを再利用することに対してはね。

>>726
> それじゃテンプレートエンジンとどう違うの?
原始的にスクリプトを吐くのではなくて、単体でも成り立つような既存のサービスをいくつか混ぜ合わせた上で吐き出すという違いがある。
要するに integrated か否かという違い。

> それはWebフレームワークにそういうものが多いだけ。そうでないのもある。
そうでないものの具体例を出してね。
731デフォルトの名無しさん:2006/09/09(土) 10:03:40
おはよう(つω`)
すごいね。一日中スレに張り付いているの?
732デフォルトの名無しさん:2006/09/09(土) 10:07:38
>>730
>そうでないものの具体例を出してね。

Zope
Webware for Python
SkunkWeb
CherryPy
Quixote

バカの相手は疲れるなあ。
733デフォルトの名無しさん:2006/09/09(土) 10:08:56
>>730
> 要するに integrated か否かという違い。
この説明だと、複数ライブラリを組み合わせて作った統合ライブラリは
全部フレームワークになってしまうぞ。まだ「タクトを振るだけ」という
俗っぽい表現のほうが近いぐらいだ。

> そうでないものの具体例を出してね。
いや、Strutsがまさにそれなんだけどね。
734デフォルトの名無しさん:2006/09/09(土) 10:09:21
>>732
> Zope
はい、ORマッパ入ってます。

> CherryPy
これはフレームワークではありません。

> Webware for Python
> SkunkWeb
> Quixote
これらは知らない。でも、その程度でしょう。
735デフォルトの名無しさん:2006/09/09(土) 10:09:46
何この流れ。。。
736デフォルトの名無しさん:2006/09/09(土) 10:14:13
井戸の中では、我々の知り得ない力学が働いているらしいということがよく分かった。
737デフォルトの名無しさん:2006/09/09(土) 10:14:47
Pythonユーザにはこういうのが好きな人が多いのかな。
738デフォルトの名無しさん:2006/09/09(土) 10:17:40
>>734
>> CherryPy
>これはフレームワークではありません。

http://www.cherrypy.org/

思い切り
CherryPy is a pythonic, object-oriented HTTP framework.
と書いてあるんだが、まあよしとしよう(w

ところで ZOPE って O/R マッパーが内蔵されてるんだ
知らなかった
739デフォルトの名無しさん:2006/09/09(土) 10:18:47
そろそろネタ切れかな?
740デフォルトの名無しさん:2006/09/09(土) 10:19:26
>>737 すまん。俺は本当にこういうのが好きだ。
同じものを、全く違う見方をしている人がいるというだけで嬉しい。
まあPythonユーザ一般がそうだと言うつもりはないが。
741デフォルトの名無しさん:2006/09/09(土) 10:32:01
9がつ9にち(どよう)

よるからよなかにかけて、あたらしいあそびあいてがみつかりました。
うれしかったです。
さんじかんくらいねて、けいじばんであそんでいると、

やっぱり玉砕だ。

ごじかんくらいたっぷりひるねをしてからまたがんばろう。
742デフォルトの名無しさん:2006/09/09(土) 10:32:39
とりあえず定義は難しいから保留にして、PythonのWebフレームワークを
実際に使った感じはどうなんでしょう?
743デフォルトの名無しさん:2006/09/09(土) 10:38:00
勝手に保留にするなよ(WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
744デフォルトの名無しさん:2006/09/09(土) 10:39:48
Wでかっ!
そして長っ!
745デフォルトの名無しさん:2006/09/09(土) 10:43:47
>>743=744
746デフォルトの名無しさん:2006/09/09(土) 11:01:59
数えるのもめんどくさい。 *つかって書けよ。
747デフォルトの名無しさん:2006/09/09(土) 11:38:30
Webフレームワークの定義を小国の糞掲示板の雑魚スレで決定してしまおうとは、
なかなか大それたことを。
その言葉を使って何を説明したいのかっていう中身が重要なのでは?
便宜上どうしても定義が必要なら、自分はこういう意味で使っていると明示しておけばろよしくね?
その定義が明らかにおかしな場合は「こうじゃないですか?」と突っ込みはすれども、
「ちがう」と言われれば、周囲の人間は「ふーん」と流して本題に集中すべきかと。

そういう意味で、>>742の気持ちも解かるが、おれはそういう強引なしきりが嫌いだw
748デフォルトの名無しさん:2006/09/09(土) 11:40:07
「フレ○ムワ○ク」と書いてあるレスは読まんでない人、手を挙げてー。

ノシ
749デフォルトの名無しさん:2006/09/09(土) 11:50:32
このスレはパイソニックというものの俗っぽさを如実に表してるね
750デフォルトの名無しさん:2006/09/09(土) 11:58:54
ふとオモタんだが、pythonicってどういう意味なんだろな。
「Python的」の意味だと俺には使えない。そんなものを語る資格も度胸も俺にはない。
「Pythonチック」とか「Python風味」ぐらいの意味なら使ってもいいかな。
751デフォルトの名無しさん:2006/09/09(土) 12:23:47
>>750
「Pythonっぽい」「Pythonにょろ〜」
752デフォルトの名無しさん:2006/09/09(土) 12:23:53
>>750
「Python的」「Pythonチック」「Python風味」の意味を定義してくれないとなんとも言えません
753750:2006/09/09(土) 14:36:21
言葉の重みとしては「hacker」と似てるかも。
「自称Pythonic」は「自称hacker」と同じぐらいナンセンスでバカっぽい。

それで思い出したんだけど、
ESRは「hackerだと認知されている人からhackerだと言ってもらえること」を
hackerの要件として挙げている。
だから「自称hacker」はバカっぽく聞こえるわけだ。

「Pythonic」も同じ側面がある希ガス。
つまり、自分以外の誰かのコードについて
「お、これってPythonっぽくていいじゃん」的に使う分には問題ないけど
自分のコードについて使うといかにも自画自賛っぽくてダメな感じがする。

「Pythonic」という形容詞はエロい人専用、と言ってみるテスト。
754750:2006/09/09(土) 14:39:42
最後の一文、ちょっと違うな。

自分のコードを「Pythonic」と形容できるのはエロい人だけ、と言い直してみるテスト。
755デフォルトの名無しさん:2006/09/09(土) 14:43:32
今時、〜みるテスト、とか言ってるような古い人間は
ろくなプログラミングは出来ない、と言ってみるテスト
756750:2006/09/09(土) 14:44:20
w
757デフォルトの名無しさん:2006/09/09(土) 14:56:07
このスレの長文書く奴は馬鹿ばかりだな。

というか、全部同一人物か?
758デフォルトの名無しさん:2006/09/09(土) 14:56:51
なんか、俺定義だけは譲れないって人が多いな
759デフォルトの名無しさん:2006/09/09(土) 15:25:39
何でこんなに荒れるんだ?
ほんとに「荒らそう」としてる奴がいるとしか思えない。
760デフォルトの名無しさん:2006/09/09(土) 15:38:26
火は点けず、燃料も投下しないが、消えそうになるとパタパタあおぎ始める>>759であった。
761デフォルトの名無しさん:2006/09/09(土) 15:46:24
古い人の自慢話と荒らし。
どっちがマシだろう。
どっちも嫌だな。
762デフォルトの名無しさん:2006/09/09(土) 16:02:43
このスレは

+ 粘着私怨キチガイ
+ 長文バカ
+ 定義厨
+ ネットイナゴ

に汚染されています。
763750:2006/09/09(土) 16:10:17
長文w
764デフォルトの名無しさん:2006/09/09(土) 16:33:34
俺は譲らない!俺俺俺!
765デフォルトの名無しさん:2006/09/09(土) 16:36:32
俺定義と事実誤認は明かに違うけどね〜。
766デフォルトの名無しさん:2006/09/09(土) 17:00:07
すいませんが質問いいですか?・・
Cで言うところのcharのポインターをintのポインターにキャストすることを
Pythonではどうしたらいいのでしょう?

int *p = (int*)"俺!俺だよ俺”;
767デフォルトの名無しさん:2006/09/09(土) 17:05:02
>>766
その目的まで書いたほうがアドバイスを得やすいであろう
768766:2006/09/09(土) 17:14:48
>767

大本の理由はピックルしたものを暗号化したいと思い、
http://www.schneier.com/blowfish.html
こいつを移植中なんですが、32ビット幅で計算したほうが楽かなと
思い質問したしだいです。
769デフォルトの名無しさん:2006/09/09(土) 17:27:09
python 向け暗号ライブラリを使え
770デフォルトの名無しさん:2006/09/09(土) 17:30:01
俺様に命令するんじゃねぇ
771766:2006/09/09(土) 17:35:33
>>769
選択肢を増やしたいだけです。
そういったこともあり、できるだけ簡単そうなもの選んだつもりが。
実際pypiに似たものあるのも承知してますよ。

array.array("B",
でStringIOがとおらないのには参った
772デフォルトの名無しさん:2006/09/09(土) 17:39:26
773デフォルトの名無しさん:2006/09/09(土) 18:16:42
Cのやり方をむりやりPythonに押し付けるという事が不自然だと思う
774デフォルトの名無しさん:2006/09/09(土) 18:25:22
俺を捨てることで幸せになれることが多いのに
いつまでも俺を捨てられず手数が増え敵が増え。
俺って最高だな!!!
775デフォルトの名無しさん:2006/09/09(土) 18:27:55
ビバ俺!!!
776デフォルトの名無しさん:2006/09/09(土) 18:28:09
めがっさにょろにょろ
777766:2006/09/09(土) 18:30:11
>>772
よくわからないのでスルーさせていただきました。

選択肢はpycryptとかCerealizerあたり。

>>773
そうですね。素直にord使います。

いっそorzにしてほしい。
778デフォルトの名無しさん:2006/09/09(土) 18:37:17
俺を捨てることについて相当の勇気が要ったことは事実だ。むしろ言うなら怖かったさ。
しかしな、世の中には俺より優れた人間なんていっぱい居る。
俺は俺を捨て、俺自身に敗北宣言をすることによって、
より優れた「俺共同体」と融合することが出来たと思うんだ。
俺共同体の俺より優れた別の俺共は、常に俺に対して屈服を要求し続けるわけだが、
相対としての俺共同体は個体としての俺より数段優れているので
なによりアウトプットのレベルが違うんだよ。比べものにならないくらい高いんだ。
 
 
 
 
 
 
これを俺は「俺2.0」と呼ぶことにした。
779デフォルトの名無しさん:2006/09/09(土) 19:31:48
長文バカ
780デフォルトの名無しさん:2006/09/09(土) 19:54:47
>>779
オマエも俺共同体に入れよ。
781デフォルトの名無しさん:2006/09/09(土) 21:01:13
>780
抵抗は無意味ですか?
782デフォルトの名無しさん:2006/09/09(土) 21:08:02
オンドル3000
783デフォルトの名無しさん:2006/09/09(土) 21:31:37
なんでPythonスレって、定期的に荒れるんだろう…。
784デフォルトの名無しさん:2006/09/09(土) 21:33:11
rubyが壊れたら波及的にここが荒れるという法則
785デフォルトの名無しさん:2006/09/09(土) 22:06:41
夏の名残り
786デフォルトの名無しさん:2006/09/09(土) 22:38:42
Pythonを勉強しようかと検討中なのですが、
Pythonはインスタンス変数をサブクラスと共有しますか?
また、そうである場合、それを制限する方法はありますか?
787デフォルトの名無しさん:2006/09/09(土) 22:55:20
日本語でおk
788デフォルトの名無しさん:2006/09/09(土) 22:57:21
Python を勉強すれば分かるんじゃないだろうか
789デフォルトの名無しさん:2006/09/09(土) 22:57:50
すみません。以後、改善したいので、おかしいと思われた部分を抜き出して貰えないでしょうか?
790デフォルトの名無しさん:2006/09/09(土) 23:02:43
>>788
すみません。もしこの要件を満たさないのであれば、学ぶ価値がないという考えがあったので、
敢えて学ぶ前に質問させて頂きました。

ドキュメントを読んだところ、どうやら根本的な解決方法は存在しないようです。
(多少は問題視をしているようで、解決法「らしき」ものはありましたが…。)
791デフォルトの名無しさん:2006/09/09(土) 23:33:16
>>786
釣りでも煽りでも荒らしでもないならもっと具体的に書いてくれないと誰もまともに答えられない
できれば簡単なコードか具体的に書いてあるURL張っつけて
792デフォルトの名無しさん:2006/09/09(土) 23:34:13
インスタンス変数をサブクラスと共有する、の意味がおっぱい。
793デフォルトの名無しさん:2006/09/09(土) 23:40:19
翻訳したところ、プライベート変数のことらしい
794デフォルトの名無しさん:2006/09/09(土) 23:43:30
いや、俺の翻訳機ではクラス変数と出た。
795デフォルトの名無しさん:2006/09/09(土) 23:47:27
>>Ruby初心者スレッドPart7 681

class A:
    def __init__(self):
        self.x = 0

class B(A):
    def __init__(self):
        A.__init__(self)
        self.x = 1   <- かぶってるのがいやん

ってことかなたぶん
796デフォルトの名無しさん:2006/09/09(土) 23:47:34
すみません。言葉足らずでした。

サブクラスとインスタンス変数を共有しない、というのは、
具体的な例を使って示すと、こういう事です。

あるクラスAでは、インスタンス変数vが使われている。
Aの作者はvがA以外によって操作されることを意図しない。

あるクラスBはAのサブクラスである。BにはAと同様に、インスタンス変数vが使われている。
Bの作者はvがB以外によって操作されることを意図しない。

こういうケースにおいて、PerlやRuby、そして恐らくPythonも、
インスタンス変数の名前の衝突によりAやBの作者の意図したい事態が引き起こされてしまいます。

この問題を、Javaの様に解決する方法はないのかと質問させて頂いた次第です。
797デフォルトの名無しさん:2006/09/09(土) 23:52:11
なんかバカにされてるようだけど、インスタンス変数って普通に言うだろ?
何だよプライベート変数ってw そっちのがよっぽどマイナーだよ。
798デフォルトの名無しさん:2006/09/09(土) 23:54:33
インスタンス変数,って言うと外から変えられる感じ。
プライベート変数,って言うと外から変えられない感じ。
799デフォルトの名無しさん:2006/09/10(日) 00:00:44
継承した側で書き換えられるような名前を付ける設計は間違っていると思います!
800デフォルトの名無しさん:2006/09/10(日) 00:03:28
前提がおかしいような気がするが
なんでクラスB作る時点でクラスAから派生するの?
そういう用途ならラップするとか内部で生成して保持するとかじゃないの
801デフォルトの名無しさん:2006/09/10(日) 00:10:16
>>799
そうですか。どうやらあなたとは意見が合いそうにないです。

>>800
そういう用途とはどういう用途ですか?
>>797 に対してのレスであれば、このコードはあくまで普遍的に
(クラスを継承ことによって)この様な状況が起こり得るのことを示唆したのであって、
特定の用途や状況に限ったものではありません。
802デフォルトの名無しさん:2006/09/10(日) 00:11:56
すみません。間違いました。
× コード
× 797 → 796
803デフォルトの名無しさん:2006/09/10(日) 00:19:27
コンポジット、導出、pimpl、__名前を使い分ける。
804デフォルトの名無しさん:2006/09/10(日) 00:20:58
なんのこたぁない。

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って、ことで解決?
805デフォルトの名無しさん:2006/09/10(日) 00:21:36
1. なんで名前変えないの?
2. なんでわざわざ派生するの?
Javaの方がアクロバティックなことしてるだけじゃねえの
806デフォルトの名無しさん:2006/09/10(日) 00:22:39
俺は漢だから、クラスごとに__setattr__や__getattr__を書き換えてるよ。
それくらいストイックにならないと漢とは呼べないな。
俺ってすごいだろ。
807デフォルトの名無しさん:2006/09/10(日) 00:24:09
つーか同じ名前だと第三者が見て分かりづらいだろ
別のものには別の名前を付けようよ
808デフォルトの名無しさん:2006/09/10(日) 00:26:10
>>796

>この問題を、Javaの様に解決する方法はないのかと質問させて頂いた次第です。

python 的にはプライベート変数を使えばイナフじゃね?
http://www.python.jp/doc/release/tut/node11.html

java 的に・・・というのにこれからも拘るならば、python には向かないと思うね。
純粋な OOP じゃないから。
809デフォルトの名無しさん:2006/09/10(日) 00:27:00
>>805
意味が分からないです。

__による解決策も悪くないですね・・・。
問題視なされているようなのでPython開発陣の今後の対応に期待したいと思います。
皆さんお忙しい中ご返答ありがとう御座いました。
810デフォルトの名無しさん:2006/09/10(日) 00:29:22
アトリビュート名の衝突を完全排除できないと気にくわないっつーようなひとは
Pythonには向かないかもねー
現状のPythonでも,アトリビュートの上書きを回避する方法はいくらでもあるのだから
活用すればいいだけの話で
811デフォルトの名無しさん:2006/09/10(日) 00:33:57
java的な解決方法ってどんなの?マングルちゃうの?
812デフォルトの名無しさん:2006/09/10(日) 00:36:31
宣言するだけ。
813デフォルトの名無しさん:2006/09/10(日) 00:40:42
全部にアクセス出来るから楽なんだよ。
__があれば十分です。

>>806に漢をみた。
814デフォルトの名無しさん:2006/09/10(日) 00:41:20
いやだから自動でマングルしてるだけじゃないのかと。c++はそうだよね。
815デフォルトの名無しさん:2006/09/10(日) 00:54:01
>クラスごとに__setattr__や__getattr__を書き換え

この場合、組み込み関数のpropertyを使えば十分だと思う。
816デフォルトの名無しさん:2006/09/10(日) 00:57:38
C++のマングルは、マングルされた名前の変数を使われることはまずないと思うのですが・・・。
そもそもあれはコンパイラがOS等の環境に合わせた解決策であって、
究極に言えばOSやCPUがインスタンスでシンボル名を解決してくれれば必要ないわけで。

もちろんJava(VM)はそれをやってくれるので、マングルは無い。
817デフォルトの名無しさん:2006/09/10(日) 01:22:38
>>790
おまいの価値観では学ぶ価値がない。
だから、もう来るな。
818デフォルトの名無しさん:2006/09/10(日) 01:23:23
Pythonの名前空間って便利なものじゃなかったっけ?
819デフォルトの名無しさん:2006/09/10(日) 01:25:59
ちと、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は何処にいったのでせうか??
820デフォルトの名無しさん:2006/09/10(日) 01:27:11
窓タイトルとか?
821デフォルトの名無しさん:2006/09/10(日) 01:32:14
>>817
これはこれは。私はスレのヌシ様を怒らせてしまったようです。なんて罪なことを!
色んな意味で、このスレでは私のPythonに対するイメージが確立されました。
たとえ学ぶことがあっても、もうここで質問するようなことは無いのでどうぞお気を沈めてください^^
822デフォルトの名無しさん:2006/09/10(日) 01:33:40
>>816
pythonでもマングルされた名前を使うことはまずないよ。
823デフォルトの名無しさん:2006/09/10(日) 01:36:31
>>820
迂闊でした。orz
とにかく、Win環境に親和性のあるPythonが手にはいって大喜びです
次は、Haskellがほしい
824デフォルトの名無しさん:2006/09/10(日) 02:07:38
>>821
結局、釣り宣言かよ
825デフォルトの名無しさん:2006/09/10(日) 07:23:04
>>824
キチガイが和もうとして失敗したんだよ(WWWWWW
826デフォルトの名無しさん:2006/09/10(日) 07:45:01
listやdictはクラス化されないのかなー
歴史的にみてしかたないっちゃあそれまでだけど、今の仕様だとクラスとそうでないのとがごっちゃになっていて、なんかいまいちな感じがするのはおれだけ?
827デフォルトの名無しさん:2006/09/10(日) 07:50:36
9がつ9にち(どよう)

きょうはキャラをかえてみた。ひたすらていしせいでたいおうしようとするさくせんだ。
しばらくはうまくいった。でも、やはりいつものくせが出てしまった。

また玉砕だ!!!

あたらしいさくせんをかんがえて、またがんばろう。
828デフォルトの名無しさん:2006/09/10(日) 08:40:37
マングルって、いやらしい言葉を想像しちゃうね。
829デフォルトの名無しさん:2006/09/10(日) 10:02:50
>>828
よくわからないけど、こういうことですか?

return mangle(name)
830デフォルトの名無しさん:2006/09/10(日) 10:42:25
舐め
831デフォルトの名無しさん:2006/09/10(日) 12:50:20
まんぐる返し
832デフォルトの名無しさん:2006/09/10(日) 13:43:08
>>826
クラスだよ。
833デフォルトの名無しさん:2006/09/10(日) 15:38:14
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
にしてくれるといいなぁ。
835デフォルトの名無しさん:2006/09/10(日) 17:12:05
>>833
メニューの File->Run で出るダイアログの Arguments
836デフォルトの名無しさん:2006/09/10(日) 17:15:47
encode と unicode を使ってるから
decode は 使ったことがない
837デフォルトの名無しさん:2006/09/10(日) 17:37:15
>>786
多分もういないんだろうけど、一応。
Pythonのクラスシステムはとんでもなく原始的。
selfとか、マングリングとか、普通なら処理系に任せられるところを
人間が意識しなきゃならない。
だけどこんなのでも、意外に実用に耐える。
まあ騙されたと思って使ってみそ。
838デフォルトの名無しさん:2006/09/10(日) 18:07:23
>selfとか、マングリングとか、普通なら処理系に任せられるところを
>人間が意識しなきゃならない。

うーん...
そういう風に思う人には向かないんじゃないのかな...
839デフォルトの名無しさん:2006/09/10(日) 18:14:48
>>838
そうかな。それなりに使えているんならいいと思うが。
それなら、Pythonに向いている人はどう思うの?
840デフォルトの名無しさん:2006/09/10(日) 18:24:23
いじり放題じゃん
堅い言語仕様だとライブラリに問題があったときとかに変態的テクニック使いまくるハメになるし
841デフォルトの名無しさん:2006/09/10(日) 18:28:37
それPer(ry
まあそういう要素があってこそ良くなる部分も無い訳じゃない。
842デフォルトの名無しさん:2006/09/10(日) 18:54:50
self は長所
843デフォルトの名無しさん:2006/09/10(日) 19:01:05
> self は長所
kwsk
844デフォルトの名無しさん:2006/09/10(日) 19:59:39
selfなんてどう考えたって、「処理系実装者が手を抜ける」以外のメリットなんて
無いと思うが。
845デフォルトの名無しさん:2006/09/10(日) 20:12:33
手を抜けるからそれでいいじゃない
846デフォルトの名無しさん:2006/09/10(日) 20:36:13
>>844
経験または想像力の欠如
847デフォルトの名無しさん:2006/09/10(日) 20:47:28
>>846のタイプの一行煽りは、決してマトモに説明しないので、華麗にスルー。
848デフォルトの名無しさん:2006/09/10(日) 20:52:43
しかし、この手のクソ仕様マンセー野郎ってのは、rubyだけじゃなくてpythonにもいるのな。
849デフォルトの名無しさん:2006/09/10(日) 21:04:15
rubyと同列にするなよ
850デフォルトの名無しさん:2006/09/10(日) 21:21:50
良いものは良い、悪いものは悪い、といった冷静な話をすることが、
このスレではずっとできないでいるんだよ。残念なことに。
851デフォルトの名無しさん:2006/09/10(日) 21:42:04
selfって実際長所があるから実装されているんでしょ?
ずっと前にもどこかで質問したけれど回答もらえなかったが。

> 処理系実装者が手を抜ける
っていってもそんなに大きなメリットにはならない気がするし。
852デフォルトの名無しさん:2006/09/10(日) 21:45:59
「省略できて便利」と同じくらいの理由。
明示できて便利。
853デフォルトの名無しさん:2006/09/10(日) 21:50:39
後付けの機能だからでしょう。Perlもそうだし。
854デフォルトの名無しさん:2006/09/10(日) 21:56:12
http://www.shido.info/py/python7.html
selfに関しては、こんなページがある。
ちょっと怪しいところもあるけれど、参考にはなると思う。
855デフォルトの名無しさん:2006/09/10(日) 21:57:27
クラスのためにわざわざ仕様を増やしたくねー
実装するのはマンドクセ
全部オブジェクトだし辞書があるからいーじゃん
というのはあったかもな
856デフォルトの名無しさん:2006/09/10(日) 22:01:18
単に言語仕様をシンプルに保ちたかったからじゃね?
857デフォルトの名無しさん:2006/09/10(日) 22:06:15
確かにシンプルなのはいい点だよな。
時々、自分がコンパイラの代わりをやらされているような気にもなるが。
858デフォルトの名無しさん:2006/09/10(日) 22:10:09
あれ、もしかしてself好きは少数派か?
859デフォルトの名無しさん:2006/09/10(日) 22:11:14
my派ですから
860デフォルトの名無しさん:2006/09/10(日) 22:23:38
>>858
少数派か多数派か知らんけど、俺は嫌い。
何で俺様がいちいちselfを書かねばならんのだ、って感じ。
861デフォルトの名無しさん:2006/09/10(日) 22:28:06
self が嫌なら My とか this とか a とか書けばいいじゃない

冗談はともかく、予約語が一つ減るというのはメリットかも
メソッドを単なる関数として使いまわせる、というのもあるね
862デフォルトの名無しさん:2006/09/10(日) 22:29:00
>>858
まぁ今流行ってる大抵のオブジェクト指向言語ではself相当は書かないからなぁ。
日本でPythonを最初の言語に選択するケースも少ないだろうから、
そう思う人が多くてもしょうがないんじゃねーかね。

一応self必須は、読みやすさに貢献しているってメリットがある。
LEGBルールから、Lに存在しなければGかBに存在すると分かるが
selfが省略可能だと疑う場所が一つ増える。
863デフォルトの名無しさん:2006/09/10(日) 22:31:58
selfって慣例だったのか…、知らんかった。
だったら明日からは自分用は、aでいいや。

確かにPythonは(自由というか緩いというか)、
True/Falseにさえ代入できるくらいに、
予約語少ないもんなぁ。
Noneくらいでしか怒られない寛大さ。
864デフォルトの名無しさん:2006/09/10(日) 22:32:50
LEGBルールって何?(ググる気ないよ)
分かりやすい文章書けないの?
865デフォルトの名無しさん:2006/09/10(日) 22:36:12
ググる気が無いってんなら、理解する気も無いんだろ?
866デフォルトの名無しさん:2006/09/10(日) 22:36:29
ググってもほとんど出てこないのな
まあLocalとGlobalくらいは文脈からわかるけど
867デフォルトの名無しさん:2006/09/10(日) 22:39:29
>>865
調べてまでも理解する価値なしと判断したまで。
868デフォルトの名無しさん:2006/09/10(日) 22:39:52
>>863
いや、selfが予約語で無いぐらいで「予約語少ない」と評するのはどうかと思うが。
他の一般的な言語と同じくらい予約語あるぞ。
printとか他の言語じゃ予約語じゃないものまであるし。
869デフォルトの名無しさん:2006/09/10(日) 22:40:59
>>867
じゃあ、俺はお前の存在を理解する価値無しと判断させてもらう。
よって特に説明は市内。
870デフォルトの名無しさん:2006/09/10(日) 22:44:18
>>869
そうですか。
871デフォルトの名無しさん:2006/09/10(日) 22:46:03
キチガイが居るとスレの流れが違うなあ(WWWWWW
872デフォルトの名無しさん:2006/09/10(日) 22:48:59
ホラここ読め低能

http://tinyurl.com/q2tld
873デフォルトの名無しさん:2006/09/10(日) 22:49:40
これだけ盛り上がれるなら、普段見ている過疎スレにも1人キチガイが欲しくなるね。
874デフォルトの名無しさん:2006/09/10(日) 22:54:49
>873
まだ「保守」だけのカキコが連なる方がマシじゃないか……?
875デフォルトの名無しさん:2006/09/10(日) 22:56:53
まぁ自分が理解できんことや同意できんことに対してキチガイ呼ばわりする奴の書き込みが続くよかはマシだな。
876デフォルトの名無しさん:2006/09/10(日) 22:57:11
>>872
受け売り乙。
877デフォルトの名無しさん:2006/09/10(日) 22:58:27
請け売りって意味不明な奴でた
878デフォルトの名無しさん:2006/09/10(日) 23:06:16
人の文章読んでるようじゃ一生無理。
879デフォルトの名無しさん:2006/09/10(日) 23:09:48
じゃあなんでここ読んでるんだ?
880デフォルトの名無しさん:2006/09/10(日) 23:14:10
Python でも早く C# や C99 のように識別子に Unicode 文字使えるようにならないかな
そうなったら「self」なんて書かないで「俺」って書くのに
881デフォルトの名無しさん:2006/09/10(日) 23:14:52
ちょっとミステリアスにかっこいいこと言ってみたい年頃なんだろ。いわゆる中二病。
882デフォルトの名無しさん:2006/09/10(日) 23:18:34
「俺」ってかっこいいか?そもそも二バイトだし。
883デフォルトの名無しさん:2006/09/10(日) 23:19:09
オブジェクト指向ではあっても
クラス指向ではないから self が必要なんじゃないだろか

>>880
まずは str と unicode の一本化からだろうな
昨日は ElementTree で unicode を喰ってくれなくて驚いたよ
884デフォルトの名無しさん:2006/09/10(日) 23:19:46
self がジャマだっていっている人は
何を問題にしているのですか?

クラス変数とインスタンス変数の区別はどうするのでしょう?
885デフォルトの名無しさん:2006/09/10(日) 23:20:16
>>882
タイミングがズレたんだよ。selfの代わりに「俺」はかっこよすぎ。是非使ってくれ。
886デフォルトの名無しさん:2006/09/10(日) 23:29:55
>>882
selfは4byteだよ。
887デフォルトの名無しさん:2006/09/10(日) 23:35:09
「そもそも二バイトだし」の意味がわからん

utf8で俺は3バイトだし、utf16ではそもそも全て2バイトだし。
888デフォルトの名無しさん:2006/09/10(日) 23:38:41
なんとなくメカニズムが見える安心感があると思う>self
889デフォルトの名無しさん:2006/09/10(日) 23:56:12
selfとかmyとかaとかthisとかの論争に付き合うのが面倒だったので、
自分で決められるようにしたんだろうな。
890デフォルトの名無しさん:2006/09/10(日) 23:58:40
myって何の言語?squeak, RubyはselfだしJava, C++, C#はthis・・・。
891デフォルトの名無しさん:2006/09/10(日) 23:59:46
selfにかわるキーワードなにがいい。
wife とかどうだ
892デフォルトの名無しさん:2006/09/11(月) 00:02:21
chin
893861:2006/09/11(月) 00:07:19
>>890
ごめん My じゃなくて Me だった
ちなみに VB ね
894デフォルトの名無しさん:2006/09/11(月) 00:18:57
meか。短くていいな。
895デフォルトの名無しさん:2006/09/11(月) 00:19:24
>>891
かかあ天下
>>892
ケダモノ
896833:2006/09/11(月) 00:25:21
>>835
おお!ここで指定すれば良かったのですか!
教えて頂いて、本当にありがとうございます。
897デフォルトの名無しさん:2006/09/11(月) 01:11:01
>>890
Ruby の場合、仕様上は self だろうけど現実で相応するのは @ だろうな
898デフォルトの名無しさん:2006/09/11(月) 02:46:05
埋伏している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()

899デフォルトの名無しさん:2006/09/11(月) 03:19:18
rubyスレでやれよ
900デフォルトの名無しさん:2006/09/11(月) 05:19:19
>>898
それRubyのソースじゃないし
901デフォルトの名無しさん:2006/09/11(月) 05:52:53
>>898
def boo
foo # 明示的に self.foo でも良い
Kernel.foo
end

ところで、Python の self が必須なのは
元々 self が予約語でなかった Python に後から予約語追加すると
過去のコードで不具合出るからじゃないのか?

んでその時に互換性を重視してそういう仕様にした結果
今度は self の省略も互換性が無くなるから
中々出来なくなっちゃってこじ付けてるんでは
902デフォルトの名無しさん:2006/09/11(月) 07:10:35
FAQ: http://www.python.org/doc/faq/general/#why-must-self-be-used-explicitly-in-method-definitions-and-calls

リポジトリの日付が正しけりゃ少なくとも13年前には既にselfってたことになる



(;´Д`)つ http://jp.rubyist.net/magazine/?0008-Legwork
903デフォルトの名無しさん:2006/09/11(月) 10:10:27
val = (yield i)
904898: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つあるのがいいね」でしたっけ。
905901: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 厨の愚痴でした。
スレ汚し失礼。
906デフォルトの名無しさん:2006/09/11(月) 12:04:30
Python 2.4をCentOS 4.0(Python 2.3がインストールされている)上で使いたいのですが、
yumリポジトリでは2.4のRPMが提供されていません。
ソースからインストールするしかないでしょうか? 同OS上で2.4を使っている方はいますか?

907デフォルトの名無しさん:2006/09/11(月) 12:05:22
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
908デフォルトの名無しさん:2006/09/11(月) 13:26:56
ちょっと質問です。
タプルのリスト、例えば
[('A', 1), ('B', 2)]
を、リストのリスト
[['A', 1], ['B', 2]]
にしたい場合は、各要素をコピー&変換した新しいリストを作るしかないですか?
909デフォルトの名無しさん:2006/09/11(月) 13:33:16
そうです

>>> a = [('A', 1), ('B', 2)]
>>> map(list, a)
[['A', 1], ['B', 2]]
910デフォルトの名無しさん:2006/09/11(月) 13:39:08
ありがとうございます。
やっぱ、そうですか・・
データベース関連のスクリプト作ってて千件近いリスト処理になるんで
SQL段階で処理するか、Pythonに取り込んだあと処理するか思案中です。
911デフォルトの名無しさん:2006/09/11(月) 14:05:09
A = [('A', 1), ('B', 2)]
B = [('foo',), ('bar',)]

c = [ [aa, ab, b] for (aa, ab), b in zip(a, b)]

みたいなことをしたいのかな。
912デフォルトの名無しさん:2006/09/11(月) 14:27:45
SQLでやったほうが効率いいだろうな
913デフォルトの名無しさん:2006/09/11(月) 14:29:46
いや、Pythonの方が効率がいいよ。
914デフォルトの名無しさん:2006/09/11(月) 14:43:38
>>910
よっぽどカラム数の多いテーブルじゃなければ
千件程度なら絶対時間が短いだろうからどっちでやっても大差なさげ。
将来件数が増える見込みがあるならSQLでやっとくのが無難だろうね。
(というか、SQL で書ける処理は全部 SQL で書くのが筋でしょう。)
915デフォルトの名無しさん:2006/09/11(月) 21:58:41
SQL で "書ける" 処理だと何でもかんでもやっちゃいそうな気が
916デフォルトの名無しさん:2006/09/11(月) 22:06:53
>>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()
918デフォルトの名無しさん:2006/09/11(月) 22:13:40
すいません、インデントが反映されませんでした。。
一応もう一度書いておきます。

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()
919デフォルトの名無しさん:2006/09/11(月) 22:24:55
matzのRuby

みんなのPython
920デフォルトの名無しさん:2006/09/11(月) 22:36:53
>>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()
921918:2006/09/11(月) 22:44:40
>>920
できました! ありがとうございました。
922デフォルトの名無しさん:2006/09/11(月) 23:01:50
matzもatsも過去の人。相手になんない
923デフォルトの名無しさん:2006/09/11(月) 23:22:03
新スレ立てておいた.

http://pc8.2ch.net/test/read.cgi/tech/1157984472/

キチガイが立てたスレは今日中に埋め立てましょう.
924デフォルトの名無しさん:2006/09/11(月) 23:39:31
Pythonスレが3週間そこそこで1000まで行くなんて、珍しいこともあるもんだ。
925デフォルトの名無しさん:2006/09/11(月) 23:42:19
キチガイ様々だな。
926デフォルトの名無しさん:2006/09/11(月) 23:47:23
次のスレは長持ちするといいな。
927デフォルトの名無しさん:2006/09/11(月) 23:52:10
鉄Py 1.0
Python 2.5
ネタはいろいろあるから
それなりに盛り上がるかも試練
928デフォルトの名無しさん:2006/09/12(火) 00:02:06
from mymodule import *
って、
__import__ で、かくとどうなるのでしょうか?
929デフォルトの名無しさん:2006/09/12(火) 00:19:54
#他人(含む将来の自分)が読むことを考え、'self'や'args'のお約束は踏まえると誓う。

b,c,dというリストを期待したPerlの@list=(b..d)相当の操作はどうしましょう。
数字ならrangeでごまかせば似たようにできるんだけど、文字は怒られた。
あと、m//とs///とか。検索すると、matchとかsubとかそれっぽい機能が
メソッドにはあるみたい。
930デフォルトの名無しさん:2006/09/12(火) 00:30:11
>>905
>> 「間違いようのない方法が1つあるのがいいね」
>
> これ言ったの誰だろ、またいつもの「教祖様の狂言」か?w

Zen of Python の一節じゃないの?
931デフォルトの名無しさん:2006/09/12(火) 00:43:49
埋めっつっても結構あるぞw
932デフォルトの名無しさん:2006/09/12(火) 00:46:25
>>915
要はCOBOLerみたいな、何でも
SELECT * FROM MYTABLE
して加工なんて阿呆な事すなっつー事でそ
933デフォルトの名無しさん:2006/09/12(火) 04:57:18
>>832
そうなの?リファレンスマニュアルを見る限り、クラスは型のひとつであり、リストや辞書は(クラスでない)型であると書いてるように見えるけど。

じゃあPythonでは
class list:
....
とか
class dict:
....
というふうに定義されていると考えていいの?
934デフォルトの名無しさん:2006/09/12(火) 06:22:54
IronPythonの話題はこちらで。

Microsoft IronPython 1.0
http://pc8.2ch.net/test/read.cgi/tech/1157686822/
935デフォルトの名無しさん:2006/09/12(火) 08:06:52
Python関連スレ増えたな
936デフォルトの名無しさん:2006/09/12(火) 09:02:42
>>933
そうか、厳密に言うとクラスじゃないね。訂正。
でも class mylist(list): のように継承できるし、
isinstance() はクラスのインスタンスにも [] や {} にも同じように働く。
違うのは組み込み型は変更できない(list.foo=1みたいな代入は不可)ぐらいなもので
ほとんどの場合はクラスと同じように使える。
937デフォルトの名無しさん:2006/09/12(火) 09:22:19
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
938デフォルトの名無しさん:2006/09/12(火) 10:14:06
Python 2.5のリリース予定、現地時間の今日(12日)だろ
予定通りリリースされるんだろうか
939デフォルトの名無しさん:2006/09/12(火) 11:05:17
RC2が出るらしいからリリースは来週だね。
ttp://www.python.org/dev/peps/pep-0356/
940デフォルトの名無しさん:2006/09/12(火) 11:18:30
>>939
サンクス
気になるならちゃんとPEPを見れば良かったね
941デフォルトの名無しさん:2006/09/12(火) 18:05:24
>>929
コードの連続した文字列を生成する必要が、まず思いつかん。
942デフォルトの名無しさん:2006/09/12(火) 18:44:57
テストデータ生成するときとか使ったことあるけど
まあめったに使わんわな
943デフォルトの名無しさん:2006/09/12(火) 18:55:10
>>929

>>> ''.join(chr(c) for c in range(ord('b'), ord('d')+1))
'bcd'
944デフォルトの名無しさん:2006/09/12(火) 18:55:33
こんな?
map(chr, range(ord('a'), ord('z') + 1))
945デフォルトの名無しさん:2006/09/12(火) 19:25:22
>>944''.join が足りない。

>>943 カッコが足りないと思ったんだけど、ちゃんと動いた。
ジェネレータ式のカッコと関数呼び出しのカッコって兼用できるの?

リスト内包表記だったら、こう書かなきゃならないのに。
''.join([chr(c) for c in range(ord('b'), ord('d')+1)])
この[]が()にならなきゃならないかと思ってた。
946デフォルトの名無しさん:2006/09/12(火) 19:43:04
そこがジェネレータ表現のいいところ。
947デフォルトの名無しさん:2006/09/12(火) 19:48:04
>>945
文法的に許される場所ならジェネレータ式に ( ) は不要。
[ ] の中にジェネレータ式があるとジェネレータがリストに変換されるだけ。
948デフォルトの名無しさん:2006/09/12(火) 19:49:58
Language Reference 5.2.5

The parentheses can be omitted on calls with only one argument.

へぇー
949デフォルトの名無しさん:2006/09/12(火) 19:53:08
今PEP読んで気づいた。
[expr(x) for x in 1, 2, 3]はOKだけど(expr(x) for x in 1, 2, 3)はダメなんだと。
950デフォルトの名無しさん:2006/09/12(火) 20:07:00
>>945
929は['b', 'c', 'd']を期待してると思ったんだけど、違うの?
Perl読めね
951945:2006/09/12(火) 20:38:14
>>950 私の間違い。ごめん。
952デフォルトの名無しさん:2006/09/12(火) 21:05:08
文字列フォーマット、無図化死す
953デフォルトの名無しさん:2006/09/12(火) 22:13:46
次スレができたけど、こっちが埋まらないね。
粘着が消えてくれた証なら喜ばしいことだ。
954デフォルトの名無しさん:2006/09/12(火) 23:00:12
ステでいいんじゃない.
どうせ基地外がたてたスレだし.
955デフォルトの名無しさん:2006/09/12(火) 23:00:30
沈黙は銀、だなお前。
956デフォルトの名無しさん:2006/09/13(水) 01:17:11
私怨荒らしいなくなったな。
二度と戻ってくるなよ。
957デフォルトの名無しさん:2006/09/13(水) 02:00:06
>956
>955
958デフォルトの名無しさん:2006/09/13(水) 16:38:36
>>955
雄弁は金だよ、オマエ。
959デフォルトの名無しさん:2006/09/13(水) 17:22:38
IronPythonは鉄だよ、喪前。
960デフォルトの名無しさん:2006/09/13(水) 17:24:19
アイロンは家電だよ、お袋。
961デフォルトの名無しさん:2006/09/13(水) 17:27:04
スチーム付きがお勧め
962デフォルトの名無しさん:2006/09/13(水) 17:44:39
今お買い求めになるとアイロン台をサービス。
963デフォルトの名無しさん:2006/09/13(水) 17:45:22
間違えた、今お買い物になるとIronPythonをサービス。
964デフォルトの名無しさん:2006/09/13(水) 17:45:51
また間違えた、もういいです。
965デフォルトの名無しさん:2006/09/13(水) 18:04:56
S山さんぽ。
966デフォルトの名無しさん:2006/09/13(水) 18:22:42
N山さんです
967デフォルトの名無しさん:2006/09/13(水) 18:45:57
( ´_ゝ`)σ)´_ゝ`) < 962-964
968デフォルトの名無しさん:2006/09/13(水) 19:29:31
( ´_ゝ`)σ)3`)
969デフォルトの名無しさん:2006/09/13(水) 23:15:44
    ⊂⊃
   , '"  ̄ ヽ.
   ル)"ノノルλ  
   ルil´_ゝ`ノリ
    〃//ヾ     ゴリッ
   /_ノ_>ゝ○-++#####∵:ブ゙チッ:
    し'(__)    ⊂⌒~⊃。Д。)⊃
970デフォルトの名無しさん:2006/09/13(水) 23:38:36
   ルil´_ゝ`ノリ
    〃//ヾ     ゴリッ
   /_ノ_>ゝ○-++#####∵:ブ゙チッ: ← 私怨粘着荒らしキチガイ
    し'(__)    ⊂⌒~⊃。Д。)⊃
971デフォルトの名無しさん:2006/09/15(金) 00:31:02
貴様らは人間ではない、爬虫動物のクソをかき集めた値打ちしかない!

メソッドで ( ) たれる前と後に『 self. 』と言え!分かったかウジ虫ども!
972デフォルトの名無しさん:2006/09/15(金) 00:36:46
Sir, No, Sir !!!
973デフォルトの名無しさん:2006/09/15(金) 01:55:06
>>971-972 ちょっと面白かった。
974デフォルトの名無しさん
ウジ虫に失礼た。