トップページ⇒tech
1001コメント304KB

Pythonのお勉強 Part15

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/11/12(日) 22:51:44
日本 Python ユーザ会
http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
Python 2.5
http://www.python.org/download/releases/2.5/
IronPython
http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
まとめ wiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
Pythonの入門書「みんなの Python」
http://www.amazon.co.jp/gp/product/479733665X/

Pythonのお勉強 Part14
http://pc8.2ch.net/test/read.cgi/tech/1161272096/
0478デフォルトの名無しさん2006/11/29(水) 01:08:02
def hoge(x=[1]):
x.append(1)
print x

>>> hoge()
[1, 1]
>>> hoge()
[1, 1, 1]

はめられたああああ!
初期化してくれねぇのかよ!
0479デフォルトの名無しさん2006/11/29(水) 01:09:29
>>478
横着しないで入門書読めば?
0480デフォルトの名無しさん2006/11/29(水) 01:14:48
>>476
reduce(lambda x, y:str(x)+str(y),[1,2,3])とか?
0481デフォルトの名無しさん2006/11/29(水) 01:20:16
>>479
いや、読み返して絶叫したんだよ。
正しくは「はまった俺はアホ」でした。すみません><
0482デフォルトの名無しさん2006/11/29(水) 01:31:00
>>480
thanx
0483デフォルトの名無しさん2006/11/29(水) 01:46:17
組み込み関数ならlambda使わず一発で出来るよ

"".join(map(str,list))
0484デフォルトの名無しさん2006/11/29(水) 02:00:19
>>481
まともな入門書なら、なぜそのようなことが起こるのか、たいてい書いてあるな。

>>477
冗長に思えるかも知れないけど、リストコンプリヘンションは表記として分かりやすいと思う。

"".join([str(x) for x in [1,2,3]])

あと、listという変数名は使わない方がいい。
0485デフォルトの名無しさん2006/11/29(水) 02:17:23
>>484
>まともな入門書なら、なぜそのようなことが起こるのか、たいてい書いてあるな。

ハマりどころだからね.
初心者がハマりやすい罠を、丁寧に解説してあるのがよい入門書の条件だと思う.
0486デフォルトの名無しさん2006/11/29(水) 03:20:32
pythonの関数名で、アンダーバーをいれる・いれないの基準ってありますか。
例えばdict.has_key()はアンダーバーが入っててhasattr()は入っていないんですが、ここらへんの命名方針があれば教えてください。
0487デフォルトの名無しさん2006/11/29(水) 07:10:49
http://oldriver.org/python/pep-0008j.html
> 関数名
>
> 関数名は lowercase 方式で命名。アンダースコアで単語を区切って可
> 読性を上げてもよい。mixedCase 方式は、既に広く使われているような文
> 脈(たとえば threading.py)で、互換性を保つ場合にのみ許される。
>
> メソッド名
>
> 関数の場合とほぼ同じ。lowercase 方式で命名し、可読性を上げる目的で、
> アンダースコアで単語を区切るのは構わない。

さじ加減次第?
04884752006/11/29(水) 07:32:24
test = u'てすと'
print u
てすと

となりますた。なんでだろう。
0489デフォルトの名無しさん2006/11/29(水) 07:35:49
>>478
http://www.python.jp/doc/release/tut/node6.html#SECTION006700000000000000000
>重要な警告: デフォルト値は 1 度だけしか評価されません。デフォルト値がリストや辞書のような変更可能なオブジェクトの時にはその影響がでます。例えば以下の関数は、後に続く関数呼び出しで関数に渡されている引数を累積します:
0490デフォルトの名無しさん2006/11/29(水) 11:12:18
>>487
Python 3.0で統一されるかも根。
0491Python初心者(復活)2006/11/29(水) 12:14:41
またご指導下さい。
Python2.5ではgeneratorにおいてsend()によって「値を
渡す」ことが出来るようになったとある。
例えば:
lang = ['C','Java','Perl','Lisp',
    'Python','Ruby']
   
def conLang (maximum):
  
  i = 0
  while i < maximum:
    
    val = (yield lang[i])
    if val is not None:
      i = lang.index(val)
    else:
      i += 1    

if __name__=='__main__':

  x = conLang(6)
  print x.next()
  print x.next()
  print x.send('C')
  print x.next()
  print x.send('Python')
  print x.next()

以上のコードから、原則的にyield文の戻り値は代入
出来ないが、send()とは結局(yield ??)の
「代入」を可能にするということですか?
0492デフォルトの名無しさん2006/11/29(水) 12:43:19
知らない
0493デフォルトの名無しさん2006/11/29(水) 13:27:20
>>488

そもそも、環境を書け。
http://lowlife.jp/nobonobo/zine/5/6.html
あたりは参考にならんのか?
0494デフォルトの名無しさん2006/11/29(水) 13:41:43
>>> def mygen():
...  while 1:
...   val = (yield 10)
>>> __import__('dis').dis(mygen)
 2      0 SETUP_LOOP       10 (to 13)
 3   >>  3 LOAD_CONST        1 (10)
       6 YIELD_VALUE    
       7 STORE_FAST        0 (val)
       10 JUMP_ABSOLUTE      3
    >>  13 LOAD_CONST        0 (None)
       16 RETURN_VALUE    
(参考: ttp://www.python.jp/doc/2.4/lib/bytecodes.html)
直前のnext()やsend()が値を返した直後はYIELD_VALUEまで実行されている。
send(arg)を呼ぶとargをTOSに積んでSTORE_FAST以降を実行。
だからval=argになって次のYIELD_VALUEまで進んで値を返す...ということじゃないかな。
next()を呼んだときはTOSにNoneを積むから、next()はsend(None)と等価だと思う。
>>> def mygen2():
...  while 1:
...   yield 10
 2      0 SETUP_LOOP        8 (to 11)
 3   >>  3 LOAD_CONST        1 (10)
       6 YIELD_VALUE    
       7 POP_TOP      
       8 JUMP_ABSOLUTE      3
とにかく2.5ではnext()を呼ぶとTOSに何かを積むらしい。2.4ではYIELDの前後はこうだった。
 3   >>  3 LOAD_CONST        2 (10)
       6 YIELD_VALUE    
       7 JUMP_ABSOLUTE      3
0495デフォルトの名無しさん2006/11/29(水) 13:47:12
> val = (yield lang[i])

> yield文の戻り値は代入出来ないが

してるじゃん。
0496デフォルトの名無しさん2006/11/29(水) 14:00:52
>>495
コードだけみてもの言わないでね^^
0497デフォルトの名無しさん2006/11/29(水) 14:01:51
>>495
早漏ぎみですね・・・ストレスでせうか?
0498デフォルトの名無しさん2006/11/29(水) 14:05:38
ストレス溜まってる時って遅漏にならねえ?
0499デフォルトの名無しさん2006/11/29(水) 14:38:11
質問です。

Tkinterを使おうと思っているんですけど
Microsoft Visual Studioのダイアログエディタみたいに、
GUIでボタンなどの部品を配置するソフトはありませんか?
0500デフォルトの名無しさん2006/11/29(水) 23:32:35
EmEditorやらサクラエディタやらTerapadでコード書く人って、
Pythonにはあまりいなそうだね。
需要が無いからか、色分け設定用意されてないことも多いし…。
0501デフォルトの名無しさん2006/11/30(木) 00:19:50
サクラエディタでやってるけど。
色分け、普通に出来てるよ。

少数派なの?
みんなはなに使ってるのよ。
0502デフォルトの名無しさん2006/11/30(木) 00:23:02
>>499
普通は、RADが裏で勝手なコードを吐くのが
イヤだから、スクリプト言語を使ってると思うんだ。

そういうのがいいなら、僕なら netBeansかなにかに
しとくなぁ。
0503デフォルトの名無しさん2006/11/30(木) 00:30:27
Emacsでしょ、普通
0504デフォルトの名無しさん2006/11/30(木) 00:34:09
ファイル構成が把握できるぐらいの小規模ならEmEditorで書いてますが・・・
0505デフォルトの名無しさん2006/11/30(木) 00:54:04
>>503
日本語の扱いが他のアプリと統一できないのが嫌。
0506デフォルトの名無しさん2006/11/30(木) 01:01:37
>>505
設定が悪いだけでしょ
0507デフォルトの名無しさん2006/11/30(木) 01:04:50
ttp://crooc.com/gtfzm
0508デフォルトの名無しさん2006/11/30(木) 01:34:21
>>507
自動補完って、普通の入力補完と違うの?
サクラエディタで、色分けと普通の入力補完してるけど。

最初に .py の拡張子付きで保存しないと、機能が使えない
のが多少難だけど、特段不満ないなぁ。

キーワードが少し足りないと思うけど、
設定ファイルに自分で書き足せば問題なし。

ああ、自動補完て、もしかして RAD のように
コード生成してくれる機能のこと?

あったら便利かもしれないけど、
コードの雛形をコピペするので十分かも。
05095072006/11/30(木) 02:32:58
>>508
最近調べていないから断言出来ないけど、
サクラエディタの補完機能はおそらく、マクロ実行コマンドを叩いてから実行されるが、
crescent eve の場合はうざい位に候補を自動で出してくれる。※編集中ファイル内の単語から候補を抽出。

EmEditor、秀丸とかも試しんですが、いづれもマクロを使って実現しているだけで、
必ずトリガーが必要で好きじゃない。

サクラで↑のような自動補完機能があれば即乗り換えなんですが、
どうでしょうか?

というか今から調べてみます。
0510デフォルトの名無しさん2006/11/30(木) 02:44:31
terapadで書き起こして、あとはIdleでちまちま修正

>>499
663 名前: 662 [sage] 投稿日: 2006/07/29(土) 11:50:08
SpecTIXというのがあった.
ttp://www.python.net/crew/mike/src/Spectix/Spectix.html
0511デフォルトの名無しさん2006/11/30(木) 02:51:59
もしMac使ってる人がいたら、
TextMateというエディタがおすすめ。
たしかTurboGearのスクリーンキャストで
使われてたので見た事ある人いるかも。
0512デフォルトの名無しさん2006/11/30(木) 02:55:01
>>509
あ、自動補完ってトリガーがいらないのね。
サクラエディタではたしかに、ctr-space 叩いてるわ。

あと、サクラのPython での色分けはね、
自分で設定とかしないといけないのよ。

自分は、↓ あたりみて、あれこれやった。
(例にあがっているのは、tclだけれど)
http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/wiki.cgi?page=%BF%A7%CA%AC%A4%B1%C9%BD%BC%A8%A4%B9%A4%EB
0513デフォルトの名無しさん2006/11/30(木) 03:08:49
mac使ってる〜研究室で.
matlabモードもあるかな…
0514デフォルトの名無しさん2006/11/30(木) 03:22:24
>>513
TextMateのデフォルトではインストールされてないけど、
下の言語を追加するプラグインを入れてプラグイン一覧を見てみると
mathlabプラグインもあったよ。
http://sg.validcode.at/2006/11/7/textmate-getbundle-bundle

0515デフォルトの名無しさん2006/11/30(木) 03:27:04
どーも,おきたら読んで見る
0516デフォルトの名無しさん2006/11/30(木) 03:30:32
>>511
TextMateは日本語入力が難しいって話だけど、どのへんがおすすめなの?
構文色分け程度なら他のエディタもあるし。
0517デフォルトの名無しさん2006/11/30(木) 03:54:47
>>516
日本語の問題はhetimaさんという人がプラグイン書いてくれたおかげで、
大分ましになったかな。作者は次のMacOSXの機能を利用して完全に解決
すると公言してる。
魅力は、他のIDEのようにフォルダを階層表示するドロワーを備えていて、
関係ファイルをタブ表示できるGUI機能。文字列を選択してオプションキー
を押すだけで選択範囲を行方向の選択から列方向の選択に切り替えて複数の
行を編集できたり、鬼車という正規表現エンジンがかなり強力で文字列の
検索置換の自由度が高いなどのエディタ機能の充実。それと、選択文字列を
シェル変数に入れてそれをスクリプトで処理してそのままエディタの文字と
置換できるので、シェルで動く言語なら何でもスクリプトが書けて、
既に何十という言語に対応した文字の色分けやスクリプトをパッケージを
まとめたバンドルというプラグインが存在してる事かな。
だめな部分は、シェアウェアだという事と、日本語に完全に対応してない、
Emacsに比べるとまだまだスクリプトが充実してない事かな。
0518デフォルトの名無しさん2006/11/30(木) 04:14:04
>>515
じゃあ一応TextMateのダウンロード先も
http://macromates.com/
0519デフォルトの名無しさん2006/11/30(木) 07:30:31
ちょい古いソフトだけどKaaEdit使ってます。
http://www.vector.co.jp/soft/win95/writing/se177399.html
0520デフォルトの名無しさん2006/11/30(木) 08:45:59
グレートにマイナーなエディタ使ってるから、色分けできねえ。
コマンド一覧吐き出させる方法があれば、設定を自作できるにしても、
本体だけでできることを少なくしてる特性上、満足なモノはできないっぽい。
かといって、全部のモジュールを拾うのは大変だし。
がんばっても入力補完できないから、alt /壊れてるIDLEの方がマシか…。
0521デフォルトの名無しさん2006/11/30(木) 10:24:50
色分けって、そんなに必要?

自分は、入力補完はないとやってられないが、
色分けは特段に必要性とか感じないけど。
0522デフォルトの名無しさん2006/11/30(木) 10:27:06
>>520
で、そのグレートにマイナーなエディタってなに?
いや、避けて通りたいのでw
0523デフォルトの名無しさん2006/11/30(木) 11:00:12
もうメモ帳でいいじゃないか。
0524デフォルトの名無しさん2006/11/30(木) 11:04:48
オレはバイトコードを手書きしてるんだぜ?
05254992006/11/30(木) 11:23:47
>502 >510
レスthanx

SpecTIXが消滅している模様・・・

TkinterのGUIビルダーは結局ないのか?!

GUIビルダーを使いたいならPyGTKかwxPythonを使うしかないのか?!?!
0526デフォルトの名無しさん2006/11/30(木) 11:37:44
>>525
コードの雛形をコピペするんじゃ、
ダメなの?

そんなにGUIビルダーが必要かなぁ。
Java でRAD のおせっかいにはうんざりしたクチなので。

まあ、でも、オンラインのコードのコピペOKの
ちゃんとしたクイック・リファレンスはほしいと思ってる。
0527デフォルトの名無しさん2006/11/30(木) 12:14:17
>>525
> GUIビルダーを使いたいならPyGTKかwxPythonを使うしかないのか?!?!

それはイヤなの?
0528デフォルトの名無しさん2006/11/30(木) 12:33:20
javaで代数螺旋のリチュースをかきたいのですが、
public class Lituus extends Applet {
public void paint (Graphics g) {
g.setColor(Color.red);
int centerx = getWidth()/2;
int centery = getHeight()/2;
g.drawLine(0,centery,centerx*2,centery);
g.drawLine(centerx,0,centerx,centery*2);
g.setColor(Color.blue);
int n=360;
double zoomx=10,zoomy=10;
double delta =Math.PI*2/n;
int radius = (centerx<centery)? centerx*3/4:centery*3/4;
double c =Math.sqrt(2*Math.PI)*(radius);
double t = 0.001;
double r =Math.sqrt(ここ);
int lastx = (int)(r*Math.cos(t))+centerx;
int lasty = -(int)(r*Math.sin(t))+centery;
for (int i=1;i<=n;i++){
t+=delta;
r=Math.sqrt(ここ);
int x = (int)(r*Math.cos(t*zoomx))+centerx;
int y = -(int)(r*Math.sin(t*zoomy))+centery;
g.drawLine(lastx,lasty,x,y);
lastx=x;
lasty=y;
}
}
}
ここってかいたとこができればできるらしいのですが、わかりますか?おしえてください
05295282006/11/30(木) 12:38:46
すみません。まちがえました
0530Python初心者(復活)2006/11/30(木) 12:39:50
>>494
>next()はsend(None)と等価だと思う。
本当だぁ!
>>491
の最後を
  x = conLang(6)
  print x.send(None)
  print x.next()
  print x.send('C')
  print x.send(None)
  print x.send('Python')
  print x.next()
と変えてみたが、全く同じ動作をする…
しかし、
    if val is not None:
      i = lang.index(val)
    else:
      i += 1
だから、Noneがsend()されればelse:以降が
実行されるってのは、当たり前だと言えば
そうだが…
0531デフォルトの名無しさん2006/11/30(木) 13:04:10
対話環境の日本語の扱いがうまく行きません。

http://lowlife.jp/nobonobo/zine/5/6.html
ここを見てsitecustomize.pyを設置しているんですが、

---------------------
Python 2.4.3 on Windows XP
>>> sys.getdefaultencoding()
'mbcs'
>>> print u'ほげ'
ほげ
---------------------
Python 2.3.4 on RedHat EL4
>>> sys.getdefaultencoding()
'UTF-8'
>>> print u"ほげ"
≫
---------------------
Python 2.3 on Debian serge
>>> sys.getdefaultencoding()
'euc-jp'
>>> print u"ほげ"
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeEncodeError: 'euc_jp' codec can't encode character u'\xb2' in position 3\
: illegal multibyte sequence
---------------------

>>> print u"ほげ" がうまく行くのはWindowsだけです。
何かアドバイスをいただけないでしょうか?
05325312006/11/30(木) 13:06:03
なお、どのマシンでも、対話環境でなくてファイルに記述すれば、
print u"ほげ"
は問題なく「ほげ」と表示されます。
0533Python初心者(復活)2006/11/30(木) 13:21:20
アキュムレータ(累積器)プログラムのクラスを使用した
正式ヴァージョンと関数を利用した簡易ヴァージョンです。
class Accumulator:
  def __init__(self, start):
    self.val = start

  def incr(self, amount):
    self.val += amount

  def getValue(self):
    return self.val

def accum(n):
 s = [n]
 def infunc(i):
  s[0] += i
  return s[0]
 return infunc

if __name__=='__main__':
  
  val = Accumulator(5)
  val.incr(3)
  print val.getValue()
  val.incr(4)
  print val.getValue()
    
  ac = accum(5)
  print ac(3)
  print ac(4)
0534Python初心者(復活)2006/11/30(木) 13:22:19
ポールグレアムが、「Pythonユーザーはなぜ以下のように
書けないか疑問に思って良いと思う。
def foo(n):
 return lambda i: return n += i
あるいは、
def foo(n):
 lambda i: n += i」
とhttp://www.shiro.dreamhost.com/scheme/trans/icad-j.html
で書いている。上記簡易ヴァージョンより簡単な書き方は
ないのでしょうか?
0535デフォルトの名無しさん2006/11/30(木) 13:47:41
>>525

これはちがうの?
http://sourceforge.net/projects/ptkgb/
0536デフォルトの名無しさん2006/11/30(木) 13:56:11
>>533-534
自分も以前に調べたけど、ないと思う。
Pythonには
1.lambda関数には、式は書けるが、文は書けない。
2.クロージャが参照している変数は、書き換えはできない。
という制約があるから。

Guidoはlambdaが嫌いなので(見づらくなりがちだから)、1.が変わることは
ないだろうけど、2.は単に、代入するとローカル変数の宣言になってしまうと
いうだけなので、適当な表記法さえ見つかれば、クロージャの参照している変
数の書き換えの機能を追加しても良い、という話になっているらしい。以前の
Pythonスレにそう書いてあった。
0537デフォルトの名無しさん2006/11/30(木) 14:19:33
こんな感じ?

def foo(n):
    a = [n]
    return lambda i: a.__setitem__(0, i + a[0]) or a[0]

f = foo(1)
print f(2)
print f(3)
print f(4)
0538デフォルトの名無しさん2006/11/30(木) 14:22:41
多少長いがこんな方法もある。

class foo:
    def __init__(self, n):
        self._n = n
    def __call__(self, i):
        self._n += i
        return self._n

f = foo(1)
print f(2)
print f(3)
print f(4)
0539デフォルトの名無しさん2006/11/30(木) 15:12:07
>>531
うまくいかない環境のPythonのバージョンを
うまくいく環境のものに合わせればいいのでは。
05405362006/11/30(木) 15:26:47
>>537-538 うわー、やろうと思ったら何とかなるのね。
しかし、537は無理やり過ぎないか?
0541デフォルトの名無しさん2006/11/30(木) 15:56:47
ここだけの話だが俺は昔lambdaをランバダと読んでいた。
知らないだろ?ランバダ。
0542デフォルトの名無しさん2006/11/30(木) 16:01:23
>>531
うちは XP で Python2.5だけど、
その方法ではうまくいかない。
(うちだけなのか?)

対話モードでは、諦めて
print unicode('ほげ', 'mbcs')
方式でやってるなぁ。
0543デフォルトの名無しさん2006/11/30(木) 16:36:38
LANG=ja_JP.eucJPにしてみるとか
05445312006/11/30(木) 17:07:52
>>539 残念ながら、バージョンは変えられないのです。

>>543 それはもちろんやっております。


ところで、>>531の書き込みが一部、おかしくなっていました。

Python 2.3.4 on RedHat EL4
>>> print u"ほげ"
≫ ←ここ

「≫ 」になっていますが、実際は a の上に ~ が付いたものが出るなどの文
字化けになっています。まあ些細なことですが。
0545デフォルトの名無しさん2006/11/30(木) 19:37:03
そもそも print u'ほげ' が対話環境で問題なく出力される人って、どのぐらい
いるんだろうか?いたら環境を教えて欲しい。ちなみに自分はダメ。
0546デフォルトの名無しさん2006/11/30(木) 19:40:56
すくなくとも Python 2.4.2 では手元の Unix/Linux で問題なく
出力できている。
0547デフォルトの名無しさん2006/11/30(木) 19:44:19
>>545
Linux (FC5 UTF-9)だが、問題なく出力される
0548デフォルトの名無しさん2006/11/30(木) 19:45:32
>>> print u"ほげ"
造族

ナニコレ(WWWWWWWWWWWWWW
0549デフォルトの名無しさん2006/11/30(木) 19:46:39
win2k + Python2.4.3、2.5 (コマンドプロンプト)
FreeBSD6.1R + Python2.4.3、2.5 (PuTTY経由)

でもいけるようだ
0550デフォルトの名無しさん2006/11/30(木) 19:47:54
つ >> print "ほげ"
   ほげ
これで不都合ないので問題ない
0551デフォルトの名無しさん2006/11/30(木) 20:08:08
XPsp2 Python2.5だが問題なく表示されるぜ
sys.getdefaultencoding()が
asciiでもutf-8でもmbcsでも問題ない
0552デフォルトの名無しさん2006/11/30(木) 20:13:56
>525
Python Tk Gui Builder

出たばかりのソフトか
0553デフォルトの名無しさん2006/11/30(木) 22:07:30
TextMateで多分作者?がpythonのサンプルコード書いてる
スクリーンキャストあったので、よかったらどうぞ

http://macromates.com/screencast/python_part_1.mov
0554デフォルトの名無しさん2006/11/30(木) 22:17:18
日本語のインライン表示ができないエディタなんてつかえねえやアホが。
0555デフォルトの名無しさん2006/11/30(木) 22:37:38
ttp://d.hatena.ne.jp/a4w/20061130/1164877152

Python教えてるんだと。
一回生ということは大学かなあ?
0556デフォルトの名無しさん2006/11/30(木) 23:10:09
〜回生って関西の表現なのかな.
0557デフォルトの名無しさん2006/11/30(木) 23:26:47
実践Pythonって今日発売日だよね.
買った人いますか?
ブログ検索では買った人を見かけない...orz...
0558デフォルトの名無しさん2006/11/30(木) 23:27:49
こんなのあったんだ。kaa教えてくれた人ありがと。
0559デフォルトの名無しさん2006/11/30(木) 23:50:27
>557
12月1日発売,今日じゃねーじゃん
http://www.cbook24.com/bm_detail.asp?sku=4886484602

もしかして発売の前日に話題にしとくと得する人?
0560デフォルトの名無しさん2006/12/01(金) 00:07:25
>>554
これだけ使えればコメントなんかは十分じゃない
http://www.youtube.com/watch?v=8iQVujJjTzo
0561デフォルトの名無しさん2006/12/01(金) 00:11:45
>>560
微妙。
日曜プログラマしか満足しねえだろ。

TextMateって,作者タソがマルチバイト対応宣言してるんじゃなかったっけ?
正式に対応してインライン変換できるようになるまで待つことにするよ。
0562デフォルトの名無しさん2006/12/01(金) 00:16:37
>>561
Leopardの機能つかって対応すると言ってる。
スレ違いでしつこくてすまない
0563デフォルトの名無しさん2006/12/01(金) 00:30:54
>>559
今日普通に平積みしてあった。

あまりにも低レベルな内容だったので当然スルー。
いちいちifを図で解説してもらわなくても結構という感じ。
0564デフォルトの名無しさん2006/12/01(金) 00:39:18
>>563
>あまりにも低レベルな内容だったので

「実践」ってタイトルについているのに低レベルなのか。
低レベルな実践ってなんなんだ(w
0565デフォルトの名無しさん2006/12/01(金) 00:44:48
貧乏学生にはtextmateが有料なので(ry
0566デフォルトの名無しさん2006/12/01(金) 01:55:36
>>562
スレ違いだと分かってて居座ってますってことか?
0567デフォルトの名無しさん2006/12/01(金) 02:00:13
>>564
略して"しっぱい"ですから
0568デフォルトの名無しさん2006/12/01(金) 02:47:16
>>566
上のほうでWindowsのエディタの話もしてたから
許容範囲かと思ったけど、別のスレに誘導すればよかったね
ごめんね
0569デフォルトの名無しさん2006/12/01(金) 02:53:49
許容範囲外だと思ってるのは約一名だろうから気にするな
0570デフォルトの名無しさん2006/12/01(金) 02:57:02
>>568
いや、こっちもカリカリしすぎた。気分悪くしてスマソ。
0571デフォルトの名無しさん2006/12/01(金) 03:08:32
Macだけど、miの新しいPythonモードがあればいいんじゃね。ヒマなとき自分で作ってみるか
・・・と、2, 3年間考えてるが何もしてない
0572デフォルトの名無しさん2006/12/01(金) 03:38:33
はじぱい>>>みんぱい>しっぱい
0573デフォルトの名無しさん2006/12/01(金) 03:48:22
>>572
にいやまさん,いつもご苦労様です
0574デフォルトの名無しさん2006/12/01(金) 04:43:55
>>560
二本語ワロス。

といかインライン入力(だっけ?)ってできないのこれ?
0575デフォルトの名無しさん2006/12/01(金) 09:33:31
任意のクラスオブジェクトをiterableにするには、__iter__(self)やiter(seft)を
実装するだけでは足りないでしょうか。

if object in MyIterable:
  anything_else...

こんなことをすると、

TypeError: iterable argument required
とか
TypeError: argument of type 'type' is not iterable
と怒られます。
0576デフォルトの名無しさん2006/12/01(金) 10:29:59
>>575
MyIterableクラスのインスタンスをつくってイテレータとして利用するんだよ。

if object in MyIrerable():
  # any code...

こんなかんじか?
0577デフォルトの名無しさん2006/12/01(金) 11:49:33
>>576
あぁ、なるほど。ありがとうございます。うまくいきました。
クラスオブジェクトのままではだめか……
■ このスレッドは過去ログ倉庫に格納されています