Pythonのお勉強 Part18
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/04/09(月) 04:14:41Pythonのお勉強 Part17
http://pc11.2ch.net/test/read.cgi/tech/1171613101/
日本Pythonユーザ会
http://www.python.jp/
Python オフィシャルサイト
http://www.python.org/
<関連スレ>
Microsoft IronPython 1.0
http://pc8.2ch.net/test/read.cgi/tech/1157686822/
Python の宿題ここで答えます Part 1
http://pc8.2ch.net/test/read.cgi/tech/1153585095/
Python Challengeをやろう!
http://pc11.2ch.net/test/read.cgi/tech/1175919288/
<まとめwiki>
http://python.rdy.jp/
<参考サイト>
Python ドキュメント
http://www.python.jp/doc/release/
Dive Into Python
http://diveintopython.org/toc/
PEP(Python Enhancement Proposal
http://www.python.org/dev/peps/
0002デフォルトの名無しさん
2007/04/09(月) 04:23:14http://pc11.2ch.net/test/read.cgi/tech/1157686822/
Python の宿題ここで答えます Part 1
http://pc11.2ch.net/test/read.cgi/tech/1153585095/
0003デフォルトの名無しさん
2007/04/09(月) 17:43:43♪時と場合で移り気なの
0004デフォルトの名無しさん
2007/04/09(月) 19:15:000005デフォルトの名無しさん
2007/04/09(月) 20:16:180006デフォルトの名無しさん
2007/04/09(月) 21:25:140007デフォルトの名無しさん
2007/04/09(月) 21:42:45昔のログとか既に繋がってないので。
0008デフォルトの名無しさん
2007/04/09(月) 22:39:52♪そうでない人もそれなりに
0009デフォルトの名無しさん
2007/04/09(月) 22:44:100010デフォルトの名無しさん
2007/04/09(月) 23:50:43前スレ荒らしてた彼が
「ボク、心入れ換えるから、
これからも仲良くしてね?」
って泣き入れてるんだろうよ
アイツ友達居ない奴だから(w
0011デフォルトの名無しさん
2007/04/09(月) 23:59:010012デフォルトの名無しさん
2007/04/09(月) 23:59:34ZOPE関係者乙.
0014デフォルトの名無しさん
2007/04/10(火) 12:38:05http://www.amazon.co.jp/dp/1590598725
0015デフォルトの名無しさん
2007/04/10(火) 17:19:21古いやつは誰かがアップしてあるみたいだけど
0016デフォルトの名無しさん
2007/04/10(火) 17:35:11s = """
* foo
* bar
* baz
"""
html = rst2html(s)
print html,
としたら
<ul>
<li>foo</li>
<li>bar</li>
<li>baz</li>
</ul>
に変換されるようにしたいんです。
http://docutils.sourceforge.net/
をみてもいまいち分からないのですが、アドバイスお願いします。
0017デフォルトの名無しさん
2007/04/10(火) 19:17:57src = """\
* foo
* bar
* baz
"""
settings = {
"stylesheet": "",
"stylesheet_path": None,
}
print docutils.core.publish_string(src, writer_name='html',
settings_overrides=settings)
0018デフォルトの名無しさん
2007/04/10(火) 19:27:10ありがとうございます
0019デフォルトの名無しさん
2007/04/10(火) 19:37:162. docutils.core.publish_cmdline() とゆー関数を呼んでるなあ。どういう関数かな。(site-packages/docutils/core.py を見る)
3. publish_なんちゃら という関数がいっぱいあるなあ。お、publish_string とゆー関数もあるなあ。
4. 使い方がよく分からないから docutils.core.publish_string でググってみよう。(用例が見つかる)
5. publish_string にはたくさん引数があるなあ。writer_name は rst2html.py で指定されてるのと同じ値を渡してみよう。
6. スタイルシートファイルが無いって怒られるなあ。デフォルトの値だとマズいんだろうなあ。
7. settings_overrides とゆー引数の値にテキトーな辞書を指定すればデフォルトを上書き指定できるんだろうなあ。
8. rst2html.py のコマンドラインオプションに --stylesheet-path とゆーのがあるから "stylesheet_path" を辞書のキーにしてみよう。(ビンゴ!)
9. とりあえずスタイルシートファイルは要らないなあ。値は None にしてみよう。
というような調子で試行錯誤した結果が>>17のコード。
要約すると「ソース嫁」「ググれ」。
0020デフォルトの名無しさん
2007/04/10(火) 21:06:37それは、教える能力がないということの証明ですよね。
馬鹿も休み休みお願いします。
0021デフォルトの名無しさん
2007/04/10(火) 21:08:460022デフォルトの名無しさん
2007/04/10(火) 21:12:100023デフォルトの名無しさん
2007/04/10(火) 21:14:200024デフォルトの名無しさん
2007/04/10(火) 21:17:080025デフォルトの名無しさん
2007/04/10(火) 21:17:41基本的なことすら出来ないのは問題外。
0026デフォルトの名無しさん
2007/04/10(火) 21:31:110027デフォルトの名無しさん
2007/04/10(火) 21:33:07http://pc11.2ch.net/test/read.cgi/tech/1175959706/
http://pc11.2ch.net/test/read.cgi/tech/1176033534/
0028デフォルトの名無しさん
2007/04/10(火) 23:18:100029デフォルトの名無しさん
2007/04/11(水) 00:06:49標準ライブラリの構成とか変えてもいいの?ライブラリから使わないファイルを削除して、***.py
を全部 ***.pyc にして配布とか。
0030デフォルトの名無しさん
2007/04/11(水) 01:05:330031デフォルトの名無しさん
2007/04/11(水) 01:09:200032デフォルトの名無しさん
2007/04/11(水) 07:37:10何コレ?
異常者出現か?
0033デフォルトの名無しさん
2007/04/12(木) 01:04:46具体的には、以下のような動作をする理由というか、
どういう仕様なのだと理解すればよいのか、どなたか教えてください。
Python 2.4.1 (#1, May 27 2005, 18:02:40)
[GCC 3.3.3 (cygwin special)] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> v = None
>>> d = {}
>>> def func_v():
... v = "var"
...
>>> def func_d():
... d['key'] = 'dict'
...
>>> func_v()
>>> func_d()
>>> print v
None ← 関数内で設定した値は反映されない。
>>> print d
{'key': 'dict'} ← 関数内で設定した値が参照できる。
>>>
0034デフォルトの名無しさん
2007/04/12(木) 01:13:57辞書だからとかではなく、変数自体への代入があるかどうかでスコープが決まる。
func_v の中で v は代入の対象になっているから v はローカル
func_d の中で d は代入の対象になっていない(*1)から d はグローバル
(*1) 代入の対象になっているのは d ではなく d に入っている辞書の中身
0035デフォルトの名無しさん
2007/04/12(木) 01:13:58global 文について調べてみよう。
0036デフォルトの名無しさん
2007/04/12(木) 02:01:55入門書嫁。
0037デフォルトの名無しさん
2007/04/12(木) 07:17:57コレの9.2の最後の段落が一応その説明になってるのかな・・・
チュートリアルって隅々まで読むとかなり何でも書いてある気がする、
0038デフォルトの名無しさん
2007/04/12(木) 08:25:24普通に出来ましたね。あと、wikiのソースに{{attach}}というのを書くとうぷ用フォームが出来るので
そこからも投稿可能だった、・・
0039デフォルトの名無しさん
2007/04/12(木) 09:35:220040デフォルトの名無しさん
2007/04/12(木) 12:19:390041デフォルトの名無しさん
2007/04/12(木) 19:13:410042デフォルトの名無しさん
2007/04/12(木) 22:45:07x=float(a)
print(x)
>>> a(5/3)
1.0
floatつかっても整数になってしまいます、
これはどうやれば解決しますか教えてください。
0043デフォルトの名無しさん
2007/04/12(木) 22:48:140044デフォルトの名無しさん
2007/04/12(木) 22:52:24... print a
...
>>> foo(5/3)
1
>>> 5/3
1
>>> float(5/3)
1.0
>>> float(5) / 3
1.6666666666666667
0045デフォルトの名無しさん
2007/04/12(木) 22:53:45a(5/3.0)
あるいは
from __future__ import division
def a(a):
a(5/3)
004645
2007/04/12(木) 22:54:56def a(a): の所は別に重要でないので適当に補完してくれ
0047デフォルトの名無しさん
2007/04/12(木) 23:00:15ありがとうございました
0048デフォルトの名無しさん
2007/04/12(木) 23:00:25あと、1.0は整数ではなくfloat
0049デフォルトの名無しさん
2007/04/12(木) 23:02:00あ、そうなの?w
0050デフォルトの名無しさん
2007/04/12(木) 23:04:570051デフォルトの名無しさん
2007/04/12(木) 23:06:07Out[1]: 1
In [2]: 5//3
Out[2]: 1
In [3]: 5.0/3
Out[3]: 1.6666666666666667
In [4]: 5/3.0
Out[4]: 1.6666666666666667
In [5]: 5.0//3
Out[5]: 1.0
In [6]: 5//3.0
Out[6]: 1.0
0052デフォルトの名無しさん
2007/04/12(木) 23:06:410053デフォルトの名無しさん
2007/04/12(木) 23:11:02整数は環だから割り算など定義されていない、ということなんじゃないかと、
005433
2007/04/13(金) 01:52:27おお!なるほど! 一発氷解です。さんくす。
この場合 d は参照しかしてないのね。 言われてみれば確かにそうだ。
試しに d = {'key': 'val'} とすると確かにローカルになる。
>>37
リファレンスの4.1
http://www.python.jp/doc/release/ref/naming.html
にも同じようなことは書いてあったんですが、
俺の理解力では上の結論は導き出せんかった orz
0055デフォルトの名無しさん
2007/04/13(金) 02:00:52ということか
0056デフォルトの名無しさん
2007/04/13(金) 02:04:400057デフォルトの名無しさん
2007/04/13(金) 10:42:25ボタン押したらラベルを変化させたいと思いますが,
なにかアドバイスください
from Tkinter import *
class App(Frame) :
def __init__(self, master = None) :
Frame.__init__(self, master)
self.init()
self.pack()
self.labelStr = "hi!"
def btn1func(self) :
self.labelStr = "btn1"
def btn2func(self) :
self.labelStr = "btn2"
def init(self) :
btn1 = Button(self, text = "btn1", command=self.btn1func())
btn2 = Button(self, text = "btn2", command=self.btn2func())
lbl = Label(self, text = self.labelStr)
btn1.pack()
btn2.pack()
lbl.pack()
btn3 = Button(self, text = "click here for exit", command=sys.exit)
btn3.pack()
app = App()
app.mainloop()
0058デフォルトの名無しさん
2007/04/13(金) 11:17:26出来るヤツは聞くまでもなくいろいろ試すし、
自己解決しながら力を付けてゆくものなんだよ。
0059デフォルトの名無しさん
2007/04/13(金) 11:18:440060デフォルトの名無しさん
2007/04/13(金) 12:03:030061デフォルトの名無しさん
2007/04/13(金) 12:14:020062デフォルトの名無しさん
2007/04/13(金) 12:18:190063デフォルトの名無しさん
2007/04/13(金) 12:27:370064デフォルトの名無しさん
2007/04/13(金) 12:32:22http://pc11.2ch.net/test/read.cgi/prog/1175099288/
0065デフォルトの名無しさん
2007/04/13(金) 12:33:490066デフォルトの名無しさん
2007/04/13(金) 12:37:240067デフォルトの名無しさん
2007/04/13(金) 12:42:36変なのはすべてスルーな
0068デフォルトの名無しさん
2007/04/13(金) 12:46:040069デフォルトの名無しさん
2007/04/13(金) 12:46:46なにこれ?
0070デフォルトの名無しさん
2007/04/13(金) 12:48:35> def btn1func(self) :
> self.labelStr = "btn1"
ここのselfはAppオブジェクトであってLabelオブジェクトじゃない。
やりたいことは、AppオブジェクトのlabelStr属性を書き換えるんじゃなくて
Labelオブジェクトの持つテキストを書き換えることのはず。
> btn1 = Button(self, text = "btn1", command=self.btn1func())
Buttonオブジェクトにアタッチしたいのは値ではなく関数のはず。
で、Labelオブジェクトの持つテキストを書き換えるには、
self.aLabel['text'] = 'New Text' とか。以下参照:
http://www.pythonware.com/library/tkinter/introduction/widget-configuration.htm
0071デフォルトの名無しさん
2007/04/13(金) 13:39:36(1) ZOPE関係者
(2) 豆腐
0072デフォルトの名無しさん
2007/04/13(金) 14:39:39(1) ZOPE関係者
(2) 豆腐
(3) >>71
0073デフォルトの名無しさん
2007/04/13(金) 15:14:59画像処理で大きなarrayを使いたいのですが、サイズが分かっているときは
生成時に指定した方が実行効率がいいと思うので。
0074デフォルトの名無しさん
2007/04/13(金) 15:20:49Numeric.zeros( (100,100), typecode=Numeric.Float )
list は論外ということで
0075デフォルトの名無しさん
2007/04/13(金) 16:52:37使っているライブラリがarrayを使っているので。
0076デフォルトの名無しさん
2007/04/13(金) 17:53:040077デフォルトの名無しさん
2007/04/13(金) 17:55:430078デフォルトの名無しさん
2007/04/13(金) 22:48:390079デフォルトの名無しさん
2007/04/13(金) 23:11:24PyCon 2007 で Guido が OLPC のデモをやってたらしい。
Guido demonstrates the OLPC
http://www.flickr.com/photos/uhop/400464476/
0080デフォルトの名無しさん
2007/04/14(土) 01:13:33import itertools, array
print array.array('i', itertools.repeat(0, 5))
0081デフォルトの名無しさん
2007/04/14(土) 01:23:130082デフォルトの名無しさん
2007/04/14(土) 01:25:330083デフォルトの名無しさん
2007/04/14(土) 03:34:48興味がある分野なんじゃない?
0084デフォルトの名無しさん
2007/04/14(土) 04:54:23わずか2レス後に実例きましたよw
008573
2007/04/14(土) 08:34:16ありがとうございます。
でもこれって初期値を指定しているのであって、arrayのサイズを指定しているわけではないですよね。
求めているものとはちょっと違うようです。
0086デフォルトの名無しさん
2007/04/14(土) 10:36:02節穴?
0087デフォルトの名無しさん
2007/04/14(土) 11:00:48arrayのサイズを指定すれば効率がいいってのは勘違いだから気にするな。
0088デフォルトの名無しさん
2007/04/14(土) 12:28:36StringVar() を使うとほぼ希望通りのことができる。
もちろん>>70さんの指摘した方法でもOK。
あと、書き方も俺の好みに合わせてちょっと変えてみた。参考までに。
from Tkinter import *
class App(Frame) :
def __init__(self, master = None) :
Frame.__init__(self, master)
self.init()
self.pack()
self.labelStr.set("hi!")
def btn1func(self) :
self.labelStr.set("btn1")
def btn2func(self) :
self.labelStr.set("btn2")
def init(self) :
Button(self, text="btn1", command=self.btn1func).pack()
Button(self, text="btn2", command=self.btn2func).pack()
self.labelStr = StringVar()
Label(self, textvariable = self.labelStr).pack()
Button(self, text = "click here for exit", command=self.quit).pack()
App().mainloop()
0089デフォルトの名無しさん
2007/04/14(土) 13:42:10guido は sugar のメーリングリストにも以前から何回か登場してるよ。
sugar: olpc の gui シェル
0090デフォルトの名無しさん
2007/04/15(日) 23:50:030091デフォルトの名無しさん
2007/04/15(日) 23:55:20ttp://www.google.co.jp/search?q=decimal+hexadecimal+python
0092デフォルトの名無しさん
2007/04/16(月) 01:10:56入門書嫁。
0093デフォルトの名無しさん
2007/04/16(月) 03:48:57>>> int('ABCDEF', 16)
11259375
0094デフォルトの名無しさん
2007/04/16(月) 08:15:27ありがとうございました。int()に第2引数を渡せるんですね。
0095デフォルトの名無しさん
2007/04/16(月) 08:16:530096デフォルトの名無しさん
2007/04/16(月) 10:35:06dct = { 'foo':1, 'bar':2 }
dct.get('baz', None) #=> None
同じものがlistにないでしょうか。
lst = [1,2,3]
i = 4
lst.get(i, None) #=> None
今は
def getvalue(lst, i, value):
if 0 <= i < len(lst):
return lst[i]
else:
return value
という関数を定義しているのですが、標準でそういう関数があれば教えてください。
0097デフォルトの名無しさん
2007/04/16(月) 13:46:28(1)
p.266 下から 4 行目の「インスタンスを呼び出すとき」は、
「メソッドを呼び出すとき」のまちがいだと思うのですが、どう思われますか?
(2)
p.306-307 リスト1:strdict.py の 18 行目はインデントがないと
エラーになりませんか?
パソコン始めたばかりでプログラムの経験が無いため、
見当違いなことを言ってるかもしれませんが、
間違ってたらどうぞ叩いてください m(_ _)m
0098デフォルトの名無しさん
2007/04/16(月) 13:53:48それと何版何刷かは書いた方がいいかと
というか出版社に言え?
http://coreblog.org/ats/stuff/minpy_support/errata/
009997
2007/04/16(月) 14:06:44正誤表に載ってなかったもので…。
0100デフォルトの名無しさん
2007/04/16(月) 14:17:00初版第2刷
(1)は多分そう。俺のでも直ってない
(2)は少なくとも俺のでは書いてある通りで正しく動いた気がする。if not〜〜〜と同じ深さ
正誤表に載ってないとこでも結構間違いあった気がするからそんなに気にしないでもいいんじゃね?
0101デフォルトの名無しさん
2007/04/16(月) 15:06:12買おうと思ったけど止めた
0102デフォルトの名無しさん
2007/04/16(月) 15:24:55初版1刷。
(1)はご指摘の通り。
(2)はもし
if not isinstance(key, str):
raise ValueError('Key must be str or unicode.')
dict.__setitem__(sekf, key, value)
だったらどういうことになるか考えてみるといいよ。
みんPyは間違いや正確さに欠ける記述も多いから
読み捨てぐらいの気分で取り組むのが吉かと。
0103デフォルトの名無しさん
2007/04/16(月) 15:26:390104デフォルトの名無しさん
2007/04/16(月) 15:58:400105デフォルトの名無しさん
2007/04/16(月) 16:00:090106デフォルトの名無しさん
2007/04/16(月) 16:02:25初めから間違ってたときは誤植じゃないだろ
0107デフォルトの名無しさん
2007/04/16(月) 16:10:44移植のときってなんだよ。w
0108デフォルトの名無しさん
2007/04/16(月) 18:43:12>>> 4 in lst
>>> False
とかじゃ駄目なの?
0109デフォルトの名無しさん
2007/04/16(月) 19:58:57i = 4
i in lst
は意味違いませんか?
欲しいのは
if 0 <= i < len(lst): return lst[i]
else: return value
または
lst[i] if 0 <= i < len(lst) else value
です。
0110デフォルトの名無しさん
2007/04/16(月) 20:10:46レベル高いな(w
0111デフォルトの名無しさん
2007/04/16(月) 20:15:52> 標準でそういう関数があれば教えてください。
ない。
0112デフォルトの名無しさん
2007/04/16(月) 20:20:04無いみたい。
Cookbookのサイトで調べたら
getvalue = (lst[3:4] or ['No'])[0]
ってかんじの方法が書いてあった。
ttp://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/269484
0113デフォルトの名無しさん
2007/04/16(月) 20:20:59さすがZOPE関係者。
0114デフォルトの名無しさん
2007/04/16(月) 20:26:09「しっぱい」だな(w
0115デフォルトの名無しさん
2007/04/17(火) 02:45:47どうもありがとうございます。標準では存在しないことがわかったので、安心して自作の関数を使うことにします。
0116デフォルトの名無しさん
2007/04/17(火) 03:00:53{1:'foo', 2,:'bar'}というようにそのリスト内の重複を考慮した上で、重複しない辞書を作成したい場合はどうすればよいのでしょうか?
0117デフォルトの名無しさん
2007/04/17(火) 03:50:13>>> dict(enumerate(Set(["foo", "bar", "foo"])))
{0: 'foo', 1: 'bar'}
>>>
0118デフォルトの名無しさん
2007/04/17(火) 05:14:370119デフォルトの名無しさん
2007/04/17(火) 06:11:54ありがとうございます。
集合型を入れ子にするにはどうすればよいのでしょう?
集合型の要素に集合型をもってきて木構造を作成したいのです。
012097
2007/04/17(火) 07:19:39ありがとうございました。やっぱりインデントが必要なんですね。
辞書型を継承した、文字列だけをキーに取るクラスが作れました。
今のところこの本だけしか読んでないので、ちょっと不安になりました…。
読み終わったら、次は動物が表紙のシリーズの本も探して読んでみます。
0121102
2007/04/17(火) 09:47:57勘違いさせちゃってすいません。
仮にインデントありだと、
>>> d = StrDict()
>>> d[1] = 'hoge' # ValueError例外発生
>>> d['1'] = 'piyo' # 例外発生せず
一見するとうまくいってますが、
>>> d['1']
でKeyError例外が発生します。
文字列以外をキーとして受け取ったときにはValueError例外を発生させ、
文字列をキーとして受け取ったときにはキーの文字列と値を受け取り
何もしないで捨てちゃってますから。
あと、インデントにタブと半角スペースを混用すると挙動がおかしくなるかもです。
0122デフォルトの名無しさん
2007/04/17(火) 10:49:14例外使わないの?
0123デフォルトの名無しさん
2007/04/17(火) 21:35:40キチガイには常人がキチガイに見えるらしいよ。
0124デフォルトの名無しさん
2007/04/17(火) 23:12:010125デフォルトの名無しさん
2007/04/17(火) 23:59:51放置するしかない
0126デフォルトの名無しさん
2007/04/18(水) 00:38:52こういうのは景気変動みたいに波があるんだよ。
0127デフォルトの名無しさん
2007/04/18(水) 01:01:390128デフォルトの名無しさん
2007/04/18(水) 02:41:16アンインストールするには、site-packagesの中のファイルや
ディレクトリを手動で削除するしかないのでしょうか?
0129デフォルトの名無しさん
2007/04/18(水) 06:38:52setup.py について:
Windows の場合は setup.py bdist_wininst
RPM 系の Linux の場合は setup.py bdist_rpm
でインストーラ(バイナリパッケージ)を作れば
それぞれ OS 固有のインストール・アンインストール機能が利用できる。
フツーに setup.py install しちゃったものについては
手動で消すしかないと思われ。
0130デフォルトの名無しさん
2007/04/18(水) 07:56:58集合を入れ子にするためには、普通のsetは使えなくて、frozensetというものを使わないと
できない。
>>>s=frozenset
>>>s()
frozenset([])
>>>s([s()])
frozenset([frozenset([])])
>>>s([s(),s([s()]))
frozenset([frozenset([frozenset()]), frozenset([])])
0131デフォルトの名無しさん
2007/04/18(水) 14:25:19http://python.rdy.jp/wiki.cgi?page=%A5%BD%A1%BC%A5%B9%BD%B8 の、
超初心者向け
1から50までの和を計算して表示 の、
print reduce(lambda x,y:x+y,range(50))
という回答は、
print reduce(lambda x,y:x+y,range(1,51))
のまちがいではないですか?
0132デフォルトの名無しさん
2007/04/18(水) 14:38:06そもそも誰も見ていなさそうなソース集は必要なのだろうか?
0133デフォルトの名無しさん
2007/04/18(水) 14:47:000134デフォルトの名無しさん
2007/04/18(水) 14:51:00まちがいというよりキチガイです.
0135デフォルトの名無しさん
2007/04/18(水) 15:00:570136デフォルトの名無しさん
2007/04/18(水) 17:26:12あの分類(初心者〜上級者とか)だと使い物にならないと思う。
もっと、何がしたい時みたいなレシピ集的な編集にしていけば良くなってくと思う・・
0137デフォルトの名無しさん
2007/04/18(水) 17:33:34>#generator式を使う
>print sum(x for x in range(1,51))
無駄に冗長なコード書く必要なくね?
おまえ「generator式」言いたかっただけちゃうんかと
0138デフォルトの名無しさん
2007/04/18(水) 17:37:49ナニコレ、バカジャネエノ(wwwwwww
>>> sum = 1
>>> sum(range(1, 51))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
0140デフォルトの名無しさん
2007/04/18(水) 17:40:120141デフォルトの名無しさん
2007/04/18(水) 17:44:04あれはレシピじゃなくて、初心者〜中級者がPythonテクニックを磨くための問題を
出し合おうって話から始まったはず。
0142デフォルトの名無しさん
2007/04/18(水) 17:45:57テクニック磨けてないし(wwww
0143デフォルトの名無しさん
2007/04/18(水) 17:47:16説明きぼんぬ。
0144デフォルトの名無しさん
2007/04/18(水) 17:48:21ってのはどの辺で使われてるんだ?
0147デフォルトの名無しさん
2007/04/18(水) 17:53:58考えるんじゃない、感じるんだ!
海馬の1cm奥に意識を集中しろ。。。!!!
>>> sum(range(1, 51))
1275
>>> sum=1
>>> sum(range(1, 51))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>>>
0148136
2007/04/18(水) 17:54:15つーか、ここで文句言わないで、直接wikiに反映させてくれw
0149デフォルトの名無しさん
2007/04/18(水) 17:55:24雑談ページに
問題集とか難易度順とかに分かる人が分けて欲しい - nanasisan (2005年11月28日 15時18分44秒)
難易度は分からんが適当に分けてみた。問題も追加した(一部の表記変更) - 名無しさん (2005年11月29日 00時32分09秒)
ってあるから、それ以前だな。
wikiだから分類分けは勝手にやり直していいんじゃね?
0150131
2007/04/18(水) 18:02:50最大公約数の、再帰関数っていうのは思いつかなかった…。
(たぶん常識なんだろうなぁ。数学系は苦手だぁ…。)
パスワードとかトリップ作るのはおもしろそう!
0152デフォルトの名無しさん
2007/04/18(水) 18:08:51ttp://jp.rubyist.net/magazine/?0018-BundledLibraries
みたいなの。
ごく一部のライブラリしか使ったことのない人って
自分も含めて結構いそうな気ガするし。
0153デフォルトの名無しさん
2007/04/18(水) 18:09:570154デフォルトの名無しさん
2007/04/18(水) 18:18:03頼むから宿題レベルはどこかよそでやってくれ。スレ汚すな。
0155デフォルトの名無しさん
2007/04/18(水) 18:20:27認定キチガイ乙。
0156デフォルトの名無しさん
2007/04/18(水) 18:20:49レベルはどうしようもないだろ
0157デフォルトの名無しさん
2007/04/18(水) 18:22:520158デフォルトの名無しさん
2007/04/18(水) 18:24:31標準ドキュメント嫁
0160デフォルトの名無しさん
2007/04/18(水) 18:51:27いやいや、最新ではないとはいえ、こんなに親切丁寧で分かりやすい、
しかも**日本語**のドキュメントがあるじゃまいか、ほかに何か必要か?
「枕の下に敷くべき」ライブラリリファレンスもちゃんとあるぞ。
http://www.python.jp/doc/release/lib/
翻訳プロジェクトの中の人マジで乙。いい訳してる。
0161デフォルトの名無しさん
2007/04/18(水) 18:54:500162デフォルトの名無しさん
2007/04/18(水) 19:04:11そのままコピペして使ったらちょっとしたtypoでエラーが出た所あったぞ・・・
0163デフォルトの名無しさん
2007/04/18(水) 19:05:51報告しろ
それか、お前が中の人になって直せ
ドキュメント翻訳は勉強になるぞ
0164デフォルトの名無しさん
2007/04/18(水) 19:14:01ちゃんとしたドキュメントが無い分野のハウツーを開拓するのでせいいっぱいだ
0165デフォルトの名無しさん
2007/04/18(水) 19:26:280166デフォルトの名無しさん
2007/04/18(水) 19:27:37そう、君の頭の中に住むアイツだよ(wwww
0167デフォルトの名無しさん
2007/04/18(水) 19:30:260168デフォルトの名無しさん
2007/04/18(水) 19:47:151) オレ
2) アイツ
3) 脳内妹
4) 時々オカン
0169デフォルトの名無しさん
2007/04/18(水) 23:05:58見つけた!
組み込み関数の reduce の説明で lambda が labmda になってる部分だった。
ttp://www.python.jp/doc/release/lib/built-in-funcs.html
本家の英文は2.5だけど、正しく lambda になってる
0170デフォルトの名無しさん
2007/04/18(水) 23:12:310171デフォルトの名無しさん
2007/04/19(木) 05:23:440172デフォルトの名無しさん
2007/04/19(木) 07:24:49コピペするだけのゆとりか。
0173デフォルトの名無しさん
2007/04/19(木) 10:55:17見るだけでスペルミスや引数間違いを発見するスーパーハカー登場!!
0174デフォルトの名無しさん
2007/04/19(木) 11:01:48他人の間違いを指摘しながら自分が間違っている低脳よりマシなのだから騒ぐな
0175デフォルトの名無しさん
2007/04/19(木) 11:17:00labmda が lambda の typo だってのは明らかじゃね?
0176デフォルトの名無しさん
2007/04/19(木) 11:23:40そして,細かいことばかり気になる奴に限って
現場で役に立たないことも明らかかつ一般的なな事実
0177デフォルトの名無しさん
2007/04/19(木) 11:46:220178デフォルトの名無しさん
2007/04/19(木) 12:21:05バランスが肝心だね。
0179デフォルトの名無しさん
2007/04/19(木) 14:25:11ironpythonとADO.NET(+Npgsql)を使ってやるという手段も考えましたが、定石みたいなものはあるのでしょうか。
古いものについては、下記のドキュメントが見つかったのですが。。
PyGreSQL - Python インタフェース
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/pygresql.html
0180デフォルトの名無しさん
2007/04/19(木) 16:17:550181デフォルトの名無しさん
2007/04/19(木) 16:30:392.5対応はまだまだですかね?
それとも必要無い?
0182デフォルトの名無しさん
2007/04/19(木) 17:24:27DB関係は特定DB用じゃなくORマッパーなるものを介して
ある程度汎用につくってそれを PostgreSQLなりMySQLなりに
つなぐものらしい
SQLobject とかいろいろあるらしい
詳しくは次の人↓
0183デフォルトの名無しさん
2007/04/19(木) 17:48:20とりあえず今のtypo直すのが先かと
0184デフォルトの名無しさん
2007/04/19(木) 18:22:310185デフォルトの名無しさん
2007/04/19(木) 18:41:44レスありがとうございます。まさにADO.NETみたいな抽象化したライブラリがあるのでしょうか。
日本語ドキュメントを見つけたので目を通してみます。
http://ymasuda.jp/python/sqlobject/doc_0.7/index.html
0186デフォルトの名無しさん
2007/04/20(金) 00:45:57おーきてるー
0187デフォルトの名無しさん
2007/04/20(金) 03:23:59pykfのsplitを便利に使ってたから再度公開してください
0188デフォルトの名無しさん
2007/04/20(金) 12:03:030189デフォルトの名無しさん
2007/04/20(金) 19:14:020190デフォルトの名無しさん
2007/04/21(土) 10:17:07easy_install でインストールしたやつを共有する方法ってありますか?
0191デフォルトの名無しさん
2007/04/21(土) 20:51:26ttp://www.python.jp/Zope/download
ってページ見つけたんだけど、
・Python標準リリース
・日本語環境用インストーラ(Win32)
ってどっちがオススメ?(ちなみにWinXP SP2に入れる)
上はバージョン2.5みたいだし
下はバージョン2.3って書いてあるけど日本語ドキュメント添付でSJIS・日本語ファイル名対応って書いてあるし。
それとも、もっといいトコがあるのかしら。
0192デフォルトの名無しさん
2007/04/21(土) 21:22:370193デフォルトの名無しさん
2007/04/21(土) 21:41:532.5には対応してないのもあったりするけど
普通にpythonの勉強してみようってことならとりあえず最新でいいんじゃね?
0194デフォルトの名無しさん
2007/04/21(土) 21:55:250195デフォルトの名無しさん
2007/04/21(土) 21:57:220196デフォルトの名無しさん
2007/04/21(土) 22:10:570197デフォルトの名無しさん
2007/04/21(土) 23:34:56ネタじゃなくホントだったら嬉しい!
0198デフォルトの名無しさん
2007/04/21(土) 23:44:520199デフォルトの名無しさん
2007/04/22(日) 00:57:34これってワンライナーしか無理?
0200191
2007/04/22(日) 01:37:15日本語環境の方が安心なんじゃ…?と思って訊きました。
とりあえず2.5入れてみます。
ありがとうございました。
0201デフォルトの名無しさん
2007/04/22(日) 01:47:470202デフォルトの名無しさん
2007/04/22(日) 02:14:430203デフォルトの名無しさん
2007/04/22(日) 15:30:27みたいなエラーがでて読み取れなくなるような
状態になったから2.4にもどしたよ
0204デフォルトの名無しさん
2007/04/22(日) 15:30:48どんなライブラリが良いでしょうか? 開発はwindows上です。
アニメは単に動画上の物体をトレースするマーキングみたいなもので出来れば、動画のランダム再生で
シンクロできるようにしたいと思っています。
0205デフォルトの名無しさん
2007/04/22(日) 15:32:270206デフォルトの名無しさん
2007/04/22(日) 15:44:28動画関連でこのスレが盛り上がったためしがないので、多分知ってる人は誰も見てない希ガス
0207デフォルトの名無しさん
2007/04/22(日) 16:29:34key val
----------
A 1
A 2
B 1
B 3
B 4
C 1
C 3
これから
{ 'A': [1, 2], 'B': [1, 3, 4], 'C': [1, 3] }
というdictをつくりたいんですが、一番スマートな方法はどのようになりますか。
今は次のようにしていますが、なんかもっといい方法がないかと思っています。
import MySQLdb
conn = MySQLdb.connect()
curosr = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
cursor.execute("select key, val from table1")
lst = cursor.fetchall()
table = {}
for dct in lst:
key, val = dct['key'], dct['val']
values = table.get(key)
if values is None:
table[key] = values = []
values.append(val)
0208デフォルトの名無しさん
2007/04/22(日) 16:48:28事実上1行のみ。;使えば多少は回避できるけど。
PyOneなんて半ばジョークのラッパースクリプトがあるが、
これ使うレベルのものになったら素直にファイルに書いた方がいいと思う。
0209デフォルトの名無しさん
2007/04/22(日) 16:57:03ググれカス
0210デフォルトの名無しさん
2007/04/22(日) 17:30:360211デフォルトの名無しさん
2007/04/22(日) 17:48:580212デフォルトの名無しさん
2007/04/22(日) 17:56:22少し短くはした。
>>> lst = ({'val': 1, 'key': 'A'}, {'val': 3, 'key': 'A'}, {'val': 2, 'key': 'B'})
>>> table = {}
>>> for dct in lst:
... key,val = dct['key'],dct['val']
... if not key in table.keys():
... table[key] = []
... table[key].append(val)
...
>>> table
{'A': [1, 3], 'B': [2]}
0213デフォルトの名無しさん
2007/04/22(日) 17:58:07>>> for dct in lst:
... key,val = dct['key'],dct['val']
... if not key in table.keys():
... table[key] = []
... table[key].append(val)
0214デフォルトの名無しさん
2007/04/22(日) 17:59:18おれはこんなユーティリティ関数でどうにかしてる
self 使うのは癖
>>> def frompairs(sequence, multicast = False):
... self = {}
... for k, v in sequence:
... if multicast:
... self[k] = self.get(k, []) + [v, ]
... else:
... self[k] = v
... return self
0215デフォルトの名無しさん
2007/04/22(日) 18:11:52False
0216デフォルトの名無しさん
2007/04/22(日) 18:13:56hogedict[k].append(v) if k in hogedict else hogedict[k] = [v]
って書けるようになるの?
0217デフォルトの名無しさん
2007/04/22(日) 18:26:04hg
---------
#!C:\applications\Python25\python.exe
from mercurial import commands
commands.run()
---------
0218デフォルトの名無しさん
2007/04/22(日) 18:26:35elseの右に文は無理
0219デフォルトの名無しさん
2007/04/22(日) 18:27:28∀key∀table∈dict((key in table.keys()) == (key in table))
0220デフォルトの名無しさん
2007/04/22(日) 18:29:25table = {}
cur1 = conn.cursor()
cur1.execute("SELECT key FROM table1")
for key, in cur1.fetchall():
cur2 = conn.cursor()
cur2.execute("SELECT val FROM table1 WHERE key = '%s'" % key)
table[key] = [x for x, in cur2.fetchall()]
sqliteでしか試してないんで、動かなかったらごめん
0221デフォルトの名無しさん
2007/04/22(日) 18:30:21... else hogedict.__setitem__(k,[v])なら可能だけど明らかにspaghetti
0222デフォルトの名無しさん
2007/04/22(日) 18:34:56http://python.rdy.jp/wiki.cgi?page=%CC%E4%C2%EA%BD%B8
(あと、カテゴリ分けをちょっと変更
0223デフォルトの名無しさん
2007/04/22(日) 18:51:11読みにくくなってメリットないと思うけど。
0224デフォルトの名無しさん
2007/04/22(日) 18:53:470225デフォルトの名無しさん
2007/04/22(日) 18:55:50読みにくくなるときは使わなければいいんですよ
0226デフォルトの名無しさん
2007/04/22(日) 18:59:400227デフォルトの名無しさん
2007/04/22(日) 19:02:180228デフォルトの名無しさん
2007/04/22(日) 19:41:43問題と答えを別けた方がいいような気がする。
0229デフォルトの名無しさん
2007/04/22(日) 19:50:310230デフォルトの名無しさん
2007/04/22(日) 19:51:17表紙で選ぶなら
実践Python〜文字列操作からWebアプリケーション開発まで
を買うな
0231デフォルトの名無しさん
2007/04/22(日) 19:53:230232デフォルトの名無しさん
2007/04/22(日) 19:59:510233デフォルトの名無しさん
2007/04/22(日) 20:01:430234デフォルトの名無しさん
2007/04/22(日) 20:09:030235デフォルトの名無しさん
2007/04/22(日) 20:13:06python -m CGIHTTPServe
を実行したら止まらなくなっちゃいました><
止め方を教えてください
0236デフォルトの名無しさん
2007/04/22(日) 20:40:01setdefault は?
>>> lst = [("A", 1),("A", 2),("B", 1),("B", 3),("B", 4),("C", 1),("C", 3),]
>>> table = {}
>>> for k, v in lst:
... table.setdefault(k, []).append(v)
>>> table
{'A': [1, 2], 'C': [1, 3], 'B': [1, 3, 4]}
0237デフォルトの名無しさん
2007/04/22(日) 20:48:24コマンドプロンプト閉じる
0238デフォルトの名無しさん
2007/04/22(日) 21:54:300239238
2007/04/22(日) 22:03:38何か寂しくなっちゃって全然関係ないこと書き込みしちゃいました。
反省したので明日ボウズにしてきます。
(;_;)
0240デフォルトの名無しさん
2007/04/22(日) 22:44:320241デフォルトの名無しさん
2007/04/22(日) 22:59:21ゴールデンウィーク前だからって気を抜かず仕事しろよ。
0242241
2007/04/22(日) 23:09:30何か寂しくなっちゃって全然関係ないこと書き込みしちゃいました。
自分の精神状態が不安なので、明日キチガイ病院に入院します。
(;_;)
0243デフォルトの名無しさん
2007/04/22(日) 23:10:14さっさと消えろクズ
0244デフォルトの名無しさん
2007/04/22(日) 23:10:53pygameが良い気がする。
mpegを読めるはず(試したことは無いです)。
0245デフォルトの名無しさん
2007/04/22(日) 23:52:32hogedict[k] = hogedict[k]+[v] if k in hogedict else [v]
とかなら書けるのかな。
なんか裏の処理(リストがappendではなく再生成?)で無駄が発生しそうな気がするけど。
0246デフォルトの名無しさん
2007/04/22(日) 23:55:25それイイ(・∀・)ね。
0247デフォルトの名無しさん
2007/04/23(月) 00:47:37それ、結構最初はどきっとするんだけど
実はCtrl + Breakか何かで止められる。
…正確なキーを忘れてしまったがorz
0248デフォルトの名無しさん
2007/04/23(月) 02:10:330249デフォルトの名無しさん
2007/04/23(月) 04:50:39http://www.python.org/dev/peps/pep-3119/
0250デフォルトの名無しさん
2007/04/23(月) 06:45:48>>> import itertools
>>> records
({'val': '1', 'key': 'A'}, {'val': '2', 'key': 'A'}, {'val': '1', 'key': 'B'}, {'val': '3', 'key': 'B'}, {'val': '4', 'key': 'B'}, {'val': '1', 'key': 'C'}, {'val': '3', 'key': 'C'})
>>> dict([(key, [v[1] for v in vals]) for key, vals in (itertools.groupby(sorted([(r['key'],r['val']) for r in records]),lambda x: x[0]))])
{'A': ['1', '2'], 'C': ['1', '3'], 'B': ['1', '3', '4']}
>>>
スマートかどうかの判断は任せるよ。
0251デフォルトの名無しさん
2007/04/23(月) 12:47:150252デフォルトの名無しさん
2007/04/23(月) 13:07:140253デフォルトの名無しさん
2007/04/23(月) 13:09:09「あい **うえ** お」だと「あい <strong>うえ</strong> お」となることは確認したのですが、
これだと半角空白が必要なため、日本語文章では使えません。
みなさんどうしていますか。
0254デフォルトの名無しさん
2007/04/23(月) 15:14:32あ、ごめ、そうだね。groupbyが思ってたのと違った(ぉぃ
0255207
2007/04/23(月) 18:22:52>>236のsetdefaultがよさげなのでこれを使うことにします。
ありがとうございました。
0256デフォルトの名無しさん
2007/04/23(月) 18:36:38あい¥ **うえ**¥ お
0258デフォルトの名無しさん
2007/04/23(月) 22:23:170259デフォルトの名無しさん
2007/04/23(月) 22:54:030260デフォルトの名無しさん
2007/04/23(月) 23:06:120261デフォルトの名無しさん
2007/04/24(火) 00:29:51もってけ!! ぱいそん
とんこつも忘れるなw
0262デフォルトの名無しさん
2007/04/24(火) 10:46:06http://sayspy.blogspot.com/2007/04/five-1-things-i-hate-about-python-and.html
0263デフォルトの名無しさん
2007/04/24(火) 11:52:490264デフォルトの名無しさん
2007/04/24(火) 12:42:32( =ω=.) ぅぅぅぅぅぅぅうぅぅぅぅぅぅううぅぅぅぅうううぅぅぅううううううぅぅうううぅうううううぅ
劇中でPythonネタやってくれないかなあw
0265デフォルトの名無しさん
2007/04/24(火) 12:53:50OPのあれがバカ歩きになってるくらいは期待したいが
0266デフォルトの名無しさん
2007/04/24(火) 13:22:010267デフォルトの名無しさん
2007/04/24(火) 13:28:59キモいからPython使わなくていいよ.
0268デフォルトの名無しさん
2007/04/24(火) 13:53:51ヘンだからなるのか、なったからヘンになったのか…。
どっちにしてもキモいキモい。頼むから机の上に人形とか置かないで。
0269デフォルトの名無しさん
2007/04/24(火) 14:01:50Rubyは会長がオタ。
0270デフォルトの名無しさん
2007/04/24(火) 14:04:11だそうだ。諦めろw
0271デフォルトの名無しさん
2007/04/24(火) 14:05:29アニオタ死ね.もう来るな.
0272デフォルトの名無しさん
2007/04/24(火) 14:10:550273デフォルトの名無しさん
2007/04/24(火) 14:17:520274デフォルトの名無しさん
2007/04/24(火) 14:23:12ヒキコモリなら深夜のアニメに備えて寝ろや(wwwww
0275デフォルトの名無しさん
2007/04/24(火) 15:36:13なんでアニメの話だってわかるんだ?
0276デフォルトの名無しさん
2007/04/24(火) 15:37:440277デフォルトの名無しさん
2007/04/24(火) 15:48:54こんなところで発揮しなくても
0278デフォルトの名無しさん
2007/04/24(火) 15:55:260279デフォルトの名無しさん
2007/04/24(火) 19:17:25autrijusのことかなぁ・・・
0280デフォルトの名無しさん
2007/04/24(火) 19:24:26アニメやら日本好きをアピールしてた気が・・・
って、とてもスレ違いだが
0281デフォルトの名無しさん
2007/04/24(火) 20:05:18ラクダ本ではウテナとかるろうに剣心がお気に入りって言ってた
最近じゃあずまんがのちよちゃんかわいいとか言って小飼氏に黙殺されて(ry
というわけでGuidoに親近感沸くようなエピソードないですか
0282デフォルトの名無しさん
2007/04/24(火) 20:07:56どうせだったらvs6のままにしとけばいいのに。
extension作るのめんどくせー
0283デフォルトの名無しさん
2007/04/24(火) 20:32:50いつだったか、「うる星やつら」のラムちゃんのTシャツ着て現れたこともあるって聞いたけど。
0284283
2007/04/24(火) 20:33:300285デフォルトの名無しさん
2007/04/24(火) 20:34:28何いちいち驚いてるの?お前らだってアニオタなんだろ?
0286デフォルトの名無しさん
2007/04/24(火) 20:34:540287デフォルトの名無しさん
2007/04/24(火) 20:37:39アニメに耽溺するのと同じくらいヤヴァイからなぁ。
アニメは「誰だって観たことはある」ぶんだけまだフィーリングは理解されるが、
プログラミングは多くの人間にとって、根っこのところから正体不明だし、マッドな雰囲気あるからな。
0288デフォルトの名無しさん
2007/04/24(火) 20:41:110289デフォルトの名無しさん
2007/04/24(火) 20:44:030290デフォルトの名無しさん
2007/04/24(火) 21:52:23プログラマは浮いてるんだよ。俺は楽しいからいいけど。
0291デフォルトの名無しさん
2007/04/24(火) 21:54:180292デフォルトの名無しさん
2007/04/24(火) 22:10:350293デフォルトの名無しさん
2007/04/24(火) 22:17:260294デフォルトの名無しさん
2007/04/24(火) 22:39:33お前が死ねば多少は平均も上がるかもね
0295デフォルトの名無しさん
2007/04/24(火) 22:51:420296デフォルトの名無しさん
2007/04/24(火) 23:31:56宿題スレの質問者が全部平成生まれって時代がすぐに来るな
0297デフォルトの名無しさん
2007/04/24(火) 23:34:14このモジュールを有償ソフトに組み込んでもいいかどうか知りたいんだけど。。。
Pythionに標準でついてくる以上、Pythonのライセンスが適用されるから、有償配布でもOKて考えていいのかな
0298バブルソートのプログラムのつもりです
2007/04/24(火) 23:48:00def bubblesort(data,datalength):
SOEJI = datalength - 1
low = 1
high = SOEJI
while low != (SOEJI-1):
while high != (low+1):
if data[high-1] > data[high]:
w = data[high-1]
data[high-1] = data[high]
data[high] = w
high -= 1
low += 1
return data
datalength = 10
datarange = 99
data = sample(xrange(0,datarange),datalength)
print "範囲0-",datarange,"の",datalength,"語を生成:\n",data,"ソート前"
bubblesort(data,datalength)
print data,"ソート後"
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
範囲0- 99 の 10 語を生成:
[91, 8, 69, 78, 66, 16, 24, 0, 57, 60] ソート前
Traceback (most recent call last):
File "python/04_bubblesort", line 25, in <module>
bubblesort(data,datalength)
File "python/04_bubblesort", line 13, in bubblesort
if data[high-1] > data[high]:
IndexError: list index out of range
↑もうのーみそスパークしそうですどうしてアウトオブレンジなのかヒントをくださいおねがいします!!!!パイソンは2.5.1です
0299デフォルトの名無しさん
2007/04/25(水) 00:16:310300デフォルトの名無しさん
2007/04/25(水) 00:29:199から単純にひとつづ減って -10になってエラーになる。
0301デフォルトの名無しさん
2007/04/25(水) 01:53:230302デフォルトの名無しさん
2007/04/25(水) 01:55:48from random import sample
def bubblesort(data,datalength):
SOEJI = datalength - 1
low = 1
high = SOEJI
while low != (SOEJI-1):
while high != (low+1):
if data[high-1] > data[high]:
w = data[high-1]
data[high-1] = data[high]
data[high] = w
high -= 1
low += 1
return data
datalength = 10
datarange = 99
data = sample(xrange(0,datarange),datalength)
print "範囲0-",datarange,"の",datalength,"語を生成:\n",data,"ソート前"
bubblesort(data,datalength)
print data,"ソート後"
0303デフォルトの名無しさん
2007/04/25(水) 02:03:590304デフォルトの名無しさん
2007/04/25(水) 02:13:54def bubblesort(data):
high = data.size()-1
for low in range(data.size()-2):
while high > (low+1):
if data[high-1] > data[high]:
data[high], data[high-1] = data[high-1], data[high]
high -= 1
return data
。。。。。。。。。。まあ、がんばれ
0305デフォルトの名無しさん
2007/04/25(水) 02:42:03def bubblesort(data):
n = len(data)
for low in range(n-1):
high = n - 1
while high > low:
if data[high-1] > data[high]:
data[high], data[high-1] = data[high-1], data[high]
high -= 1
return data
オリジナルのコードで言うとlow += 1の次の行にhigh = SOEJIを入れて、highの値を元に戻せば、たぶんoutofrangeは
起こらなくなるが、添え字がなんか怪しいので、多分端の辺りがソートできないと思う。
ところで、>>304のruby使いにはだまされた
0306デフォルトの名無しさん
2007/04/25(水) 02:45:17宿題でもなきゃバブルソートなんてやらんわな
0307304
2007/04/25(水) 02:57:480308デフォルトの名無しさん
2007/04/25(水) 03:05:49雀の涙ぐらいの部分しかソートされない。。。。
バブルソートなら、スキャン中に一度でも入れ替えが発生したら
もう一度最初からスキャンしなきゃ。
def sort(data):
n = len(data)
f = True
while f==True:
f = False
for i in range(n-1):
if data[i] > data[i+1]:
data[i], data[i+1] = data[i+1], data[i]
f = True
return data
0309デフォルトの名無しさん
2007/04/25(水) 03:09:52Python の宿題ここで答えます Part 1
http://pc11.2ch.net/test/read.cgi/tech/1153585095/
0310デフォルトの名無しさん
2007/04/25(水) 08:04:59俺はもっぱら MinGW (GCC) で拡張モジュールを作ってる。
どの Python のバージョンでも MinGW は同じバージョンでいいから楽だよ。
0311デフォルトの名無しさん
2007/04/25(水) 12:52:15CherryPyや、Colubridを使って、簡単なWebアプリケーションを作っています。
その中で、テンプレートファイルを格納したディレクトリの所在をうまく隠すにはどうすればいいか
考えていたら知恵熱がでてしまいました。とりあえず、今は、↓のように書いています。
<hoge.py>
(略)
lookup = TemplateLookup(
directories=[os.path.join(os.path.join(os.path.dirname(__file__)), "template")],
input_encoding='utf-8',
output_encoding='utf-8')
これを、「hoge.pyと同じディレクトリのtemplateという名前のディレクトリにテンプレート
ファイルを格納する」という前提を設けた上で、例えば、以下のように書ければいいなと思っています。
<hoge.py>
from template_loader import lookup
(略)
template = lookup.get_template("index.html")
importしたモジュールの__file__の値がとれれば簡単にできそうなんですが、
そのようなロジックはどうすればできるのでしょうか?
#perlのcallerのようなものがあればできるかなあと思って探してみたんですが、
#辿り着けませんでした。
0312デフォルトの名無しさん
2007/04/25(水) 12:58:48sys._getframe
0314デフォルトの名無しさん
2007/04/25(水) 14:40:32そのコードがあるクラスからサブクラスを導出すると悲しくなるから気をつけて
当然フレームの位置が変わる
0315デフォルトの名無しさん
2007/04/25(水) 19:45:380316デフォルトの名無しさん
2007/04/25(水) 19:53:190317デフォルトの名無しさん
2007/04/25(水) 20:15:250318デフォルトの名無しさん
2007/04/25(水) 20:54:562.5対応は他にないからセールスポイントになりそうだが・・・
速効! Pythonプログラミング バージョン2.5対応
http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=978-4-7980-1641-2
0319デフォルトの名無しさん
2007/04/25(水) 21:00:070320デフォルトの名無しさん
2007/04/25(水) 21:04:29あれも入門書ばかりでちゃんとした本がない。
0321デフォルトの名無しさん
2007/04/25(水) 21:10:510322デフォルトの名無しさん
2007/04/25(水) 21:11:310323デフォルトの名無しさん
2007/04/25(水) 21:14:260324318
2007/04/25(水) 21:16:09まあどっちでもいいか・・・
0325デフォルトの名無しさん
2007/04/25(水) 21:16:140326デフォルトの名無しさん
2007/04/25(水) 21:18:120327デフォルトの名無しさん
2007/04/25(水) 21:25:54偵察に来てるRuby儲もいますが何か
0328デフォルトの名無しさん
2007/04/25(水) 21:38:17結局みんpy実pyローカスの、それとこれのどれがいいんだか
0329デフォルトの名無しさん
2007/04/25(水) 21:39:280330デフォルトの名無しさん
2007/04/25(水) 21:54:24本で済ますならあのくらいのボリュームは読まないと駄目だね。
もちろんオンラインで済むという人もいるだろうけど、薄っぺらい入門書読んだ程度の
人は信用できないよ。(俺が信用しなくても特にどうということは無いだろうけどw)
0331デフォルトの名無しさん
2007/04/25(水) 22:18:56だから python と打つだけで
インタラクティブな環境が上がるのは嬉しい
0332デフォルトの名無しさん
2007/04/25(水) 22:28:41いろいろ作って公開して叩かれたほうがスキル上がると思う。
0333デフォルトの名無しさん
2007/04/25(水) 22:37:13それができないから本を読むんだろ
0334デフォルトの名無しさん
2007/04/25(水) 23:16:27‥‥‥新しい言語機能についてけなかったりするけど。
0335デフォルトの名無しさん
2007/04/25(水) 23:18:320336デフォルトの名無しさん
2007/04/25(水) 23:19:310337デフォルトの名無しさん
2007/04/25(水) 23:34:38かといって別スレ立てて閑古鳥だったらカナシス
0338デフォルトの名無しさん
2007/04/25(水) 23:50:53↑まだこんなイメージ?
0339デフォルトの名無しさん
2007/04/25(水) 23:55:02もっと実用的な問題を解く本もあっていいと思う
あとPython Cookbook早く出して欲しい
0340デフォルトの名無しさん
2007/04/25(水) 23:57:520341デフォルトの名無しさん
2007/04/26(木) 00:18:06ttp://www.oreilly.com/catalog/pythoncook2/
これじゃご不満ですか?
0342デフォルトの名無しさん
2007/04/26(木) 00:22:420343デフォルトの名無しさん
2007/04/26(木) 00:24:200344デフォルトの名無しさん
2007/04/26(木) 00:26:58「Pythonやるなら英語くらいできなくっちゃね」とか「おら英語は読めんずら」とか
誰か言うのを期待してますか
0345デフォルトの名無しさん
2007/04/26(木) 00:30:47>Pythonやるなら英語くらいできなくっちゃね
これは真実だよな.
0346デフォルトの名無しさん
2007/04/26(木) 00:31:020347デフォルトの名無しさん
2007/04/26(木) 00:32:170348デフォルトの名無しさん
2007/04/26(木) 00:48:25話せないのはともかくとして、読めないってのはあり得ないよな。
てか、Pythonの公式ドキュメントの充実っぷりは異常。
0349デフォルトの名無しさん
2007/04/26(木) 05:55:240350デフォルトの名無しさん
2007/04/26(木) 06:18:020351デフォルトの名無しさん
2007/04/26(木) 06:28:080352デフォルトの名無しさん
2007/04/26(木) 23:33:03pythonは標準インストーラでインストールしたままの状態なんだけどPyMarshal_系の関数の挙動があやしくない?
PyMarshal_GetLongとか使うと
実行時にメモリ参照エラーが発生するんだど、
pythonのソースからmarshal.c を持って来て、
プロジェクトに直接取り込むとうまく動くんだよね
0353デフォルトの名無しさん
2007/04/27(金) 00:27:39VC++のバージョンは?
0354デフォルトの名無しさん
2007/04/27(金) 02:57:47Visual Studio 2005 でつ
てゆかね、
いくつかの pyc ファイルを独自形式で1つのファイルに固めておいて、実行時にメモリ上に pyc を展開して、それをインポートさせたいのさ。
で、手順としては
1. とりあえず(自前のライブラリを用いて)バッファ (unsigned char 配列)上にpycバイナリを展開する
2. FILE* fp=tmpfile() で一時ファイルをつくり、そこにバッファをコピーする
3. 上記 fp を PyMarshal_ReadLongFromFile に食わせてマジックナンバーを読み取る
4. 残りのバイト列を PyMarshal_ReadLastObjectFromFile で読み取り、得られた PyObject を PyImport_ExecCodeModule でインポートしてやる
(手順 2: ここで、メモリ上のバッファを直接 FILE ポインタに関連づけられたら一時ファイルをつくらなくてもいいんだけど。。。)
(手順 3, 4: Pythonソースコードの run_pyc ナントカって関数からパクってきた)
って感じでやってるんだけど、もちっと単純に処理できないだろうか。
0355デフォルトの名無しさん
2007/04/27(金) 09:56:560356デフォルトの名無しさん
2007/04/28(土) 00:12:33exe 側が msvcr80.dll を使っている。
で exe で作った fp は msvcr80.dll が管理してるので
msvcr71.dll (PyMarshal_ReadLongFromFile を通して)
に渡すことは出来ない。
0357デフォルトの名無しさん
2007/04/28(土) 07:25:17言われてみればその通りだああああ
情報サンクスorz >>356
0358デフォルトの名無しさん
2007/04/28(土) 07:28:27python25.msi とか python251.msi とかフルインストールしても
Tools/Freeze なんてフォルダできないよね?
ソースにはあったけど。
0359デフォルトの名無しさん
2007/04/28(土) 12:55:24ああ、ごめん。
そういう意味で>>353を書いたんだが、分かんないよな…orz
0360デフォルトの名無しさん
2007/04/28(土) 18:18:320361デフォルトの名無しさん
2007/04/28(土) 19:32:07wxPython
0362デフォルトの名無しさん
2007/04/28(土) 19:42:45pyQt
0363デフォルトの名無しさん
2007/04/28(土) 20:01:56wxPython
0364デフォルトの名無しさん
2007/04/28(土) 20:09:55wxPython
0365デフォルトの名無しさん
2007/04/28(土) 20:47:06wxPython
0366デフォルトの名無しさん
2007/04/28(土) 20:52:45pyQtとwxPythonの利点と欠点を3行以内でお願い。
0367デフォルトの名無しさん
2007/04/28(土) 20:56:03使いやすい
分かりやすい
覚えやすい
pyQt:
使いにくい
分かりにくい
覚えにくい
0368デフォルトの名無しさん
2007/04/28(土) 20:57:07pyGtkは??
0369デフォルトの名無しさん
2007/04/28(土) 21:32:430370デフォルトの名無しさん
2007/04/29(日) 00:27:070371デフォルトの名無しさん
2007/04/29(日) 01:16:03http://www.itmedia.co.jp/news/articles/0704/26/news049.html
これでデスクトップのGUIもウェブのGUIも同じように開発できるなら
TkinterやpyGTKやpyQtを勉強する意味はあるのでしょうか?
誰か教えてください。
0372デフォルトの名無しさん
2007/04/29(日) 01:19:040373デフォルトの名無しさん
2007/04/29(日) 01:29:22952 名前:デフォルトの名無しさん[sage] 投稿日:2007/02/15(木) 10:47:56
Flexは?
Hybridizing Java
http://www.artima.com/weblogs/viewpost.jsp?thread=193593
> Thus, you can create an application in any language you prefer,
> even a dynamic language like Python or Ruby, and use Flex to build
> a beautiful UI.
985 名前:デフォルトの名無しさん[] 投稿日:2007/02/16(金) 05:18:12
実際にFlexとTurbogearsを使ってウェブアプリのGUIを作っているデモ:
http://www.adobe.com/devnet/flex/articles/eckel_video.html
http://www.artima.com/weblogs/viewpost.jsp?thread=193593
によると、Flex使ったら綺麗なGUIがウェブアプリとデスクトップアプリ両方
でできるみたいだね。一つのツールを勉強すれば環境を無視してどこでも使える
のは魅力。
0374デフォルトの名無しさん
2007/04/29(日) 01:29:51pyQt 互換性 ライセンス
共通 WindowsとXで表示したときで微妙に違う マニュアルがPython用じゃなくC++ベース
気になる点
0375デフォルトの名無しさん
2007/04/29(日) 01:34:240376デフォルトの名無しさん
2007/04/29(日) 02:39:080377デフォルトの名無しさん
2007/04/29(日) 02:55:35・それ以上のGUIはflex
にすれば、現在デスクトップのGUIを勉強するのは無駄?
Develop Web applications for local use
http://www-128.ibm.com/developerworks/library/wa-localwebsrv.html
0378デフォルトの名無しさん
2007/04/29(日) 03:15:09あと Python スレな。
0379デフォルトの名無しさん
2007/04/29(日) 03:20:47Webアプリは一般のWebブラウザのウィンドウ内でしか実行できないというだけでも限界があるだろ。
例えば、
・フォルダ内の画像ファイルアイコンを複数選択してウィンドウにドラッグ&ドロップすれば画像データベースが作成される。
・そのデータの一覧リストの各行をドラッグ&ドロップすることで簡単に順番が変更できる。
・任意の大きさに拡大・縮小された画像が、スライダーの動きに合わせてリアルタイムに表示される。
こういうアプリがWebベースで簡単に作れるか?
0380デフォルトの名無しさん
2007/04/29(日) 03:23:2520年くらい前は,マルチウインドウエンジンが
「余計なデーモン」以上の大物だったわけだが。
0381デフォルトの名無しさん
2007/04/29(日) 03:36:35時代は変わったって事だね。
ウェブアプリがデスクトップアプリを駆逐する様な時代は
やってこないと思うけどね。
0382デフォルトの名無しさん
2007/04/29(日) 03:38:58フォルダからのドラドロは無理だけど、それ以外はWebアプリでもできる.
0383デフォルトの名無しさん
2007/04/29(日) 03:50:330384デフォルトの名無しさん
2007/04/29(日) 03:51:15来るかも知れないよ
0385デフォルトの名無しさん
2007/04/29(日) 03:52:590386デフォルトの名無しさん
2007/04/29(日) 03:54:200387デフォルトの名無しさん
2007/04/29(日) 03:55:24Firefox OS
http://www.lifehack.org/articles/technology/firefox-os-why-my-hard-drive-software-are-obsolete.html
0388デフォルトの名無しさん
2007/04/29(日) 10:20:03宣伝するのに適当なとこ教えてください。
0389デフォルトの名無しさん
2007/04/29(日) 10:24:28ここで宣伝して叩かれればいいんでは。
メーリングリストなら python-ml-jp とか。
PyJUG のホームページに掲載されるニュースとして投稿するとか。
0390デフォルトの名無しさん
2007/04/29(日) 13:13:00チラシの裏に書いて家の前にでも貼っとけ。
0391デフォルトの名無しさん
2007/04/29(日) 13:17:31自分が作れないからってひがむなよwww
0392デフォルトの名無しさん
2007/04/29(日) 13:21:53それとも謙遜なのか?
0393デフォルトの名無しさん
2007/04/29(日) 13:27:520394デフォルトの名無しさん
2007/04/29(日) 13:31:01本人は「叩かれたい」らしいから仕方ないだろ。
0395デフォルトの名無しさん
2007/04/29(日) 13:34:34Mの方ですか
0396デフォルトの名無しさん
2007/04/29(日) 14:14:310397デフォルトの名無しさん
2007/04/29(日) 14:17:340398デフォルトの名無しさん
2007/04/29(日) 20:18:450399デフォルトの名無しさん
2007/04/29(日) 20:38:460400デフォルトの名無しさん
2007/04/29(日) 20:43:42初版を読んだよ。
0401デフォルトの名無しさん
2007/04/29(日) 20:45:460402デフォルトの名無しさん
2007/04/29(日) 22:10:28>>191のサイトには載ってないようですが。
0403デフォルトの名無しさん
2007/04/29(日) 22:14:53抱き合わせ商法のことです
0404デフォルトの名無しさん
2007/04/29(日) 22:29:44日本語とかあり得ないよな。糞訳ばっかだし。
0405デフォルトの名無しさん
2007/04/29(日) 22:59:59ttp://www.activestate.com/products/activepython/more_information.plex
主なところでwin32allっていうモジュールが添付してある。
で、それを使うとwin32APIへのアクセスが容易にできたり
COMサーバやコンポーネントが作れたりする。WSHに食わせたりもできる。
何言ってるかわかんなかったら普通のPythonでまったく問題なし。
0406デフォルトの名無しさん
2007/04/29(日) 23:07:470407デフォルトの名無しさん
2007/04/29(日) 23:31:30かろうじてwshに喰わせられるってトコだけは分かりました。
追加質問で申し訳ないのですが、過去ログも含めほとんど話題に出ないという事は、
皆さんwshからは利用されていないという事なんでしょうか?
0408デフォルトの名無しさん
2007/04/29(日) 23:32:470409デフォルトの名無しさん
2007/04/29(日) 23:40:360410デフォルトの名無しさん
2007/04/29(日) 23:46:410411デフォルトの名無しさん
2007/04/30(月) 01:51:02JavaScriptのせいでopenが使えなくて、何にも出来ないんだけど...
回避するテクニックってある?
0412デフォルトの名無しさん
2007/04/30(月) 02:19:270413デフォルトの名無しさん
2007/04/30(月) 02:55:02PythonでHTAは試したことないけど、
とりあえずJScriptからファイル操作は可能。
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060731/244742/
ただ凝ったことをするとCOMの知識が必要になってくるなど面倒もあるので
(ドキュメントを探すのも結構大変)
ActivePython+HTAを試してみるのがいいと思う。
0414デフォルトの名無しさん
2007/04/30(月) 08:13:53Win32 Extensions2.5(pywin32-210.win32-py2.5.exe)を入れたらwshで使えるって事ですよね?
コマンドラインで"cscript hoge.pys"とやると、PythonCOM Server policyがロードされてない
とか何とかエラーになるんですが。
0415デフォルトの名無しさん
2007/04/30(月) 10:12:49# test.pys
import os
WScript.Echo(os.name)
これを foobar.pys とでもして cscript foobar.pys してもエラーになる?
考えられるのはWSHのスクリプトエンジンとして
Python(+PyWin32)が登録されていないとか。
(ActivePythonの場合はインストール時に登録してくれる模様)
登録する方法についてはドキュメントを探すか、pyscript.py のソースを参照。
あと、IEのスクリプトエンジンとしてPythonを使う場合は(HTAも同様)
ttp://www.python.jp/Zope/whatsnew/Win32Problem
という脆弱性があるので覚悟の上で使用すること。
(最新版のデフォルトでは使えないようになっているはず)
0416デフォルトの名無しさん
2007/04/30(月) 11:17:44運用に覚悟が必要とまでなると、シロートの手に余るし、流石に少し腰が引けてきた。
>>415
仰るとおり何か登録作業が必要なんだと思います。もう少し悩んでみます。
| C:\Python25>cscript foobar.pys
| Microsoft (R) Windows Script Host Version 5.6
| Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
|
| pythoncom error: PythonCOM Server - The 'win32com.server.policy' module could no
| t be loaded.
| <type 'exceptions.ImportError'>: No module named win32com.server.policy
| pythoncom error: CPyFactory::CreateInstance failed to create instance. (80004005
| )
| CScript エラー: スクリプト "C:\Python25\foobar.pys" のスクリプト エンジン "Pytho
| n" が見つかりません。
0417デフォルトの名無しさん
2007/05/01(火) 10:45:43おとなしくVBScriptかJScriptの資料を探してこよう。
0418デフォルトの名無しさん
2007/05/01(火) 15:10:35http://www.nmr.mgh.harvard.edu/Neural_Systems_Group/gary/python/
を使ってます。
だいたいうまく動いているんですが、あるデータを処理するときに
File "./my-script.py", line 176, in calc
regress = stats.linregress( self.minx, self.miny )
File "/hoge/lib/python/stats.py", line 247, in __call__
return apply(self._dispatch[type(arg1)], (arg1,) + args, kw)
File "/hoge/lib/python/stats.py", line 935, in llinregress
z = 0.5*math.log((1.0+r+TINY)/(1.0-r+TINY))
ValueError: math domain error
というのを食らいます。
これってコードのバグっていうより多分 r が小さすぎるとか
そういうデータの性質に起因してるんですよね...きっと.
(大量のデータを食わせて数時間計算したあとの特定の場所で
食らっているので,どのようなデータが原因なのかは分かってません)
0419デフォルトの名無しさん
2007/05/01(火) 15:42:130420デフォルトの名無しさん
2007/05/01(火) 18:19:190422デフォルトの名無しさん
2007/05/02(水) 05:13:30math.log(-1)で>>418と同じエラーがでたので、たぶん>>419が原因ぽ域がする・・・
rのオーダーがなにかでずれて1.0を超えたとかでは?
ところで、math.log(0)だとべつなエラーが出るのが奇妙
0423デフォルトの名無しさん
2007/05/02(水) 08:28:28http://www.python.jp/doc/2.4/lib/module-math.html#foot20345
> 注意: math モジュールは、ほとんどが実行プラットフォームにおける C 言語の数学ライブラリ関数に
> 対する薄いラッパでできています。例外的な場合での挙動は、 C 言語標準ではおおさっぱにしか定義
> されておらず、さらに Python は数学関数におけるエラー報告機能の挙動をプラットフォームの C 実装
> から受け継いでいます。その結果として、エラーの際 (およびなんらかの引数がとにかく例外的であると
> 考えられる場合) に送出される特定の例外については、プラットフォーム間やリリースバージョン間を
> 通じて有意なものとなっていません。例えば、 math.log(0) が -Inf を返すか ValueError または
> OverflowError を送出するかは不定であり、 math.log(0) が OverflowError を送出する場合において
> math.log(0L) が ValueError を送出するときもあります。
0424デフォルトの名無しさん
2007/05/02(水) 08:53:04原文:As a result, the specific exceptions raised in error cases (and even whether some
arguments are considered to be exceptional at all) are not defined in any useful cross-platform
or cross-release way.
「そのため、エラーの際に具体的にどの例外が起きるか、さらにはある引数がそもそもエラーと
みなされるか否かという点さえも、プラットフォーム間やバージョン間で有用な形では定義されて
いません。」ぐらいに意訳するのがいいんジャマイカ。
0425デフォルトの名無しさん
2007/05/02(水) 13:34:50log 0は-∞と定義できないこともないが、log -1はマジで定義されてないから
0426デフォルトの名無しさん
2007/05/02(水) 14:23:27try: でひっかけて print してみました。
特に変なデータではないのですが(len 100 の float 列2つ),
とても直線度が高く,自乗回帰すると残渣とかが
非常に小さくなるようなデータでして
当該最小自乗回帰ルーチンの中では(結果として)
log の中が負になっていました。
うーむ...
計算誤差のせいかな... あとで計算式を追ってみます...
0427デフォルトの名無しさん
2007/05/02(水) 15:32:09定義はされてるが複素数だな。
0428デフォルトの名無しさん
2007/05/02(水) 18:45:12>>>log(-1)
3.1415926535897931j
>>>from math import e
>>>log(-e)
(1+3.1415926535897931j)
0429デフォルトの名無しさん
2007/05/02(水) 19:00:060430デフォルトの名無しさん
2007/05/03(木) 17:16:25--- hoge.kid ---
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"
xmlns:py="http://purl.org/kid/ns#">
<body>
<h1>日本語</h1>
</body>
</html>
--- hoge.py ---
import kid
kid.assume_encoding = 'shift-jis'
t = kid.Template(file='hoge.kid', encoding="shift-jis")
#=> xml.parsers.expat.ExpatError: not well-formed (invalid token)
s = open('hoge.kid').read().decode('shift-jis')
t = kid.Template(source=s, encoding="shift-jis")
#=> UnicodeEncodeError: 'ascii' codec can't encode characters in position 295-297: ordinal not in range(128)
s = open('hoge.kid').read().decode('shift-jis').encode('utf-8')
t = kid.Template(source=s, encoding="shift-jis")
#=> xml.parsers.expat.ExpatError: not well-formed (invalid token)
テンプレートである hoge.kid が shift-jis になっていることは確認しています。
どなたかお助けを。
0431デフォルトの名無しさん
2007/05/03(木) 18:25:170432デフォルトの名無しさん
2007/05/03(木) 22:03:16そもそもXMLでの必須はUTF-8とUTF-16だけで他はオプションだから実装が対応していないだけでは?
encoding="Shift_JIS" の記述のままのファイルをutf-8に変換するだけではwell-formedになりようもないし
0433デフォルトの名無しさん
2007/05/04(金) 16:32:150434デフォルトの名無しさん
2007/05/05(土) 13:50:37class hoge(object):
l=[]
def printl(self):
print l ##lにアクセスできない
print self.__class__.l ##lにアクセスできる
もう少し手軽にアクセスしたいが、どうしたらよい?
0435デフォルトの名無しさん
2007/05/05(土) 14:12:050436デフォルトの名無しさん
2007/05/05(土) 14:24:090437デフォルトの名無しさん
2007/05/05(土) 14:26:58だいたいのサイトで「定石」として紹介されているコンストラクタの処理が今ひとつ釈然としません。Tkinterはまだ知ってから数週間なので、それもあるかもですけど...
class App(Frame):
def __init__(self, master = None):
Frame.__init__(self, master)
self.init()
self.pack()
def init():
#以下省略
app = App()
app.mainloop()
これで、なんでウィンドウをTk()などで生成していないのに窓が開くのでしょうか・・・
こちらの方は、なんとかこうにかどうにか、理解に至る、な感じがしないでもないのですが・・・
何かしらのご教授をお願いします。
0438デフォルトの名無しさん
2007/05/05(土) 14:27:50http://hp.vector.co.jp/authors/VA003670/python/Tkinter/tkinter.htm
です。
0439デフォルトの名無しさん
2007/05/05(土) 14:34:54数学ライブラリーを全種類あげてください
0440デフォルトの名無しさん
2007/05/05(土) 15:19:290441デフォルトの名無しさん
2007/05/05(土) 15:27:04一種類以外にも上げてください
0442デフォルトの名無しさん
2007/05/05(土) 15:43:150443デフォルトの名無しさん
2007/05/05(土) 15:56:45あと何個見つかるでしょうか
0444デフォルトの名無しさん
2007/05/05(土) 16:03:500445デフォルトの名無しさん
2007/05/05(土) 16:12:58あたりでぐぐってみれば?
http://www.filegate.net/pdnpymath/
http://hodge.mathematik.uni-mainz.de/~stefan/python/index.html
あとはcheeseshopで検査
http://cheeseshop.python.org/pypi?%3Aaction=search&term=math&submit=search
0446デフォルトの名無しさん
2007/05/05(土) 17:36:45ルートウィジェット(Tkインスタンス)の存在しないときに
Frameウィジェットを生成しようとすると、
それじゃ困るというのでTkinterが勝手にTk()を呼んでくれます。
明示的に root = Tk() としたほうが行儀がいいことは確かです。
0447デフォルトの名無しさん
2007/05/05(土) 22:55:41Enthought distribution を入れておけ。御前には使い切れない science 関係の
package/module がインストールされる。
python 2.4 になってしまうが、大した問題ではないだろう。
0448デフォルトの名無しさん
2007/05/05(土) 23:00:38http://morchin.sakura.ne.jp/effective_python/index.html
0449デフォルトの名無しさん
2007/05/06(日) 03:59:32なんか合成っぽいね
0450デフォルトの名無しさん
2007/05/06(日) 10:15:390451デフォルトの名無しさん
2007/05/06(日) 10:27:220452デフォルトの名無しさん
2007/05/06(日) 11:00:26あのワシはLearning PHP5、
喰われてるヘビはProgramming Python
要するに合成
0453デフォルトの名無しさん
2007/05/06(日) 12:21:04ttp://www.monkeyboy.is-a-geek.org/oracover.jsp
0454デフォルトの名無しさん
2007/05/06(日) 22:27:11涙目wwwwwww
0455デフォルトの名無しさん
2007/05/06(日) 22:44:43これはO'REILLYは許可してるのか?
そこのサイトで合成された画像を個人のサイトで勝手に使うのは許可されてるのか?
0456デフォルトの名無しさん
2007/05/06(日) 22:52:080457デフォルトの名無しさん
2007/05/06(日) 22:57:30内容は真面目なプログラミングの話でネタやお笑いじゃないし
一見、そういう本が実在してる印象をうけるぞ。
0458デフォルトの名無しさん
2007/05/06(日) 23:13:41商標法で訴えるのは難しいだろうな。せいぜいで不正競争防止法あたり。
そこまでORAは野暮じゃなかろう。
0459デフォルトの名無しさん
2007/05/07(月) 15:48:20ORAって書くとオラクルっぽいな
0460デフォルトの名無しさん
2007/05/07(月) 15:51:490461デフォルトの名無しさん
2007/05/07(月) 15:54:19ざっとどんな知識が必要ですか?
0462デフォルトの名無しさん
2007/05/07(月) 15:56:13ざっとGUIツールキットの知識が必要。ぶっちゃけ、それ以外要らん。
とりあえずTkinterでもかじってみりん。
0463デフォルトの名無しさん
2007/05/07(月) 20:49:450464デフォルトの名無しさん
2007/05/07(月) 23:47:03ありますか、映像と音楽と効果音などが必要と思いますが
0465デフォルトの名無しさん
2007/05/08(火) 00:32:56こんなのはどうだい
http://slut.sourceforge.net/examples/index.html
0466デフォルトの名無しさん
2007/05/08(火) 00:52:15こんなのもどうだい
http://www.ixi-software.net/content/body_software_mirra.html
http://www.youtube.com/watch?v=rxvii1A3a-g
0467デフォルトの名無しさん
2007/05/08(火) 09:37:18やめとけ、おまえにゃ無理。
0468デフォルトの名無しさん
2007/05/08(火) 19:03:37http://www.google.com/trends?q=python&ctab=0&geo=JP&date=all
1. Ofunato, Japan
2. Tsukuba, Japan
3. Bunkyo, Japan
4. Kizuki, Japan
なぜに Ofunato が一番なんだろう
とか思ったり…
0469デフォルトの名無しさん
2007/05/08(火) 19:29:45てかそのデータは何なの?
0470デフォルトの名無しさん
2007/05/08(火) 20:18:46日本におけるGoogleでの検索回数。
ちなみにカンマで区切ってキーワードを並べると比較できる。
ところで All Regions にすると 2005年10月あたりにグラフが一瞬跳ね上がってるだけど
なにかあったの?
0471デフォルトの名無しさん
2007/05/08(火) 20:19:26http://www.google.com/trends?q=python%2Cruby&ctab=0&geo=JP&date=all
0472デフォルトの名無しさん
2007/05/08(火) 21:36:09水色、赤、黄、緑、紺 の 順で表示されるみたいだね。
なんか色と言語のイメージが合ってるしwww
0473デフォルトの名無しさん
2007/05/08(火) 21:37:410474デフォルトの名無しさん
2007/05/08(火) 22:05:240475デフォルトの名無しさん
2007/05/08(火) 22:38:25http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=BR&date=all
China
http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=CN&date=all
India
http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=IN&date=all
Hungary
http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=HU&date=all
Denmark
http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=DK&date=all
0476デフォルトの名無しさん
2007/05/08(火) 22:39:51http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=DE&date=all
Italy
http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=IT&date=all
Taiwan
http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=TW&date=all
Souse Korea
http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=KR&date=all
United Kingdom
http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=GB&date=all
United States
http://www.google.com/trends?q=python%2Cruby%2Cperl%2Cdelphi%2Chaskel&ctab=0&geo=US&date=all
なんか、もの凄く不毛な作業をしてしまったような気がする orz
0477デフォルトの名無しさん
2007/05/08(火) 23:00:31この方がよくね?
0478デフォルトの名無しさん
2007/05/08(火) 23:17:510479デフォルトの名無しさん
2007/05/08(火) 23:55:49でグーグルトレンドで検索するとアメリカ以外だと
do not have enough search volume to show graphs.
ってなって結果が表示できないっぽい
どうもこんなかんじにトレンド先生は解釈されてるみたいぽ
"python programming" "ruby programming"
0480デフォルトの名無しさん
2007/05/09(水) 03:55:530481デフォルトの名無しさん
2007/05/09(水) 04:36:200482デフォルトの名無しさん
2007/05/09(水) 04:39:530483デフォルトの名無しさん
2007/05/09(水) 06:00:580484デフォルトの名無しさん
2007/05/09(水) 10:51:500485デフォルトの名無しさん
2007/05/09(水) 13:30:330486デフォルトの名無しさん
2007/05/09(水) 13:57:51初版第1刷 p.379-380 のリスト5の 15、18 行目の、
15: <th colspan="7">%d, %d</td>
18: <th>%s</td> は、
15: <th colspan="7">%d, %d</th>
18: <th>%s</th>
ではありませんか?また、25 行目と 26 行目の間にも
</tr> を出力する記述ががないと、<tr> との対応がとれ
ないと思うのですが…。(HTML というものをよく知らない
ので間違ってたらごめんなさい)
0487デフォルトの名無しさん
2007/05/09(水) 14:02:500488デフォルトの名無しさん
2007/05/09(水) 14:16:59></tr> を出力する記述ががないと、<tr> との対応がとれ
>ないと思うのですが…。(HTML というものをよく知らない
>ので間違ってたらごめんなさい)
XHTML ではなく HTML であるなら tr 要素の終了タグは省略可能
でも教科書なのにそんな非推奨な例文を出すやつはそれだけでダメ本確定だと思う
0489デフォルトの名無しさん
2007/05/09(水) 14:18:30てか、 ど う で も よ く ね?
そのくらい空気読めば分かるだろ。HTMLも知らん
厨房が、鬼の首取ったようにいちいち指摘すんなヴォケ
0490デフォルトの名無しさん
2007/05/09(水) 14:34:230491デフォルトの名無しさん
2007/05/09(水) 14:40:040492デフォルトの名無しさん
2007/05/09(水) 14:53:42上司になったら最悪。誰からも慕われない、みんなに嫌われる。
0493デフォルトの名無しさん
2007/05/09(水) 15:06:54俺はPythonは緑のイメージがある
0494デフォルトの名無しさん
2007/05/09(水) 15:07:330495デフォルトの名無しさん
2007/05/09(水) 15:17:150496デフォルトの名無しさん
2007/05/09(水) 15:19:260497デフォルトの名無しさん
2007/05/09(水) 15:25:25著者がきてるのかどうかは知らないけど
たいていのばあい、みんPyたたきから始まるね〜
0498デフォルトの名無しさん
2007/05/09(水) 15:31:060499デフォルトの名無しさん
2007/05/09(水) 15:32:16どうでもよくはないと思う。確かに、表示上は問題ないし、単なるサンプルでpythonの本質とも
関係ないかもしれないけど、いまどきHTMLのタグ省略とかあり得ない。確信犯ならセンスを疑う。
0500デフォルトの名無しさん
2007/05/09(水) 15:40:010501デフォルトの名無しさん
2007/05/09(水) 15:46:54単なるサンプルでpythonの本質とも関係ないならどうでも良いのでは?
HTMLの教科書じゃないんだし。
0502486
2007/05/09(水) 15:55:52ほんとう、どうでもいいこと書いてすいませんでした…。
0503デフォルトの名無しさん
2007/05/09(水) 15:58:35でもタグの対応をいきなり間違えるなんて、校正しても直らない気もするwww
プログラムでもドキュメントでも、初手からきちんとかけないやつは、ほんとダメだ。
0504デフォルトの名無しさん
2007/05/09(水) 16:01:360505デフォルトの名無しさん
2007/05/09(水) 16:03:540506デフォルトの名無しさん
2007/05/09(水) 16:47:36教科書はネットにあるだけで読みきれない。
0507デフォルトの名無しさん
2007/05/09(水) 16:59:11略語をみるとすぐ使いたがる奴
0508デフォルトの名無しさん
2007/05/09(水) 17:38:04別に今のところハマるような問題はないけど
(といってもまだ積んであるだけだからだけど...)
0509デフォルトの名無しさん
2007/05/09(水) 17:41:510510デフォルトの名無しさん
2007/05/09(水) 18:23:080511デフォルトの名無しさん
2007/05/09(水) 18:31:52python はインタープリンタなのでコンパイラじゃないような…
-> 実行時に .pyc ってファイルが出来るけどそれは2度目
以降、実行される処理を高速化するためのものであって…
( とかいって漏れも.pycについての詳細についてはよくわからない orz )
-> はっ、そうか!配布可能な実行ファイルを作りたいのか
ttp://kumiki.c.u-tokyo.ac.jp/~ichiyama/projects/wxpythonmascot/
>Windowsバイナリを作ることもできます。バイナリ作成には、
>distutils拡張の py2exeを使います
こことか参考になるかも。
0512デフォルトの名無しさん
2007/05/09(水) 18:35:53インタプリタ:interpreter ○
逝ってくるしか orz
0513デフォルトの名無しさん
2007/05/09(水) 18:38:49普通は、pythonは言語であって、同時に
pythonインタプリタ処理系がたまたま
pythonと呼ばれているわけで。
JITコンパイラならpsycoとかあるけど、
多分求めているものはちょっと違うよね‥‥‥。
0514デフォルトの名無しさん
2007/05/09(水) 18:53:140515デフォルトの名無しさん
2007/05/09(水) 19:08:40なるほど、アイツか
0516デフォルトの名無しさん
2007/05/09(水) 19:11:08そうだね
JavaやC#の代わりくらいにしか使えないね
0517デフォルトの名無しさん
2007/05/09(水) 19:19:13ttp://nenashineko.blog6.fc2.com/blog-entry-33.html
ここのほうがハードル高くないかも
#from wxPython.wx import * <- これ古い書き方だからコメントアウトして下のを付け加えればたぶん動くかも
import wx
import time
import sys
>>513
>JITコンパイラならpsycoとかあるけど
さっき初めて知った。というかそんなのもあるのね。PyPy とは違うものなの?
なんか似てるような気がする。
0518デフォルトの名無しさん
2007/05/10(木) 02:10:250519デフォルトの名無しさん
2007/05/10(木) 02:20:52大船渡におけるrubyとpythonの違いが圧倒的すぎてワロタwww
pythonistaにとって大船渡は完全にホームだなw
0520デフォルトの名無しさん
2007/05/10(木) 02:22:580521デフォルトの名無しさん
2007/05/10(木) 13:22:47そうそう.
んで,個人攻撃なんかを延々繰り返した上で >>504 みたいに半端に投げ出していなくなる.
これの繰り返し.
キチガイとしか思えない.
一部の奴には正体がバレているみたいだけどこういう奴とはリアル世界でぜったいに関わりたくないよな〜.
0522デフォルトの名無しさん
2007/05/10(木) 18:40:510523デフォルトの名無しさん
2007/05/10(木) 21:26:08再度インポートする方法ってありますか?
0524デフォルトの名無しさん
2007/05/10(木) 21:29:300525デフォルトの名無しさん
2007/05/10(木) 21:31:39プログラミングテクニックはそれで身に付くけどね。
でもそんなテクニックばかり上げても計算機科学の基礎ぐらいは知ってないとね。
0526デフォルトの名無しさん
2007/05/10(木) 22:08:57道具は包丁と同じで料理を作っていくうちに
上手くなっていく理論だろ?
0527デフォルトの名無しさん
2007/05/10(木) 22:20:520528デフォルトの名無しさん
2007/05/10(木) 22:38:120529デフォルトの名無しさん
2007/05/10(木) 22:58:140530デフォルトの名無しさん
2007/05/10(木) 23:28:200531デフォルトの名無しさん
2007/05/11(金) 02:05:480532デフォルトの名無しさん
2007/05/11(金) 17:06:4734, 'Buzz', 'Fizz', 37, 38, 'Fizz', 'Buzz', 41, 'Fizz', 43, 44, 'FizzBuzz', 46, 47, 'Fizz', 49, 'Buzz', 'Fizz', 52, 53, 'Fizz', 'Buzz', 56, 'Fizz', 58, 59, 'FizzBuzz', 61, 62, 'Fizz', 64, 'Buzz', 'Fizz',
67, 68, 'Fizz', 'Buzz', 71, 'Fizz', 73, 74, 'FizzBuzz', 76, 77, 'Fizz', 79, 'Buzz', 'Fizz', 82, 83, 'Fizz', 'Buzz', 86, 'Fizz', 88, 89, 'FizzBuzz', 91, 92, 'Fizz', 94, 'Buzz', 'Fizz', 97, 98, 'Fizz', 'Buzz']
for i in l:
print i
0533デフォルトの名無しさん
2007/05/11(金) 17:12:380534デフォルトの名無しさん
2007/05/11(金) 18:51:500535デフォルトの名無しさん
2007/05/11(金) 21:53:01整数のトリックって何?
0536デフォルトの名無しさん
2007/05/11(金) 22:49:410537デフォルトの名無しさん
2007/05/11(金) 23:20:51for i,f,b in zip(gen(), map(lambda x: x%3 == 0, (gen())),map(lambda x: x%5 == 0, gen()))]).replace('False', '').replace(')', '').replace('(', '')))).replace('Fizz Buzz', 'FizzBuzz')"
0538デフォルトの名無しさん
2007/05/11(金) 23:43:04なんとなくカッコイイ言葉に踊らされているだけ
まともなPython使いなら5秒で思いつくようなトリックだよ
0539デフォルトの名無しさん
2007/05/11(金) 23:47:34obfuscated認定
evalのダメな使い方の見本認定
0540デフォルトの名無しさん
2007/05/12(土) 00:25:08しかもテストしてみたらFizzBuzzとして解けてないし・・・
とりあえず暇ならここをどうぞ、(現在ビリ230Byte
http://golf.shinh.org/p.rb?FizzBuzz
0541デフォルトの名無しさん
2007/05/12(土) 01:30:39print"\n".join(p&q and"FizzBuzz"or p and"Fizz"or q and"Buzz"or r for p,q,r in[(n%3==2,n%5==4,`n+1`)for n in range(100)])
0542デフォルトの名無しさん
2007/05/12(土) 01:48:22p*"Fizz"+q*Buzz" or r にすると大分減るな。
0543541
2007/05/12(土) 01:59:31'Fizz'
>>> False*"Fizz"
''
へぇー、知らんかった。1行野郎のためにあるような機能だなw
0544541
2007/05/12(土) 02:04:040545デフォルトの名無しさん
2007/05/12(土) 02:13:59Pythonはもうおしまいかもな。
0546デフォルトの名無しさん
2007/05/12(土) 02:20:03'Buzz'
>>>['Fizz','Buzz'][False]
'Fizz'
おまえらのようなカボチャ頭にはこんなことも思いつかんのだろうアホどもめ.
0547デフォルトの名無しさん
2007/05/12(土) 02:22:140548デフォルトの名無しさん
2007/05/12(土) 02:27:510549デフォルトの名無しさん
2007/05/12(土) 02:28:360550デフォルトの名無しさん
2007/05/12(土) 02:31:57if 条件:
X = 'Buzz'
elif:
X = 'Fizz'
って書くのを短くしようと思ったんだよ
0551デフォルトの名無しさん
2007/05/12(土) 02:33:40駄目な開発者ほど引き出しが少ない
逆ギレするような奴は人間としても最悪だ
0552デフォルトの名無しさん
2007/05/12(土) 02:35:20elif:
invalid syntax
0553デフォルトの名無しさん
2007/05/12(土) 02:35:38同感だ
0554デフォルトの名無しさん
2007/05/12(土) 02:37:06else の間違いだった
0555デフォルトの名無しさん
2007/05/12(土) 02:38:12ただの「遊び」に「思いつく**必要がある**」なんて勝手に解釈する人がいるのはびっくりだ
典型的ないじめられっ子体質だな(wwww
0556デフォルトの名無しさん
2007/05/12(土) 02:43:08あんまりいじめるなよ(w
また脳内の「アイツ」が出てきちゃうぞ(wwwww
0557デフォルトの名無しさん
2007/05/12(土) 02:43:27残念ながらそれだと、'FizzBuzz'の場合にうまく対応できないので、余計長くなる。
>>542のやり方をまじめにやれば、60前後ぐらいまではいくけど、そこから先が不明・・・
0558デフォルトの名無しさん
2007/05/12(土) 02:47:00そもそも特に利点の無いことを思いつこうという発想が俺には無い。
0559デフォルトの名無しさん
2007/05/12(土) 02:52:030560デフォルトの名無しさん
2007/05/12(土) 03:05:080561デフォルトの名無しさん
2007/05/12(土) 03:12:160562デフォルトの名無しさん
2007/05/12(土) 03:21:05利点はあるよ
教えないけど
0563デフォルトの名無しさん
2007/05/12(土) 03:43:150564541
2007/05/12(土) 03:56:43スゲー
or i+1 を or-~i として1バイト短くしてるわけだ。
こんな2の補数の使い方、初めて見た。
条件判定の書き換え方もスゴイ。
まさに奇想天外。
0565デフォルトの名無しさん
2007/05/12(土) 04:14:02なるほど、そういう風に剰余判定すると括弧がいらなくなるんですね。
しかも、0-99で話が済むので、for文の方が早くなるというレア問題、・・・すごい盲点だ・・・w
�d
0566デフォルトの名無しさん
2007/05/12(土) 05:46:060567デフォルトの名無しさん
2007/05/12(土) 07:01:450568デフォルトの名無しさん
2007/05/12(土) 10:23:370569デフォルトの名無しさん
2007/05/12(土) 10:41:320570デフォルトの名無しさん
2007/05/12(土) 10:42:570571デフォルトの名無しさん
2007/05/12(土) 12:09:480572デフォルトの名無しさん
2007/05/12(土) 15:06:220573デフォルトの名無しさん
2007/05/12(土) 18:02:460574デフォルトの名無しさん
2007/05/12(土) 18:18:290575デフォルトの名無しさん
2007/05/12(土) 18:33:430576デフォルトの名無しさん
2007/05/12(土) 18:47:52損した
0577デフォルトの名無しさん
2007/05/12(土) 19:54:220578デフォルトの名無しさん
2007/05/12(土) 20:40:57ROM-BASICじゃフロッピーが扱えないから、別に損でもないだろ。
0579デフォルトの名無しさん
2007/05/12(土) 21:10:05op.pyなら
0580デフォルトの名無しさん
2007/05/12(土) 22:43:010581デフォルトの名無しさん
2007/05/12(土) 22:43:23買ってもらったなら、損したわけでもないだろ。
0582デフォルトの名無しさん
2007/05/12(土) 22:46:02別の物を買ってもらえる余地もあったわけだ
もしこの2万円の支出がなければ食卓がもっと潤ったかもしれないんだ
あー損した BASICと名の付く言語なんかもう一生つかうもんか
0583デフォルトの名無しさん
2007/05/12(土) 22:53:15月曜からVB.netの案件だからよろしく♪
0584デフォルトの名無しさん
2007/05/12(土) 22:55:26マでもSEでもねーよ。
しがない大学教員だよ
0585デフォルトの名無しさん
2007/05/12(土) 23:05:070586デフォルトの名無しさん
2007/05/13(日) 06:09:10高齢者向けボケ防止言語なんだね・・・
どうりで活気が無くて全く普及してないわけだ
0587デフォルトの名無しさん
2007/05/13(日) 09:40:030588デフォルトの名無しさん
2007/05/13(日) 10:17:510589デフォルトの名無しさん
2007/05/13(日) 18:00:59Ruby!
Python!
dango dango dango dango...
0590デフォルトの名無しさん
2007/05/13(日) 23:04:34今ごろ見たけどこれは凄いな。
0591デフォルトの名無しさん
2007/05/16(水) 19:17:43print open('answer.txt').read()
0592デフォルトの名無しさん
2007/05/16(水) 22:21:57「ココイチで買ってくれば一瞬じゃん」
とか言っているみたいものだな。
0593デフォルトの名無しさん
2007/05/16(水) 22:48:200594デフォルトの名無しさん
2007/05/16(水) 23:30:43管理人がそういう不正行為の名人みたいな人なので、
多分ちゃんと封じられてると思う
0595デフォルトの名無しさん
2007/05/16(水) 23:31:560596デフォルトの名無しさん
2007/05/16(水) 23:48:05とか言えばいいでつか
0597デフォルトの名無しさん
2007/05/16(水) 23:59:370598デフォルトの名無しさん
2007/05/17(木) 03:57:46そういうときは待ってちゃ駄目だ、探しにいくんだ。
けして引き寄せようと思っちゃいけない。
0599デフォルトの名無しさん
2007/05/17(木) 18:31:20バッチスレ見てこい…引くぞ
0600デフォルトの名無しさん
2007/05/17(木) 19:52:240601デフォルトの名無しさん
2007/05/17(木) 21:39:520602デフォルトの名無しさん
2007/05/18(金) 00:18:360603じぶんのコーディング能力をじぶんで晒し上げてみるテステス
2007/05/18(金) 00:49:15http://pc11.2ch.net/test/read.cgi/tech/1173036694/531 <- 俺はこの書き方が好き好きすー(いまここ)
最後のreturn xを省略してx だけなのが良くわからないぽ
http://pc11.2ch.net/test/read.cgi/tech/1173036694/538-541 <- あんま好きじゃないかも
とてもRubyらしいと思た (よく分らないからあとで読むぽ)
http://pc11.2ch.net/test/read.cgi/tech/1173036694/543 <- 好きになれそうかも
か、勘違いしないでよね!別に、た、他人の褌で相撲を
取ってるわけじゃないんだからね!! とか言ってネタ
を投下してみたり。。。
pythonらしく書くとしたらどんな風になるのかな?
0604デフォルトの名無しさん
2007/05/18(金) 00:51:230605デフォルトの名無しさん
2007/05/18(金) 01:22:35def fizzbuzz(n):
for i in range(1, n+1):
if i % 15 == 0: yield 'FizzBuzz'
elif i % 5 == 0: yield 'Buzz'
elif i % 3 == 0: yield 'Fizz'
else: yield i
for x in fizzbuzz(100): print x
0606603
2007/05/18(金) 02:40:24継続を使うと、ループ処理が、普通に関数を呼び出すようなかんじで
まとめることが出来て、とてもシンプルに書けるようになるんですね。。。
勉強になりますた。ありが�d。
0607デフォルトの名無しさん
2007/05/18(金) 02:43:320608デフォルトの名無しさん
2007/05/18(金) 03:31:16RubyはPerlからの仕様をひきずっていて、あるメソッドで実行時に最後に評価された値が
そのメソッドの戻り値になるのよん。
なもんで、return を書かないで済むケースは書かないことが多いみたい。
0610603
2007/05/18(金) 03:53:190611デフォルトの名無しさん
2007/05/18(金) 04:01:030612デフォルトの名無しさん
2007/05/18(金) 06:38:280613デフォルトの名無しさん
2007/05/18(金) 07:07:310614デフォルトの名無しさん
2007/05/18(金) 08:33:290615デフォルトの名無しさん
2007/05/18(金) 09:15:59下の例だとgeneratorって関数がジェネレータで、実行して帰ってくるのが
イテレータ。
def generator():
yield 1
yield 2
iterator = generator()
for i in iterator:
print i
0616デフォルトの名無しさん
2007/05/18(金) 09:56:480617デフォルトの名無しさん
2007/05/18(金) 09:58:150618デフォルトの名無しさん
2007/05/18(金) 10:13:510619デフォルトの名無しさん
2007/05/18(金) 10:40:39ジェネレータ:イテレータを返す(yieldを使った特別な)関数
0620デフォルトの名無しさん
2007/05/18(金) 12:28:53ファースト限定でよろしく。
0621デフォルトの名無しさん
2007/05/18(金) 14:56:33みたいな理解でよいですか?
0622デフォルトの名無しさん
2007/05/18(金) 14:59:010623デフォルトの名無しさん
2007/05/18(金) 15:35:130624デフォルトの名無しさん
2007/05/18(金) 22:01:48イタレータを作れなかった。
が、今は、yield文一つで、イタレータが作れるようになった。
これがジェネレータ…でいい?
0625デフォルトの名無しさん
2007/05/18(金) 22:09:480626デフォルトの名無しさん
2007/05/18(金) 22:21:12>昔は、ちゃんと __iter__ とか next といったメソッドをもったクラスを作らないと、
>イタレータを作れなかった。
この部分が大間違いチンカスもう来んな
0627デフォルトの名無しさん
2007/05/18(金) 22:44:06間違ってないチンカスはお前だ
0628デフォルトの名無しさん
2007/05/18(金) 22:49:08itertoolsのチンゲでも煎じて飲んでおけこのホーケイ野郎
0629デフォルトの名無しさん
2007/05/18(金) 22:59:03バカ発見w
0630デフォルトの名無しさん
2007/05/19(土) 09:35:51意味わからなくても使えるから、使っているうちに理解できるようになるだろうよ。
0631デフォルトの名無しさん
2007/05/19(土) 11:17:120632デフォルトの名無しさん
2007/05/19(土) 11:34:06いいや、お前のことだよ
0633デフォルトの名無しさん
2007/05/19(土) 13:22:14http://www.kmonos.net/alang/etc/
ここのICON言語とかの説明がわかりやすいかも、とか思ったり。
ところで
このICON言語、使ったことのある方、いらっしゃいますか?
テキスト処理用途の言語として Perl と 競合する部分もあった
ようなのですけれども。
0634デフォルトの名無しさん
2007/05/19(土) 13:26:02○ あったように思えるのですけれども
日本語は正確に orz
0635デフォルトの名無しさん
2007/05/19(土) 13:27:560636デフォルトの名無しさん
2007/05/19(土) 19:34:15おまいらときたら…。
0637デフォルトの名無しさん
2007/05/19(土) 19:45:31ののしってるだけじゃねーか
0638デフォルトの名無しさん
2007/05/19(土) 19:55:47言語の壁はそれほどにも厚いって事ですかね。
母国語で入門しようとしたら、オライリー級に耐える支払能力が必要な訳で。
0639デフォルトの名無しさん
2007/05/19(土) 19:59:570640デフォルトの名無しさん
2007/05/19(土) 20:04:132.4以降はunicode対応でオリジナルのままでもNT系Windowsなら問題ない?
0641デフォルトの名無しさん
2007/05/19(土) 22:32:10スレ違いだがここにいるぞ。
Iconは中間言語で実行するように
なってたので、#! なスクリプトで使えなかったのが
大きいんじゃないかな。
あとPerlと違ってJIcon作る人がいなかった。
0642デフォルトの名無しさん
2007/05/19(土) 23:29:39空気読めてない仕様だな、
0643デフォルトの名無しさん
2007/05/20(日) 03:16:02イマイチわかんないんだけど、2.3.4Jは2kでも使えたから専用って事は無いと思う。
2.4以降はJ改造なしでも良いってだけで、OSは関係ないんじゃないかなー?
たぶん問題なく動くよ。
0644デフォルトの名無しさん
2007/05/21(月) 14:53:030645デフォルトの名無しさん
2007/05/21(月) 14:58:260646デフォルトの名無しさん
2007/05/21(月) 15:03:06_、_
( ,_ノ` )
r ヽ.
__/ ┃)) __i | キュッキュッ
/ /ヽ,,⌒)___(,,ノ\
_、_
( ,_ノ` )
| ̄ ̄ ̄ ̄ ̄ ̄| トン
_(,,) メイビー (,,)
/ | |\
0647デフォルトの名無しさん
2007/05/21(月) 15:10:200648デフォルトの名無しさん
2007/05/21(月) 15:52:39なんか洋書が出るみたいだね。なんか表紙とかいいかんじだw
学生さん向けの教科書みたいなものなのかな…ちょっと内容が
どんななのか気になるぽ…
0649デフォルトの名無しさん
2007/05/21(月) 16:21:430650デフォルトの名無しさん
2007/05/21(月) 16:44:59>なんか表紙とかいいかんじだ
どういうセンスしてんだよ(www
0651デフォルトの名無しさん
2007/05/21(月) 17:22:35中身もよかったりする。Write Great Codeとか
>>648
この本、一年ぐらい発売が伸び伸びになってるので
また延期になるかもしれない
あと同じところから出るRuby by Exampleは
本来Python by ... として出るはずだったいわくつきの本
0652デフォルトの名無しさん
2007/05/21(月) 19:23:08>本来Python by ... として出るはずだったいわくつきの本
どんな大胆な変更だよ
0653デフォルトの名無しさん
2007/05/22(火) 09:57:15・シンプルなGUIは↓
CGIプログラマーのためのCherryPy
http://www-06.ibm.com/jp/developerworks/opensource/051007/j_os-cherrypy.shtml
0654デフォルトの名無しさん
2007/05/22(火) 11:04:490655デフォルトの名無しさん
2007/05/22(火) 11:30:540656デフォルトの名無しさん
2007/05/22(火) 12:17:43なんか、他に応用ができない中途半端な知識を覚えるだけのような気がする・・
普通にCGIとかTkinterとかでいいんじゃないかな
0657デフォルトの名無しさん
2007/05/22(火) 12:40:12Turbogearsの主要コンポーネントだし、本も出てるよ。
http://www.amazon.co.jp/Cherrypy-Essentials-Python-Application-Development/dp/1904811841/
0658デフォルトの名無しさん
2007/05/22(火) 13:14:27つーか内容古くね?
こういうのを高い金出して聞きに行く奴とかSIerは間違いなくクソだと思うので
地雷一覧として聴講者のリストを公開して欲しい
0659デフォルトの名無しさん
2007/05/22(火) 13:46:09講師がアレだな
0660デフォルトの名無しさん
2007/05/22(火) 14:18:220661デフォルトの名無しさん
2007/05/22(火) 14:30:40リストラされたオヤジが補助金かなんかもらって受けるんじゃないかと想像
0662デフォルトの名無しさん
2007/05/22(火) 14:33:020663デフォルトの名無しさん
2007/05/22(火) 15:57:01「python 入門」というお題では内容も集まる人もイマイチだと思う...
(python に絡んでやる気があったら逆に行かないだろ)
0664デフォルトの名無しさん
2007/05/22(火) 16:06:27モジックソはいまだに偉大(色んな意味で)
0665デフォルトの名無しさん
2007/05/22(火) 19:08:16若者はこんなの覚えてもちっとも役に立たんよ
代わりにruby勉強したほうがいい
0666デフォルトの名無しさん
2007/05/22(火) 19:11:070667デフォルトの名無しさん
2007/05/22(火) 19:13:10釣られんなよ
0668デフォルトの名無しさん
2007/05/22(火) 19:31:460669デフォルトの名無しさん
2007/05/22(火) 19:38:170670デフォルトの名無しさん
2007/05/22(火) 22:31:440671デフォルトの名無しさん
2007/05/22(火) 23:08:040672デフォルトの名無しさん
2007/05/22(火) 23:43:480673デフォルトの名無しさん
2007/05/22(火) 23:50:47まともな開発者になりたいんなら
アセンブラとCの知識は必要だよ
0674デフォルトの名無しさん
2007/05/22(火) 23:53:13やはり、必要・不必要のレベルの話だと思う。
0675デフォルトの名無しさん
2007/05/22(火) 23:56:230676デフォルトの名無しさん
2007/05/22(火) 23:57:150677デフォルトの名無しさん
2007/05/22(火) 23:57:25どういう人がなれるの?
0678デフォルトの名無しさん
2007/05/22(火) 23:58:160679デフォルトの名無しさん
2007/05/22(火) 23:58:26そういうのは一握りの天才
凡人が天才に追いつこうと思ったら
アセンブリとかCをやるのが近道の一つ
0680デフォルトの名無しさん
2007/05/23(水) 00:01:090681デフォルトの名無しさん
2007/05/23(水) 00:02:020682デフォルトの名無しさん
2007/05/23(水) 00:03:58若い開発者も、出来る人ほど低級言語の経験があるんだよ
0683デフォルトの名無しさん
2007/05/23(水) 00:07:34これ定説。
0684デフォルトの名無しさん
2007/05/23(水) 00:13:49といいつつ、オープンソースやってる・・・
0685デフォルトの名無しさん
2007/05/23(水) 00:16:35それによって実際に減った実行時間と、
どっちが多い?
0686デフォルトの名無しさん
2007/05/23(水) 00:16:46新CPUをつかうと決まったら、アセンブラをまずつくってたなぁ。
そのオヤジにいわせると、アセンブラは必要か?の問はNOだ。
組み込みプログラマでも生産性の低いアセンブラつかえても
自慢にならん。例は枚挙にいとまがないが。一般的にはNO。
0687デフォルトの名無しさん
2007/05/23(水) 00:18:10場合による。
どんな場合が有利かを判別するにはコスト意識が必要。
0688デフォルトの名無しさん
2007/05/23(水) 00:18:190689デフォルトの名無しさん
2007/05/23(水) 00:26:10なんか適度な加齢臭とグダグダな流れがそっくりだ。
0690デフォルトの名無しさん
2007/05/23(水) 00:27:320691デフォルトの名無しさん
2007/05/23(水) 00:27:410692デフォルトの名無しさん
2007/05/23(水) 00:30:280693デフォルトの名無しさん
2007/05/23(水) 00:41:07もちろん損じゃないが、他にできることがあるだろう。
0694デフォルトの名無しさん
2007/05/23(水) 00:50:06いかにも無知な者の意見だね
0695デフォルトの名無しさん
2007/05/23(水) 00:51:480696デフォルトの名無しさん
2007/05/23(水) 00:52:08いくらでも自由に言えるぜ。
0697デフォルトの名無しさん
2007/05/23(水) 00:57:320698デフォルトの名無しさん
2007/05/23(水) 00:57:43プロで知らなかったら、ちょっと付き合いたくないタイプだね。
オートマしか運転できない人が「俺はF1ドライバーを目指す。F1だって今はオートマだから
俺はマニュアル車の運転には興味ないよ」って言ってたらやっぱり変だろ?
0699デフォルトの名無しさん
2007/05/23(水) 01:01:27オマエはZen of Pythonの本当の意味を100%勘違いしているよボケが死ねカス。
0700デフォルトの名無しさん
2007/05/23(水) 01:10:26通信コストや処理速度を向上する努力とか必要じゃん。
転送量を下げるや表示速度を上げる工夫って、結構涙ぐましいものがあるよ。
0701デフォルトの名無しさん
2007/05/23(水) 01:11:27代わりにBrainf*ckをちょいとたしなんでおいてくれ
0702デフォルトの名無しさん
2007/05/23(水) 01:58:440703デフォルトの名無しさん
2007/05/23(水) 02:00:140704デフォルトの名無しさん
2007/05/23(水) 02:44:410705デフォルトの名無しさん
2007/05/23(水) 02:59:400706デフォルトの名無しさん
2007/05/23(水) 02:59:460707デフォルトの名無しさん
2007/05/23(水) 07:21:030708デフォルトの名無しさん
2007/05/23(水) 11:16:400709デフォルトの名無しさん
2007/05/23(水) 11:39:050710デフォルトの名無しさん
2007/05/23(水) 11:43:230711デフォルトの名無しさん
2007/05/23(水) 11:50:060712デフォルトの名無しさん
2007/05/23(水) 11:53:430713デフォルトの名無しさん
2007/05/23(水) 13:12:250714デフォルトの名無しさん
2007/05/23(水) 13:23:050715デフォルトの名無しさん
2007/05/23(水) 13:26:27団塊
>>709
氷河期
>>710-711
ゆとり
0716デフォルトの名無しさん
2007/05/23(水) 15:55:270717デフォルトの名無しさん
2007/05/23(水) 15:56:520718デフォルトの名無しさん
2007/05/23(水) 15:59:33日本人ならrubyを使いなさい
0719デフォルトの名無しさん
2007/05/23(水) 16:01:170720デフォルトの名無しさん
2007/05/23(水) 16:33:260721デフォルトの名無しさん
2007/05/23(水) 17:06:04このスレだけじゃなくMLの方も。
Pythonの使われ方が多様化、細分化してPython一般について語れることが少なくなった。
Pythonとその利用者層が成熟したってゆーことなんだろうけれども。
なんてゆーか、青春時代を振り返って懐かしんでいる年寄りの気分だ。
(実際年寄りなわけだがw)
0722デフォルトの名無しさん
2007/05/23(水) 19:30:34class Class1
def method1
puts "Class1#method1"
end
end
class Class1
def method2
puts "Class1#method2"
end
end
c = Class1.new
c.method1
c.method2
0723デフォルトの名無しさん
2007/05/23(水) 19:38:050724デフォルトの名無しさん
2007/05/23(水) 19:47:16やっぱ Python はダメダメだな。
日本人なら ruby やろ!
0725デフォルトの名無しさん
2007/05/23(水) 19:58:19仕事で使って言語コア実装の甘さに泣くのも楽しいし
RoRの重さにヒーヒー言うのも楽しい
みんなもっとRubyを使えばいいヨ!
Pythonみたいな堕落言語を使って生産性を高めたら駄目だヨ!!
0726デフォルトの名無しさん
2007/05/23(水) 20:13:050727デフォルトの名無しさん
2007/05/23(水) 20:14:260728デフォルトの名無しさん
2007/05/23(水) 20:32:150729デフォルトの名無しさん
2007/05/23(水) 20:50:01Python厨とRuby厨が仲直りするスレッド
ttp://pc11.2ch.net/test/read.cgi/tech/1099804004/
0730デフォルトの名無しさん
2007/05/23(水) 20:58:36って、話題自体は以前にもあった気がする。
どういうコメントがあったかは覚えて無いけど・・・
0731デフォルトの名無しさん
2007/05/23(水) 21:10:33漏れとしてはクラスの定義を一箇所だけ見れば済むほうが
わかりやすくていいと思うのだが
0732デフォルトの名無しさん
2007/05/23(水) 21:43:54724 ではないが。
>>722 のように既存クラスに実装を追加できることをopen classと呼んだりする。
open classの使いどころは色々あるんだけど例としては、
・既存のライブラリをハックして少しだけ挙動を変える(人の作ったクラスのとりあえずのバグ修正など)
継承や委譲でもできるけど、そのクラスを使っているコードも直さないといけない
・テストの時だけメソッドを上書きしてスタブ的に挙動させる
・コアライブラリにメソッドを追加して言語を拡張
RailsがそうでObject#blank?などのメソッドを大胆に追加している。
継承や委譲ではその環境でしか使わないけれど
既存のクラスと役割が同じクラスがいたずらに増えてしまう。
多用するのは行儀がいいことではないね。
それにグローバルに影響するのでメソッド定義を上書きしたときには副作用が生じる。
0733722
2007/05/23(水) 21:57:23"Python" "クラスにメソッドを追加" とかでググったら、
それっぽいのが出てきたのですが手元の Python 2.5.1 では
エラーになってしまいました;;
まさしく Rails がやっているような
コアライブラリにメソッドを追加して…というのができるのか
知りたかったのです。
Ruby と Python どっちが面白そうか彷徨い中に、
ちょっと Ruby に傾きつつあったので
「いやいや Python でもできるぜ!」という話があるか探してました。
もうちょっと Ruby 続けてみようかな…でも Python も気になる気になる。
0734デフォルトの名無しさん
2007/05/23(水) 22:25:21class A: pass
def func(self): print "hello"
A.func = func
A().func()
0735デフォルトの名無しさん
2007/05/23(水) 22:54:51>コアライブラリにメソッドを追加して…というのができるのか
そんなことは「できないほうがいい」
そういうことをしたいと思うオマエにはぜひRubyをやってほしい
こころからお願いする
頼む
頼むよ
Pythonにこないで!!!
0736デフォルトの名無しさん
2007/05/23(水) 22:56:38困ったりしないの?
0737722
2007/05/23(水) 23:30:27コアライブラリへのメソッド追加は
私も最初見てキショイと感じたのでお気持ち分かります。
ただ Rails みたいにフレームワークとしてアプローチするなら
面白いんじゃないかなと思います。
自分で追加することはそうそうないでしょうけど。
>> 736
私も勉強しはじめたばかりで少ししかしりませんけど、Rails では
改変というより(より意図が明確な名前の)メソッドが追加されて、
使えるようになったりします。
ただ Python だと「意図が明確になって新しいメソッドが出てくるより、
セオリーに習った書き方が分かりやすい」という意見もあると思うので
どっちがいいのか分かりませんが。
0738731
2007/05/23(水) 23:40:36なるほど、説明ありがとう
自分でもいろいろ調べてみたけど面白かった
ruby vs python
ttp://lambda-the-ultimate.org/node/1480
Diff of opinion on dynamic stuff
ttp://groups.google.com/group/comp.lang.ruby/browse_thread/thread/9699d659bd806203
Ruby Style Adding Methods to Existing Classes in Python?
ttp://www.parand.com/say/index.php/2006/07/17/ruby-style-adding-methods-to-existing-classes-in-python/
Classbox
http://www.rubyist.net/~matz/20060104.html
> それにグローバルに影響するのでメソッド定義を上書きしたときには副作用が生じる
これが一番のネック? 具体例で言えばjcode.rbとか・・・
0739デフォルトの名無しさん
2007/05/24(木) 03:14:38フレームワークこのクラスにこのメソッドがあればスッキリ簡潔に書けるぜ!
と思ったときに使うとグッド
0740デフォルトの名無しさん
2007/05/24(木) 06:31:520741デフォルトの名無しさん
2007/05/24(木) 11:34:290742デフォルトの名無しさん
2007/05/24(木) 12:55:14今回は (ry っていうよりある意味正論じゃ?
ま、どっちみちヌルー
0743デフォルトの名無しさん
2007/05/24(木) 13:09:050744デフォルトの名無しさん
2007/05/24(木) 15:13:430745デフォルトの名無しさん
2007/05/24(木) 15:17:370746デフォルトの名無しさん
2007/05/24(木) 22:07:12>そんなことは「できないほうがいい」
なんか激しく拒絶してるようだけど、
組み込み型以外は「できちゃう」んだからお前もPython出て行け。
動的に追加できないJavaとかC++にいけ。
こころからお願いする
頼む
頼むよ
Pythonに帰ってこないで!!!
0747デフォルトの名無しさん
2007/05/24(木) 23:47:350748デフォルトの名無しさん
2007/05/25(金) 00:20:27>組み込み型以外は「できちゃう」んだから
知ってますけど。
何か気にさわったかしら(wwwwwwwwwww
0749デフォルトの名無しさん
2007/05/25(金) 00:30:22RubyとかRubyとか。
0750デフォルトの名無しさん
2007/05/25(金) 00:31:04アホか。お前は「出来ない方がいい」とかバカいってるけど、
実際はほとんど「できちゃう」んだから、お前が出て行けって言ってるんだよ。
知ってるかどうかを説いたんじゃないんだよ。
自尊心でも傷ついちゃったのかしら(wwwwwwwwwww
0751デフォルトの名無しさん
2007/05/25(金) 00:42:560752デフォルトの名無しさん
2007/05/25(金) 00:55:300753デフォルトの名無しさん
2007/05/25(金) 01:11:000754デフォルトの名無しさん
2007/05/25(金) 01:15:410755デフォルトの名無しさん
2007/05/25(金) 01:22:11cheeseshopからおとしてきたhoge.eggってどうやって入れるの?
具体的にはdmath.egg。
0756デフォルトの名無しさん
2007/05/25(金) 01:23:03Pythonでは、誰でも普通に使う組み込み型にメソッド追加できないんだよね?
746は何が言いたいのかワカラン.
ところで、キチガイには常人がキチガイに見えるのだそうだよ.
0757デフォルトの名無しさん
2007/05/25(金) 01:34:090758デフォルトの名無しさん
2007/05/25(金) 01:56:11漏れもこの流れをぶった切りたいので
よく知りもしないのに答えてみるぜ
ttp://labs.unoh.net/2007/04/python.html
EasyInstall使っとけってことらしいぜ
0759デフォルトの名無しさん
2007/05/25(金) 02:48:56コアラ・イブラリに見えた
0760デフォルトの名無しさん
2007/05/25(金) 02:54:16キチガイのくせにかなり傷ついてるっぽいなw
0761デフォルトの名無しさん
2007/05/25(金) 07:17:54ありがとー
virtual-python ってのもおもしろげだね。
てか、easy-install コマンドがdebianと喧嘩しない自信がないので、
cheeseshop経由のパッケージはvirtual-python で入れよかな‥‥‥。
(dmathは結局unzipでほどけることを発見して自分のプロジェクトに放り込んでしまった)
0762デフォルトの名無しさん
2007/05/25(金) 11:48:39競合してたぜ。本体にメソッドが追加されるたびに戦々恐々なんてありえない。
0763デフォルトの名無しさん
2007/05/25(金) 13:09:10ぶつかる可能性はゼロではないが、極めて低いから、それよりは便利さをとるという態度。
そして、そんな態度でもうまくいくやつはうまくいく。うまくいかないやつはOpen Class使わなくてもうまくいかない。
それはそうと、generatorが終了しているかどうかを知る方法はありませんか。
next()でExceptionが出れば終了していると判断できますか、でないときは状態が変わってしまうので、
next()を呼び出さずに知る方法があれば教えてください。
0764デフォルトの名無しさん
2007/05/25(金) 13:25:26後半がダメダメな763タソ萌え
0765デフォルトの名無しさん
2007/05/25(金) 13:33:480766デフォルトの名無しさん
2007/05/25(金) 14:56:08ってやったときに
パスワードっていう入力が出てきちゃうんですけど
ここにプログラムから何かを自動入力したい場合はどうすればいいのでしょうか?
本当に困っています.
最後は二桁の数字のはずですが忘れてしまいました...
0767デフォルトの名無しさん
2007/05/25(金) 15:31:15generatorは終了しないんじゃないか、という話はさておき、
ttp://www.python.org/doc/2.5/lib/typeiter.html
iteratorには __iter__() と next() しか期待しちゃいけないみたいね。
>766
何に悩んでるかわからないんだけど、os.popenとか見てみると
悩みの半分は解決するかも。もう半分はよくわからない。
0768デフォルトの名無しさん
2007/05/25(金) 15:41:53二桁数字ってことは、100回手打ちした方が手間が省けると思うぞ
0769デフォルトの名無しさん
2007/05/25(金) 16:09:50長いパスワードだと面倒じゃないか?
0772デフォルトの名無しさん
2007/05/25(金) 17:11:240773デフォルトの名無しさん
2007/05/25(金) 17:15:44http://pexpect.sourceforge.net/
0774気まぐれアナスイ
2007/05/25(金) 17:51:26『password = start = 数字』
0775気まぐれアナスイ
2007/05/25(金) 17:56:34『10000 = 0』
0776デフォルトの名無しさん
2007/05/25(金) 18:04:30nextして出ちゃった値をさらにyieldしてみるとか
つーか、この新キャラは何?
0777デフォルトの名無しさん
2007/05/25(金) 18:22:53学校に行ったら、小さくていかにも手作りで縫い目が穴だらけの小学生が作ったとしか思えない人形が置いてあったんだ
「何?このみすぼらしい人形」ってつい聞いちゃったんだけど、聞いた相手が俺の彼女で、
間が悪いことに彼女が興味があって練習で作ってみたんだそうだ・・・
口では練習で作ったからできが悪いのは仕方ないみたいな感じだったけど、
そのときの悲しそうな顔が目に焼き付いて離れない・・・誰か俺を殺してくれっっ。。。
0778デフォルトの名無しさん
2007/05/25(金) 18:54:460779デフォルトの名無しさん
2007/05/25(金) 19:02:46こういうやつでしょ?
http://kakaku.ascii.jp/item_info/20445345710129.html
0780デフォルトの名無しさん
2007/05/25(金) 19:38:39どっちかっていうと、手編みなんだよ。布とか使うんじゃなくて。
↓みたいなやつ
http://hennageijutsu.blogspot.com/2006/03/blog-post_12.html
0781デフォルトの名無しさん
2007/05/25(金) 19:43:150782デフォルトの名無しさん
2007/05/25(金) 21:32:46キチガイも、傷ついてるのもお前なのに?
0783デフォルトの名無しさん
2007/05/26(土) 00:32:23あれ?何かおかしい
0784デフォルトの名無しさん
2007/05/26(土) 00:40:41かわいそうに。
0785デフォルトの名無しさん
2007/05/26(土) 01:41:04モジュール名を与えるとimportしたことになるオプションってあります?
rubyの-rみたいなの
0786デフォルトの名無しさん
2007/05/26(土) 02:24:290787デフォルトの名無しさん
2007/05/26(土) 02:48:13アホかまったく死ねボケカス。
0788デフォルトの名無しさん
2007/05/26(土) 03:04:20"モジュール名を与えるとimportしたことになるオプション"です。例えば
$ pyrhon -r sys -c "print sys.path"
['', '(中略)']
という風に使えるようになるもの。
0789デフォルトの名無しさん
2007/05/26(土) 03:06:410790デフォルトの名無しさん
2007/05/26(土) 03:16:07対話モードで使えれば、毎回、最初にimportを沢山書かなくて住みます。
んで、モジュール名を含めたpythonコマンドがシェルのヒストリーに入るから
対話モードでちょっとしたテストを試行錯誤する際に楽かな、と思いまして。
0791デフォルトの名無しさん
2007/05/26(土) 03:17:010792デフォルトの名無しさん
2007/05/26(土) 03:39:280793デフォルトの名無しさん
2007/05/26(土) 03:58:510794デフォルトの名無しさん
2007/05/26(土) 04:12:07その必須なものを最初からimportした状態で
対話モードを起動できる
それほど頻繁に対話モード環境を再起動しないのであれば
まとめてimportする.py を用意して それをimportする
りろーどしたら微妙にかぶった...
0795デフォルトの名無しさん
2007/05/26(土) 04:44:202ちゃんねるってなんでインデントができないこんな珍妙な仕様になってるのだ?
Pythonスレをいぢめる為にこんな仕様にしてるのか?
2ちゃんねるはPerl製らしいからPerl信者の嫌がらせなんだろうか?
こんな仕様に何か利点があるのか?
0796デフォルトの名無しさん
2007/05/26(土) 04:53:340797デフォルトの名無しさん
2007/05/26(土) 04:58:01どもです。こんな便利機能がああ。
そっれぽくスクリプトに出来そうです。
ありがとうございます。
0798デフォルトの名無しさん
2007/05/26(土) 04:59:01噛みつくところを間違えてるぞ。イタイタしいな。
ttp://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/text.html
0799デフォルトの名無しさん
2007/05/26(土) 10:54:36その珍妙さがデフォだから。
改善要望は大昔からあるにはあるけど梨のつぶて。
エディタでタブを&nbsp;に変換するようなフィルタを書くといいよ。
0800デフォルトの名無しさん
2007/05/26(土) 12:12:02>>800
0801デフォルトの名無しさん
2007/05/26(土) 12:22:45def factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)
0802デフォルトの名無しさん
2007/05/26(土) 12:33:55エディタで痴漢しちゃった方が早いか。
0803デフォルトの名無しさん
2007/05/26(土) 13:14:38|┃ /
|┃ ≡ _、_ < 「ロッキーのテーマ」が流れていたので来ました。今何%引きですか?
____.|ミ\___( <_,` ) _ \
|┃=___ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|┃ ≡ ) 人 \ ガラッ
0804デフォルトの名無しさん
2007/05/26(土) 13:16:50インデントのない状態から機械的にインデントを復元できるの?
0805デフォルトの名無しさん
2007/05/26(土) 13:17:59それができたらインデントいらねーじゃん
0806デフォルトの名無しさん
2007/05/26(土) 13:22:02print "a"
def bar():
print "b"
これでムリ
0807デフォルトの名無しさん
2007/05/26(土) 14:20:31The target file.pdf のようにスペースを含むファイル名を,
glob.globで得て,os.systemに放りこみました。
するとTheとtargetとfile.pdfが別々のファイル名として認識されます。
スペースのエスケープを保持(?)したまま渡すにはどうすれば良いでしょうか?
現在はとりあえず"でくくってお茶を濁しているのですが。
0808デフォルトの名無しさん
2007/05/26(土) 14:31:53os.systemが起動するシェルの仕様について勉強しましょう。
あとos.system以外の起動方法についても調べてみましょう。
0809デフォルトの名無しさん
2007/05/26(土) 14:33:33subprocess.call(["dir", "c:"], shell=True)
とか。今後はプロセスの生成はsubprocessモジュールが推奨みたい。
0810809
2007/05/26(土) 14:34:130811809
2007/05/26(土) 14:35:58subprocess.call(["dir", "c:/Program Files"], shell=True)
みたいに空白を含められるってことね。例が悪かった。
0812デフォルトの名無しさん
2007/05/26(土) 15:27:38ありがとう,できました。
勉強になりました。
Python使ってみると,高度に抽象化されていて初心者には
ぱっと見わかりにくい時がありますね。
あ,>>808もありがとう。
0813デフォルトの名無しさん
2007/05/26(土) 20:02:07下の2つは違う結果になってしまいます。上が2、下が01。
スペースもプログラムの一部と言うことでしょうか?
for i in range(0, 5):
if i == 2:
break
print i;
for j in range(0, 5):
if j == 2:
break
print j;
0814デフォルトの名無しさん
2007/05/26(土) 20:06:20下のは0,1に対して毎回print jが実行される
for i in range(0, 5):
{
if i == 2:
break
}
print i;
for j in range(0, 5):
{
if j == 2:
break
print j;
}
0815デフォルトの名無しさん
2007/05/26(土) 20:24:04なるほどです。ありがとうございました。
0816デフォルトの名無しさん
2007/05/26(土) 20:25:200817デフォルトの名無しさん
2007/05/26(土) 21:09:04日本語の勉強やり直した方がよさそうだ
笑えんよ...
0818デフォルトの名無しさん
2007/05/26(土) 21:19:24正しくないからといって、まず笑おうって姿勢がちょっとな。
0819デフォルトの名無しさん
2007/05/26(土) 21:32:06丁寧すぎて違和感あるのは確かだけど
別に日本語として間違ってるわけじゃないと思うよ
「ご挨拶が遅れました」なんて普通に使うし
日本語って難しいんだぜ
0820デフォルトの名無しさん
2007/05/26(土) 21:33:09これでよくね?
0821デフォルトの名無しさん
2007/05/26(土) 21:33:38> 「ご挨拶が遅れました」なんて普通に使うし
つかわねーし、日本語として間違ってる
0822デフォルトの名無しさん
2007/05/26(土) 21:33:530823820
2007/05/26(土) 21:33:54こっちのほうがいいか。
0824デフォルトの名無しさん
2007/05/26(土) 21:51:17でいいだろ
0825デフォルトの名無しさん
2007/05/26(土) 22:04:09こ〜の〜
ツンツン
Python使いならこうだろ
0826デフォルトの名無しさん
2007/05/26(土) 22:05:560827デフォルトの名無しさん
2007/05/26(土) 22:19:20勘違いしないでよね!
がいいんじゃね?
0828デフォルトの名無しさん
2007/05/26(土) 23:17:50そこでちょっとどもりが入らないとダメ
0829デフォルトの名無しさん
2007/05/26(土) 23:43:48おら、別に質問さしたくてしたわけじゃねえど!
勘違いしねえでけろ!
0830デフォルトの名無しさん
2007/05/26(土) 23:47:540831デフォルトの名無しさん
2007/05/26(土) 23:51:460832デフォルトの名無しさん
2007/05/26(土) 23:52:430833デフォルトの名無しさん
2007/05/26(土) 23:54:32【名】(複〜s,〜)
1 a 〔動〕ニシキヘビ.
b [P〜]〔ギ神〕ピュートン《ApolloがDelphiで退治した大ヘビ》.
2 (巫女(みこ)などについて)予言する霊,悪魔;占い師,予言者.
ジーニアス英和辞典 第3版 (C) Taishukan 2001-2006
0834デフォルトの名無しさん
2007/05/26(土) 23:58:290835デフォルトの名無しさん
2007/05/26(土) 23:58:500836デフォルトの名無しさん
2007/05/27(日) 00:01:18聞く奴が母ちゃんくらいだから。
0837デフォルトの名無しさん
2007/05/27(日) 00:04:380838デフォルトの名無しさん
2007/05/27(日) 00:06:420839デフォルトの名無しさん
2007/05/27(日) 00:46:570840デフォルトの名無しさん
2007/05/27(日) 00:51:19http://www.daikin.co.jp/pichon/index.html
0841デフォルトの名無しさん
2007/05/27(日) 01:00:450842デフォルトの名無しさん
2007/05/27(日) 01:35:410843デフォルトの名無しさん
2007/05/27(日) 01:40:490844デフォルトの名無しさん
2007/05/27(日) 02:35:01ΥΘΩΝΠ
ΘΩΝΠΥ
ΩΝΠΥΘ
ΝΠΥΘΩ
0845デフォルトの名無しさん
2007/05/27(日) 02:43:330846デフォルトの名無しさん
2007/05/27(日) 03:13:46_ ∩
( ゚∀゚)彡 おっぱい!おっぱい!
⊂彡
0847デフォルトの名無しさん
2007/05/27(日) 03:32:11( ゚∀゚)彡 edora! edora!
⊂彡
0848デフォルトの名無しさん
2007/05/27(日) 07:12:48妹さん亡くなったのか…ご冥福をお祈り致します
0849デフォルトの名無しさん
2007/05/27(日) 07:31:520850デフォルトの名無しさん
2007/05/27(日) 07:35:18もう少し簡潔にする方法を御存知でしたら教えてにょ。
i = 1;
s = 0;
while i <= 10:
s = s + i
i = i + 1
if i == 11:
break
print s;
0851デフォルトの名無しさん
2007/05/27(日) 07:36:050852デフォルトの名無しさん
2007/05/27(日) 07:52:12Emacsで十分。
0853デフォルトの名無しさん
2007/05/27(日) 07:53:13インデントは全角スペースで
あと文末のセミコロンと if - break は不要
>>> sum(range(1, 11))
55
チュートリアルにざっと目を通しておくといいにょ
0854デフォルトの名無しさん
2007/05/27(日) 07:54:36ttp://python.rdy.jp/wiki.cgi?page=%CC%E4%C2%EA%BD%B8#p3
0855デフォルトの名無しさん
2007/05/27(日) 08:04:12チュートリアルサイトで勉強してきます。どうもありがとうございましゅ。
0856デフォルトの名無しさん
2007/05/27(日) 09:30:43あくまでループを使いたかったら
この場合はforを使ったほうが簡潔。
a=0
for x in range (1,11):
a+=x
print a
あえてwhileで作るなら
i = 1
s = 0
while i <= 10:
s += i
i += 1
print s
これで十分。
0857デフォルトの名無しさん
2007/05/27(日) 10:14:240858デフォルトの名無しさん
2007/05/27(日) 10:33:25http://dis.4chan.org/read/prog/1180084983/
matz日記から着ました。
#Web designer で味噌汁拭いたwww
0859デフォルトの名無しさん
2007/05/27(日) 17:20:310860デフォルトの名無しさん
2007/05/27(日) 20:36:45import sqlite3
test_data=[[1001,'aaa'],[1002,'bbb'],[1003,'ccc']]
con=sqlite3.connect('c:\\db_file')
cur=con.cursor()
cur.execute('CREATE TABLE test_table(number,value)')
for item in test_data:
cur.execute('INSERT INTO test_table(number,value) VALUES(?,?)',item)
result=cur.execute('SELECT * FROM test_table')
for item in result.fetchall():
print item[0],item[1]
cur.close()
con.close()
これを実行すると
1001 aaa
1002 bbb
1003 ccc
と表示されます。ここまでは問題ないのですが、c:\に作成されたdb_fileの中身を再表示する為に以下のコードを実行すると何も表示されません。db_fileの中身が空のようです。
import sqlite3
con=sqlite3.connect('c:\\db_file')
cur=con.cursor()
result=cur.execute('SELECT * FROM test_table')
for item in result.fetchall():
print item[0],item[1]
cur.close()
con.close()
試しにレコードを10000件(1〜10000までの数字を入れただけ)に増やしてみたのですが、db_fileのサイズは3件の時と同じ2KBのままで変化がありません。
sqlite3を使用してデータをファイルに保存するには何が抜けているのでしょうか。根本的に勘違いをしているかもしれませんが教えていただけると助かります。
0861デフォルトの名無しさん
2007/05/27(日) 21:19:13import operator as op
import functional as f
fact = lambda x: f.foldl(op.mul, 1, xrange(2, x + 1))
print fact(6)
これ何だけど、import functional as f 使わないで書くと
どうなるかな?functional と lamda記法が一緒に出て来て
よくわからないぽ。
0862デフォルトの名無しさん
2007/05/27(日) 21:29:17return reduce(op.mul, xrange(2, x + 1), 1)
0863デフォルトの名無しさん
2007/05/27(日) 22:21:03con.close()する前にcon.commit()するといいかもしれないぜ
ttp://www.python.jp/doc/contrib/peps/pep-0249.txt
0865デフォルトの名無しさん
2007/05/28(月) 08:18:190866デフォルトの名無しさん
2007/05/28(月) 16:15:01>>865
0867デフォルトの名無しさん
2007/05/28(月) 22:34:20OSはXP(SP2)。
0868デフォルトの名無しさん
2007/05/28(月) 23:43:170869デフォルトの名無しさん
2007/05/28(月) 23:49:162.5.1をDLしたら、OSじゃなくて、python2.5.1のシェルが落ちやすくなったのでしゅ・・・
0870デフォルトの名無しさん
2007/05/29(火) 00:01:470871デフォルトの名無しさん
2007/05/29(火) 00:11:170872デフォルトの名無しさん
2007/05/29(火) 00:14:380873デフォルトの名無しさん
2007/05/29(火) 00:32:370874デフォルトの名無しさん
2007/05/29(火) 00:42:30玩具は壊すより弄った方が楽しかろう。
0875デフォルトの名無しさん
2007/05/29(火) 10:13:39% python tut01_helloworld.py
Traceback (most recent call last):
File "tut01_helloworld.py", line 32, in ?
cherrypy.quickstart(HelloWorld(), config=tutconf)
AttributeError: 'module' object has no attribute 'quickstart'
dir()で見てもたしかにquickstartがない、
この前turbogearsいれたからいけないの?
0876デフォルトの名無しさん
2007/05/29(火) 10:34:490877デフォルトの名無しさん
2007/05/29(火) 10:37:22Vine4.1
Python 2.4.4
/usr/lib/python2.4/site-packages/CherryPy-2.2.1-py2.4.egg
0878デフォルトの名無しさん
2007/05/29(火) 11:08:40とりあえず試してみて
cherrypy.root = HelloWorld()
cherrypy.server.start()
0879デフォルトの名無しさん
2007/05/29(火) 11:13:47行けたよ!!
helloworld
Build time: 0.005s, Page size: 0.01KB
0880デフォルトの名無しさん
2007/05/29(火) 11:25:15おめ。>>878では設定ファイルを渡してないので
cherrypy.config.update(tutconf)
も試してみて。2.2と3.0ではインタフェースが違うので注意
0881デフォルトの名無しさん
2007/05/30(水) 13:45:520882デフォルトの名無しさん
2007/05/30(水) 13:47:180883デフォルトの名無しさん
2007/05/30(水) 14:00:27<a>
...
<b>
<c>hoge</c>
<d>fuga</d>
</b>
...
</a>
こんな感じの構造でa、b、c、dはなんらかのタグとして、<b>以下のタグと要素だけを抜き出したいのですがどうすればできるでしょうか?
言い換えると、HTML全体からあるタグ以下の全ての部分要素を抜き出したい、という漢字でしょうか。
0884デフォルトの名無しさん
2007/05/30(水) 14:12:35b. DOM ツリーに変換して <b> を探してその部分木を toxml() で文字列に戻す。
a. を汎用的に書くのは結構大変かも。b. は well-formed な XHTML でないとうまく動かないかも。
0885デフォルトの名無しさん
2007/05/30(水) 15:09:110886デフォルトの名無しさん
2007/05/30(水) 15:10:38>>> import xml.etree.cElementTree as ET
>>> html = '<a>\n...\n<b>\n<c>hoge</c>\n<d>fuga</d>\n</b>\n...\n</a>'
>>> a = ET.fromstring(html)
>>> a
<Element 'a' at 00B6A140>
>>> b = a.find('b')
>>> b
<Element 'b' at 00B6A410>
>>> c = b.find('c')
>>> c
<Element 'c' at 00B6A440>
>>> a.find('b/c')
<Element 'c' at 00B6A440>
>>> c.text
'hoge'
0887884
2007/05/30(水) 16:51:06レスありがとうございます。
そしてごめんなさい。
0888デフォルトの名無しさん
2007/05/30(水) 16:52:28すいません。
0889デフォルトの名無しさん
2007/05/31(木) 05:23:590890デフォルトの名無しさん
2007/05/31(木) 17:55:00class a:
nums = []
obj = b()
class b:
num = 0
alist = []
for i in range(0, 10):
alist.append(a())
alist[0].nums.append(0)
alist[1].nums.append(1)
alist[1].obj.num = 1
print alist[0].nums, alist[1].nums
print alist[0].obj.num ,alist[1].obj.num
>>>
[0, 1] [0, 1]
1 1
生成したインスタンス間で同じオブジェクトを参照してしまうッ
インスタンスごとに新しいオブジェクトを作って欲しいのに・・・って
class a:
def __init__(self):
self.nums = []
これでできたー、なるほどなるほど
0891デフォルトの名無しさん
2007/05/31(木) 18:32:010892デフォルトの名無しさん
2007/05/31(木) 18:34:43こういう勉強スレみたいな内容で、コードのインデントとか消えちゃわないような掲示板って他にあるかな?
0893デフォルトの名無しさん
2007/05/31(木) 18:37:090894デフォルトの名無しさん
2007/05/31(木) 18:50:080895デフォルトの名無しさん
2007/05/31(木) 19:45:38これはおもしろいな
0896デフォルトの名無しさん
2007/05/31(木) 19:54:33http://dpaste.com/hold/11380/
0897デフォルトの名無しさん
2007/05/31(木) 19:59:316uudSkw6TGpOuksaTJDQqks6TspMekpKSkpPOk
uKTjpMqkpKGp
0898デフォルトの名無しさん
2007/05/31(木) 21:07:210899デフォルトの名無しさん
2007/05/31(木) 21:50:190900デフォルトの名無しさん
2007/05/31(木) 23:42:180901デフォルトの名無しさん
2007/05/31(木) 23:45:42どうせなら書いたコードのスペースを にした
あと、ポストまでしてくれるスクリプトを作ろう。
0902デフォルトの名無しさん
2007/05/31(木) 23:56:11このスレの何人かはそういう Python スクリプトを既に書いているんではないか?
少なくとも俺は2、3回書いたw
0903デフォルトの名無しさん
2007/06/01(金) 00:21:410904デフォルトの名無しさん
2007/06/01(金) 00:40:500905デフォルトの名無しさん
2007/06/01(金) 01:38:50良く分からなくて、出来なかった記憶があるので、・・・
0906デフォルトの名無しさん
2007/06/01(金) 03:22:18HTMLの仕様を考えた人は、Pythonが嫌いなのですか?
0907デフォルトの名無しさん
2007/06/01(金) 05:40:28pre で囲めば済むだけの話では
0908デフォルトの名無しさん
2007/06/01(金) 07:21:33HTML自体をインデントして書きたいからな
0909デフォルトの名無しさん
2007/06/01(金) 07:50:100910デフォルトの名無しさん
2007/06/01(金) 10:09:09python version 1.0 1994
0911デフォルトの名無しさん
2007/06/01(金) 10:52:000912デフォルトの名無しさん
2007/06/01(金) 11:44:280913デフォルトの名無しさん
2007/06/01(金) 12:28:49ttp://www.doraneko.org/webauth/html32/19970114/Overview.html#sgml
に、
>リテラルテキスト(例.PRE エレメント)内部を除き、HTMLは、空白キャラクタの
>連続的な連なりを、単一のスペース(ASCIIコード 32)と等価であるものとして扱う。
という記述があるし、レンダリングエンジン云々でなく、HTMLの仕様だべや。
0914デフォルトの名無しさん
2007/06/01(金) 12:49:170915デフォルトの名無しさん
2007/06/01(金) 13:21:55ブラウザというのは原則としてHTMLの仕様に従って表示するだろ
0916デフォルトの名無しさん
2007/06/01(金) 14:09:20まずはメタク(ry
0917デフォルトの名無しさん
2007/06/01(金) 19:31:04を解決してくれ。
0918デフォルトの名無しさん
2007/06/01(金) 19:38:290919デフォルトの名無しさん
2007/06/01(金) 20:01:46monazilla スレに池
0920デフォルトの名無しさん
2007/06/01(金) 20:20:02http://python.rdy.jp/wiki.cgi?page=2ch%A5%C6%A5%F3%A5%D7%A5%EC
0921デフォルトの名無しさん
2007/06/01(金) 20:47:520922デフォルトの名無しさん
2007/06/01(金) 21:52:020923デフォルトの名無しさん
2007/06/01(金) 22:30:53そういえば仕様変更あったの去年の今頃だね
http://info.2ch.net/wiki/pukiwiki.php?%A5%AF%A5%C3%A5%AD%A1%BC%A4%CE%BB%C5%CD%CD%CA%D1%B9%B9%202006%2F05%2F27
0924デフォルトの名無しさん
2007/06/02(土) 13:16:02乙。漏れはインデントの置換について
テンプレに一筆書いてあるといいと思うのだが
「インデントを含むソースコードを投稿する場合
半角スペースやタブを に置換してから投稿してください」
みたいに
0925デフォルトの名無しさん
2007/06/02(土) 13:33:582
3
4
5
test
0926デフォルトの名無しさん
2007/06/02(土) 13:35:24. 2
. 3
. 4
. 5
.test
0927デフォルトの名無しさん
2007/06/02(土) 13:36:230928デフォルトの名無しさん
2007/06/02(土) 14:06:580929デフォルトの名無しさん
2007/06/02(土) 14:35:37お前はこれまでの話を全く聞いていないのか。もういいから帰れよ。
っていわれるよ。
0930デフォルトの名無しさん
2007/06/02(土) 21:08:34>>924 だけ見て脊髄反射レスしてしまった
0931デフォルトの名無しさん
2007/06/02(土) 21:11:330932デフォルトの名無しさん
2007/06/02(土) 21:26:470933デフォルトの名無しさん
2007/06/02(土) 22:19:410934デフォルトの名無しさん
2007/06/02(土) 22:28:450935デフォルトの名無しさん
2007/06/02(土) 22:41:07なぜですか?
0936デフォルトの名無しさん
2007/06/02(土) 23:28:130937デフォルトの名無しさん
2007/06/03(日) 02:43:550938デフォルトの名無しさん
2007/06/03(日) 12:07:090939デフォルトの名無しさん
2007/06/03(日) 13:04:46おまいが言うなwww
0940デフォルトの名無しさん
2007/06/03(日) 13:47:39関数終了時に呼ばれる、みたいな
0941デフォルトの名無しさん
2007/06/03(日) 13:48:32【 課題 】
リモートホストのファイルをHTTPでダウンロードし、
ローカルに保存するプログラムを作成せよ。
リモートのファイル取得先URLとローカルの保存先パスは
起動引数として受け取ること。
(例: % GET.py http://example.jp/ hoge.html )
ダウンロード中は、何%ダウンロードしたかを示す進捗状況を表示すること。
(例: 12345 / 67890 (18%))
【 補足 】
コードは1回のレスに収まる程度にすること
おもしろい名前のUAに偽装できたらプラス5点
0942デフォルトの名無しさん
2007/06/03(日) 14:15:02っていうか CUI とかダサすぎ。Irvine みたいなのがいい。
0943デフォルトの名無しさん
2007/06/03(日) 14:18:50Pygtkがまあ妥当だと思うけど、Winの連中は嫌だろうなw
0944デフォルトの名無しさん
2007/06/03(日) 14:25:030945デフォルトの名無しさん
2007/06/03(日) 14:36:13import urllib
def progress(b, bytes, fs):
print "\r%d / %d (%d)" % (bytes, fs, bytes / float(fs) * 100),
op = urllib.FancyURLOpener()
op.addheaders = [("User-Agent", "GET.py/0.0")]
op.urlretrieve(sys.argv[1], sys.argv[2], progress)
print "\rfinished"
0946デフォルトの名無しさん
2007/06/03(日) 14:39:00関数が1回終わったあとに関数の処理を変えたいとかそういうこと?
たぶんデコレータで出来ると思う。
ただ、目的が全く分からないが・・・
0947デフォルトの名無しさん
2007/06/03(日) 14:41:33そういったこともデコレータで可。
def decorator(f):
def wrap(*a, **kw):
ret = f(*a, **kw)
print f, "is called =>", ret
return ret
return wrap
@decorator
def f(i):
print "in function"
return i + 20
f(3)
print "after function"
0948デフォルトの名無しさん
2007/06/03(日) 15:05:08import System
from System import Console
from System.IO import Stream, File, BinaryReader
from System.Net import WebRequest
args = System.Environment.GetCommandLineArgs()
wr = WebRequest.Create(args[2])
wr.UserAgent = "UA"
rs = wr.GetResponse()
br = BinaryReader(rs.GetResponseStream())
out = File.OpenWrite(args[3])
all = rs.ContentLength
c = 0
while True:
bytes = br.ReadBytes(1024)
if bytes.Length == 0: break
out.Write(bytes, 0, bytes.Length)
c += bytes.Length
if all != -1: Console.Write("(%d/%d) %0.2f%%\r" % (c, all, c*100.0/all))
else: Console.Write("(%d/??) ??.??%%\r" % c)
out.Close()
br.Close()
rs.Close()
rs.Close()
0949941
2007/06/03(日) 15:48:53両者と比べられるとアレだが漏れのも貼ってみる
import urllib
import sys
class AppURLopener(urllib.FancyURLopener):
def __init__(self, *args):
self.version = 'GET.py'
urllib.FancyURLopener.__init__(self, *args)
urllib._urlopener = AppURLopener()
def showprogress(blocknum, blocksize, filesize):
sys.stdout.write('\r%s\r' % ' ' * 40)
if blocknum * blocksize >= filesize:
readed_size = filesize
else:
readed_size = blocknum * blocksize
rate = float(readed_size) / filesize * 100
sys.stdout.write('%d bytes/ %d bytes (%d%%)' %
(readed_size, filesize, rate))
if __name__ == '__main__':
if len(sys.argv) != 3:
sys.exit('usage: python GET.py url filename')
import httplib
httplib.HTTPConnection.debuglevel = 1
urllib.urlretrieve(sys.argv[1], sys.argv[2], showprogress)
0950デフォルトの名無しさん
2007/06/03(日) 15:53:19どんな端末でも同じように表示されるのを作るのは大変なので
うまく動かない場合は適当にいじってほしいんだぜ
0951デフォルトの名無しさん
2007/06/03(日) 16:39:52ここは宿題スレじゃないが名
Python の宿題ここで答えます Part 1
http://pc11.2ch.net/test/read.cgi/tech/1153585095/
0952デフォルトの名無しさん
2007/06/03(日) 16:54:56このレポートフックみたいなの、urllib2には無いですかね?
0953デフォルトの名無しさん
2007/06/03(日) 20:50:20urllib2にはたぶん無いけど
urllibのURLopenerのretrieveの実装が参考になると思うぜ
0954デフォルトの名無しさん
2007/06/03(日) 23:24:08print urllib.urlopen('http://pc11.2ch.net/test/read.cgi/unix/1111478762/').read()
0955デフォルトの名無しさん
2007/06/04(月) 01:25:41というか、なんで現状のようになってるんだ?
0956デフォルトの名無しさん
2007/06/04(月) 02:21:040957デフォルトの名無しさん
2007/06/04(月) 02:39:17たしか、スタンダードライブラリを大幅リフォームしようみたいな話があった気がする。
2.6には残ると思う
0958デフォルトの名無しさん
2007/06/04(月) 02:42:040959デフォルトの名無しさん
2007/06/04(月) 02:49:22名前なんて最後の方でコロッと変わることなんてよくあるし、・・・
0960デフォルトの名無しさん
2007/06/04(月) 02:53:29>>>"aa" "bb" == "aabb"
True
0961デフォルトの名無しさん
2007/06/04(月) 05:06:520962デフォルトの名無しさん
2007/06/04(月) 07:01:130963デフォルトの名無しさん
2007/06/04(月) 07:09:44urllib
----------------------------------ここから低レベル
urllib2
httplib
socket
_socket
0964デフォルトの名無しさん
2007/06/04(月) 11:05:29pizza devは氏ね
0965デフォルトの名無しさん
2007/06/04(月) 12:56:30なるほど、凄い簡単な実装でした。
urlopen後のreadに一枚皮かぶせるだけでよさそうです。
0966デフォルトの名無しさん
2007/06/04(月) 16:56:15負の値が得られてしまうものがあるのですが、
どのようにしたらいいのでしょうか。
python2.3では
FutureWarning: %u/%o/%x/%X of negative int will return a signed string in Python 2.4 and up
という警告が出たものの "%08X" で正しくフォーマットできていたし、
警告自体も
warnings.filterwarnings(action='ignore', category=FutureWarning)
で抑制できたのですが、python2.4では正しい結果が得られないのです。
0967デフォルトの名無しさん
2007/06/04(月) 17:55:22よく分からんけど32ビット符号付き整数を32ビット符号なし整数とみなして
16進表記したい、ということなら、こうかな?
>>> sum = 0
>>> print "%08x" % (0x100000000+sum if sum < 0 else sum)
00000000
>>> sum = 2**31-1
>>> print "%08x" % (0x100000000+sum if sum < 0 else sum)
7fffffff
>>> sum = -2**31
>>> print "%08x" % (0x100000000+sum if sum < 0 else sum)
80000000
>>> sum = -1
>>> print "%08x" % (0x100000000+sum if sum < 0 else sum)
ffffffff
>>>
キーワード:2の補数
0968デフォルトの名無しさん
2007/06/04(月) 18:07:40バージョン上げて動かなくなったとかほざいてる
阿呆が居るのは コ コ ですか
0969デフォルトの名無しさん
2007/06/04(月) 18:20:380970デフォルトの名無しさん
2007/06/04(月) 20:24:49サンクス。しかし手間ですねぇ。
0971デフォルトの名無しさん
2007/06/04(月) 20:41:29たんに
sum & 0xffffffff
でよさげ
0973デフォルトの名無しさん
2007/06/05(火) 13:46:39あなた方はなにを作ってるの?
それを参考にして真似します
0974デフォルトの名無しさん
2007/06/05(火) 13:52:240975デフォルトの名無しさん
2007/06/05(火) 13:54:54実況板をキーワードで定期的にクロールして、
ヒットしたレス近辺を参照保存。
0976デフォルトの名無しさん
2007/06/05(火) 14:02:050977デフォルトの名無しさん
2007/06/05(火) 14:33:43画像とか音楽ファイルをかき集めるのに使っている。
sqliteのお手軽DBでとても効率よくなった。
0978デフォルトの名無しさん
2007/06/05(火) 15:01:32実コード(鯖)も書いてます
0979デフォルトの名無しさん
2007/06/05(火) 16:20:540980デフォルトの名無しさん
2007/06/05(火) 16:52:21そーゆー遊びでいいのよ最初は
例えばそのソリティアにしたって
後でGUIに変更しやすいように作ってみたり
1枚/3枚ルールを切り替えられるようにしたり
金額ルール入れてみたりと色々勉強の余地はある
0981デフォルトの名無しさん
2007/06/05(火) 17:46:24まあ、やること無いならゲームでも作ってればいいよ。
0982デフォルトの名無しさん
2007/06/05(火) 17:47:080983デフォルトの名無しさん
2007/06/05(火) 17:50:46それと、よく見る通販サイトページを読みこんで、必要最小限の商品リストを生成したりとか。
0984デフォルトの名無しさん
2007/06/05(火) 17:52:38取り込んでDB化してコメント付けたりしてる。
0985デフォルトの名無しさん
2007/06/05(火) 17:55:030986デフォルトの名無しさん
2007/06/05(火) 19:08:560987デフォルトの名無しさん
2007/06/05(火) 20:05:250988デフォルトの名無しさん
2007/06/05(火) 20:14:400989デフォルトの名無しさん
2007/06/05(火) 21:33:110990988
2007/06/05(火) 23:03:27韓国みたく注目してる国は色を変えて表示できるようにしてる。
0991デフォルトの名無しさん
2007/06/05(火) 23:28:46・kconv
・自力コーディング
・その他のライブラリ
・自動にしない
0992デフォルトの名無しさん
2007/06/05(火) 23:33:10仕方ないとき pykf
0993デフォルトの名無しさん
2007/06/06(水) 00:01:48成功したらそれってことにするとかいう処理を見たことがある
マジおっかねえ
0994デフォルトの名無しさん
2007/06/06(水) 00:02:50だいたいうごけばいいやみたいな
0995デフォルトの名無しさん
2007/06/06(水) 00:21:150996デフォルトの名無しさん
2007/06/06(水) 01:36:18割と効くからやってみればいいぜ
0997デフォルトの名無しさん
2007/06/06(水) 01:39:49コード体系自体がてきとーなんだからある意味しょーがないだろw
0998デフォルトの名無しさん
2007/06/06(水) 02:18:53今個人的に作っているスクリプトでのwebページの文字判定は以下の手順。
(日本語のwebページに限るのだが)
1: metaタグのcharsetを見る。
2: 1でだめなら、ppkfで調べる。
3: 2でだめなら、Universal Encoding Detectorで調べる。
4: 3でだめなら、あきらめる。
これで今のところ問題全くないよ。
WEBページならmetaタグと異なった文字コードでページを書く人は
めったにいないので1が最も有効。(違ってたらページの作者も読めないだろうから)
2は日本人の作者が最近のWEBの状況も多分考慮して作ってくれているだろうから
日本語の判定では精度が高いだろうという推測で使っている。
3はある意味最強のモジュールだが、ときおり間違って中国語に判定されてしまう
こともあるので、もしものときの備え。
こんなかんじでいくつかの方針を多重に組み合わせて判定漏れを減らすと頑丈になるみたい。
0999デフォルトの名無しさん
2007/06/06(水) 02:20:32大抵のエンコーディング判定ルーチンはそんな実装のような。
日本語 or UTF-8 しか来ない前提ならそれでほとんどうまくいくし、候補が多すぎると判定精度が下がることもある。
強いて言えばsjisの代わりにcp932を使ったほうが無難かなあ。
HTTPでデータを取得するタイプのアプリなら、まずヘッダを見てから自動判定するけど。
1000デフォルトの名無しさん
2007/06/06(水) 02:22:091と2の間にHTTPヘッダのContent-Typeの確認も入れるべき
(metaタグってのはHTTPヘッダの代替手段だから)
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。