1 名前:デフォルトの名無しさん [2008/06/13(金) 04:22:02 ] Python オフィシャルサイト ttp://www.python.org/ ttp://www.python.org/doc/ 日本Pythonユーザ会 ttp://www.python.jp/Zope/ ttp://www.python.jp/doc/ FrontPage - Pythonのお勉強 ttp://python.rdy.jp/ 前スレ pc11.2ch.net/test/read.cgi/tech/1209480428/ ◆関連スレッド Microsoft IronPython 1.0 pc11.2ch.net/test/read.cgi/tech/1157686822/ Python の宿題ここで答えます Part 1 pc11.2ch.net/test/read.cgi/tech/1153585095/ Python Challengeをやろう! pc11.2ch.net/test/read.cgi/tech/1175919288/ Pythonについて(アンチ専用) pc11.2ch.net/test/read.cgi/tech/1203557046/ Pythonに見られるインデントによる制御構造の是非 pc11.2ch.net/test/read.cgi/tech/1169473442/ pythonがこの先生きのこるには pc11.2ch.net/test/read.cgi/tech/1167996371/ Eclipse統合M25【Java/C/PHP/Ruby/Python/Perl】(PyDev) pc11.2ch.net/test/read.cgi/tech/1211505494/ 【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】 pc11.2ch.net/test/read.cgi/tech/1209289408/ デザパタ + Python/Ruby/Smalltalk part2 pc11.2ch.net/test/read.cgi/tech/1175959706/ 2ch検索: [python] find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
91 名前:デフォルトの名無しさん [2008/06/15(日) 18:28:46 ] 未定義の新しいクラス名が出てきたと思ったら、そのクラスを生成しちゃう裏技は? a = B() # Bは未定義 a.met() # B::met()は未定義 ってあったとき、B()もmet()も空っぽでいいんでとりあえず実行させたいんだけっこ
92 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 20:35:28 ] >>91 NameErrorやAttributeErrorを処理するんじゃ駄目なの?
93 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:08:30 ] >>91 それって確かクックブックに載ってた気がする。
94 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:16:24 ] >>91 あった。6.17 Null Objectデザインパターンを実装する...ってやつ でいいんじゃないか? 本を持ってなければASPNに探しに行けば同内容のが載ってると思うよ。
95 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:20:16 ] これかな aspn.activestate.com/ASPN/Cookbook/Python/Recipe/68205
96 名前:デフォルトの名無しさん [2008/06/15(日) 21:29:59 ] 宿題スレでスレ違いと言われたのでこっちに引っ越しま〜す♪ 657 名前:デフォルトの名無しさん[] 投稿日:2008/06/15(日) 20:24:59 Jythonのアプレットでexecが使いたい件 www.jython.org/applets/issues.html ↑証明書つければOKって読んだんですが、 証明書つけても、↓。たすけて Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: org/python/core/parser at org.python.core.Py.compile_flags(Unknown Source) at org.python.core.Py.compile_flags(Unknown Source) at org.python.core.__builtin__.compile(Unknown Source) at org.python.core.__builtin__.eval(Unknown Source) at org.python.core.__builtin__.eval(Unknown Source) at org.python.core.BuiltinFunctions.__call__(Unknown Source) at app$_PyInner.actionPerformed$36(app.java:556) at app$_PyInner.call_function(app.java:245) (ry
97 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:33:00 ] Jythonスレでも立てたら? 過疎るだろうけど。
98 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:43:31 ] >>92 print "0" try: print "1" a = B() print "2" a.c() print "3" # ... # a = C()とかいっぱい except NameError: print "NameError" # 確認用に出力してるだけ # ここで、2に戻りたい?? except: print "abc" print "z" 期待 "0123z" 結果 "01NameErrorz" >>93-95 ありがとうございます。 Nullだけでは、だめで class B(Null): pass とか定義しないとだめかもなきがします。 それすら横着したいんですが・・orz
99 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:52:46 ] B()はともかく foo.bar なら __getattr__ でいけそうな気がするが
100 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:03:36 ] 100
101 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:10:37 ] 101
102 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:20:13 ] >>96 JythonもJAVAも知らんけど、そのリンク先では「アプレットでは"exec"と"eval" は使えない。」って言ってると思ふ。
103 名前:102 mailto:sage [2008/06/15(日) 23:31:23 ] いや、「unsigned applets では・・・」だな。 ごめん、忘れておくれ。
104 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:12:48 ] >>79 >売れているのは、ここで「バイブル」って書いてるからだろ。 このスレの書き込みがそんなに影響力あるわけないだろ〜、こ〜の〜(www イナカモノの妄想は恥ずかしいな(www
105 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:48:00 ] どっちも推測の域を出てないけどな
106 名前:職場にそういってたのが二人いるんだよね mailto:sage [2008/06/16(月) 12:32:40 ] >8 お主、俺の同僚だったりしないだろうな?
107 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 12:33:20 ] >このスレの書き込みがそんなに影響力あるわけないだろ〜、こ〜の〜(www あるんじゃないか?マイナーな言語だから他にソースないし。 こっちの方がMLより活発だしね。
108 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:21:23 ] >>107 そうだね、君には神の声が聞こえるよね。
109 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:27:21 ] Pythonで学ぶソフトウェア作法の新しいやつでないかな。
110 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:29:37 ] 出るよ。 にちゃんねるがソースの情報だけど。
111 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:33:38 ] >>108 君の神が「そんなわけない」と言ってるのはわかったよ。
112 名前:デフォルトの名無しさん [2008/06/16(月) 13:38:00 ] class A: B = 1 a = A() a.B a.B呼び出しをフックしたいのですが、 (a.Bが実行される前に__getattr__のようなメソッドが呼ばれるとうれしい)
113 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:38:22 ] なんでも否定されているように感じるのは、ヒキコモリの特徴だね。
114 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:49:31 ] 2chしか情報源がないなんてかわいそうだね.
115 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:49:40 ] まったくだ。 神とか言い出してまで食い下がるトコじゃないのにね。
116 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:58:22 ] あ
117 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:58:52 ] >>112 プロパティ使えば? class A: @property def B(self): print "B" return 1
118 名前:117 mailto:sage [2008/06/16(月) 14:03:42 ] >>112 プロパティ使わなくても、objectから継承すれば__getattribute__でフック出来たわ
119 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:20:56 ] >>115 そうあなたのウッチュウジンが言ったんですね。分かります。
120 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:36:45 ] pass
121 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:53:54 ] None
122 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:14:35 ] God
123 名前:デフォルトの名無しさん [2008/06/16(月) 17:20:13 ] class Aに定義 def __getattr__(self, mname): # C def __getattribute__(self, mname): # D # object継承/非継承と、変数定義/未定義のパターン class A(): #1 #b = 1 #B = 1 class A(): #2 b = 1 B = 1 class A(object): #3 #b = 1 #B = 1 class A(object): #4 b = 1 B = 1 a = A() アクセスしたときの挙動 #1 #2 #3 #4 a.b C ○ D ○ a.B C ○ D ○ A.b x ○ x ○ A.B x ○ x ○ x ・・・ AttributeError: class A has no attribute 'b'
124 名前:デフォルトの名無しさん [2008/06/16(月) 17:22:40 ] >>117-118 ありがとうございます。 objectの継承と、__getattribute__使ってみました 結果、>>123 なんですが、暑いので、 なにがやりたいのかわからなくなってきました 閑話休題 ところで、 class A(): b = 1 のbはクラス変数であってますか? インスタンスを作らずにA.bというふうにアクセスしてもいいですか? >>123 のxのところをなんとかしてください?m(__)m
125 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:03:08 ] つ __metaclass__
126 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:35:50 ] 懐かしいな。 久しぶりにメタクラスの話題をやろうぜ。 あとデザインパターンも。
127 名前:デフォルトの名無しさん [2008/06/16(月) 22:06:15 ] そういうことは西○さんにまかせとけ
128 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:10:34 ] >>> x+y x + y >>> -(x-y) y - x >>> 24-72 -48 >>> trace('24-72') 24-72 -(-24+72) # 省略可 -(72-24) 数値のリテラルをオブジェクトとして演算子'-'で展開する とか、どうやればよいでしょうか? 関数作って文字列加工でお茶濁すのもじぶんには書けない…orz
129 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:23:36 ] __sub__ __neg__
130 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:58:22 ] お茶を濁すのはこんなのでいいの? >>> def adder(a,b): ... print '%s + %s' % (str(a),str(b)) ... >>> def subtracter(a,b): ... print '%s - %s' % (str(b),str(a)) >>128 が書いてあるような操作が必要なときってどんなときが あるの?想像がつかないんだけど。
131 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:26:12 ] >>130 いやね。(24-72) 弟がわからんいうとるのよ どう筆算したらええねんとか -(72-24)ならわかるらしい(謎
132 名前:131 mailto:sage [2008/06/17(火) 02:31:54 ] def trace(exp): ''' >>> trace('24-72') # one '-' elements '-(72-24)' >>> trace('x-1/2-1/3-1/4') # two '-' elements '-(1/4+1/3+1/2+x)' >>> trace('24+72') # no '-' elements '-(-72-24)' ''' if '+' in exp: n = len(exp.split('+')) if n >= 3: print 'not implement...' else: elm = '-'.join(list(reversed(exp.split('+')))) return '-(-' + elm + ')' else: n = len(exp.split('-')) if n >= 3: elm = '+'.join(list(reversed(exp.split('-')))) else: elm = '-'.join(list(reversed(exp.split('-')))) return '-(' + elm + ')' import doctest doctest.testmod() ユニットテストは通るけど、初項の符号が間違ってるし… 二項なら上手くいきそうだけど、おいらには三項以上は無理そげ
133 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:38:13 ] 繰り上がりは分かるけど繰り下がりがわからないんだろな
134 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:26:38 ] 奇数列を簡単に生成するには どうすれば良いですか?
135 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:29:35 ] [i for i in range(100) if i % 2]
136 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:37:08 ] range(0,100,2) じゃだめなの?
137 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:37:28 ] def odd(x=1): x+=2; yield x;
138 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:39:31 ] range(1,100,2)か。奇数列なら。
139 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:59:52 ] itertools.ifilter(lambda x: x % 2, itertools.count())
140 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:01:39 ] itertools.islice(itertools.count(1), None, None, 2) とどっちが速いだろ
141 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:03:22 ] >>138 >>> range(1,100,2)[0:10] [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] >>> range(0,100,2)[0:10] [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] 有限個の数列を生成するなら、 関数 => リスト => スライス演算(部分数列=部分リスト) が理解しやすそうd odz.sakura.ne.jp/projecteuler/index.php?Problem%2014 >>> t_collaz(exp) 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1 コラッツ問題のtracerは、どう書いたら良いでしょうか?
142 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:28:31 ] def collatz(n) show n if n.odd? and n > 1 collatz(3n + 1) else if n.even? collatz(n / 2) 再帰で処理を分岐して、引数を数珠繋ぎに取って来て、 各ステップの値を引数に託して、リストを生成する return '→'.join(結果リスト)。書けん…orz
143 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:38:08 ] >>141 def collatz(n): r=[] while n>1: r.append(n) n=3*n+1 if n%2 else n/2 return r print collatz(13) # => [13, 40, 20, 10, 5, 16, 8, 4, 2]
144 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:47:36 ] def collaz(n): if n in odd and n > 1: collaz(3*n+1) yield n elif n in even: collaz(n/2) yield n >>> odd = range(1,100,2)[:10] >>> even = range(0,100,2)[:10] >>> [x for x in collaz(13)] [13] ジェネレーターの使い方がわからない… return と、どう違うねん
145 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:56:11 ] def collatz(n): while n > 1: yield n % 2 and 3 * n + 1 or n / 2 reduce(lambda x, y: "%s->%d" % (x,y), collatz(13), "").lstrip("->") 汚ぇw
146 名前:145 mailto:sage [2008/06/17(火) 10:59:02 ] まあreduce()は冗談 普通はjoinだよな常考
147 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:07:29 ] >>143 とても正しいです… def collatz(n): r=[] while n>1: r.append(n) n = 3*n+1 if n%2 else n/2 yield r >>> collatz(13) <generator object at 0x02637788> >>> [x for x in collatz(13)] [[13, 40, 20, 10, 5, 16, 8, 4, 2]] def collatz(n): r=[] while n>1: r.append(n) n = 3*n+1 if n%2 else n/2 yield r >>> [x for x in collatz(13)] [[13, 40, 20, 10, 5, 16, 8, 4, 2], [13, 40, 20, 10, 5, 16, 8, 4, 2], [13, 40, 20, 10, 5, 16, 8, 4, 2], [13, 40, 20, 10, 5, 16, 8, 4, 2], [13, 40, 20, 10, 5, 16, 8, 4, 2], [13, 40, 20, 10, 5, 16, 8, 4, 2], [13, 40, 20, 10, 5, 16, 8, 4, 2], [13, 40, 20, 10, 5, 16, 8, 4, 2], [13, 40, 20, 10, 5, 16, 8, 4, 2]] なんか動作がわからない。なんで完成したリストが13回返されるかな… 計算結果を格納した暫定結果リストを返してくれれば便利そげだけど
148 名前:145 mailto:sage [2008/06/17(火) 11:13:04 ] アホだ...こうしないと動かないよな def collatz(n): while n > 1: yield n n = n % 2 and 3 * n + 1 or n / 2 >>147 どんな出力を求めてるのかが、いまいちよくわからない
149 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:18:21 ] >>147 > なんか動作がわからない。なんで完成したリストが13回返されるかな… yield r の開始位置を比べてみそ。
150 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:19:44 ] yield list(r)
151 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:33:22 ] >>148 def collatz(n): yield n n = n % 2 and 3*n + 1 or n/2 >>> collatz(13).next() 13 >>> f = collatz(13) >>> f.next() 13 >>> f.next() Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration >>> [x for x in collatz(13)] [13] >>149 開始位置ってなんじゃらほい サンプルとかヒントきぼん
152 名前:151 mailto:sage [2008/06/17(火) 11:36:36 ] あほだ…while抜け取るやん…orz
153 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:47:29 ] >>148 def collatz(n): while n > 1: yield n n = n % 2 and 3*n + 1 or n/2 >>> f = collatz(13) >>> f.next() 13 >>> f.next() 40 >>> [x for x in f] [20, 10, 5, 16, 8, 4, 2] return [リスト] っぽいけど操作すると要素が消費されてくのね… 部分リストを、返せば計算過程が [[13],[13,40],[13,40,20],[13,40,20,10],…] >>> t_colltz(13) 13 13 -> 40 13 -> 40 -> 20 13 -> 40 -> 20 -> 10 … 便利?
154 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:14:06 ] >>> for i, x in enumerate(collatz(13)): print x[:i+1] [13] [13, 40] [13, 40, 20] [13, 40, 20, 10] [13, 40, 20, 10, 5] [13, 40, 20, 10, 5, 16] [13, 40, 20, 10, 5, 16, 8] [13, 40, 20, 10, 5, 16, 8, 4] [13, 40, 20, 10, 5, 16, 8, 4, 2] StopIteration で最終項 x[:8+1].append(1)を 返すとか可能かな?
155 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:42:35 ] >>153 相変わらずよくわからんが def holder(seq): l = [] for x in seq: l.append(x) yield l[:] こんな感じのを作れば任意のイタレータを追跡できるんじゃね 効率悪そうだけど >>> for x in holder(xrange(10)): ... print x ... [0] [0, 1] [0, 1, 2] [0, 1, 2, 3] [0, 1, 2, 3, 4] [0, 1, 2, 3, 4, 5] [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7, 8] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
156 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:11:05 ] >>155 codepad.org/ftT9hMVc こんなかんじで f = iter(seq) でパックしつつ 順序が重視される並び(たとえばトランプの手札)を 用意して それに外部から操作する関数 def 人名_gnext(): で 操作したら わかりやすくならないかな…グローバル変数 操作するのと対して変わらないか…
157 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:39:47 ] >>144 ジェネレータのyield自体はreturnとほとんど意味は同じ。 next()が呼ばれるとyieldのところから実行が再開される。 (yieldを書くとnext()は勝手に作成される) ジェネレータの中でループ使ってないと、あまり意味はない。 無限ループからyieldで値を返すと、無限数列が作れる。
158 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:18:52 ] >>144 入門書嫁。
159 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:43:31 ] Pymacs 入れようと思ったんですが、pymacs-servicesが見つかりません どこですか?
160 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:50:40 ] pymacs-0.23です
161 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:31:56 ] Pythonってクールですね
162 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:51:12 ] Pythonってコールドですね
163 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:54:50 ] 162だけがコールドですね。
164 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:02:53 ] 僕のPythonもクールダウンしそうです
165 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:10:09 ] >>164 単三電池でウォームアップすれば? ところでみんなアッー!温泉行く?
166 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:17:48 ] python 開発の歴史をビジュアル化したものだそうです www.vimeo.com/1093745 2000年ごろとか Google 移籍辺りでドーンと来てるね
167 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:52:39 ] コミットを視覚化してるのか、面白いね
168 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:05:05 ] 離れてってるのもあるのが微妙
169 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:07:16 ] この効果音あんまり好きじゃない
170 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 15:50:16 ] >>166 GJ
171 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:18:27 ] Batteries Inserted
172 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:08:23 ] 話題に乗るのが2,3日遅くね?
173 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:17:45 ] 電池挿入済みの哲学ですね。わかります
174 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:22:40 ] このスレを見ている人はこんなスレも見ています。(ver 0.20) 【batteries】電池☆挿入【inserted】[ガチホモ]
175 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:45:06 ] 自己解決しました
176 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:40:43 ] 自己挿入しました。
177 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:19:24 ] ^ ~ ってなんの演算子?
178 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:32:38 ] >>177 ttp://www.python.jp/doc/release/lib/bitstring-ops.html
179 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 01:42:07 ] ttp://d.hatena.ne.jp/odz/20061119/1163971267#20061119fn1 いい加減なんだってさ
180 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 02:01:32 ] そもそも比較なんていい加減なもんだろ 微妙に方向違うんだから完璧に正しく比較なんてむりだ
181 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 02:08:27 ] 変数名の面白さを比較するんですね わかります
182 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 03:25:22 ] >>179 内容は、揚げ足とるだけで終わっているね
183 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 03:56:23 ] ちょっとききたいんですが。 Python2.5ライセンスのBの3を見ると、 >Python2.5を改変して使う場合は変更点の要約を配布物に含めよ みたいなことがかいてあるけど、たとえばPythonのソースに手を加えて 改造版Python25.dllをつくってアプリに組み込んだとすると、 具体的にどこを改造したのかドキュメント化(もしくはソース添付)しないといけないってこと?
184 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:33:29 ] うん
185 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:53:26 ] >>179 「はじめてのPython」の著者じゃん(wwww 糞本の作者だけあって、便所の落書きも糞だな(wwwwwwwwww
186 名前:デフォルトの名無しさん mailto:age [2008/06/20(金) 10:17:51 ] 2.6b1 & 3.0b1 release age 3.0はモジュール名の大改修が行われてて、2.xからの移行が大変そうだ……
187 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 11:24:00 ] それは、オリジナルの Python25.dll をつかってさえいれば、 なにも書く必要は無いってこと?
188 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 11:58:10 ] >>186 っ2to3
189 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:35:10 ] >>188 構文はそれでだいたいいけるとして、 ライブラリの再編まで追従してくれるのん? つか初βだし、そろそろ2to3使ってみるかな
190 名前:デフォルトの名無しさん [2008/06/20(金) 13:19:10 ] 関数(メソッドじゃなくてインデント0のdef)が、頭大文字の名前で定義されてるのを見たんだけど、 これは慣習的にどういう意味を持つの? ついでに、メソッドの場合は?
191 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:48:34 ] 関数名が大文字で始まるのはMicrosoftのAPIなんかがそうだな