Pythonのお勉強 Part18at TECH
Pythonのお勉強 Part18 - 暇つぶし2ch2:デフォルトの名無しさん
07/04/09 04:23:14
Microsoft IronPython 1.0
スレリンク(tech板)
Python の宿題ここで答えます Part 1
スレリンク(tech板)

3:デフォルトの名無しさん
07/04/09 17:43:43
♪基本的には>>1乙だけど
 ♪時と場合で移り気なの

4:デフォルトの名無しさん
07/04/09 19:15:00
おっ、Pythonスレ。

5:デフォルトの名無しさん
07/04/09 20:16:18
>>> print >>1, "乙"

6:デフォルトの名無しさん
07/04/09 21:25:14
おっPython

7:デフォルトの名無しさん
07/04/09 21:42:45
ところで、まとめwikiなんだけど、htmlとかtxtとかファイルそのものをアップできるようにしてほしい。
昔のログとか既に繋がってないので。

8:デフォルトの名無しさん
07/04/09 22:39:52
>>1にはニコニコして
 ♪そうでない人もそれなりに

9:デフォルトの名無しさん
07/04/09 22:44:10
なんだ、新キャラの登場か?

10:デフォルトの名無しさん
07/04/09 23:50:43
こんな過疎板にこんなキャラ立ちした奴ぁ突然こねぇよ

前スレ荒らしてた彼が
「ボク、心入れ換えるから、
 これからも仲良くしてね?」
って泣き入れてるんだろうよ

アイツ友達居ない奴だから(w

11:デフォルトの名無しさん
07/04/09 23:59:01
なんだ豆腐か。

12:デフォルトの名無しさん
07/04/09 23:59:34
>>8
ZOPE関係者乙.

13:3
07/04/10 01:06:35
>>8
ナカーマw

14:デフォルトの名無しさん
07/04/10 12:38:05
Beginning Game Development With Python and Pygame
URLリンク(www.amazon.co.jp)

15:デフォルトの名無しさん
07/04/10 17:19:21
>>7
古いやつは誰かがアップしてあるみたいだけど

16:デフォルトの名無しさん
07/04/10 17:35:11
docutilsをライブラリとして使う方法を探しています。
s = """
* foo
* bar
* baz
"""
html = rst2html(s)
print html,
としたら
<ul>
<li>foo</li>
<li>bar</li>
<li>baz</li>
</ul>
に変換されるようにしたいんです。
URLリンク(docutils.sourceforge.net)
をみてもいまいち分からないのですが、アドバイスお願いします。

17:デフォルトの名無しさん
07/04/10 19:17:57
import docutils.core
src = """\
* foo 
* bar 
* baz 
"""
settings = {
    "stylesheet": "",
    "stylesheet_path": None,
}
print docutils.core.publish_string(src, writer_name='html',
                                   settings_overrides=settings)


18:デフォルトの名無しさん
07/04/10 19:27:10
>>17
ありがとうございます

19:デフォルトの名無しさん
07/04/10 19:37:16
1. docutilsをライブラリとして使う、ねえ。まず rst2html.py が何してるか見てみますか。
2. 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のコード。

要約すると「ソース嫁」「ググれ」。

20:デフォルトの名無しさん
07/04/10 21:06:37
> 要約すると「ソース嫁」「ググれ」。

それは、教える能力がないということの証明ですよね。
馬鹿も休み休みお願いします。

21:デフォルトの名無しさん
07/04/10 21:08:46
シャケ━━Σ゜lllllE━━━!!

22:デフォルトの名無しさん
07/04/10 21:12:10
馬鹿の相手をしてると馬鹿が感染ることがあるので注意しなければなりませんね

23:デフォルトの名無しさん
07/04/10 21:14:20
ま、俺様の教育能力をみたかったら金払ってもらわないとな

24:デフォルトの名無しさん
07/04/10 21:17:08
お金なら払いますからそれだけは勘弁してください

25:デフォルトの名無しさん
07/04/10 21:17:41
学習方法を教わった方が応用が効くのだよ。
基本的なことすら出来ないのは問題外。

26:デフォルトの名無しさん
07/04/10 21:31:11
URLリンク(megalodon.jp)スレリンク(tech板:626番)&date=20070410182152

27:デフォルトの名無しさん
07/04/10 21:33:07
荒し情報スレ
スレリンク(tech板)
スレリンク(tech板)


28:デフォルトの名無しさん
07/04/10 23:18:10
どっかのブラウザスレにも前いたよな…

29:デフォルトの名無しさん
07/04/11 00:06:49
pythonをシェアウェアに組み込みたい場合って、LISENCE.TXT とか添付しないといけないの?
標準ライブラリの構成とか変えてもいいの?ライブラリから使わないファイルを削除して、***.py
を全部 ***.pyc にして配布とか。

30:デフォルトの名無しさん
07/04/11 01:05:33
2.5.1 age

31:デフォルトの名無しさん
07/04/11 01:09:20
RC1じゃん。

32:デフォルトの名無しさん
07/04/11 07:37:10
>>20-25
何コレ?
異常者出現か?


33:デフォルトの名無しさん
07/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'} ← 関数内で設定した値が参照できる。
>>>


34:デフォルトの名無しさん
07/04/12 01:13:57
>>33
辞書だからとかではなく、変数自体への代入があるかどうかでスコープが決まる。
func_v の中で v は代入の対象になっているから v はローカル
func_d の中で d は代入の対象になっていない(*1)から d はグローバル

(*1) 代入の対象になっているのは d ではなく d に入っている辞書の中身

35:デフォルトの名無しさん
07/04/12 01:13:58
>>33
global 文について調べてみよう。

36:デフォルトの名無しさん
07/04/12 02:01:55
>>33
入門書嫁。

37:デフォルトの名無しさん
07/04/12 07:17:57
URLリンク(www.python.jp)
コレの9.2の最後の段落が一応その説明になってるのかな・・・
チュートリアルって隅々まで読むとかなり何でも書いてある気がする、

38:デフォルトの名無しさん
07/04/12 08:25:24
>>15
普通に出来ましたね。あと、wikiのソースに{{attach}}というのを書くとうぷ用フォームが出来るので
そこからも投稿可能だった、・・

39:デフォルトの名無しさん
07/04/12 09:35:22
そんなにたくさん養えない。

40:デフォルトの名無しさん
07/04/12 12:19:39
なんだか怖い...

41:デフォルトの名無しさん
07/04/12 19:13:41
下柳...

42:デフォルトの名無しさん
07/04/12 22:45:07
>>> def a(a):
x=float(a)
print(x)

>>> a(5/3)
1.0

floatつかっても整数になってしまいます、
これはどうやれば解決しますか教えてください。

43:デフォルトの名無しさん
07/04/12 22:48:14
お前アホやろ才能ないなあ

44:デフォルトの名無しさん
07/04/12 22:52:24
>>> def foo(a):
...     print a
...
>>> foo(5/3)
1
>>> 5/3
1
>>> float(5/3)
1.0
>>> float(5) / 3
1.6666666666666667

45:デフォルトの名無しさん
07/04/12 22:53:45
>42
a(5/3.0)

あるいは
from __future__ import division

def a(a):


a(5/3)

46:45
07/04/12 22:54:56
途中書き込みしてしまった
def a(a): の所は別に重要でないので適当に補完してくれ

47:デフォルトの名無しさん
07/04/12 23:00:15
from __future__ import divisionが求めていたものです
ありがとうございました

48:デフォルトの名無しさん
07/04/12 23:00:25
とりあえず>>42に教えるべきことは5/3==1ってことだけだろ。
あと、1.0は整数ではなくfloat

49:デフォルトの名無しさん
07/04/12 23:02:00
>>47
あ、そうなの?w

50:デフォルトの名無しさん
07/04/12 23:04:57
個人的には3/3==1なきがする

51:デフォルトの名無しさん
07/04/12 23:06:07
In [1]: 5/3
Out[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

52:デフォルトの名無しさん
07/04/12 23:06:41
なんだ豆腐の自演か。

53:デフォルトの名無しさん
07/04/12 23:11:02
>>50
整数は環だから割り算など定義されていない、ということなんじゃないかと、

54:33
07/04/13 01:52:27
>>34
おお!なるほど! 一発氷解です。さんくす。
この場合 d は参照しかしてないのね。 言われてみれば確かにそうだ。
試しに d = {'key': 'val'} とすると確かにローカルになる。

>>37
リファレンスの4.1
URLリンク(www.python.jp)
にも同じようなことは書いてあったんですが、
俺の理解力では上の結論は導き出せんかった orz


55:デフォルトの名無しさん
07/04/13 02:00:52
float(5)/float(3)
ということか

56:デフォルトの名無しさん
07/04/13 02:04:40
かっこの中を先に計算する決まり、って学校で習うだろ

57:デフォルトの名無しさん
07/04/13 10:42:25
何が悪いのかまったくわかりません>.<b
ボタン押したらラベルを変化させたいと思いますが,
なにかアドバイスください
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()

58:デフォルトの名無しさん
07/04/13 11:17:26
だから才能ないんだって。
出来るヤツは聞くまでもなくいろいろ試すし、
自己解決しながら力を付けてゆくものなんだよ。

59:デフォルトの名無しさん
07/04/13 11:18:44
本当に才能あったらプログラミングなんてしてないよ

60:デフォルトの名無しさん
07/04/13 12:03:03
と,豆腐が言ってます.

61:デフォルトの名無しさん
07/04/13 12:14:02
理想や仮定の話ばっかりで、目の前の現実の問題に対応できないヤツらだな

62:デフォルトの名無しさん
07/04/13 12:18:19
豆腐はなぜ2ちゃんに執着するか?

63:デフォルトの名無しさん
07/04/13 12:27:37
豆腐だから。

64:デフォルトの名無しさん
07/04/13 12:32:22
あっちでバカやってるぞ
スレリンク(prog板)

65:デフォルトの名無しさん
07/04/13 12:33:49
豆腐、いちいちリンクするなよ.

66:デフォルトの名無しさん
07/04/13 12:37:24
豆腐が変なコテつけて暴れているアフォスレを紹介しただけだ

67:デフォルトの名無しさん
07/04/13 12:42:36
スレ違いだから
変なのはすべてスルーな

68:デフォルトの名無しさん
07/04/13 12:46:04
Tkってやってる人少ないのかな

69:デフォルトの名無しさん
07/04/13 12:46:46
>>64
なにこれ?

70:デフォルトの名無しさん
07/04/13 12:48:35
>>57
> 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' とか。以下参照:
URLリンク(www.pythonware.com)

71:デフォルトの名無しさん
07/04/13 13:39:36
Pythonスレ認定キチガイ

(1) ZOPE関係者
(2) 豆腐

72:デフォルトの名無しさん
07/04/13 14:39:39
Pythonスレ認定キチガイ

(1) ZOPE関係者
(2) 豆腐
(3) >>71

73:デフォルトの名無しさん
07/04/13 15:14:59
listやarrayを作成するときに、サイズを指定することはできますか。
画像処理で大きなarrayを使いたいのですが、サイズが分かっているときは
生成時に指定した方が実行効率がいいと思うので。

74:デフォルトの名無しさん
07/04/13 15:20:49
画像処理とかだったら array より Numeric とか numpy じゃないの?
Numeric.zeros( (100,100), typecode=Numeric.Float )

list は論外ということで

75:デフォルトの名無しさん
07/04/13 16:52:37
>>74
使っているライブラリがarrayを使っているので。

76:デフォルトの名無しさん
07/04/13 17:53:04
キチガイには常人がキチガイに見えるらしいよね.

77:デフォルトの名無しさん
07/04/13 17:55:43
2chの世界ではガイキチが常人ですw

78:デフォルトの名無しさん
07/04/13 22:48:39
と、キチガイが言っています。

79:デフォルトの名無しさん
07/04/13 23:11:24
OLPCの写真を漁ってたら面白いのみつけたよ。
PyCon 2007 で Guido が OLPC のデモをやってたらしい。

Guido demonstrates the OLPC
URLリンク(www.flickr.com)

80:デフォルトの名無しさん
07/04/14 01:13:33
>>73
import itertools, array
print array.array('i', itertools.repeat(0, 5))


81:デフォルトの名無しさん
07/04/14 01:23:13
大人だとタイピングが厳しそうだ・・・

82:デフォルトの名無しさん
07/04/14 01:25:33
デモというか、誰かが持ってきたOLPCを廊下でちょっと触ってる図のような気が・・・

83:デフォルトの名無しさん
07/04/14 03:34:48
Python以前に教育用言語ABCの開発をやっていたし、
興味がある分野なんじゃない?

84:デフォルトの名無しさん
07/04/14 04:54:23
>>76
わずか2レス後に実例きましたよw

85:73
07/04/14 08:34:16
>>80
ありがとうございます。
でもこれって初期値を指定しているのであって、arrayのサイズを指定しているわけではないですよね。
求めているものとはちょっと違うようです。

86:デフォルトの名無しさん
07/04/14 10:36:02
>85
節穴?


87:デフォルトの名無しさん
07/04/14 11:00:48
>73

arrayのサイズを指定すれば効率がいいってのは勘違いだから気にするな。


88:デフォルトの名無しさん
07/04/14 12:28:36
>>57
StringVar() を使うとほぼ希望通りのことができる。
もちろん>>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() 

89:デフォルトの名無しさん
07/04/14 13:42:10
>>82
guido は sugar のメーリングリストにも以前から何回か登場してるよ。
sugar: olpc の gui シェル

90:デフォルトの名無しさん
07/04/15 23:50:03
16進数の文字列をパースして10進数のintに変換するライブラリがあったら紹介してください。

91:デフォルトの名無しさん
07/04/15 23:55:20
>>90
URLリンク(www.google.co.jp)

92:デフォルトの名無しさん
07/04/16 01:10:56
>>90
入門書嫁。

93:デフォルトの名無しさん
07/04/16 03:48:57
質問者のレベルに合わせてやれよ。
>>> int('ABCDEF', 16)
11259375


94:デフォルトの名無しさん
07/04/16 08:15:27
>>93
ありがとうございました。int()に第2引数を渡せるんですね。

95:デフォルトの名無しさん
07/04/16 08:16:53
初心者質問への対応は得意なんですね。

96:デフォルトの名無しさん
07/04/16 10:35:06
dictにはget(key, value)という大変便利なメソッドがあります。
dct = { '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
という関数を定義しているのですが、標準でそういう関数があれば教えてください。

97:デフォルトの名無しさん
07/04/16 13:46:28
『みんなのPython』 という本を持っている人にお聞きしたいのですが、

(1)
p.266 下から 4 行目の「インスタンスを呼び出すとき」は、
「メソッドを呼び出すとき」のまちがいだと思うのですが、どう思われますか?

(2)
p.306-307 リスト1:strdict.py の 18 行目はインデントがないと
エラーになりませんか?

パソコン始めたばかりでプログラムの経験が無いため、
見当違いなことを言ってるかもしれませんが、
間違ってたらどうぞ叩いてください m(_ _)m

98:デフォルトの名無しさん
07/04/16 13:53:48
とりあえず正誤表
それと何版何刷かは書いた方がいいかと
というか出版社に言え?

URLリンク(coreblog.org)

99:97
07/04/16 14:06:44
すいません、初版第1刷です。
正誤表に載ってなかったもので…。

100:デフォルトの名無しさん
07/04/16 14:17:00
>>97
初版第2刷
(1)は多分そう。俺のでも直ってない
(2)は少なくとも俺のでは書いてある通りで正しく動いた気がする。if not~~~と同じ深さ

正誤表に載ってないとこでも結構間違いあった気がするからそんなに気にしないでもいいんじゃね?

101:デフォルトの名無しさん
07/04/16 15:06:12
そんな間違い多いのか
買おうと思ったけど止めた

102:デフォルトの名無しさん
07/04/16 15:24:55
>>97
初版1刷。
(1)はご指摘の通り。
(2)はもし
if not isinstance(key, str):
  raise ValueError('Key must be str or unicode.')
  dict.__setitem__(sekf, key, value)
だったらどういうことになるか考えてみるといいよ。

みんPyは間違いや正確さに欠ける記述も多いから
読み捨てぐらいの気分で取り組むのが吉かと。

103:デフォルトの名無しさん
07/04/16 15:26:39
ああtypo。  dict.__setitem__(self, key, value)

104:デフォルトの名無しさん
07/04/16 15:58:40
プログラミングの本ってどうして誤植多いんだろうね

105:デフォルトの名無しさん
07/04/16 16:00:09
編集者がわかってないからチェックできないんじゃないか?w

106:デフォルトの名無しさん
07/04/16 16:02:25
誤植は移植のときに間違える場合だから
初めから間違ってたときは誤植じゃないだろ

107:デフォルトの名無しさん
07/04/16 16:10:44
誤植というのは植字(死語に近いけど)のときに間違えるという意味。
移植のときってなんだよ。w

108:デフォルトの名無しさん
07/04/16 18:43:12
>>96

>>> 4 in lst
>>> False

とかじゃ駄目なの?

109:デフォルトの名無しさん
07/04/16 19:58:57
>>108
i = 4
i in lst
は意味違いませんか?
欲しいのは
if 0 <= i < len(lst): return lst[i]
else: return value
または
lst[i] if 0 <= i < len(lst) else value
です。


110:デフォルトの名無しさん
07/04/16 20:10:46
>>103
レベル高いな(w

111:デフォルトの名無しさん
07/04/16 20:15:52
>>96
> 標準でそういう関数があれば教えてください。 

ない。

112:デフォルトの名無しさん
07/04/16 20:20:04
>>96
無いみたい。
Cookbookのサイトで調べたら
getvalue = (lst[3:4] or ['No'])[0]
ってかんじの方法が書いてあった。
URLリンク(aspn.activestate.com)

113:デフォルトの名無しさん
07/04/16 20:20:59
>>103
さすがZOPE関係者。

114:デフォルトの名無しさん
07/04/16 20:26:09
>103
「しっぱい」だな(w

115:デフォルトの名無しさん
07/04/17 02:45:47
>>111-112
どうもありがとうございます。標準では存在しないことがわかったので、安心して自作の関数を使うことにします。

116:デフォルトの名無しさん
07/04/17 03:00:53
["foo","bar",foo"]というリストがあったとして
{1:'foo', 2,:'bar'}というようにそのリスト内の重複を考慮した上で、重複しない辞書を作成したい場合はどうすればよいのでしょうか?

117:デフォルトの名無しさん
07/04/17 03:50:13
>>> from sets import Set
>>> dict(enumerate(Set(["foo", "bar", "foo"])))
{0: 'foo', 1: 'bar'}
>>> 

118:デフォルトの名無しさん
07/04/17 05:14:37
組み込み型のset使ったほうが

119:デフォルトの名無しさん
07/04/17 06:11:54
>>117-118
ありがとうございます。
集合型を入れ子にするにはどうすればよいのでしょう?
集合型の要素に集合型をもってきて木構造を作成したいのです。

120:97
07/04/17 07:19:39
>>102
ありがとうございました。やっぱりインデントが必要なんですね。
辞書型を継承した、文字列だけをキーに取るクラスが作れました。

今のところこの本だけしか読んでないので、ちょっと不安になりました…。
読み終わったら、次は動物が表紙のシリーズの本も探して読んでみます。

121:102
07/04/17 09:47:57
ええと、みんPy初版1刷に書いてある通りでOKです。
勘違いさせちゃってすいません。

仮にインデントありだと、
>>> d = StrDict()
>>> d[1] = 'hoge' # ValueError例外発生
>>> d['1'] = 'piyo' # 例外発生せず
一見するとうまくいってますが、
>>> d['1']
でKeyError例外が発生します。

文字列以外をキーとして受け取ったときにはValueError例外を発生させ、
文字列をキーとして受け取ったときにはキーの文字列と値を受け取り
何もしないで捨てちゃってますから。

あと、インデントにタブと半角スペースを混用すると挙動がおかしくなるかもです。

122:デフォルトの名無しさん
07/04/17 10:49:14
>>115
例外使わないの?

123:デフォルトの名無しさん
07/04/17 21:35:40
>>102
キチガイには常人がキチガイに見えるらしいよ。


124:デフォルトの名無しさん
07/04/17 23:12:01
なんだか雰囲気の悪いスレになったなおい


125:デフォルトの名無しさん
07/04/17 23:59:51
近くのスレが荒れてるとそこから人が流れてくるからね・・・
放置するしかない

126:デフォルトの名無しさん
07/04/18 00:38:52
放っておきゃそのうち直る。
こういうのは景気変動みたいに波があるんだよ。

127:デフォルトの名無しさん
07/04/18 01:01:39
そうだね.キチガイがぜんぶ悪いよね.


128:デフォルトの名無しさん
07/04/18 02:41:16
setup.pyやeasy_installを使ってインストールしたライブラリを
アンインストールするには、site-packagesの中のファイルや
ディレクトリを手動で削除するしかないのでしょうか?

129:デフォルトの名無しさん
07/04/18 06:38:52
>>128
setup.py について:
Windows の場合は setup.py bdist_wininst
RPM 系の Linux の場合は setup.py bdist_rpm
でインストーラ(バイナリパッケージ)を作れば
それぞれ OS 固有のインストール・アンインストール機能が利用できる。
フツーに setup.py install しちゃったものについては
手動で消すしかないと思われ。


130:デフォルトの名無しさん
07/04/18 07:56:58
>>119
集合を入れ子にするためには、普通のsetは使えなくて、frozensetというものを使わないと
できない。

>>>s=frozenset
>>>s()
frozenset([])
>>>s([s()])
frozenset([frozenset([])])
>>>s([s(),s([s()]))
frozenset([frozenset([frozenset()]), frozenset([])])

131:デフォルトの名無しさん
07/04/18 14:25:19
まとめ wiki の
 URLリンク(python.rdy.jp) の、

超初心者向け
 1から50までの和を計算して表示 の、

 print reduce(lambda x,y:x+y,range(50))

という回答は、

 print reduce(lambda x,y:x+y,range(1,51))

のまちがいではないですか?

132:デフォルトの名無しさん
07/04/18 14:38:06
そうだね。
そもそも誰も見ていなさそうなソース集は必要なのだろうか?

133:デフォルトの名無しさん
07/04/18 14:47:00
おまえには必要ないだけ。

134:デフォルトの名無しさん
07/04/18 14:51:00
>>131
まちがいというよりキチガイです.

135:デフォルトの名無しさん
07/04/18 15:00:57
{ 'kitty guy' : '猫男' }

136:デフォルトの名無しさん
07/04/18 17:26:12
>>132
あの分類(初心者~上級者とか)だと使い物にならないと思う。
もっと、何がしたい時みたいなレシピ集的な編集にしていけば良くなってくと思う・・

137:デフォルトの名無しさん
07/04/18 17:33:34
>>131
>#generator式を使う
>print sum(x for x in range(1,51))

無駄に冗長なコード書く必要なくね?
おまえ「generator式」言いたかっただけちゃうんかと

138:デフォルトの名無しさん
07/04/18 17:37:49
おまけにsumとかいう変数定義してグローバル汚染してるぢゃん(www
ナニコレ、バカジャネエノ(wwwwwww

>>> sum = 1
>>> sum(range(1, 51))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

139:136
07/04/18 17:39:42
>>137
いや、それ俺だわw

個人的に数列の和の一番普通な求め方はgenerator式じゃないかと思うので、・・

sumの指摘サンクスw

140:デフォルトの名無しさん
07/04/18 17:40:12
wikiなんだから直せばいいんじゃね?

141:デフォルトの名無しさん
07/04/18 17:44:04
>>136
あれはレシピじゃなくて、初心者~中級者がPythonテクニックを磨くための問題を
出し合おうって話から始まったはず。

142:デフォルトの名無しさん
07/04/18 17:45:57
>>141
テクニック磨けてないし(wwww

143:デフォルトの名無しさん
07/04/18 17:47:16
138は何を言っているの?
説明きぼんぬ。

144:デフォルトの名無しさん
07/04/18 17:48:21
(wwwwwww

ってのはどの辺で使われてるんだ?

145:136
07/04/18 17:49:19
>>141
なんスレぐらい前の話?
もう、最終更新がいつか分からないくらい前っぽい感じなので、方針転換してもいいんじゃないかなと、・・・

146:136
07/04/18 17:51:55
>>143
履歴参照、(sumに代入するようなコードになってた

147:デフォルトの名無しさん
07/04/18 17:53:58
>>143
考えるんじゃない、感じるんだ!
海馬の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
>>>

148:136
07/04/18 17:54:15
あ、そうか、sum(range(1,51))でええやんていうクレームか>>137、・・俺超天然w
つーか、ここで文句言わないで、直接wikiに反映させてくれw

149:デフォルトの名無しさん
07/04/18 17:55:24
>>145
雑談ページに

問題集とか難易度順とかに分かる人が分けて欲しい - nanasisan (2005年11月28日 15時18分44秒)
難易度は分からんが適当に分けてみた。問題も追加した(一部の表記変更) - 名無しさん (2005年11月29日 00時32分09秒)

ってあるから、それ以前だな。
wikiだから分類分けは勝手にやり直していいんじゃね?

150:131
07/04/18 18:02:50
おお、回答が更新されてる!すごい。
最大公約数の、再帰関数っていうのは思いつかなかった…。
(たぶん常識なんだろうなぁ。数学系は苦手だぁ…。)

パスワードとかトリップ作るのはおもしろそう!

151:136
07/04/18 18:03:50
>>149
まあ、かといってぱっと新たな分類に分けられるわけじゃないので、まあ、おいおい
思いつき次第・・

152:デフォルトの名無しさん
07/04/18 18:08:51
ライブラリの説明+サンプルコード集あると嬉しくない?
URLリンク(jp.rubyist.net)
みたいなの。
ごく一部のライブラリしか使ったことのない人って
自分も含めて結構いそうな気ガするし。

153:デフォルトの名無しさん
07/04/18 18:09:57
このレベルではかえって迷惑という気も(w

154:デフォルトの名無しさん
07/04/18 18:18:03
なんか初心者臭い流れになってきたな。みんpy野郎のせいか?
頼むから宿題レベルはどこかよそでやってくれ。スレ汚すな。

155:デフォルトの名無しさん
07/04/18 18:20:27
>>154
認定キチガイ乙。

156:デフォルトの名無しさん
07/04/18 18:20:49
初心者質問スレがないんだから
レベルはどうしようもないだろ

157:デフォルトの名無しさん
07/04/18 18:22:52
Wikiなんかに書かないでブログに書けば、だれか添削してくれるんじゃね?

158:デフォルトの名無しさん
07/04/18 18:24:31
>>152
標準ドキュメント嫁

159:136
07/04/18 18:29:47
>>152
とりあえずあなたの使えるライブラリの紹介ページplz

160:デフォルトの名無しさん
07/04/18 18:51:27
URLリンク(www.python.jp)

いやいや、最新ではないとはいえ、こんなに親切丁寧で分かりやすい、
しかも**日本語**のドキュメントがあるじゃまいか、ほかに何か必要か?
「枕の下に敷くべき」ライブラリリファレンスもちゃんとあるぞ。
URLリンク(www.python.jp)

翻訳プロジェクトの中の人マジで乙。いい訳してる。

161:デフォルトの名無しさん
07/04/18 18:54:50
たしかにすげー

162:デフォルトの名無しさん
07/04/18 19:04:11
そういや、どこか組み込み関数か、リストか辞書のメソッドあたりのサンプルスクリプトで
そのままコピペして使ったらちょっとしたtypoでエラーが出た所あったぞ・・・

163:デフォルトの名無しさん
07/04/18 19:05:51
>>162
報告しろ
それか、お前が中の人になって直せ
ドキュメント翻訳は勉強になるぞ

164:デフォルトの名無しさん
07/04/18 19:14:01
>>163
ちゃんとしたドキュメントが無い分野のハウツーを開拓するのでせいいっぱいだ

165:デフォルトの名無しさん
07/04/18 19:26:28
いつも命令口調のコイツって、やっぱアイツ?

166:デフォルトの名無しさん
07/04/18 19:27:37
>>165
そう、君の頭の中に住むアイツだよ(wwww

167:デフォルトの名無しさん
07/04/18 19:30:26
キチガイはスルー

168:デフォルトの名無しさん
07/04/18 19:47:15
165の頭の中。

1) オレ
2) アイツ
3) 脳内妹
4) 時々オカン

169:デフォルトの名無しさん
07/04/18 23:05:58
>>163
見つけた!
組み込み関数の reduce の説明で lambda が labmda になってる部分だった。
URLリンク(www.python.jp)
本家の英文は2.5だけど、正しく lambda になってる

170:デフォルトの名無しさん
07/04/18 23:12:31
明日使えるトリビアをありがとう

171:デフォルトの名無しさん
07/04/19 05:23:44
関数の引数リストが間違ってる部分があった気がするが思い出せない

172:デフォルトの名無しさん
07/04/19 07:24:49
おまいら細かいこと気にしすぎ。見りゃ分かるだろ。
コピペするだけのゆとりか。

173:デフォルトの名無しさん
07/04/19 10:55:17
>>172
見るだけでスペルミスや引数間違いを発見するスーパーハカー登場!!

174:デフォルトの名無しさん
07/04/19 11:01:48
>>173
他人の間違いを指摘しながら自分が間違っている低脳よりマシなのだから騒ぐな

175:デフォルトの名無しさん
07/04/19 11:17:00
いや、まじめな話
labmda が lambda の typo だってのは明らかじゃね?

176:デフォルトの名無しさん
07/04/19 11:23:40
そう
そして,細かいことばかり気になる奴に限って
現場で役に立たないことも明らかかつ一般的なな事実

177:デフォルトの名無しさん
07/04/19 11:46:22
typo厨うぜえ

178:デフォルトの名無しさん
07/04/19 12:21:05
あんまり細かいこと気にしないプログラマも困るけどな。w
バランスが肝心だね。

179:デフォルトの名無しさん
07/04/19 14:25:11
Windowsから、postgresqlにチマっとアクセスするプログラムを作ろうと思っています。
ironpythonとADO.NET(+Npgsql)を使ってやるという手段も考えましたが、定石みたいなものはあるのでしょうか。

古いものについては、下記のドキュメントが見つかったのですが。。
PyGreSQL - Python インタフェース
URLリンク(osb.sra.co.jp)

180:デフォルトの名無しさん
07/04/19 16:17:55
「チマっと」

181:デフォルトの名無しさん
07/04/19 16:30:39
>>160
2.5対応はまだまだですかね?
それとも必要無い?

182:デフォルトの名無しさん
07/04/19 17:24:27
>179
DB関係は特定DB用じゃなくORマッパーなるものを介して
ある程度汎用につくってそれを PostgreSQLなりMySQLなりに
つなぐものらしい

SQLobject とかいろいろあるらしい

詳しくは次の人↓

183:デフォルトの名無しさん
07/04/19 17:48:20
>>181
とりあえず今のtypo直すのが先かと

184:デフォルトの名無しさん
07/04/19 18:22:31
2.5.1 ktkr

185:デフォルトの名無しさん
07/04/19 18:41:44
>>182
レスありがとうございます。まさにADO.NETみたいな抽象化したライブラリがあるのでしょうか。
日本語ドキュメントを見つけたので目を通してみます。
URLリンク(ymasuda.jp)

186:デフォルトの名無しさん
07/04/20 00:45:57
>>184
おーきてるー

187:デフォルトの名無しさん
07/04/20 03:23:59
日本語変換ライブラリにはいくつかあるけど、
pykfのsplitを便利に使ってたから再度公開してください

188:デフォルトの名無しさん
07/04/20 12:03:03
わかりました。公開します。

189:デフォルトの名無しさん
07/04/20 19:14:02
どんなやりとりだよw

190:デフォルトの名無しさん
07/04/21 10:17:07
windows ユーザですが python 2.5 と 2.5.1 を共存させつつ、
easy_install でインストールしたやつを共有する方法ってありますか?


191:デフォルトの名無しさん
07/04/21 20:51:26
今からPython始めようと思って探したら
URLリンク(www.python.jp)
ってページ見つけたんだけど、

・Python標準リリース
・日本語環境用インストーラ(Win32)

ってどっちがオススメ?(ちなみにWinXP SP2に入れる)
上はバージョン2.5みたいだし
下はバージョン2.3って書いてあるけど日本語ドキュメント添付でSJIS・日本語ファイル名対応って書いてあるし。

それとも、もっといいトコがあるのかしら。

192:デフォルトの名無しさん
07/04/21 21:22:37
ふつうに2.5

193:デフォルトの名無しさん
07/04/21 21:41:53
最新は2.51
2.5には対応してないのもあったりするけど
普通にpythonの勉強してみようってことならとりあえず最新でいいんじゃね?

194:デフォルトの名無しさん
07/04/21 21:55:25
$python -c の使い方教えてくれ。

195:デフォルトの名無しさん
07/04/21 21:57:22
解決した

196:デフォルトの名無しさん
07/04/21 22:10:57
よかったね

197:デフォルトの名無しさん
07/04/21 23:34:56
>>188
ネタじゃなくホントだったら嬉しい!

198:デフォルトの名無しさん
07/04/21 23:44:52
つ URLリンク(web.archive.org)

199:デフォルトの名無しさん
07/04/22 00:57:34
>>python -c
これってワンライナーしか無理?

200:191
07/04/22 01:37:15
>192-193
日本語環境の方が安心なんじゃ…?と思って訊きました。
とりあえず2.5入れてみます。
ありがとうございました。


201:デフォルトの名無しさん
07/04/22 01:47:47
ツーライナーでもスリーライナーでもいけるよ。

202:デフォルトの名無しさん
07/04/22 02:14:43
おーなるほど、単にクオートを閉じなければいいのか・・・

203:デフォルトの名無しさん
07/04/22 15:30:27
2.5にしたらある特定のpythonのpyファイルからファイル名が使われてる
みたいなエラーがでて読み取れなくなるような
状態になったから2.4にもどしたよ

204:デフォルトの名無しさん
07/04/22 15:30:48
pythonで動画(mpgに変換可能)を再生しつつ、その上で簡単なアニメーションを動かすには
どんなライブラリが良いでしょうか? 開発はwindows上です。

アニメは単に動画上の物体をトレースするマーキングみたいなもので出来れば、動画のランダム再生で
シンクロできるようにしたいと思っています。

205:デフォルトの名無しさん
07/04/22 15:32:27
そんなことも自分で調べられない奴はやめた方がいいよ

206:デフォルトの名無しさん
07/04/22 15:44:28
>>204
動画関連でこのスレが盛り上がったためしがないので、多分知ってる人は誰も見てない希ガス

207:デフォルトの名無しさん
07/04/22 16:29:34
次のようなテーブル table1 があったとして、

key 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)


208:デフォルトの名無しさん
07/04/22 16:48:28
>>199
事実上1行のみ。;使えば多少は回避できるけど。
PyOneなんて半ばジョークのラッパースクリプトがあるが、
これ使うレベルのものになったら素直にファイルに書いた方がいいと思う。


209:デフォルトの名無しさん
07/04/22 16:57:03
>>204
ググれカス

210:デフォルトの名無しさん
07/04/22 17:30:36
file()とopen()って何が違うん

211:デフォルトの名無しさん
07/04/22 17:48:58
名前

212:デフォルトの名無しさん
07/04/22 17:56:22
>>207
少し短くはした。
>>> 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]}


213:デフォルトの名無しさん
07/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)

214:デフォルトの名無しさん
07/04/22 17:59:18
>>207
おれはこんなユーティリティ関数でどうにかしてる
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


215:デフォルトの名無しさん
07/04/22 18:11:52
>>> file == open

False

216:デフォルトの名無しさん
07/04/22 18:13:56
python2.5だか3000だかでは、

hogedict[k].append(v) if k in hogedict else hogedict[k] = [v]

って書けるようになるの?




217:デフォルトの名無しさん
07/04/22 18:26:04
以下のhgというスクリプトをコマンドプロンプトで単に「hg」と入力するだけで起動させるにはどうすればいいですか?

hg
---------
#!C:\applications\Python25\python.exe

from mercurial import commands

commands.run()
---------

218:デフォルトの名無しさん
07/04/22 18:26:35
>>216
elseの右に文は無理

219:デフォルトの名無しさん
07/04/22 18:27:28
>>213
∀key∀table∈dict((key in table.keys()) == (key in table))

220:デフォルトの名無しさん
07/04/22 18:29:25
>>207
table = {}
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でしか試してないんで、動かなかったらごめん

221:デフォルトの名無しさん
07/04/22 18:30:21
>>216
... else hogedict.__setitem__(k,[v])なら可能だけど明らかにspaghetti

222:デフォルトの名無しさん
07/04/22 18:34:56
wikiの問題集ちょっと解いたので、興味ある人いたら見て見て下い
URLリンク(python.rdy.jp)

(あと、カテゴリ分けをちょっと変更

223:デフォルトの名無しさん
07/04/22 18:51:11
ラムダとかコンプリヘンションって何のためにあるの?
読みにくくなってメリットないと思うけど。

224:デフォルトの名無しさん
07/04/22 18:53:47
つ 夢

225:デフォルトの名無しさん
07/04/22 18:55:50
>>223
読みにくくなるときは使わなければいいんですよ

226:デフォルトの名無しさん
07/04/22 18:59:40
コンプリヘンションていうのは数学で言う、関数の像になってて、それが分かると読みやすいことこの上ない。

227:デフォルトの名無しさん
07/04/22 19:02:18
要は単なるリテラル表現でしょ。別に特別な物じゃない。

228:デフォルトの名無しさん
07/04/22 19:41:43
wikiの問題集をみて思った事、問題と答えが一緒に書いてあるのって変
問題と答えを別けた方がいいような気がする。

229:デフォルトの名無しさん
07/04/22 19:50:31
問いを小項目にして、outlineを付けてみた。こんな感じでどう?

230:デフォルトの名無しさん
07/04/22 19:51:17
女がでているからとかいう理由じゃないが
表紙で選ぶなら
実践Python~文字列操作からWebアプリケーション開発まで
を買うな

231:デフォルトの名無しさん
07/04/22 19:53:23
表紙で選ぶなよw

232:デフォルトの名無しさん
07/04/22 19:59:51
鼠や蛇や馬に比べれば女のほうが確かにマシだな

233:デフォルトの名無しさん
07/04/22 20:01:43
俺はヘビの方が萌える

234:デフォルトの名無しさん
07/04/22 20:09:03
メガネという点も+だな

235:デフォルトの名無しさん
07/04/22 20:13:06
おしえてください!

python -m CGIHTTPServe
を実行したら止まらなくなっちゃいました><
止め方を教えてください

236:デフォルトの名無しさん
07/04/22 20:40:01
>>207
setdefault は?
>>> 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]}

237:デフォルトの名無しさん
07/04/22 20:48:24
>235
コマンドプロンプト閉じる


238:デフォルトの名無しさん
07/04/22 21:54:30
現場で役に立たなそうな奴ばっかりだな

239:238
07/04/22 22:03:38
みんなごめんね☆

何か寂しくなっちゃって全然関係ないこと書き込みしちゃいました。

反省したので明日ボウズにしてきます。

(;_;)

240:デフォルトの名無しさん
07/04/22 22:44:32
証拠写真うpれよ?w

241:デフォルトの名無しさん
07/04/22 22:59:21
なりすましや騙りはキチガイへの第一歩だから気をつけろ。
ゴールデンウィーク前だからって気を抜かず仕事しろよ。

242:241
07/04/22 23:09:30
みんなごめんね☆

何か寂しくなっちゃって全然関係ないこと書き込みしちゃいました。

自分の精神状態が不安なので、明日キチガイ病院に入院します。

(;_;)

243:デフォルトの名無しさん
07/04/22 23:10:14
>>241-242
さっさと消えろクズ

244:デフォルトの名無しさん
07/04/22 23:10:53
>>204
pygameが良い気がする。
mpegを読めるはず(試したことは無いです)。



245:デフォルトの名無しさん
07/04/22 23:52:32
つまり

hogedict[k] = hogedict[k]+[v] if k in hogedict else [v]

とかなら書けるのかな。
なんか裏の処理(リストがappendではなく再生成?)で無駄が発生しそうな気がするけど。


246:デフォルトの名無しさん
07/04/22 23:55:25
>236

それイイ(・∀・)ね。


247:デフォルトの名無しさん
07/04/23 00:47:37
>>235
それ、結構最初はどきっとするんだけど
実はCtrl + Breakか何かで止められる。

…正確なキーを忘れてしまったがorz

248:デフォルトの名無しさん
07/04/23 02:10:33
ドキッ!!PythonだらけのCtrl+Alt+Del大会

249:デフォルトの名無しさん
07/04/23 04:50:39
どこかの誰かが欲しいって言ってたアブストラクトそのものみたいなのが出来つつある模様。
URLリンク(www.python.org)

250:デフォルトの名無しさん
07/04/23 06:45:48
>>207

>>> 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']}
>>>

スマートかどうかの判断は任せるよ。

251:デフォルトの名無しさん
07/04/23 12:47:15
sortedが不要、itertools.groupbyの前の括弧が不要

252:デフォルトの名無しさん
07/04/23 13:07:14
もとのSQLでORDERED BYしない限りsortedは要るだろ。sortedなしでもうまくいくのは単なる幸運じゃないの?

253:デフォルトの名無しさん
07/04/23 13:09:09
reStructuredTextを使ってみたのですが、日本語文章で強調(strong)する方法がわかりません。
「あい **うえ** お」だと「あい <strong>うえ</strong> お」となることは確認したのですが、
これだと半角空白が必要なため、日本語文章では使えません。
みなさんどうしていますか。


254:デフォルトの名無しさん
07/04/23 15:14:32
>>252
あ、ごめ、そうだね。groupbyが思ってたのと違った(ぉぃ

255:207
07/04/23 18:22:52
遅れましたが回答いただいた方ありがとうございます。
>>236のsetdefaultがよさげなのでこれを使うことにします。
ありがとうございました。

256:デフォルトの名無しさん
07/04/23 18:36:38
>>253
あい¥ **うえ**¥ お


257:253
07/04/23 21:40:36
>>256
ありがとう!あいしてる。

258:デフォルトの名無しさん
07/04/23 22:23:17
まじで?!

259:デフォルトの名無しさん
07/04/23 22:54:03
アッー!

260:デフォルトの名無しさん
07/04/23 23:06:12
月曜日なのに徹夜モード、どうするよ~♪

261:デフォルトの名無しさん
07/04/24 00:29:51
>260
もってけ!! ぱいそん

とんこつも忘れるなw

262:デフォルトの名無しさん
07/04/24 10:46:06
Five (+ 1) Things I Hate About Python (and then five more)
URLリンク(sayspy.blogspot.com)

263:デフォルトの名無しさん
07/04/24 11:52:49
ぶっちゃけそれ系のブログからpythonの新ネタが∂とは思えない

264:デフォルトの名無しさん
07/04/24 12:42:32
>>261
( =ω=.) ぅぅぅぅぅぅぅうぅぅぅぅぅぅううぅぅぅぅうううぅぅぅううううううぅぅうううぅうううううぅ

劇中でPythonネタやってくれないかなあw

265:デフォルトの名無しさん
07/04/24 12:53:50
ないだろ、常識的に考えて……

OPのあれがバカ歩きになってるくらいは期待したいが

266:デフォルトの名無しさん
07/04/24 13:22:01
それいいな。MADムービー作ってw

267:デフォルトの名無しさん
07/04/24 13:28:59
オタはRubyとかPerlとか使えって.
キモいからPython使わなくていいよ.

268:デフォルトの名無しさん
07/04/24 13:53:51
何でプログラム書きってこういうヘンな人が多いんだろう。
ヘンだからなるのか、なったからヘンになったのか…。
どっちにしてもキモいキモい。頼むから机の上に人形とか置かないで。

269:デフォルトの名無しさん
07/04/24 14:01:50
Perlは作者がアニオタ。
Rubyは会長がオタ。

270:デフォルトの名無しさん
07/04/24 14:04:11
>>268
だそうだ。諦めろw

271:デフォルトの名無しさん
07/04/24 14:05:29
>>270
アニオタ死ね.もう来るな.

272:デフォルトの名無しさん
07/04/24 14:10:55
ていへんだていへんだ

273:デフォルトの名無しさん
07/04/24 14:17:52
なんでアニメの話だってわかるんだ?

274:デフォルトの名無しさん
07/04/24 14:23:12
仕事しろよアニオタ
ヒキコモリなら深夜のアニメに備えて寝ろや(wwwww

275:デフォルトの名無しさん
07/04/24 15:36:13
なんでアニメの話だってわかるんだ?
なんでアニメの話だってわかるんだ?

276:デフォルトの名無しさん
07/04/24 15:37:44
推理力

277:デフォルトの名無しさん
07/04/24 15:48:54
初心者相手に鍛えられたエスパー能力を
こんなところで発揮しなくても

278:デフォルトの名無しさん
07/04/24 15:55:26
わからない方もいらっしゃるようなので

279:デフォルトの名無しさん
07/04/24 19:17:25
larry wallがアニオタだったらちょっと怖いんだけど・・・?
autrijusのことかなぁ・・・

280:デフォルトの名無しさん
07/04/24 19:24:26
Larry WallはプログラミングPerlの日本語版の序文かなんかで
アニメやら日本好きをアピールしてた気が・・・
って、とてもスレ違いだが

281:デフォルトの名無しさん
07/04/24 20:05:18
Larryがアニメ好きなのはよく知られた話
ラクダ本ではウテナとかるろうに剣心がお気に入りって言ってた
最近じゃあずまんがのちよちゃんかわいいとか言って小飼氏に黙殺されて(ry

というわけでGuidoに親近感沸くようなエピソードないですか

282:デフォルトの名無しさん
07/04/24 20:07:56
いつになったらvs2005build版になるんだ
どうせだったらvs6のままにしとけばいいのに。

extension作るのめんどくせー

283:デフォルトの名無しさん
07/04/24 20:32:50
>>281
いつだったか、「うる星やつら」のラムちゃんのTシャツ着て現れたこともあるって聞いたけど。

284:283
07/04/24 20:33:30
ああすまん、残念ながらGuidoの話じゃなくて、俺のもLarryの話ねw

285:デフォルトの名無しさん
07/04/24 20:34:28
ソフトウェアの世界じゃアニオタなんて日常茶飯事
何いちいち驚いてるの?お前らだってアニオタなんだろ?

286:デフォルトの名無しさん
07/04/24 20:34:54
Guidoちゃんの面白エピソードまだ~?

287:デフォルトの名無しさん
07/04/24 20:37:39
てか世間的には、プログラミングに耽溺する人生自体が、
アニメに耽溺するのと同じくらいヤヴァイからなぁ。

アニメは「誰だって観たことはある」ぶんだけまだフィーリングは理解されるが、
プログラミングは多くの人間にとって、根っこのところから正体不明だし、マッドな雰囲気あるからな。

288:デフォルトの名無しさん
07/04/24 20:41:11
浮いてるぞお前

289:デフォルトの名無しさん
07/04/24 20:44:03
ヲタは総力を挙げてGuido氏をアニメに染めてくれ

290:デフォルトの名無しさん
07/04/24 21:52:23
>>288
プログラマは浮いてるんだよ。俺は楽しいからいいけど。

291:デフォルトの名無しさん
07/04/24 21:54:18
こんな馬鹿ばっかのスレだったっけ?

292:デフォルトの名無しさん
07/04/24 22:10:35
高校生かなんかだろ

293:デフォルトの名無しさん
07/04/24 22:17:26
昭和生まれとかカッコ悪いしwww

294:デフォルトの名無しさん
07/04/24 22:39:33
>>291
お前が死ねば多少は平均も上がるかもね

295:デフォルトの名無しさん
07/04/24 22:51:42
・・・

296:デフォルトの名無しさん
07/04/24 23:31:56
気付けば平成19年か
宿題スレの質問者が全部平成生まれって時代がすぐに来るな

297:デフォルトの名無しさん
07/04/24 23:34:14
TKinterのライセンスってどこに書いてあるの?
このモジュールを有償ソフトに組み込んでもいいかどうか知りたいんだけど。。。

Pythionに標準でついてくる以上、Pythonのライセンスが適用されるから、有償配布でもOKて考えていいのかな

298:バブルソートのプログラムのつもりです
07/04/24 23:48:00
from 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,"ソート後"
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
範囲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です

299:デフォルトの名無しさん
07/04/25 00:16:31
取りあえず空白いれろや


300:デフォルトの名無しさん
07/04/25 00:29:19
とりあえず、highの値を追うと
9から単純にひとつづ減って -10になってエラーになる。

301:デフォルトの名無しさん
07/04/25 01:53:23
>>298

302:デフォルトの名無しさん
07/04/25 01:55:48
こういうつもりらしい。これはヒドイw

from 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,"ソート後"

303:デフォルトの名無しさん
07/04/25 02:03:59
これは宿題か何かかなぁ

304:デフォルトの名無しさん
07/04/25 02:13:54
整理してみた。

def 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


。。。。。。。。。。まあ、がんばれ

305:デフォルトの名無しさん
07/04/25 02:42:03
ポイントはhighを代入する場所が間違ってることなんだが、ところどころlow highの値の判定条件もズレてるっぽい。

def 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使いにはだまされた

306:デフォルトの名無しさん
07/04/25 02:45:17
>>303
宿題でもなきゃバブルソートなんてやらんわな

307:304
07/04/25 02:57:48
あ、そういや配列サイズは array.size() じゃなくて len(array) か。失礼

308:デフォルトの名無しさん
07/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




309:デフォルトの名無しさん
07/04/25 03:09:52
おっと、こんな所に宿題スレッドがあるじゃないか。

Python の宿題ここで答えます Part 1
スレリンク(tech板)

310:デフォルトの名無しさん
07/04/25 08:04:59
>>282
俺はもっぱら MinGW (GCC) で拡張モジュールを作ってる。
どの Python のバージョンでも MinGW は同じバージョンでいいから楽だよ。

311:デフォルトの名無しさん
07/04/25 12:52:15
ご存知の方がいたら教えてください。
CherryPyや、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のようなものがあればできるかなあと思って探してみたんですが、
#辿り着けませんでした。

312:デフォルトの名無しさん
07/04/25 12:58:48
>>311
sys._getframe

313:311
07/04/25 14:04:10
>>312

sys._getframe(1).f_globals["__file__"]でできました。
ありがとうございました。

314:デフォルトの名無しさん
07/04/25 14:40:32
>>313
そのコードがあるクラスからサブクラスを導出すると悲しくなるから気をつけて
当然フレームの位置が変わる

315:デフォルトの名無しさん
07/04/25 19:45:38
print u"\u306c\u308b\u307d"

316:デフォルトの名無しさん
07/04/25 19:53:19
これはすごいハッカーがあらわれましたよ。

317:デフォルトの名無しさん
07/04/25 20:15:25
print u"\uff1e\uff1e\uff13\uff11\uff15\u3000\u30ac\u30c3"

318:デフォルトの名無しさん
07/04/25 20:54:56
また入門書か
2.5対応は他にないからセールスポイントになりそうだが・・・

速効! Pythonプログラミング バージョン2.5対応
URLリンク(www.shuwasystem.co.jp)

319:デフォルトの名無しさん
07/04/25 21:00:07
誰が買うんだろう。

320:デフォルトの名無しさん
07/04/25 21:04:29
だんだんVBっぽくなってきたな。w
あれも入門書ばかりでちゃんとした本がない。

321:デフォルトの名無しさん
07/04/25 21:10:51
金目的でコペピしたような本ばっかりだからなぁ。

322:デフォルトの名無しさん
07/04/25 21:11:31
金目当てじゃなかったらPDFで配るだろwwwwwwwww

323:デフォルトの名無しさん
07/04/25 21:14:26
入門より上のレベルの本にどの程度需要があるのか掴み難いってのもあるのかな?

324:318
07/04/25 21:16:09
あ、Pythonプログラミング入門も2.5に対応してるのかな?
まあどっちでもいいか・・・

325:デフォルトの名無しさん
07/04/25 21:16:14
日本では、Java, C++ から逃亡し、Ruby でもついて行けず、Python に流れ着いた、という人が 99% だろう、という見込みがあるから、似たような入門書ばかりを出すのだと思うよ。あなたたちは残りの 1% だとしても、現実にはこの通りだから。

326:デフォルトの名無しさん
07/04/25 21:18:12
日本語でおk

327:デフォルトの名無しさん
07/04/25 21:25:54
>>325
偵察に来てるRuby儲もいますが何か

328:デフォルトの名無しさん
07/04/25 21:38:17
TurboGearやら携帯関係じゃないスタンダードな和書なら
結局みんpy実pyローカスの、それとこれのどれがいいんだか

329:デフォルトの名無しさん
07/04/25 21:39:28
結局は初めてのPythonじゃね?

330:デフォルトの名無しさん
07/04/25 21:54:24
>>329
本で済ますならあのくらいのボリュームは読まないと駄目だね。
もちろんオンラインで済むという人もいるだろうけど、薄っぺらい入門書読んだ程度の
人は信用できないよ。(俺が信用しなくても特にどうということは無いだろうけどw)

331:デフォルトの名無しさん
07/04/25 22:18:56
俺は本より実際に動かして覚える

だから python と打つだけで
インタラクティブな環境が上がるのは嬉しい

332:デフォルトの名無しさん
07/04/25 22:28:41
くだらん本とか読むより、自分で頭ひねって手を動かして
いろいろ作って公開して叩かれたほうがスキル上がると思う。

333:デフォルトの名無しさん
07/04/25 22:37:13
>>332
それができないから本を読むんだろ

334:デフォルトの名無しさん
07/04/25 23:16:27
ライブラリのコードとドキュメントがあれば、もうおなかいっぱいです。

‥‥‥新しい言語機能についてけなかったりするけど。


335:デフォルトの名無しさん
07/04/25 23:18:32
おれはPythonのコードを読むからドキュメントすら必要ありませんが何か?

336:デフォルトの名無しさん
07/04/25 23:19:31
入門の話題はつまらねーよー

337:デフォルトの名無しさん
07/04/25 23:34:38
スレタイが「お勉強」だからなあ

かといって別スレ立てて閑古鳥だったらカナシス

338:デフォルトの名無しさん
07/04/25 23:50:53
「Python?ああ、海外で人気の、日本語に難のある…」

↑まだこんなイメージ?

339:デフォルトの名無しさん
07/04/25 23:55:02
入門書もいいけど
もっと実用的な問題を解く本もあっていいと思う

あとPython Cookbook早く出して欲しい

340:デフォルトの名無しさん
07/04/25 23:57:52
でねえよバカ(ww

341:デフォルトの名無しさん
07/04/26 00:18:06
>>339
URLリンク(www.oreilly.com)
これじゃご不満ですか?

342:デフォルトの名無しさん
07/04/26 00:22:42
いい加減紙媒体じゃないと勉強できない癖を直した方がいいと思う

343:デフォルトの名無しさん
07/04/26 00:24:20
まあぶっちゃけこのスレで高評価を得るような本は一般的には無用だよな(wwwww

344:デフォルトの名無しさん
07/04/26 00:26:58
この期に及んで
「Pythonやるなら英語くらいできなくっちゃね」とか「おら英語は読めんずら」とか
誰か言うのを期待してますか


345:デフォルトの名無しさん
07/04/26 00:30:47
>>344
>Pythonやるなら英語くらいできなくっちゃね

これは真実だよな.

346:デフォルトの名無しさん
07/04/26 00:31:02
義務教育で教えてるんだから英語読めない日本人なんて少ないだろ

347:デフォルトの名無しさん
07/04/26 00:32:17
kuma-

348:デフォルトの名無しさん
07/04/26 00:48:25
>>346
話せないのはともかくとして、読めないってのはあり得ないよな。
てか、Pythonの公式ドキュメントの充実っぷりは異常。

349:デフォルトの名無しさん
07/04/26 05:55:24
Pythonの宿題スレはありますか?

350:デフォルトの名無しさん
07/04/26 06:18:02
あります

351:デフォルトの名無しさん
07/04/26 06:28:08
スレリンク(tech板)

352:デフォルトの名無しさん
07/04/26 23:33:03
VC++でC++にPython2.5を組み込んでるんだけど、
pythonは標準インストーラでインストールしたままの状態なんだけどPyMarshal_系の関数の挙動があやしくない?

PyMarshal_GetLongとか使うと
実行時にメモリ参照エラーが発生するんだど、
pythonのソースからmarshal.c を持って来て、
プロジェクトに直接取り込むとうまく動くんだよね


353:デフォルトの名無しさん
07/04/27 00:27:39
>>352
VC++のバージョンは?

354:デフォルトの名無しさん
07/04/27 02:57:47
>> 353
Visual 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 ナントカって関数からパクってきた)
って感じでやってるんだけど、もちっと単純に処理できないだろうか。

355:デフォルトの名無しさん
07/04/27 09:56:56
PEP 302 - New Import Hooks を使った方が簡単なのではと想像。

356:デフォルトの名無しさん
07/04/28 00:12:33
python25.dll が msvcr71.dll、
exe 側が msvcr80.dll を使っている。
で exe で作った fp は msvcr80.dll が管理してるので
msvcr71.dll (PyMarshal_ReadLongFromFile を通して)
に渡すことは出来ない。

357:デフォルトの名無しさん
07/04/28 07:25:17
ああああああああああああああ
言われてみればその通りだああああ

情報サンクスorz >>356

358:デフォルトの名無しさん
07/04/28 07:28:27
そういえば>>355みて思ったんだけど、
python25.msi とか python251.msi とかフルインストールしても
Tools/Freeze なんてフォルダできないよね?
ソースにはあったけど。



359:デフォルトの名無しさん
07/04/28 12:55:24
>>357
ああ、ごめん。
そういう意味で>>353を書いたんだが、分かんないよな…orz

360:デフォルトの名無しさん
07/04/28 18:18:32
pyQtとwxPythonってどっちのがかんたん?

361:デフォルトの名無しさん
07/04/28 19:32:07
>>360
wxPython

362:デフォルトの名無しさん
07/04/28 19:42:45
>>360
pyQt

363:デフォルトの名無しさん
07/04/28 20:01:56
>>360
wxPython

364:デフォルトの名無しさん
07/04/28 20:09:55
>>360
wxPython

365:デフォルトの名無しさん
07/04/28 20:47:06
>>360
wxPython

366:デフォルトの名無しさん
07/04/28 20:52:45
まったくおまえらと来たら。
pyQtとwxPythonの利点と欠点を3行以内でお願い。

367:デフォルトの名無しさん
07/04/28 20:56:03
wxPython:
  使いやすい
  分かりやすい
  覚えやすい

pyQt:
  使いにくい
  分かりにくい
  覚えにくい

368:デフォルトの名無しさん
07/04/28 20:57:07
>>287
pyGtkは??

369:デフォルトの名無しさん
07/04/28 21:32:43
Tkinterが最強だよな。

370:デフォルトの名無しさん
07/04/29 00:27:07
pyQtの存在理由は?

371:デフォルトの名無しさん
07/04/29 01:16:03
Adobe、Flexをオープンソースに
URLリンク(www.itmedia.co.jp)

これでデスクトップのGUIもウェブのGUIも同じように開発できるなら
TkinterやpyGTKやpyQtを勉強する意味はあるのでしょうか?
誰か教えてください。

372:デフォルトの名無しさん
07/04/29 01:19:04
同じように開発できる≠同じことができる

373:デフォルトの名無しさん
07/04/29 01:29:22
転載

952 名前:デフォルトの名無しさん[sage] 投稿日:2007/02/15(木) 10:47:56
Flexは?

Hybridizing Java
URLリンク(www.artima.com)
> 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を作っているデモ:
URLリンク(www.adobe.com)

URLリンク(www.artima.com)
によると、Flex使ったら綺麗なGUIがウェブアプリとデスクトップアプリ両方
でできるみたいだね。一つのツールを勉強すれば環境を無視してどこでも使える
のは魅力。

374:デフォルトの名無しさん
07/04/29 01:29:51
wxPython 関数名が大文字からはじまる
pyQt 互換性 ライセンス
共通 WindowsとXで表示したときで微妙に違う マニュアルがPython用じゃなくC++ベース
気になる点

375:デフォルトの名無しさん
07/04/29 01:34:24
なんだ Flex の宣伝屋か

376:デフォルトの名無しさん
07/04/29 02:39:08
SilverLightの動向にも注目したいね。

377:デフォルトの名無しさん
07/04/29 02:55:35
・シンプルなGUIはcgi
・それ以上のGUIはflex
にすれば、現在デスクトップのGUIを勉強するのは無駄?

Develop Web applications for local use
URLリンク(www-128.ibm.com)

378:デフォルトの名無しさん
07/04/29 03:15:09
俺は余計なデーモン上げるの嫌だからスタンドアローンアプリを作り続けるよ。
あと Python スレな。

379:デフォルトの名無しさん
07/04/29 03:20:47
んなこたない。
Webアプリは一般のWebブラウザのウィンドウ内でしか実行できないというだけでも限界があるだろ。
例えば、
・フォルダ内の画像ファイルアイコンを複数選択してウィンドウにドラッグ&ドロップすれば画像データベースが作成される。
・そのデータの一覧リストの各行をドラッグ&ドロップすることで簡単に順番が変更できる。
・任意の大きさに拡大・縮小された画像が、スライダーの動きに合わせてリアルタイムに表示される。
こういうアプリがWebベースで簡単に作れるか?

380:デフォルトの名無しさん
07/04/29 03:23:25
>>378
20年くらい前は,マルチウインドウエンジンが
「余計なデーモン」以上の大物だったわけだが。

381:デフォルトの名無しさん
07/04/29 03:36:35
>>380
時代は変わったって事だね。

ウェブアプリがデスクトップアプリを駆逐する様な時代は
やってこないと思うけどね。

382:デフォルトの名無しさん
07/04/29 03:38:58
>>379
フォルダからのドラドロは無理だけど、それ以外はWebアプリでもできる.

383:デフォルトの名無しさん
07/04/29 03:50:33
「Webアプリがデスクトップアプリを駆逐する前に381が駆逐される」に100万タプル


384:デフォルトの名無しさん
07/04/29 03:51:15
>>381
来るかも知れないよ

385:デフォルトの名無しさん
07/04/29 03:52:59
そうかもしれないね。そんな事になったら目でピーナッツ噛むよ。

386:デフォルトの名無しさん
07/04/29 03:54:20
まあ、まともな形で実現したらいいなぁとは思う。

387:デフォルトの名無しさん
07/04/29 03:55:24
>>381
Firefox OS
URLリンク(www.lifehack.org)

388:デフォルトの名無しさん
07/04/29 10:20:03
適当なアプリケーション作ったので公開して叩かれたいんだけど、
宣伝するのに適当なとこ教えてください。

389:デフォルトの名無しさん
07/04/29 10:24:28
>>388
ここで宣伝して叩かれればいいんでは。
メーリングリストなら python-ml-jp とか。
PyJUG のホームページに掲載されるニュースとして投稿するとか。

390:デフォルトの名無しさん
07/04/29 13:13:00
>>388
チラシの裏に書いて家の前にでも貼っとけ。

391:デフォルトの名無しさん
07/04/29 13:17:31
>>390
自分が作れないからってひがむなよwww

392:デフォルトの名無しさん
07/04/29 13:21:53
自分で「適当なアプリケーション」なんて言ってるものを宣伝されてもうざいだけだろ。
それとも謙遜なのか?

393:デフォルトの名無しさん
07/04/29 13:27:52
そんなことより早くコードを見せてくれ。野次馬根性が疼いて仕方がない。

394:デフォルトの名無しさん
07/04/29 13:31:01
>392
本人は「叩かれたい」らしいから仕方ないだろ。

395:デフォルトの名無しさん
07/04/29 13:34:34
>>388
Mの方ですか

396:デフォルトの名無しさん
07/04/29 14:14:31
fj.sources

397:デフォルトの名無しさん
07/04/29 14:17:34
ゴチャゴチャ言ってないでさっさと貼れ

398:デフォルトの名無しさん
07/04/29 20:18:45
Programming Pythonの洋書読んだひとっていいる?

399:デフォルトの名無しさん
07/04/29 20:38:46
はい

400:デフォルトの名無しさん
07/04/29 20:43:42
>>398
初版を読んだよ。

401:デフォルトの名無しさん
07/04/29 20:45:46
普通原書を読むだろ

402:デフォルトの名無しさん
07/04/29 22:10:28
ActivePythonって何ですか?
>>191のサイトには載ってないようですが。

403:デフォルトの名無しさん
07/04/29 22:14:53
>>402
抱き合わせ商法のことです

404:デフォルトの名無しさん
07/04/29 22:29:44
>>401
日本語とかあり得ないよな。糞訳ばっかだし。

405:デフォルトの名無しさん
07/04/29 22:59:59
>>402
URLリンク(www.activestate.com)
主なところでwin32allっていうモジュールが添付してある。
で、それを使うとwin32APIへのアクセスが容易にできたり
COMサーバやコンポーネントが作れたりする。WSHに食わせたりもできる。
何言ってるかわかんなかったら普通のPythonでまったく問題なし。

406:デフォルトの名無しさん
07/04/29 23:07:47
Python.NET

407:デフォルトの名無しさん
07/04/29 23:31:30
>>405
かろうじてwshに喰わせられるってトコだけは分かりました。
追加質問で申し訳ないのですが、過去ログも含めほとんど話題に出ないという事は、
皆さんwshからは利用されていないという事なんでしょうか?

408:デフォルトの名無しさん
07/04/29 23:32:47
うんそうだね

409:デフォルトの名無しさん
07/04/29 23:40:36
違うよ、ウソはいけないよ

410:デフォルトの名無しさん
07/04/29 23:46:41
wshのスレでは結構話題に(ry

411:デフォルトの名無しさん
07/04/30 01:51:02
Pythonで.htaを使ってアプリ作ったことある人いる?

JavaScriptのせいでopenが使えなくて、何にも出来ないんだけど...
回避するテクニックってある?

412:デフォルトの名無しさん
07/04/30 02:19:27
あると思う?

413:デフォルトの名無しさん
07/04/30 02:55:02
>>411
PythonでHTAは試したことないけど、
とりあえずJScriptからファイル操作は可能。
URLリンク(itpro.nikkeibp.co.jp)
ただ凝ったことをするとCOMの知識が必要になってくるなど面倒もあるので
(ドキュメントを探すのも結構大変)
ActivePython+HTAを試してみるのがいいと思う。

414:デフォルトの名無しさん
07/04/30 08:13:53
延々調べ中・・・
Win32 Extensions2.5(pywin32-210.win32-py2.5.exe)を入れたらwshで使えるって事ですよね?
コマンドラインで"cscript hoge.pys"とやると、PythonCOM Server policyがロードされてない
とか何とかエラーになるんですが。

415:デフォルトの名無しさん
07/04/30 10:12:49
>>414
# test.pys
import os
WScript.Echo(os.name)
これを foobar.pys とでもして cscript foobar.pys してもエラーになる?

考えられるのはWSHのスクリプトエンジンとして
Python(+PyWin32)が登録されていないとか。
(ActivePythonの場合はインストール時に登録してくれる模様)
登録する方法についてはドキュメントを探すか、pyscript.py のソースを参照。

あと、IEのスクリプトエンジンとしてPythonを使う場合は(HTAも同様)
URLリンク(www.python.jp)
という脆弱性があるので覚悟の上で使用すること。
(最新版のデフォルトでは使えないようになっているはず)

416:デフォルトの名無しさん
07/04/30 11:17:44
win32allとPyWin32って同じモノだよなぁ。でもビルドNoがえらく離れてるし・・・うーん
運用に覚悟が必要とまでなると、シロートの手に余るし、流石に少し腰が引けてきた。
>>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" が見つかりません。

417:デフォルトの名無しさん
07/05/01 10:45:43
そして敗北 orz
おとなしくVBScriptかJScriptの資料を探してこよう。

418:デフォルトの名無しさん
07/05/01 15:10:35
python で統計処理(& 線形回帰)をしてて
URLリンク(www.nmr.mgh.harvard.edu)
を使ってます。

だいたいうまく動いているんですが、あるデータを処理するときに

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 が小さすぎるとか
そういうデータの性質に起因してるんですよね...きっと.

(大量のデータを食わせて数時間計算したあとの特定の場所で
食らっているので,どのようなデータが原因なのかは分かってません)

419:デフォルトの名無しさん
07/05/01 15:42:13
負の数の対数を取ったとかじゃね?

420:デフォルトの名無しさん
07/05/01 18:19:19
だいたいうまく計算して、だいたいこんな結論。

421:名無しさん
07/05/01 21:41:08
>>418
出る例外がわかってるんだから捕捉して
どのデータで発生したか表示すりゃいいんじゃないの?


422:デフォルトの名無しさん
07/05/02 05:13:30
import math
math.log(-1)で>>418と同じエラーがでたので、たぶん>>419が原因ぽ域がする・・・
rのオーダーがなにかでずれて1.0を超えたとかでは?

ところで、math.log(0)だとべつなエラーが出るのが奇妙

423:デフォルトの名無しさん
07/05/02 08:28:28
こういう注意書きがあった。

URLリンク(www.python.jp)
> 注意: math モジュールは、ほとんどが実行プラットフォームにおける C 言語の数学ライブラリ関数に
> 対する薄いラッパでできています。例外的な場合での挙動は、 C 言語標準ではおおさっぱにしか定義
> されておらず、さらに Python は数学関数におけるエラー報告機能の挙動をプラットフォームの C 実装
> から受け継いでいます。その結果として、エラーの際 (およびなんらかの引数がとにかく例外的であると
> 考えられる場合) に送出される特定の例外については、プラットフォーム間やリリースバージョン間を
> 通じて有意なものとなっていません。例えば、 math.log(0) が -Inf を返すか ValueError または
> OverflowError を送出するかは不定であり、 math.log(0) が OverflowError を送出する場合において
> math.log(0L) が ValueError を送出するときもあります。 

424:デフォルトの名無しさん
07/05/02 08:53:04
話が変わるけど>>423の訳文、下の原文に対応する部分がちょっとおかしいね。

原文: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.

「そのため、エラーの際に具体的にどの例外が起きるか、さらにはある引数がそもそもエラーと
みなされるか否かという点さえも、プラットフォーム間やバージョン間で有用な形では定義されて
いません。」ぐらいに意訳するのがいいんジャマイカ。

425:デフォルトの名無しさん
07/05/02 13:34:50
>>422
log 0は-∞と定義できないこともないが、log -1はマジで定義されてないから

426:デフォルトの名無しさん
07/05/02 14:23:27
>421
try: でひっかけて print してみました。

特に変なデータではないのですが(len 100 の float 列2つ),
とても直線度が高く,自乗回帰すると残渣とかが
非常に小さくなるようなデータでして
当該最小自乗回帰ルーチンの中では(結果として)
log の中が負になっていました。

うーむ...

計算誤差のせいかな... あとで計算式を追ってみます...


427:デフォルトの名無しさん
07/05/02 15:32:09
>>425
定義はされてるが複素数だな。

428:デフォルトの名無しさん
07/05/02 18:45:12
>>>from cmath import log
>>>log(-1)
3.1415926535897931j
>>>from math import e
>>>log(-e)
(1+3.1415926535897931j)

429:デフォルトの名無しさん
07/05/02 19:00:06
虚数単位が j なところが工学っぽい

430:デフォルトの名無しさん
07/05/03 17:16:25
pythonスクリプトでKidを使いたいのですが、Shift_JISのxhtmlテンプレートが読み込めなくて困っています。(python2.5, Kid 0.9.2)

--- hoge.kid ---
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "URLリンク(www.w3.org)
<html xmlns="URLリンク(www.w3.org) xml:lang="ja" lang="ja"
      xmlns:py="URLリンク(purl.org)
  <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 になっていることは確認しています。
どなたかお助けを。


431:デフォルトの名無しさん
07/05/03 18:25:17
最後の例の encoding は shift-jis ではなくて utf-8 でしょ。

432:デフォルトの名無しさん
07/05/03 22:03:16
それは「UTF-8で書けばちゃんと読むのに」という事だよね
そもそもXMLでの必須はUTF-8とUTF-16だけで他はオプションだから実装が対応していないだけでは?
encoding="Shift_JIS" の記述のままのファイルをutf-8に変換するだけではwell-formedになりようもないし

433:デフォルトの名無しさん
07/05/04 16:32:15
日本語でおk

434:デフォルトの名無しさん
07/05/05 13:50:37
クラス変数をクラス内部から参照するときは、self.__class__.hogeみたいな感じで見なきゃみられないの?
class hoge(object):
    l=[]
    def printl(self):
        print l ##lにアクセスできない
        print self.__class__.l ##lにアクセスできる
もう少し手軽にアクセスしたいが、どうしたらよい?

435:デフォルトの名無しさん
07/05/05 14:12:05
hoge.l

436:デフォルトの名無しさん
07/05/05 14:24:09
self.l

437:デフォルトの名無しさん
07/05/05 14:26:58
Tkinterのウィンドウの生成についてなのですが、
だいたいのサイトで「定石」として紹介されているコンストラクタの処理が今ひとつ釈然としません。Tkinterはまだ知ってから数週間なので、それもあるかもですけど...

class App(Frame):
 def __init__(self, master = None):
  Frame.__init__(self, master)
  self.init()
  self.pack()
 def init():
  #以下省略

app = App()
app.mainloop()
これで、なんでウィンドウをTk()などで生成していないのに窓が開くのでしょうか・・・
こちらの方は、なんとかこうにかどうにか、理解に至る、な感じがしないでもないのですが・・・

何かしらのご教授をお願いします。

438:デフォルトの名無しさん
07/05/05 14:27:50
こちらの方は云々でURL貼り忘れてました。
URLリンク(hp.vector.co.jp)
です。

439:デフォルトの名無しさん
07/05/05 14:34:54
おねがいします
数学ライブラリーを全種類あげてください

440:デフォルトの名無しさん
07/05/05 15:19:29
math

441:デフォルトの名無しさん
07/05/05 15:27:04
>>440
一種類以外にも上げてください

442:デフォルトの名無しさん
07/05/05 15:43:15
scipy


443:デフォルトの名無しさん
07/05/05 15:56:45
2つでました
あと何個見つかるでしょうか

444:デフォルトの名無しさん
07/05/05 16:03:50
numpy

445:デフォルトの名無しさん
07/05/05 16:12:58
python math library
あたりでぐぐってみれば?
URLリンク(www.filegate.net)
URLリンク(hodge.mathematik.uni-mainz.de)

あとはcheeseshopで検査
URLリンク(cheeseshop.python.org)

446:デフォルトの名無しさん
07/05/05 17:36:45
>>437
ルートウィジェット(Tkインスタンス)の存在しないときに
Frameウィジェットを生成しようとすると、
それじゃ困るというのでTkinterが勝手にTk()を呼んでくれます。
明示的に root = Tk() としたほうが行儀がいいことは確かです。

447:デフォルトの名無しさん
07/05/05 22:55:41
>> 439 数学ライブラリーを全種類あげてください

Enthought distribution を入れておけ。御前には使い切れない science 関係の
package/module がインストールされる。

python 2.4 になってしまうが、大した問題ではないだろう。

448:デフォルトの名無しさん
07/05/05 23:00:38
これ、本が出るってわけじゃないよね・・・
URLリンク(morchin.sakura.ne.jp)

449:デフォルトの名無しさん
07/05/06 03:59:32
>>448
なんか合成っぽいね

450:デフォルトの名無しさん
07/05/06 10:15:39
許可も取らずにO'REILLYのロゴ使うわけもないだろうけど

451:デフォルトの名無しさん
07/05/06 10:27:22
キャッチアンドリリース

452:デフォルトの名無しさん
07/05/06 11:00:26
>>448
あのワシはLearning PHP5、
喰われてるヘビはProgramming Python
要するに合成

453:デフォルトの名無しさん
07/05/06 12:21:04
>>450
URLリンク(www.monkeyboy.is-a-geek.org)

454:デフォルトの名無しさん
07/05/06 22:27:11
>>450
涙目wwwwwww

455:デフォルトの名無しさん
07/05/06 22:44:43
>>453
これはO'REILLYは許可してるのか?
そこのサイトで合成された画像を個人のサイトで勝手に使うのは許可されてるのか?

456:デフォルトの名無しさん
07/05/06 22:52:08
パロディに許可ってアホじゃね?

457:デフォルトの名無しさん
07/05/06 22:57:30
パロディか?
内容は真面目なプログラミングの話でネタやお笑いじゃないし
一見、そういう本が実在してる印象をうけるぞ。

458:デフォルトの名無しさん
07/05/06 23:13:41
まんまとだまされた>>450氏は必死のようだが、実際に販売して利益を上げなければ
商標法で訴えるのは難しいだろうな。せいぜいで不正競争防止法あたり。
そこまでORAは野暮じゃなかろう。

459:デフォルトの名無しさん
07/05/07 15:48:20
>458
ORAって書くとオラクルっぽいな

460:デフォルトの名無しさん
07/05/07 15:51:49
ORAORAですかー??

461:デフォルトの名無しさん
07/05/07 15:54:19
PythonでWindowsで動くGUIのアプリケーションを作るには
ざっとどんな知識が必要ですか?

462:デフォルトの名無しさん
07/05/07 15:56:13
>>461
ざっとGUIツールキットの知識が必要。ぶっちゃけ、それ以外要らん。
とりあえずTkinterでもかじってみりん。

463:デフォルトの名無しさん
07/05/07 20:49:45
winのGUIアプリを作る方法を一から学ぶなら、Pythonは無いなーと思う

464:デフォルトの名無しさん
07/05/07 23:47:03
pythonでメガデモつくるとしたら、使えるライブラリー
ありますか、映像と音楽と効果音などが必要と思いますが

465:デフォルトの名無しさん
07/05/08 00:32:56
>>464
こんなのはどうだい

URLリンク(slut.sourceforge.net)

466:デフォルトの名無しさん
07/05/08 00:52:15
>>464
こんなのもどうだい

URLリンク(www.ixi-software.net)
URLリンク(www.youtube.com)

467:デフォルトの名無しさん
07/05/08 09:37:18
>>461
やめとけ、おまえにゃ無理。

468:デフォルトの名無しさん
07/05/08 19:03:37
Google Trends: python
URLリンク(www.google.com)

1. Ofunato, Japan
2. Tsukuba, Japan
3. Bunkyo, Japan
4. Kizuki, Japan

なぜに Ofunato が一番なんだろう
とか思ったり…


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch