5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Pythonのお勉強 Part32

1 :デフォルトの名無しさん:2009/02/16(月) 01:45:30
Pythonオフィシャルサイト
http://www.python.org/
日本Pythonユーザ会
http://www.python.jp/Zope/
まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
http://pc11.2ch.net/test/read.cgi/tech/1230821097/

2 :デフォルトの名無しさん:2009/02/16(月) 01:47:47
おつ

3 :デフォルトの名無しさん:2009/02/16(月) 02:11:36
オツ

4 :デフォルトの名無しさん:2009/02/16(月) 02:21:16
>>1
これはおつじゃなくて
たぶん蛇のシンボルうんぬん

5 :デフォルトの名無しさん:2009/02/16(月) 02:22:01
掲示板作ったよ。
なんかホールとか発見したら教えてね。
しばらくしたら忘れてね。
http://rail.s4.pf-x.net/bbs/

6 :デフォルトの名無しさん:2009/02/16(月) 04:16:32
import winsound
for i in (262, 294, 330, 349, 392, 440, 494, 523): winsound.Beep(i, 100)

7 :デフォルトの名無しさん:2009/02/16(月) 10:47:34
君たちがよだれを垂らしながらほしがってるRubyのブロックつきメソッドは
Pythonから見れば叶わぬ夢であるという自覚くらいは持って頂きたく

8 :デフォルトの名無しさん:2009/02/16(月) 12:18:31
■■日本語を文字化けしないで表示するやり方、エロい人教えて

# -*- coding: utf-8 -*-

import urllib

url = 'http://table.yahoo.co.jp/t?s=998407.O&g=d'
html = urllib.urlopen(url).read()

#a = html.decode('EUC-JP') #error
#b = html[:18].decode('EUC-JP') #ここまでなら実行できる

print html

9 :デフォルトの名無しさん:2009/02/16(月) 12:25:49
Rubyのような中途半端なもの使うくらいならLispを使うな
LispとPython(おまけでPerl)があれば十分

10 :デフォルトの名無しさん:2009/02/16(月) 12:33:11
>>8
ページ見てみたけど、先頭の方のHTMLコメント内に
euc-jpとしてデコードできない文字が入ってるようだ

html.decode('euc-jp', 'ignore')

html.decode('euc-jp', 'replace')
とでも汁

11 :デフォルトの名無しさん:2009/02/16(月) 13:01:27
>>10

うぉ〜出来た!多謝!!!

12 :デフォルトの名無しさん:2009/02/16(月) 13:51:26
スルー力って大事だね。

13 :デフォルトの名無しさん:2009/02/16(月) 14:21:44
リスト内包が便利すぎて最近RubyやLispのリスト処理関数忘れてしまった

14 :デフォルトの名無しさん:2009/02/16(月) 21:44:44
                          刀、           , ヘ
                  /´ ̄`ヽ /: : : \_____/: : : : ヽ、
              ,. -‐┴─‐- <^ヽ、: : : : : : : : : : : : : : : : : : : : : : }
               /: : : : : : : : : : : : : :`.ヽl____: : : : : : : : : : : : : : : : : : /
     ,. -──「`: : : : : : : : : :ヽ: : : : : : : : :\ `ヽ ̄ ̄ ̄ フ: : : : :/
    /: :.,.-ァ: : : |: : : : : : : : :    :\: : : : :: : : :ヽ  \   /: : : :/
    ̄ ̄/: : : : ヽ: : : . . . . . . . . . . .、 \=--: : : :.i  / /: : : : :/
     /: :     ∧: \: : : : : : : : : : ヽ: :\: : : 〃}/  /: : : : :/         、
.    /: : /  . : : :! ヽ: : l\_\/: : : : :\: ヽ彡: : |  /: : : : :/            |\
   /: : ィ: : : : :.i: : |   \!___/ ヽ:: : : : : : :\|:.:.:.:/:!  ,': : : : /              |: : \
   / / !: : : : :.ト‐|-    ヽ    \: : : : : l::::__:' :/  i: : : : :{              |: : : :.ヽ
   l/   |: : :!: : .l: :|            \: : : l´r. Y   {: : : : :丶_______.ノ: : : : : :}
      l: : :l: : :ト、|         、___,ィ ヽ: :| ゝ ノ    '.: : : : : : : : : : : : : : : : : : : : : : /
      |: : :ト、: |: :ヽ ___,彡     ´ ̄´   ヽl-‐'     \: : : : : : : : : : : : : : : : : : イ
        !: :从ヽ!ヽ.ハ=≠' , ///// ///u /           ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      V  ヽ|    }///  r‐'⌒ヽ  イ〉、
              ヽ、______ー‐‐' ィ´ /:/:7rt‐---、       こ、これは>>1乙じゃなくて
                  ィ幵ノ ./:/:./:.! !: : : : :!`ヽ     ポニーテールなんだから
              r‐'T¨「 |: | !:.∨:/:./: :| |: : : : .l: : : :\   変な勘違いしないでよね!
               /: : .|: :| !:.!ィ¨¨ヾ、:.:/ !: : : : l: : : : : :.\


15 :デフォルトの名無しさん:2009/02/17(火) 15:09:36
ここから勃起した巨大ペニスのAAを発射

16 :デフォルトの名無しさん:2009/02/18(水) 01:21:05
つうかまじでpython厨うざい。
python厨は全員首吊って死ねよ。

ruby人口の方が多い。
rubyの方がいろいろできる。
言語的仕様は好みの問題。
議論の余地無し。
以上。

17 :デフォルトの名無しさん:2009/02/18(水) 01:32:52
pass

18 :デフォルトの名無しさん:2009/02/18(水) 02:26:46
>>1
ぱい乙

19 :デフォルトの名無しさん:2009/02/18(水) 14:06:58
>>16
いろいろできるについてkwsk


20 :デフォルトの名無しさん:2009/02/18(水) 14:45:29
煽りにマジレスしても意味ないが、
流石にruby人口の方が多いというのは無理があると思う

21 :デフォルトの名無しさん:2009/02/18(水) 14:47:34
>>19

>>16 は前スレの >>979 に対して python ⇔ ruby 変換をしてコピペしたもの。
他人のレスを盗作するしかないぐらいに悔しくなった ruby 厨の仕業。
以前からpythonスレを荒しまくり、自分でrubyコミュニティーのアホさ加減を露呈している人間。
俺がrubyを使うのを止めて、python使いになるきっかけをになってくれた張本人でもある。

完全無視推奨。
以下、オリジナルのソース:

http://pc11.2ch.net/test/read.cgi/tech/1230821097/
| From: [979] デフォルトの名無しさん <sage>
| Date: 2009/02/17(火) 14:18:58
|
| つうかまじでruby厨うざい。
| ruby厨は全員首吊って死ねよ。
|
| python人口の方が多い。
| pythonの方がいろいろできる。
| 言語的仕様は好みの問題。
| 議論の余地無し。
| 以上。
|
| From: [985] デフォルトの名無しさん <sage>
| Date: 2009/02/17(火) 17:21:04
|
| 結局のところ>>979が穏便かつ正論だと言わざるを得ないな


22 :デフォルトの名無しさん:2009/02/18(水) 14:53:56
実はrubyスレでも煙たがられる狂信者

23 :デフォルトの名無しさん:2009/02/18(水) 15:17:12
同じ宗教の人が応援してるんでしょ

24 :デフォルトの名無しさん:2009/02/18(水) 16:15:26
3になって何が変わったのさ

25 :デフォルトの名無しさん:2009/02/18(水) 16:41:31
http://docs.python.org/3.0/whatsnew/3.0.html
http://text.world.coocan.jp/TSNET/?What%27sNewInPython3.0

26 :デフォルトの名無しさん:2009/02/18(水) 17:01:10
ruby厨は実はMatz本人だなんて事実は口が裂けても言えない

27 :デフォルトの名無しさん:2009/02/18(水) 17:41:41
pass

28 :デフォルトの名無しさん:2009/02/18(水) 19:36:43
netbeanとeclispどっちがおすすめ?

29 :デフォルトの名無しさん:2009/02/18(水) 20:08:20
>>28
lisp


30 :デフォルトの名無しさん:2009/02/18(水) 21:09:44
>>28
NetBeansでも問題なく普通にコーディングできるよ。
ただ、物凄く気になるのが1ソース内のインスタンス変数を同一のものと認識してくれない。
普通の変数なら、その変数を選択した時点でソース内の同じ変数が全てハイライトされるし
一括置換できるけど、インスタンス変数は出来ない。

次のバージョンぐらいから正式にサポートするみたいだからそれまではEclipseの方がいいかも
しれない。

31 :デフォルトの名無しさん:2009/02/18(水) 23:33:45
ide使いたいならkomodoがよくね?

32 :デフォルトの名無しさん:2009/02/18(水) 23:37:49
>>31
komodoは前のバージョンで日本語化したら、プロジェクト作ったりするときに
XMLがオカシイ!ってエラーが事あるごとに出てから嫌になった・・・

33 :デフォルトの名無しさん:2009/02/19(木) 03:45:35
ぺちぱーの漏れが初めてpythonを触ってみた
シンプルに書けて良い感じ
コーディングスタイルを統一しやすいのもかなりマル
気にいったのでコツコツ勉強しますお

34 :デフォルトの名無しさん:2009/02/19(木) 04:11:41
Pythonって関数(メソッド)の命名規則ってあるの?
組み込みの関数名が全部小文字だったり、単語区切りでアンダーバーが
あったりで・・・
よく使う関数とかは直ぐなれちゃうんだろうけど。

35 :デフォルトの名無しさん:2009/02/19(木) 04:46:31
>>34
とりあえずPEP8を読もう

36 :デフォルトの名無しさん:2009/02/19(木) 04:54:37
関数は全部小文字、適宜アンダーバー…じゃないかな?

37 :デフォルトの名無しさん:2009/02/19(木) 06:41:10
boostの名前の付け方と似た感じなのかな

38 :デフォルトの名無しさん:2009/02/19(木) 12:27:49
http://kei-software-engineering.blogspot.com/2009/01/programming-language-comparison.html
http://kei-software-engineering.blogspot.com/2008/12/tools-programming-language-comparison.html

identifier can be namig
http://kei-software-engineering.blogspot.com/2009/01/programming-language-comparison-detail.html
>with sigil

_ は taxonomy な見方でみると sigil に属するものなんだろか…

39 :デフォルトの名無しさん:2009/02/19(木) 13:39:15
Pyrex がすごい!


40 :デフォルトの名無しさん:2009/02/19(木) 14:12:41
がいしゅつ?
http://www.ibm.com/developerworks/jp/linux/library/l-python3-1/


41 :デフォルトの名無しさん:2009/02/19(木) 14:21:38

Python 3.0 は隔離スレを作るべきだと思うのは俺だけかな?
そもそもあれは実用で使うには時期が早すぎるわけで、ここで
普通に語られても困る。


42 :デフォルトの名無しさん:2009/02/19(木) 15:11:42
別に

43 :デフォルトの名無しさん:2009/02/19(木) 16:09:20
細分化する必要性が全く感じられない。
各自がレスの内容を収拾選択すればいいだけ。

44 :デフォルトの名無しさん:2009/02/19(木) 17:03:12
このごろ新しく書き起こすプログラムは 3.0 向けに書くようにしているが
個人的にはこれまでのところほとんど違和感がない。2.x からの変更点の
リストを見て移行はたいへんだろうと予想していたので意外だった。

俺は Tkinter を愛用していて、この GUI ツールキットを使っている分には
2.x と 3.0 の差はほとんどない。print() や "".format() もそういうものだと思って
使ってみると別段困ることはない。

C API が大きく変わっているのが印象的だった。char * だったところが
wchar_t * になっててとまどった。

振り返ってみると 1.5.2 から 2.0 に移るときも案外スムーズだった気がする。
既存のプログラムは旧 Python で実行しつつ新しいプログラムは新 Python で
書いていたのも同じ。1.5.2 用から 2.0 用に書き直した自作の常用プログラムは
1つだけ(このプログラムは未だに使っている。そのうち 3.0 用に書き直すかも)。

まあ使い方に依るのかもしれない。個人的には今のところ 3.0 に満足してる。


45 :デフォルトの名無しさん:2009/02/19(木) 17:30:14
まぁ、趣味人としは、3.0がこなれてきたら、
新しいスクリプトは3.0で書けばいいやって感じだな。

46 :デフォルトの名無しさん:2009/02/19(木) 22:38:26
from b import c
この構文って3.0でも残るんだな。
import aとのギャップが直感的でない気がするのだけど。

47 :デフォルトの名無しさん:2009/02/19(木) 23:27:43
from x import * は禁止して欲しい

48 :デフォルトの名無しさん:2009/02/19(木) 23:46:14
>>46
from b import cがなくなったら困る。

>>47
わからないでもないけど、__init__.pyとかでは普通に使ってるから
なくなると面倒になる。

49 :デフォルトの名無しさん:2009/02/20(金) 00:29:33
まだCentOSとかにデフォで入ってるのが2.4だったりするから、
配布を考えているものは2.4用にしてしまう。

50 :デフォルトの名無しさん:2009/02/20(金) 00:33:40
新バージョンへの移行を促すべき

51 :デフォルトの名無しさん:2009/02/20(金) 02:32:12
Python 3.0 は隔離スレを作るべきだと思うのは俺だけかな?
そもそもあれは実用で使うには時期が早すぎるわけで、ここで
普通に語られても困る。

52 :デフォルトの名無しさん:2009/02/20(金) 03:08:57
細分化する必要性が全く感じられない。
各自がレスの内容を収拾選択すればいいだけ。

53 :デフォルトの名無しさん:2009/02/20(金) 03:21:16
それコピペ

54 :デフォルトの名無しさん:2009/02/20(金) 05:22:25
print 1
print (1)
どっちでも通るんだけど py 2.5.4, ipy 2.0.1
2.5系から文になったんだっけ…これ2.6からだったような…


55 :デフォルトの名無しさん:2009/02/20(金) 05:27:17
逆だ…orz
「関数」になったんだっけ


56 :デフォルトの名無しさん:2009/02/20(金) 05:40:12
>>54
(1)も1と同じ意味だから通るに決まってる。
(1, 2)になるとタプルになるが。

57 :デフォルトの名無しさん:2009/02/20(金) 09:14:47
Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)
>>> print ("aaa",3)
('aaa', 3)
>>> print (1,2,sep="#")
File "<stdin>", line 1
print (1,2,sep="#")
^

Python 3.0 (r30:67503, Feb 9 2009, 13:18:20)
>>> print ("aaaa",3)
aaaa 3
>>> print (1,2,sep="#")
1#2

58 :デフォルトの名無しさん:2009/02/20(金) 10:16:02
それコピペ

59 :デフォルトの名無しさん:2009/02/20(金) 12:33:17
【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
http://pc11.2ch.net/test/read.cgi/tech/1235050215/

60 :デフォルトの名無しさん:2009/02/20(金) 15:18:34
うっわー、バカじゃねえの。いや疑うまでもないか。

61 :デフォルトの名無しさん:2009/02/20(金) 21:06:38
スレ荒らす暇でRubyもPythonも覚えればいいだろ
つかRubyスレだけじゃなくてPythonスレも荒らしてんのか
暇だねえ

62 :デフォルトの名無しさん:2009/02/20(金) 22:08:48
[1,2,3] を ['1', '2', '3'] にしたいのですが

>>> [1,2,3]
[1, 2, 3]
>>> ','.join([1,2,3])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, int found
>>> ','.join(str([1,2,3]))
'[,1,,, ,2,,, ,3,]'

わけがわかりません><

63 :デフォルトの名無しさん:2009/02/20(金) 22:09:22
>>> ','.join(map(str, [1,2,3]))
'1,2,3'

64 :デフォルトの名無しさん:2009/02/20(金) 22:10:18
>>> ','.join('%d' % i for i in [1,2,3])
'1,2,3'

65 :デフォルトの名無しさん:2009/02/20(金) 22:11:32
>>> ['%d' % i for i in [1,2,3]]
['1', '2', '3']
>>> map(str, [1,2,3])
['1', '2', '3']
>>> str([1,2,3])
'[1, 2, 3]'

66 :デフォルトの名無しさん:2009/02/20(金) 22:15:07
なんでこうなるの?

>>> ','.join('[1, 2, 3]')
'[,1,,, ,2,,, ,3,]'
>>> ','.join(str([1,2,3]))
'[,1,,, ,2,,, ,3,]'


67 :デフォルトの名無しさん:2009/02/20(金) 22:17:42
join はリストを受け取るから
'[1, 2, 3]' は
['[', '1', ',', ' ', '2', ',', ' ', '3', ']']
になってから join() される


68 :デフォルトの名無しさん:2009/02/20(金) 22:23:05
>>66
こうすれば理由が判ると思う。
>>> '#'.join('[1, 2, 3]')
'[#1#,# #2#,# #3#]'
>>> '#'.join(str([1,2,3]))
'[#1#,# #2#,# #3#]'

69 :デフォルトの名無しさん:2009/02/20(金) 23:00:37
>>48
ごめん、何でなくなると困るのか教えて。

70 :デフォルトの名無しさん:2009/02/21(土) 00:08:06
>>54
関数呼び出しの () を省略できるのは、 IPython の機能であって、
Python の構文ではないよ。

71 :デフォルトの名無しさん:2009/02/21(土) 00:53:30
全然関係ないけど、asciiであと1個か2個他のカッコがあれば便利だったのにw

72 :デフォルトの名無しさん:2009/02/21(土) 00:56:25
>>70
どこで関数よんでるんだ?

73 :デフォルトの名無しさん:2009/02/21(土) 01:49:31
(1)が1と評価されて、print文に渡されてるだけ。
3.0から式になるから違うけど

74 :デフォルトの名無しさん:2009/02/21(土) 01:50:12
(1,)とすれば違うだろうけど

75 :デフォルトの名無しさん:2009/02/21(土) 02:21:17
>>39
Cythonの方がいいよ

76 :デフォルトの名無しさん:2009/02/21(土) 02:30:13
うちのFreeBSDのPythonちゃんが2.5.4になったお

77 :デフォルトの名無しさん:2009/02/21(土) 02:39:26
>>73-74
やれやれ、嘘を書くのはそこまでにしなさい。関数タイプの書き方許される様になったのは昔から。2.0とかじゃないの。

78 :デフォルトの名無しさん:2009/02/21(土) 03:26:54
>>73
式っていうなら昔からもこれからも式だろw

3.0で文から関数に変わったんだろ

79 :デフォルトの名無しさん:2009/02/21(土) 08:32:52
>>72
IPython 使ってみな。超便利だぜ。
In [1]: ord 'A' # これを
------> ord('A') # 勝手にこう解釈してくれる
Out[1]: 65

80 :70=79:2009/02/21(土) 08:35:46
うわー、恥ずい。完全勘違い。
(1,)はタプルだけど(1)は1ってだけの話だな。
Python3.0ではIPython使えないしな。

>>77
from __future__ import print_function ってすればの話だよね。

81 :デフォルトの名無しさん:2009/02/21(土) 10:11:50
>>80
式っていうなら昔からもこれからも式だろw

3.0で文から関数に変わったんだろ

82 :70=79:2009/02/21(土) 10:36:05
>>81
俺は式とか文とかいう話題には参加してないが?

83 :デフォルトの名無しさん:2009/02/21(土) 12:32:19
Pythonスレに粘着してるのは多分一人だと思うんだが奴は何がしたいのか

84 :デフォルトの名無しさん:2009/02/21(土) 13:09:12
その一人は83の脳内にいる。

85 :デフォルトの名無しさん:2009/02/21(土) 15:06:22
ぼくたちの心のなかにいるんだ

86 :デフォルトの名無しさん:2009/02/21(土) 17:28:48
そもそも2chってめっきり人減ったよな
げろゆきが魅力無くなって手放したのも
理解出来る

87 :デフォルトの名無しさん:2009/02/21(土) 17:41:17
http://lucumr.pocoo.org/2009/2/8/forcing-cell-creation-in-generated-python-code

jinja2ってこんな面倒なことしてたんだな。
def bar(a=a):でいいと思うんだけど

88 :デフォルトの名無しさん:2009/02/21(土) 18:23:03
結局
パイソンかルビーどっちがいのよ。
ルビーは日本人口が多くて
パイソンはハッカーも認める初心者にもおすすめの奥の深い言語
って聞いたんだけど。

89 :デフォルトの名無しさん:2009/02/21(土) 18:29:29
gamilのパスワードを変えるスクリプトを
urllib,urllib2,cookielibで書いてみた
Rubyよりも簡単な気がするのは樹の精?

90 :デフォルトの名無しさん:2009/02/21(土) 18:31:10
どっちも同じようなもんだろ

91 :デフォルトの名無しさん:2009/02/21(土) 18:58:44
Python が連立方程式だとすれば
Ruby はつるかめ算みたいな感覚かな

92 :デフォルトの名無しさん:2009/02/21(土) 20:00:16

■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
早稲田理工スレの次スレ [大学受験]

93 :デフォルトの名無しさん:2009/02/21(土) 23:14:13
つttp://www.youtube.com/watch?v=y8SZnU5iG-4

94 :デフォルトの名無しさん:2009/02/21(土) 23:36:24
パイパンかこうぜ

95 :デフォルトの名無しさん:2009/02/21(土) 23:45:28
>>88
最近Google App Engineのために勉強がてら出来るだけPythonを使うようにしている
いままではRubyで書いていた、仕事で使う書き捨てツールや日常の自動化ツール等をPythonで書くようにした

その結果感じたのは
使いやすさではRubyの圧勝

96 :デフォルトの名無しさん:2009/02/21(土) 23:53:59
最近勉強がてらに出来るだけ英語を使うようにしている
いままでは日本語で読んでいた、仕事で使う本や趣味の本等を英語で読むようにした

その結果感じたのは
使いやすさでは日本語の圧勝

97 :デフォルトの名無しさん:2009/02/21(土) 23:58:38
一応、慣れの問題は差し引いて考えてるよ

98 :デフォルトの名無しさん:2009/02/21(土) 23:58:57
>>95
判断しかねるので、もうちょっと具体的に聞きたいな。

99 :デフォルトの名無しさん:2009/02/22(日) 00:14:15
最近Google App Engineのために勉強がてら出来るだけPythonを使うようにしている
いままではRubyで書いていた、仕事で使う書き捨てツールや日常の自動化ツール等をPythonで書くようにした

その結果感じたのは
使いやすさではPythonの圧勝

100 :デフォルトの名無しさん:2009/02/22(日) 00:16:20
str.len() じゃなくて len(str) だったり
str(u'ほげ') すると死んだり
Ruby 使ってたら疑問にも思わなかったことが
Python だと「あれっ?」て思うことはかなりある

101 :95:2009/02/22(日) 00:17:00
まず第一にPythonのドキュメントって読みにくくない?

第二に len がメソッドでなかったりする一貫性の無さが
未知の仕様の推測やドキュメントのどこを調べればいいのかの推測を難しくする
まぁ、これは慣れれば問題ないというか、慣れれば逆にこっちの方が良いのかもしれないけど
こういうのって慣れにくさの原因にもなるでしょ

あと、ライブラリのインターフェースがユーザーフレンドリーじゃない感じ

正規表現が言語に溶け込んでなくて使いにくい

102 :デフォルトの名無しさん:2009/02/22(日) 00:20:25
>>> u'ほげ'.__len__()
2
>>> 'ほげ'.__len__()
4
>>> len(u'ほげ')
2
>>> len('ほげ')
4
>>> len(u'ほげ'.encode('utf-8'))
6
>>> len(u'ほげ'.encode('ujis'))
4
>>> str('ほげ')
'\x82\xd9\x82\xb0'
>>> str(u'ほげ')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters
in position 0-1: ordinal not in range(128)
>>> str(u'ほげ'.encode('utf-8'))
'\xe3\x81\xbb\xe3\x81\x92'
>>> str(u'ほげ'.encode('ujis'))
'\xa4\xdb\xa4\xb2'

103 :デフォルトの名無しさん:2009/02/22(日) 00:21:49
>>101
>まず第一にPythonのドキュメントって読みにくくない?
少なくとも Ruby よりましですね


104 :デフォルトの名無しさん:2009/02/22(日) 00:23:36
正規表現については、perlより使いやすい構文に出会ったことがない。
やはりfirst class扱いされてると使いやすさは段違いだ。

105 :デフォルトの名無しさん:2009/02/22(日) 00:23:53
lenくらい光速で覚えられないゆとりはRubyを使えばいいよね。

106 :デフォルトの名無しさん:2009/02/22(日) 00:26:12
私がPythonにイラっとくるのは戻り値がない(selfを返さない)メソッドが多いことかな
obj.hoge().fuga().hage()
っていうことが(出来るケースもあるけど)出来なくて鬱陶しく感じるときがあります
式と文が区別されてることは事情が判るので我慢出来るんですが

107 :デフォルトの名無しさん:2009/02/22(日) 00:26:14
>>101
RubyはどうかしらないけどPythonのドキュメントは俺も読みにくいと思う。

108 :デフォルトの名無しさん:2009/02/22(日) 00:26:49
C++とかの正規表現よりまし
¥記号いくつ並べるんだよって思う

109 :デフォルトの名無しさん:2009/02/22(日) 00:29:21
読みにくいと思うひとは具体的に例をあげてもらえますか?

110 :デフォルトの名無しさん:2009/02/22(日) 00:32:39
初めてのPythonにUNICODEの扱いがほとんど書かれてないし
しかも間違ってるwことかな

111 :デフォルトの名無しさん:2009/02/22(日) 00:33:43
>>109
まず例が少ないよ

112 :デフォルトの名無しさん:2009/02/22(日) 00:35:51
>>105
lenが覚えられないとは書いてないじゃない
lenがあることで他の仕様が推測しにくくなるった書いてるんですよ

113 :デフォルトの名無しさん:2009/02/22(日) 00:36:02
>>110
あれは著者が UNICODE についてなにも知らないので
触れてるフリしてさりげなくスルーしてるだけかと

114 :デフォルトの名無しさん:2009/02/22(日) 00:37:34
>>87
違いは、
def bar(a=a): だと barが定義された時点のaの値が func_defaultsに入る。
URLのはcell creationとある様に、barが呼び出された時点のaの値がfunc_closureにcellオブジェクトとして格納される。
…くらいかな、。jinja2内での用途は知らないけど、
locals()の返す辞書にaを含めるという点はどちらも満たしてるし、
記事にはcellはoevrheadと書かれているので、cellオブジェクト自身が必要なのではなく
結果だけ欲しいのであれば、どちらでもいいのかもしれない。



115 :デフォルトの名無しさん:2009/02/22(日) 00:37:48
流れを切る様ですみません。

class C:
 f = lambda x: x + 1

と書いて、C.f(3)などとやろうとすると
fの第一引数がCのinstanceになってしまうのですが、
なんとかならないでしょうか?

今は仕方ないので

 @classmethod
 def f(cls,x): return x + 1

としていますが、わずらわしいです。

116 :デフォルトの名無しさん:2009/02/22(日) 00:38:48
カッコ無しでメソッド呼び出しをできるようにしてしまったばっかりに
メソッドオブジェクトの代入に特別な文法を導入せざるを得なかったRubyってかっこいいよね。

117 :デフォルトの名無しさん:2009/02/22(日) 00:39:36
tupleとlistの使い分けが良くわからないんですけど
それぞれに決まった用途ってあるんですか?

118 :デフォルトの名無しさん:2009/02/22(日) 00:44:17
4.16 Why are there separate tuple and list data types?
http://www.python.org/doc/faq/general/#why-are-there-separate-tuple-and-list-data-types

119 :デフォルトの名無しさん:2009/02/22(日) 00:44:24
>>115
f = staticmethod(lambda x: x + 1)

120 :デフォルトの名無しさん:2009/02/22(日) 00:48:54
>>119
できました!
ありがとうございます。

121 :デフォルトの名無しさん:2009/02/22(日) 00:54:22
>>117
tuple は型が違うものを混ぜても気にせず放り込んで
list は型がそろっている
という使い分けを無意識にしてるような気がします

122 :デフォルトの名無しさん:2009/02/22(日) 00:56:53
>>121
listで型をそろえるとなるとtreeが作れないね

123 :デフォルトの名無しさん:2009/02/22(日) 01:05:03
そうしないといけないって訳じゃないのでは

124 :デフォルトの名無しさん:2009/02/22(日) 01:06:53
tuple は immutable だからね

125 :デフォルトの名無しさん:2009/02/22(日) 01:08:40
>>117
tupleとlistで一番違うのは、辞書のキーに使えるかどうかかな。
tupleは辞書のキーにできるが、listはできない。

辞書のキーには変更可能(mutable)な型は使えないから。

126 :デフォルトの名無しさん:2009/02/22(日) 01:09:20
pythonのlistはvectorに改名した方が実情にあっている。
そして、immutableなlistを新しく入れて欲しい。

127 :デフォルトの名無しさん:2009/02/22(日) 01:10:14
>>126
同時に末尾最適化も入れないとあまり意味が無いな

128 :デフォルトの名無しさん:2009/02/22(日) 01:13:21
immutableなlistとtupleの違いを詳しく

129 :デフォルトの名無しさん:2009/02/22(日) 01:15:20
>>126は、力点としては関数型的なconsリストを指しているのだと思う

130 :デフォルトの名無しさん:2009/02/22(日) 01:18:00
immutableなlist [a1,a2,a3,a4]は

(a1,(a2,(a3,(a4,()))))

で代用できる。面倒だけど。

131 :デフォルトの名無しさん:2009/02/22(日) 01:20:05
>>130
確かにそれでできるけど、map/filter/foldとか使えないし
自前で再帰的なアルゴリズムを記述しても末尾最適化もされないから
ぶっちゃけオモチャだよね

132 :デフォルトの名無しさん:2009/02/22(日) 04:29:54
lenが一貫性ないってのはよくわからん。一貫性がないっていうのは
Javaみたく配列の長さはa.length、ArrayListはa.size()、文字列の長さは
a.length()みたいのを一貫性がないというのであって、Pythonのは違うと
思う。まあ、慣れの問題だね。

133 :デフォルトの名無しさん:2009/02/22(日) 05:19:36
一貫性ねえじゃんwww

134 :デフォルトの名無しさん:2009/02/22(日) 05:25:43
愚かな一貫性は・・・

135 :デフォルトの名無しさん:2009/02/22(日) 05:31:34
length size count
add append push_back
delete remove erase
title caption text
widget control component
list array vector

136 :デフォルトの名無しさん:2009/02/22(日) 05:34:41
一貫性を定義しろ。話はそれからだ

137 :デフォルトの名無しさん:2009/02/22(日) 05:38:33
goo国語
いっかん-せい ―くわん― 0 【一貫性】
最初から最後まで矛盾がない状態であること。同じ態度を持続すること。

138 :デフォルトの名無しさん:2009/02/22(日) 08:35:30
Ruby厨の言うことは一貫性がない。

139 :デフォルトの名無しさん:2009/02/22(日) 10:58:51
結局のところどっちも使えるようにしとけっ!
みたいな

140 :デフォルトの名無しさん:2009/02/22(日) 11:08:14
>一貫性がないっていうのは
>Javaみたく配列の長さはa.length、ArrayListはa.size()、
>文字列の長さは a.length()みたいのを
>一貫性がないというのであって

どうして一つの文章で一貫性がないを二度も言う必要があるのはなぜなのかはおいといて
Javaでは「敢えて使い分けてる」んですよ
型安全と、メソッド名から型が判別出来こととの冗長性をわざと実現しているんです

141 :デフォルトの名無しさん:2009/02/22(日) 11:27:49
nautilussvnを使っているんですが、クライアント認証を使ったSSLを経由してsvnサーバに
つなごうと思ったら、SSLに対応していないのかエラーが出てしまいます。

Error : callback_ssl_client_cert_prompt required
↑こんなの

なんとなく、クライアント認証用のプロンプトが必要だとか言ってるっぽいので、pythonのSSL
ライブラリでも入れればいいのかと思うのですが、対処方法ご存知のかたがいらしたら教えていただけませんか?


142 :デフォルトの名無しさん:2009/02/22(日) 12:06:32
つttp://www.google.co.jp/search?q=nautilus+svn+python+ssl

143 :デフォルトの名無しさん:2009/02/22(日) 13:02:27
>>110
間違ってるってどのへん?

144 :デフォルトの名無しさん:2009/02/22(日) 13:57:52
a.__lt__(self, b) : a < b
a.__eq__(self, b) : a == b
a.__getitem__(self, i) a[i]
a.__hash__(self) : hash(a)
a.__len__(self): len(a)

hashやlenも演算子に類するものと見ればいいんジャマイカ。
実際長さは__getitem__とも密接な関係にあるしね。うっかり
同名のメソッドを定義してアボーンなんてリスクを考えれば
これはこれでありだと思ふ。

145 :デフォルトの名無しさん:2009/02/22(日) 15:53:14
2.6で(まともな)sslモジュールが標準になったけど
中身がCで書かれてて
派生クラスを食ってくれんのが悩み。

146 :デフォルトの名無しさん:2009/02/22(日) 17:11:00
>>145
自分で拡張したい場合は確かに悩みどころだよな。
一方で、標準機能にいろんなものを詰め込んで欲しいと考える人もいるし。
妥協点としては、基本エンジンを簡潔・高速にして、よく使いそうな機能はライブラリで容易するとか。

147 :デフォルトの名無しさん:2009/02/22(日) 17:53:44
暗いなら自ら明かりをつけましょう

148 :デフォルトの名無しさん:2009/02/22(日) 18:46:17
クレクレ厨乙

149 :デフォルトの名無しさん:2009/02/22(日) 18:47:28
誤爆

150 :デフォルトの名無しさん:2009/02/22(日) 19:52:09
pythonのlambdaで実験していて、以下の問題に突き当たりました。
識者の方がいらっしゃいましたら、
ご教授願えるとありがたいです。

//無名関数をn個リストにして返す関数
def make_funcs(n):
fn_list = []
for i in range(n):
fn_list.append(lambda x : i*x)
return fn_list

//code block
fL = make_funcs(5)
for f in fL:
print(f(10))

//実行結果
40
40
40
40

//期待する実行結果
0
10
20
30
40

for文中のiが上手く認識されていないように思えます。
Schemeのクロージャとは振る舞いが異なるのでしょうか?


151 :デフォルトの名無しさん:2009/02/22(日) 20:10:18
lambda x, i=i: i*x

152 :デフォルトの名無しさん:2009/02/22(日) 20:27:38
>>150
Pythonでもクロージャは環境をキャプチャするんだが
そのforループではiが逐次破壊的に書き換えられてしまう
(let束縛ではなくset!のイメージ)んでそういう動作になる

単一代入でない&クロージャをサポートする言語で破壊的なループを使って
そういう書き方をすると、そういう動作になるのが普通で、
JavaScriptやPerlなんかもそうなったはず

Pythonでは>>151のような方法で対処できるが、魔術的だと感じられるなら
ループの中でさらにdefで明示的にブロックを作って、その中で
クロージャを作ったりするといいと思うよ

153 :152:2009/02/22(日) 20:34:39
例えばこんな風に書くということね
def make_funcs(n):
    def make_func(i): return lambda x: i * x
    fn_list = []
    for i in range(n):
        fn_list.append(make_func(i))
    return fn_list

もっと短く書く書くこともできる
def make_funcs(n):
    make_func = lambda i: lambda x: i * x
    return [ make_func(i) for i in range(n) ]

154 :デフォルトの名無しさん:2009/02/22(日) 20:54:37
>> 151, 152

非常に分かりやすい説明で、問題の原因が良く理解できました。
また、正しい書き方も分かりました。
ありがとうございました。





155 :デフォルトの名無しさん:2009/02/22(日) 21:13:08
…で、実際処理速度はどうなの?>パイソン
PHPより早いのかな?

156 :デフォルトの名無しさん:2009/02/22(日) 21:19:48
おおむねPython>Perl>PHP>Rubyってとこじゃね?

157 :デフォルトの名無しさん:2009/02/22(日) 21:33:59
http://shootout.alioth.debian.org/u32/
その手のベンチマークで定番?になってるサイトです。
言語の種類だけでなく、プログラミングの手法によっても結構変わるみたいですね。

158 :デフォルトの名無しさん:2009/02/22(日) 21:47:06
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all&box=1

159 :デフォルトの名無しさん:2009/02/22(日) 21:55:27
C++が0.08秒で、PHPが48分って・・・orz
完全にやる気なくした・・www

160 :デフォルトの名無しさん:2009/02/22(日) 22:01:33
>>156
馬鹿じゃない?

161 :デフォルトの名無しさん:2009/02/22(日) 22:03:23
>>142
この回答って
Error : callback_ssl_client_cert_prompt required
これの対処法の回答という認識でいいんですかね・・・?

ググってみたんですがどれが回答になるのか分からなかったんですけど・・・。
そういうレベルの人はここに来てはいけないということですかね??


162 :デフォルトの名無しさん:2009/02/22(日) 22:14:19
>>159
用途に合わせて言語を選ぶ。 当たり前のことじゃないか。

163 :デフォルトの名無しさん:2009/02/22(日) 22:31:45
>>160
なんで?

164 :デフォルトの名無しさん:2009/02/22(日) 22:33:07
>>161
こっちで質問しる
http://gimpo.2ch.net/esp/


165 :デフォルトの名無しさん:2009/02/22(日) 22:50:42
>>157
python 3 もっとがんがれ
おれもPHPが一番鈍足だとはしらんかった



166 :デフォルトの名無しさん:2009/02/22(日) 22:54:23
>>163
根拠を示さないレス乞食はそっとしてあげて。

167 :デフォルトの名無しさん:2009/02/22(日) 23:04:54
pass

168 :デフォルトの名無しさん:2009/02/22(日) 23:34:42
インタプリタが遅いのは当たり前田のSPAM

169 :デフォルトの名無しさん:2009/02/22(日) 23:37:20
まぁ>>156自体に根拠がないけどね

170 :デフォルトの名無しさん:2009/02/22(日) 23:40:26
まあ・・ウェブならスクリプト言語でも十分ですけどね
2〜3秒以上もかかる計算滅多にないし

確かにベンチマークではpythonの方が良い成績のことが多いみたいだけど
スクリプト言語である以上、ドングリの背比べのような気もしないではない

ただ、pythonってphpに取って代わるメジャーなスクリプト言語になり得るのかな?

171 :デフォルトの名無しさん:2009/02/22(日) 23:41:30
>>158見ると>>156の順番通りだけど?

172 :デフォルトの名無しさん:2009/02/22(日) 23:44:35
>>170
パフォーマンスを気にする必要があるのは、10K問題とかだと思う。

173 :デフォルトの名無しさん:2009/02/22(日) 23:57:17
しっかしPHP6はいつ出るんだ?

WEBはDBへの接続とDB自体の処理速度が一番ボトルネックだと思う。
そこが早ければある程度なら問題ないんじゃないだろうか。

174 :デフォルトの名無しさん:2009/02/22(日) 23:59:41
PHPは(言語)仕様がどうのってよりも、ビジネス戦略で広まってるだけですがな。

175 :デフォルトの名無しさん:2009/02/23(月) 00:02:38
10k問題という言葉・・初めて知りましたw

一万接続なんて、スクリプトじゃむりぽ
…というか、アパッチも無理なんじゃ

176 :デフォルトの名無しさん:2009/02/23(月) 00:02:43
ビジネス戦略って一体何なんだ?

177 :デフォルトの名無しさん:2009/02/23(月) 00:52:54
Python 3.0の変更点を調べていると、

http://text.world.coocan.jp/TSNET/?What'sNewInPython3.0
> callable関数は削除されました。
>『callable(f)』の代わりに、
>『hasattr(f, '__call__')』が使えます。
> operator.isCallable関数もなくなりました。

とあるのですが、後者の方が書き難いのではないかと思います。
Pythonでは複数のやり方を嫌うという説明を見ました。
しかし、より良いものが残るべきとう意見は分かります。
でも、今回の件は消す必要が無かったのでは?
と思ってしまいます。

皆さんの意見はいかがでしょうか?

178 :デフォルトの名無しさん:2009/02/23(月) 01:01:28
正直 2.x でも callable なんて使ってなかったからどうでもいい。
EAFPってやつだ。

179 :デフォルトの名無しさん:2009/02/23(月) 01:32:36
レスありがとうございます。
EAFPという考え方、初めて知りました。
Googleで調べたら、いろいろ勉強になりました。

そもそもオブジェクトの属性が持つかどうかをチェックするよりは、
try, ecept構文で実行して、例外を補足するスタイルが推奨されているんですね。

180 :デフォルトの名無しさん:2009/02/23(月) 08:03:08
>>175
> 一万接続なんて、スクリプトじゃむりぽ
Erlangなんかの実績はあるよ。

181 :デフォルトの名無しさん:2009/02/23(月) 08:34:59
魚病理学者って何だ?

182 :デフォルトの名無しさん:2009/02/23(月) 09:57:42
pass

183 :デフォルトの名無しさん:2009/02/23(月) 11:36:33
10k問題って西暦で10000年になって桁が増えるときの問題かと思ったぜ

184 :デフォルトの名無しさん:2009/02/23(月) 14:29:48
10種類も苦しいことがあるなんてどんな業界だよ。

185 :デフォルトの名無しさん:2009/02/23(月) 14:42:07
休憩がない、帰れない、給料安い、休暇(取れ)ない、雇用不安定
キリがない、規則が理不尽、経費が自腹、心を病む、過労死

で10kじゃね

186 :デフォルトの名無しさん:2009/02/23(月) 14:51:47
>>185
おいおい、「彼女ができない」 が抜けてるぞ

187 :デフォルトの名無しさん:2009/02/23(月) 14:54:28
「彼女(or結婚)できない」、すっかり忘れてたよ

188 :デフォルトの名無しさん:2009/02/23(月) 20:50:30
Erlangでいけるなら
stackless + libev でいけるだろ、たぶん、きっと

189 :デフォルトの名無しさん:2009/02/23(月) 20:51:29
>>157
これ見ると、概してCよりC++のほうが早いと思って良いのかなぁ。

190 :デフォルトの名無しさん:2009/02/23(月) 21:04:40
>>188
有望ではあるよね。
C10K問題への対策の一つが高次並列化なんだが、stacklessが
変数使い捨てを強化すれば、並列化との相性が良くなる。

191 :デフォルトの名無しさん:2009/02/23(月) 21:08:43
C10K問題対策って普通単にサーバ分散させるだけじゃねえの?

192 :デフォルトの名無しさん:2009/02/23(月) 21:13:41
>>185-191
C10K: >>185 - 規則が理不尽 + 彼女ができない + コーディング規則が理不尽

193 :デフォルトの名無しさん:2009/02/23(月) 21:26:10
>>191
静的コンテンツを同時に多数同時に見てもらうだけの時代はそれで済む事もあったけど、
例えば「10万人同時ログイン&互いに同じ関心を持つ者のグループをダイナミックに」
などとやろうとすると、別の手が必要。

関数型言語が並列化と相性がいいんで、stacklessみたいなのが関数型のいい所を
取り込んでくれるといいな、というのが感想。

194 :デフォルトの名無しさん:2009/02/23(月) 22:06:09
10万人同時ログインってw
GLAYの幕張ライブやないねんからw

195 :デフォルトの名無しさん:2009/02/23(月) 22:14:08
チャットみたいなもんか?
よくわかんねえけど
10万人で一緒にチャットする必要は感じないが……

今の大規模サービスって別にダイナミックコンテンツでも
普通にスケールさせてないか?
勿論サーバ分散させて

196 :デフォルトの名無しさん:2009/02/23(月) 22:38:39
少数のサーバーに集中
     ↓
安価な多数のサーバーに分散するといいぜ
     ↓
でも、物理メンテ大変だし、あんまり安いマシンじゃなくて
ちょっと高級な中グレードのマシンで台数減らした方がよくね?
(イマココ)


197 :デフォルトの名無しさん:2009/02/23(月) 23:08:25
C10K問題の先駆けは既に、Skype、Twitterなどでも出始めてる。
10万人というのは一例で、従来型サービスの延長じゃない事を
スケールさせたい場合の問題の一つ。

198 :デフォルトの名無しさん:2009/02/23(月) 23:44:25
あんまり言語とは関係ない話になってるなw

199 :デフォルトの名無しさん:2009/02/24(火) 00:07:49
10万人同時チャットってwww
忙しすぎw

200 :デフォルトの名無しさん:2009/02/24(火) 11:41:28
ちょっと面白そうだな>10万人チャット

201 :デフォルトの名無しさん:2009/02/24(火) 12:53:56
2chのスレの一番速い流れでスレあたり1000人だもんな。


202 :デフォルトの名無しさん:2009/02/24(火) 13:35:13
人数の多いチャット部屋覗いたことあるが、大半はROM専
数人が発言しまくりで、残りは単発発言の奴かな
余程盛り上がる話題が無いとそんなにログ流れんし
ログが流れる時ってのは会話が成立しない祭状態で
会話したい奴は「特定の相手とのみ会話する機能」使って身内話

203 :デフォルトの名無しさん:2009/02/24(火) 14:17:58
10KのKはKOBITOのK。

204 :デフォルトの名無しさん:2009/02/24(火) 16:40:23
TwitterのPublic Timelineがある意味10万人チャットみたいなものか

205 :デフォルトの名無しさん:2009/02/24(火) 17:50:41
聖徳太子「10Kまで同時通話おk」

206 :デフォルトの名無しさん:2009/02/24(火) 20:37:20
pythonでhtmlを処理しようと思うんだがどういう方法がベターなの?

207 :デフォルトの名無しさん:2009/02/24(火) 20:37:35
>>189
Linusの回答
http://tabesugi.net/memo/2009/1a.html
オリジナル
http://lwn.net/Articles/249460/

208 :デフォルトの名無しさん:2009/02/24(火) 20:53:57
C++のそういうネタは好きw

209 :デフォルトの名無しさん:2009/02/24(火) 23:45:18
ネストした関数をunittestモジュールで外からテストにかける方法って
ない?

210 :デフォルトの名無しさん:2009/02/25(水) 00:23:43
BeautifulSoupが流行ってる

211 :デフォルトの名無しさん:2009/02/25(水) 01:21:36
>>206
htmlparserってのがあるけど、速度的には正規表現で処理するのがお勧め。

212 :デフォルトの名無しさん:2009/02/25(水) 01:55:50
lxml

213 :デフォルトの名無しさん:2009/02/25(水) 08:37:03
"substandard programmers"が書くCのコードもそれはそれは恐ろしいけどな。

214 :デフォルトの名無しさん:2009/02/26(木) 02:22:46
lxmlが最強って聞いたけどそうでもないの?

215 :デフォルトの名無しさん:2009/02/26(木) 14:51:02
lxmlが最強

216 :デフォルトの名無しさん:2009/02/26(木) 15:21:07
lxmlが速いみたいだよ。どうしてもpure pythonが良いならBeautifulSoupだろうけど。

217 :デフォルトの名無しさん:2009/02/26(木) 20:08:27
人の書いた作例とどう動くかが多数解説されたサイトを教えて下さい
解説サイトの理論を見ても理解できません
つーかPrologしかやったことないです

218 :デフォルトの名無しさん:2009/02/26(木) 20:58:40
>>217
俺はむしろPrologのほうが分からんぜ…。

・ドキュメントのチュートリアルを一通り読む
>>1のまとめwikiにある問題集とドキュメントを照らし合わせながら読む
・とにかく書く

辺りかなぁ。
他の手続き型言語からの人なら
「自分の前に書いてたコードを今の言語に書き直してみる」
ってのも結構有効なのだろうけれど、Prologは毛色が違い過ぎて難しいだろうなぁ…。
特にユニフィケーションをフル活用するようなコードは言語としてサポートしてるPrologのほうが楽だろうし。

小さな練習問題が欲しいなら「練習問題 Python」辺りでググると大量に出てくると思う。

219 :デフォルトの名無しさん:2009/02/27(金) 04:08:54
作例で数が多いとこならcookbook。でも、詳細な解説は期待できないかな。
いろんな人が投稿してるので質はバラバラだけど、
コードをベースに議論したりするので、他よりは割とコメント(解説)多めだと思う。
http://code.activestate.com/recipes/langs/python/



220 :デフォルトの名無しさん:2009/02/27(金) 08:52:56
generator について一言で言うと何なんでしょうか?

221 :デフォルトの名無しさん:2009/02/27(金) 09:02:06
>>220
魔法

222 :デフォルトの名無しさん:2009/02/27(金) 09:08:31
関数をイテレータ化するための魔法

223 :デフォルトの名無しさん:2009/02/27(金) 14:28:57
今 http://www.python.jp/doc/2.4/tut/node6.html#SECTION006700000000000000000

4.7.1 デフォルトの引数値 の中の

def f(a, L=[]):
L.append(a)
return L

print f(1)
print f(2)
print f(3)

このコードを打とうとしてたんだけど、eclipseに
「.」ピリオド打つと固まってしまう。
コピペすると落ちないんだけど、直接「.」打つ方法ありませんか?

環境は
Eclipse Classic(SDK)3.4.1
Pydev 1.4.4.2636
Python 2.6
です。

お分かりの方いらっしゃいますか?


224 :デフォルトの名無しさん:2009/02/27(金) 15:04:14
>>223
> 「.」ピリオド打つと固まってしまう。
「.」を入力した瞬間に、メソッド一覧を表示しようとしてると推測。

225 :デフォルトの名無しさん:2009/02/27(金) 15:16:14
>>223
1日ほっとく

226 :デフォルトの名無しさん:2009/02/27(金) 15:37:35
>>223
もっと早いマシン買えよ底辺ドカタ。

227 :デフォルトの名無しさん:2009/02/27(金) 16:00:44
pass

228 :デフォルトの名無しさん:2009/02/27(金) 17:58:08
>>220
遅延リスト

229 :デフォルトの名無しさん:2009/02/27(金) 17:59:40
新しくpythonを勉強する際に、3.0対応の書籍・サイト・マニュアルはありますか?

230 :デフォルトの名無しさん:2009/02/27(金) 18:36:20
>>229
はじめてのPython3
中身読んでないのでどのくらい使えるのかわからんけど。

231 :デフォルトの名無しさん:2009/02/27(金) 19:08:48
http://www.catonmat.net/blog/better-faster-smarter-python-yesterday-today-and-tomorrow/
http://inkhorn.org/c-extensions-for-python/

根性 types, object, attributes, method 理解

232 :デフォルトの名無しさん:2009/02/27(金) 22:27:08
んじゃぁ

比較的新しいいい本は?

233 :デフォルトの名無しさん:2009/02/28(土) 01:11:09
西尾さんが書いたJython本だな

234 :デフォルトの名無しさん:2009/02/28(土) 01:34:54
>>229
http://pc11.2ch.net/test/read.cgi/tech/1235050215/

235 :デフォルトの名無しさん:2009/02/28(土) 01:48:17
>>229
http://www.amazon.co.jp/dp/4839922829

この本が一番日本語のPython本として一番よく出来ている。
他のがかすんで見えてしまうほどだ。この一冊さえあれば
Pythonについて完璧にマスターできるだろう。

236 :デフォルトの名無しさん:2009/02/28(土) 02:47:46
>>235
その本を買って初心者を脱出したいと思います。
良著紹介ありがとうございました。

237 :デフォルトの名無しさん:2009/02/28(土) 04:00:27
>>236
どういたしまして

238 :デフォルトの名無しさん:2009/02/28(土) 07:30:36
>>235
Python関係ないだろ

239 :デフォルトの名無しさん:2009/02/28(土) 09:29:57
>>238
はあ?
言語自体はPythonだろ

240 :デフォルトの名無しさん:2009/02/28(土) 09:39:32
つか、Jythonってジャイソンって読むのか。ジェイソンだと思ってたw

241 :デフォルトの名無しさん:2009/02/28(土) 09:48:20
爺さんって読むんだよ

242 :デフォルトの名無しさん:2009/02/28(土) 09:48:25
>218-219
thx
パズル感覚でやってみます

243 :デフォルトの名無しさん:2009/02/28(土) 11:55:31
>>239
Jthon本に対するコメントだよ
言語自体はPythonだけどその本に
Python的内容を期待してたら外れ

244 :デフォルトの名無しさん:2009/02/28(土) 11:59:56
>>243
どっちかっつーとありゃJavaの本だ
ターゲット読者の絞込みが中途半端なんだよ
Java使いにとってはJavaのインストールとかEclipseとか
わざわざ説明してるのは馬鹿じゃないかと思う訳で
Python使いにとっては何が嬉しくてわざわざ
Javaインストールしてまで(ry


245 :デフォルトの名無しさん:2009/02/28(土) 12:11:42
CPython から Java を呼び出して使えますか?

246 :デフォルトの名無しさん:2009/02/28(土) 12:30:08
これから槍始める人は3.0かそれ以前をやるべきなのか・・・

247 :デフォルトの名無しさん:2009/02/28(土) 12:40:18
2.5の日本語ドキュメントを利用できて、3.0の雰囲気も味わえる2.6

248 :デフォルトの名無しさん:2009/02/28(土) 13:00:38
Guidoによると2.2の頃に書かれて改訂されたクソ本は買わない方がよいらしいよ。

249 :デフォルトの名無しさん:2009/02/28(土) 13:06:40
クイックリファレンス一冊でオケ
ただし古すぎみたいな

250 :デフォルトの名無しさん:2009/02/28(土) 13:19:37
Jython本をいつも推薦してくれるjava-jaの非モテ君ありがとう。

251 :デフォルトの名無しさん:2009/02/28(土) 13:23:38
ジャイソン以外の良本はないのか

252 :デフォルトの名無しさん:2009/02/28(土) 13:30:13
>>249の2.6/3.0対応版がもうすぐ出るよ
ピアソンがんばってくれないかね

253 :デフォルトの名無しさん:2009/02/28(土) 13:49:19
すいませんアドバイスください m__m

コマンドプロンプト上でPythonを実行して
待機秒数を表示させたりする場合、
待機するループ内でprintやsys.stdoutの出力を行うと
データがどんどん流れていってしまうのですが、
それを防ぐ方法はありませんか?

254 :デフォルトの名無しさん:2009/02/28(土) 13:54:03
import sys, time
for i in range(10):
    sys.stderr.write("%d\r" % i)
    time.sleep(1)

255 :デフォルトの名無しさん:2009/02/28(土) 14:00:45
なるほど!!
どうもありがとうございます。

256 :デフォルトの名無しさん:2009/02/28(土) 14:11:28
西尾さんのブログを読むべきだと思うけどな

257 :デフォルトの名無しさん:2009/02/28(土) 14:12:14
>>254
すみません、ピコ秒単位で制御したいのですがどうすればいいんでしょうか

258 :スルー力が足りない!:2009/02/28(土) 14:20:02
本人装った荒らし乙。

259 :スルー力が足りない! :2009/02/28(土) 14:28:27
>>257
本人装った荒らし乙。

260 :258 (!= 259):2009/02/28(土) 14:38:09
図星だったwww


261 :デフォルトの名無しさん:2009/02/28(土) 15:03:29
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

262 :デフォルトの名無しさん:2009/02/28(土) 16:24:57
pass

263 :デフォルトの名無しさん:2009/02/28(土) 18:15:08
ぬるぽ

264 :デフォルトの名無しさん:2009/02/28(土) 19:28:41
try:
    ガッ

265 :スルー力が足りない! :2009/02/28(土) 23:07:40
except ちんぽ as e:

266 :デフォルトの名無しさん:2009/02/28(土) 23:37:00
俺の息子がexceptionalにepsironってことですね

267 :デフォルトの名無しさん:2009/03/01(日) 15:15:27
SHA-1を計算するのに

f = open(target,'rb)
b = f.read()
f.close()
hashlib.sha1(b)

で計算はできたのですが
これをループを使って複数のファイルに対して行うと
途中でメモリエラーが出てしまいます(OutOfMemoryException)。
強制的にメモリを開放させるようなことはできないでしょうか?

b = ''
というようなこともしてみましたが無駄でした。
環境はIronPython 2.0.0.1、Windows Vista SP1です。


268 :デフォルトの名無しさん:2009/03/01(日) 16:52:43
ttp://d.hatena.ne.jp/a2c/20090228/1235814037

269 :デフォルトの名無しさん:2009/03/01(日) 17:04:45
入力されたフォームデータをsqliteでデータベースに溜め込むCGIをPythonで実現しようとしてるんですが
同時アクセスが有った場合にコリジョンを回避するにはどうしたらいいでしょうか?キューにしたいんですが。

270 :デフォルトの名無しさん:2009/03/01(日) 17:07:42
import Queue

271 :デフォルトの名無しさん:2009/03/01(日) 17:16:06
CGIじゃプロセスがそれぞれ異なるから無理でしょ。

あと、SQLiteに書き込むならロックされるはずだから
同時アクセスは気にしなくてもいいと思うよ。

272 :デフォルトの名無しさん:2009/03/01(日) 17:26:26
aritayaki

273 :269:2009/03/01(日) 17:26:54
下げ忘れてた。失礼。
ということは、例外を捕まえてtime.sleep(1)とかやった方がスマートですかね。
アクセスが集中したときは順番ゴチャゴチャになるかもしれないけれど。
マヌケな話で申し訳ないんですがコリジョンを意図的に発生させる方法を教えて貰えますか?
実際に例外出して見ないと不安で。

274 :デフォルトの名無しさん:2009/03/01(日) 18:11:59
sqlite コマンド側からテーブルにロックかけたままにしておいて
CGI実行してみればどう?
タイムアウトはconnect時に指定できる。

あと、タイムアウトが発生してるような状態なら
時間をおいて再実行とかは、あまり意味がないだろう。
すぐにエラーにしてしまったほうがいいと思うけど。


275 :デフォルトの名無しさん:2009/03/01(日) 18:44:49
ちょっと聞いてみたいことがある。

ある辞書の中から、いくつかのキーを持つ要素だけを取り出した部分辞書を作
りたい。

>>> request = {'hoge':1, 'fuga':2, 'piyo':3, ...}
>>> a = {}
>>> for key in ('hoge', 'fuga'):
...   a[key] = request[key]
...
>>> a
{'fuga': 2, 'hoge': 1}

これをもっと簡潔に書く方法は無いだろうか?


276 :デフォルトの名無しさん:2009/03/01(日) 18:58:39
簡潔か微妙な気もするけど

dict([(key, request[key]) for key in ('hoge', 'fuga')])

277 :デフォルトの名無しさん:2009/03/01(日) 19:15:26
リスト内包表記を map にしてみた。

dict(map(lambda x: (x, request[x]), ('hoge', 'fuga')))
なんだこの微妙さは。


278 :デフォルトの名無しさん:2009/03/01(日) 19:37:35
dict([(x,request[x]) for x in request if x in ('hoge', 'fuga')])

279 :デフォルトの名無しさん:2009/03/01(日) 19:41:54
英語的な連中には
コレが構文的に分かりやすいのかね?


280 :デフォルトの名無しさん:2009/03/01(日) 20:28:58
内包表記って便利といえば便利だけど
python の魅力・長所である、
「記述内容が形(インデント)で見える」って
ところを完全に無視しているのが何と言うか…

281 :デフォルトの名無しさん:2009/03/01(日) 21:16:08
え?内包表記、読みやすいじゃん・・・
トリッキーなことやりすぎるとあれだけど。


282 :デフォルトの名無しさん:2009/03/01(日) 21:17:53
forの左に書けるのが文だけで式が書けないから色々微妙なことをしないといけなくなる

283 :デフォルトの名無しさん:2009/03/01(日) 21:24:04
>>280
個人的には内包表記は「記述内容が形で見える」ものの最たるものだと思うなあ。

Z = [(x / y if y != 0 else None) for x, y in zip(X, Y)]

となっていたら Z はリストで要素は x / y か None だということが一目で分かるから。

たぶん問題なのは内包表記を入れ子にすると一気に難読化するということかと。
個人的には入れ子にして読みにくくなるぐらいならバラして for 文なりにするかな。

284 :デフォルトの名無しさん:2009/03/01(日) 22:10:34
276と277の比較なら276のが読みやすい。

285 :デフォルトの名無しさん:2009/03/01(日) 22:24:53
>>276-278共通して
('hoge', 'fuga')
なんだけど
['hoge', 'fuga']
じゃだめなの?


286 :デフォルトの名無しさん:2009/03/01(日) 22:34:59
偏向する必要がないならタプルを使う。

287 :269:2009/03/01(日) 23:05:54
じゃ俺はちょっと違った切り口で。
>>276とほぼ一緒だけどfilter使えばコメント無くても何やってるか分かりやすい。
あとrequestに無いキー持ってこようとしてもエラー吐かない。

request = {'hoge':1, 'fuga':2, 'piyo':3}
def f(x): return x in ('fuga','hoge')
dict([k,request[k]] for k in filter(f,request))

288 :デフォルトの名無しさん:2009/03/01(日) 23:44:01
遅くね?

289 :デフォルトの名無しさん:2009/03/01(日) 23:46:22
dict([k,request[k] if k in request else None] for k in ('fuga','hage'))

290 :デフォルトの名無しさん:2009/03/01(日) 23:54:14
dict{[(k, v) for k, v in request.items() if k in ('fuga','hoge')]}

3.xであれば

{(k, v) for k, v in request.items() if k in ('fuga','hoge')}

291 :デフォルトの名無しさん:2009/03/01(日) 23:57:35
ごめん、↑のdict{}はdict()だ

292 :デフォルトの名無しさん:2009/03/02(月) 00:10:11
見つからないkeyは結果からは無くなった方が良いのかな

293 :デフォルトの名無しさん:2009/03/02(月) 00:14:25
部分辞書だからな

294 :デフォルトの名無しさん:2009/03/02(月) 09:44:29
ttp://blog.livedoor.jp/dankogai/archives/51183459.html

>本書を見てびびった人は、以前紹介した「実践Python」を薦めておく。

勧めるなよ(wwwwWwwWwwwWWwwww


295 :デフォルトの名無しさん:2009/03/02(月) 09:56:50
この本が一番いいんだけどな
http://www.amazon.co.jp/dp/4839922829

296 :デフォルトの名無しさん:2009/03/02(月) 10:00:33
っ ttp://blog.livedoor.jp/dankogai/archives/51040648.html

子飼が紹介するとクソ本認定?

297 :デフォルトの名無しさん:2009/03/02(月) 15:22:57
Windowsにpythonインストールしたら
付属でついてるpython editorのデバック環境が充実してておどろき
しかしemacs key-bindになれてるからemacs ぽく使える環境で便利なのないでしょうか?
emacsのpython.elはbreak pointの設定が右クリック一発でできなくて使いにくい

298 :デフォルトの名無しさん:2009/03/02(月) 15:50:51
>>294
その本出版社が潰れて買えなくなってるよ。

299 :デフォルトの名無しさん:2009/03/02(月) 16:08:32
>>297
じゃぁ右クリック一発でできるように改造すれば?


300 :デフォルトの名無しさん:2009/03/02(月) 17:00:12
どうみてもクソ本認定です
本当にありが(ry

301 :デフォルトの名無しさん:2009/03/02(月) 17:06:56
age

302 :デフォルトの名無しさん:2009/03/02(月) 17:08:06
>>297
xkeymacs入れてしまえ

303 :デフォルトの名無しさん:2009/03/02(月) 21:22:48
hoge.__setitem__(key, value)

無理やりreduceで書くなら例えば
reduce(lambda d, x: d.__setitem__(x, request[x]) or d, ['hoge','fuga'],{})
こんな書き方になると思うけど、Python使いはこの例を普通こんな風には書かない

dict((k, request[k]) for k in ['hoge','fuga'])
のほうがずっと素直で短く読みやすいからね

304 :デフォルトの名無しさん:2009/03/02(月) 23:26:46
はぁ?

305 :デフォルトの名無しさん:2009/03/02(月) 23:35:41
複素演算の構文調べてたら、とあるSEの書いたブログが引っかかったが
そこのサンプルはNameErrorとTypeErrorの出力ばっか張ってあって役に立たなかった

306 :デフォルトの名無しさん:2009/03/03(火) 00:07:05
reduce とか lambda とかそのうちなくなるだろ。

307 :デフォルトの名無しさん:2009/03/03(火) 00:34:39
それはそうかもしれないけど、3.0を生き残ったことで想定寿命は激延びな希ガス

308 :デフォルトの名無しさん:2009/03/03(火) 00:51:03
lambdaって無くなるのかな

309 :デフォルトの名無しさん:2009/03/03(火) 01:08:45
>>297
IDLEのこと?
OptionsのConfigure IDLEを開いて、KeysでClassic Unixにすれば
C-aで行頭とかになるよ。
C-x C-s みたいなキーシーケンスもできる。

310 :デフォルトの名無しさん:2009/03/03(火) 01:29:17
lambdaの中で代入とか複数の文とか出来るようになるのはいつ?

311 :デフォルトの名無しさん:2009/03/03(火) 01:52:36
mapとfilterは最悪消えてもリスト内包表記で書けるけど
reduceって代用あるっけ?

312 :デフォルトの名無しさん:2009/03/03(火) 01:54:42
どっちみちreduceはfold_left相当でfold_rightはないし
unfoldもないけどな

313 :デフォルトの名無しさん:2009/03/03(火) 01:56:01
>>310
つーか全部式にしてほしいという発想にはならんのか
文が存在する関数型言語ってあるっけ

314 :デフォルトの名無しさん:2009/03/03(火) 04:53:23
Haskellのwhereって式?

315 :デフォルトの名無しさん:2009/03/03(火) 08:02:01
⊂二二二( ^ω^)二⊃

316 :デフォルトの名無しさん:2009/03/03(火) 09:02:51
>314-315
ナ、ナンダッテー>ΩΩΩ

317 :デフォルトの名無しさん:2009/03/03(火) 09:53:35
Haskellのwhereはcase式の一部
ttp://www.haskell.org/onlinereport/exps.html#sect3.13

318 :デフォルトの名無しさん:2009/03/03(火) 12:15:02
ttp://www.atmarkit.co.jp/club/print/print.php

319 :デフォルトの名無しさん:2009/03/03(火) 12:54:49
ttp://www.oreilly.com/catalog/covers/twistedadn.s.gif
この本の日本語版ってありますか?

320 :デフォルトの名無しさん:2009/03/03(火) 13:34:23
>>245
JCC

321 :デフォルトの名無しさん:2009/03/03(火) 14:53:57
>>319
この表紙は人を選ぶな…

322 :デフォルトの名無しさん:2009/03/03(火) 16:16:11
>>321
俺も初めて見たときはこれはさすがにどうかと思ったよ

323 :デフォルトの名無しさん:2009/03/03(火) 16:23:05
>>319
> ttp://www.oreilly.com/catalog/covers/twistedadn.s.gif

グロ
閲覧注意


324 :デフォルトの名無しさん:2009/03/03(火) 17:39:28
ただの模様じゃん
なんも樹に成らん

325 :デフォルトの名無しさん:2009/03/03(火) 23:36:22
俺は樹になる

326 :デフォルトの名無しさん:2009/03/04(水) 01:06:21
カバーをひっくり返して、好きな絵を描くといいよ。

327 :デフォルトの名無しさん:2009/03/04(水) 07:15:06
へび(そのものあるいはその絵)を嫌うひとは心理的に

328 :デフォルトの名無しさん:2009/03/04(水) 09:21:27
そもそも蛇嫌いはpythonでアウトな気がする。

329 :デフォルトの名無しさん:2009/03/04(水) 12:36:48
Python の由来は Monty Python であって、ヘビは関係ないと Guido は言って
たんだがなー。まあ O'Reilly の表紙にパイソンズ出すわけに行かないか。


330 :デフォルトの名無しさん:2009/03/04(水) 17:52:34
>>329
Guido的には、元ネタ的にはそうなんだが
オライリーのPython本の絵が蛇になっちゃうのはそりゃ仕方ないよなーってことで
諦めた(受け入れた)、みたいな感じだったかと

331 :デフォルトの名無しさん:2009/03/04(水) 18:34:07
日本語版はおっぱいでおk

332 :デフォルトの名無しさん:2009/03/04(水) 20:03:47
>>331
エロ本コーナーに並びそうだな。

333 :デフォルトの名無しさん:2009/03/04(水) 21:15:19
ジャイソンかサイソン
   どっち?

334 :デフォルトの名無しさん:2009/03/05(木) 15:44:46
get 333

335 :デフォルトの名無しさん:2009/03/05(木) 17:29:58
ttp://www.python.com

336 :デフォルトの名無しさん:2009/03/05(木) 18:16:01
Firefoxでアドレスバーにpythonと打つとpython.jpにつながるのでそれを期待して古いMozillaでやったら
大学のワークステーションでpython.comにアクセスしてしまったでござる

337 :デフォルトの名無しさん:2009/03/06(金) 02:04:38
アイコンの蛇って名前とか付いてないの?

338 :デフォルトの名無しさん:2009/03/06(金) 02:11:47
やっぱ時代はRubyだよな

339 :デフォルトの名無しさん:2009/03/06(金) 02:33:09
ぱいちんこ

340 :デフォルトの名無しさん:2009/03/06(金) 14:43:06
>>336
俺も間違えたことあるw
.comのほうは海外のエロサイトなんだよな

341 :デフォルトの名無しさん:2009/03/06(金) 15:47:07
間違えてwww.goo.co.jpを開いちゃったみたいな感じか

342 :デフォルトの名無しさん:2009/03/06(金) 18:31:59
Webポータルのハズがクルマ、はまだ良いだろ
python〜の場合、技術資料のハズがエロサイトだぜ?
自宅で誰も居ないなら別に良いが、会社や学校、家族の目の前で間違えた時は…

343 :デフォルトの名無しさん:2009/03/06(金) 18:38:36
>>342
いや、goo.co.jpもエロサイトだったんだが(今は無いが)

344 :デフォルトの名無しさん:2009/03/06(金) 23:17:06
>>335
我が家でBフレッツ導入した時に、「セキュリティ対策ツール」という名前で
マイクロトレンドのOEMでウイルスバスター相当のセキュリティソフトが
1ユーザ分ついてくるのだが、このサイト、しっかりと、プロックしてくれました。
めんどくさいので、プロック解除してまでみたいとは思わん。

345 :デフォルトの名無しさん:2009/03/07(土) 00:24:10
こういうアドレスを買収しようとしたら
いくらぐらいかかるんかね


346 :デフォルトの名無しさん:2009/03/07(土) 01:37:51
2万円

347 :デフォルトの名無しさん:2009/03/07(土) 11:26:51
既に取られてるドメインは2万じゃキツかろう
逆にまだ取られてないドメインならもっと安いが

348 :デフォルトの名無しさん:2009/03/07(土) 21:48:43
3万円

349 :デフォルトの名無しさん:2009/03/07(土) 22:37:25
逆にまだ取られてないドメインなら買収とは言わん罠

350 :デフォルトの名無しさん:2009/03/08(日) 10:16:38
def f(hoge=3, fuga=7):
print (hoge, fuga)
または
f = lambda hoge=3, fuga=7: print (hoge, fuga)
という関数に対して
d1 = {'fuga': 8, 'hoge': 4}
という辞書で
f(**d1)
を実行すると期待通りになるのですが
d2 = {'kane': 1, 'fuga': 8, 'hoge': 4}
という辞書で
f(**d2)
を実行すると'kane'が無いと怒られます
どうすればうまくいくのでしょう

351 :デフォルトの名無しさん:2009/03/08(日) 10:19:53
訂正します

誤 f = lambda hoge=3, fuga=7: print (hoge, fuga)
正 f = lambda hoge=3, fuga=7: (hoge, fuga)

352 :デフォルトの名無しさん:2009/03/08(日) 15:09:33
def f(hoge=3, fuga=7, **kwargs):
  print (hoge, fuga)

353 :デフォルトの名無しさん:2009/03/08(日) 15:49:40
eval("foo(param)")
はうまく動くのに
eval("bar.foo(param)")
が動いたりうごかなかったり
特に

#file a.py
def f():
eval("bar.foo(param)")

#file b.py
a.f()

としたときに動いてくれない

354 :デフォルトの名無しさん:2009/03/08(日) 16:59:02
質問してるのか、
問題を喚起しているのか、
ツンデレなのか、
はっきりしなさい!

355 :デフォルトの名無しさん:2009/03/08(日) 17:39:14
eval関係無く動くまい

356 :デフォルトの名無しさん:2009/03/08(日) 18:00:41
ツンデレです

357 :デフォルトの名無しさん:2009/03/08(日) 20:43:28
適切に sys.path.append していないと予想

358 :デフォルトの名無しさん:2009/03/09(月) 01:13:08
通常の仕事にevalなんて使う事ないなぁ。
皆どんな高度なことやってるの?

359 :デフォルトの名無しさん:2009/03/09(月) 01:32:46
アプリのコマンドライン。
emacsだとM-xに相当か。
制作中はアプリ自身のデバッグにも使える。

360 :デフォルトの名無しさん:2009/03/09(月) 14:10:34
>>353
#a.py
class Handletest:
def handle(self, methodstr):
result=eval(methodstr,globals(),locals())
return result

if __name__ == "__main__":
import numpy
handletest=Handletest()
print handletest.handle("numpy.linalg.norm([1,2])")#動く




#b.py
import numpy
import a
if __name__ == "__main__":
h= a.Handletest()
print h.handle("numpy.linalg.norm([1,2])")#動かない
-------------
golbals localsに違うものいれないといけないみたいなのだけど
どう入れればいいのかわからない

361 :デフォルトの名無しさん:2009/03/09(月) 17:10:33
print h.handle("import numpy; numpy.linalg.norm([1,2])")

362 :デフォルトの名無しさん:2009/03/09(月) 18:39:03
h.handle("numpy.linalg.norm([1,2])", globals(),locals())
h.handle("numpy.linalg.norm([1,2])", {"numpy":numpy}, {})

363 :デフォルトの名無しさん:2009/03/09(月) 19:35:25
>>360
bでimport numpyしただけだと
bからはnumpyという名前が見えるが
aからは見えないのさ

importはインタプリタにモジュールをロードするだけでなく、
カレントのモジュールにシンボルをインポートするという意味を持っている

364 :363:2009/03/09(月) 19:47:41
こんだけじゃ説明足りんかな
Pythonのグローバル変数(グローバル環境フレーム)ってのは
インタプリタグローバルじゃなくて、モジュールスコープで別れてるんだよ

モジュールのトップレベルの束縛=グローバル変数
だと思っていい
globals()関数が返すのも、あくまで「そのモジュールの」グローバル変数

365 :デフォルトの名無しさん:2009/03/09(月) 20:55:55
>>353
#a.py
class Handletest:
def handle(self, methodstr):
import numpy
result=eval(methodstr,globals(),locals())
return result

if __name__ == "__main__":
handletest=Handletest()
print handletest.handle("numpy.linalg.norm([1,2])")

366 :デフォルトの名無しさん:2009/03/09(月) 21:40:14
import sys
class Handletest:
    def handle(self, methodstr):
        frame = sys._getframe(1)
        return eval(methodstr, frame.f_globals, frame.f_locals)

367 :デフォルトの名無しさん:2009/03/09(月) 22:01:48
sys._getframeを呼び出してるメソッドは継承すると酷いことになる

368 :デフォルトの名無しさん:2009/03/10(火) 10:49:07
ウーパールーパーって食えるんだな
ttp://www.fnn-news.com/news/video/wmv/sn2009030908_hd_300.asx

369 :デフォルトの名無しさん:2009/03/10(火) 23:18:16
おまえら、金融系とか経済系の
ゲーム作るプロジェクトやりたい?

370 :デフォルトの名無しさん:2009/03/10(火) 23:33:20
>>369
自分で勉強しろ

371 :デフォルトの名無しさん:2009/03/10(火) 23:51:17
やりたい

372 :デフォルトの名無しさん:2009/03/10(火) 23:56:48
プロジェクトというからにはキッチリドキュメントがそろってるんだろうな?

373 :デフォルトの名無しさん:2009/03/11(水) 00:01:34
>>370
どっちの意味?

プログラムを勉強しろっていみ?
それとも、金融知識を勉強しろっていみ?

374 :デフォルトの名無しさん:2009/03/11(水) 00:04:55
>>371
金融系のプロジェクトでプログラマー募集したら、
なぜか応募してきたのがpythonのプログラマーなんだよね。

他にも自分が見聞きしてる範囲内で、
「学校を作ろう」とかいう、ふざけたプロジェクトに応募
してたのもpythonのプログラマーだったし、ひょっとして
pythonって、せっかく学んでも、いじるアプリがないから
参加するプロジェクトを探してる状態なんじゃないかなーって
思ったわけだ。

もしこれがPHPだったら、wordpressはあるし、joomlaはあるし、
phpbbはあるし、mediawikiはあるし、で、いくらでもアプリも
プロジェクトもあるし、いじり倒すおもちゃは豊富にあるしで、
プルグラマー募集してもきてくんないんだよね。

でもpythonだったら、いじるおもちゃがない状態だから、
プログラマーが余っていて、わりかし捕獲しやすい
状態なのかなと。

375 :デフォルトの名無しさん:2009/03/11(水) 00:08:59
>>374
学校を作ろうを馬鹿にするな!!

376 :デフォルトの名無しさん:2009/03/11(水) 01:13:02
すまんが、真面目な話してるんだ、馬鹿は黙ってくれないか

377 :デフォルトの名無しさん:2009/03/11(水) 01:20:54
そりゃphpなんかと比べてしまえば
pythonを存分に使わせてもらえるところは少ないだろうね

378 :デフォルトの名無しさん:2009/03/11(水) 01:36:52
そもそもPythonはRubyより劣るからな。利用価値がまったくない。

379 :デフォルトの名無しさん:2009/03/11(水) 01:41:20
仕事でゲーム作る人募集って事?

380 :デフォルトの名無しさん:2009/03/11(水) 02:25:34
>>379
Rubyは優秀だからな。

381 :デフォルトの名無しさん:2009/03/11(水) 02:49:52
面白そうならなんでもやるぜ

382 :デフォルトの名無しさん:2009/03/11(水) 03:00:21
ドモホルンリンクルの計測なんてどうだ

383 :デフォルトの名無しさん:2009/03/11(水) 06:49:10
>>377
phpは優秀だからな。

384 :デフォルトの名無しさん:2009/03/11(水) 17:52:44
http://ja.uncyclopedia.info/wiki/Python
わろた

385 :デフォルトの名無しさん:2009/03/12(木) 08:31:02
日本語のプロジェクトじゃなければ結構あるんじゃね

386 :デフォルトの名無しさん:2009/03/12(木) 13:19:39
はじパイの第2版が中古で売ってたんだけど今のバージョンって3.0なの?
第2版は2.3までだからもうちょっと新しいのかったほうがいい?

387 :デフォルトの名無しさん:2009/03/12(木) 13:57:08
>>386
個人的には2.4以降じゃないと嫌だなw
generatorなくてなんのPythonよ

388 :デフォルトの名無しさん:2009/03/13(金) 01:55:16
UNICODEの扱いがちゃんと載ってるのにしなよ

389 :デフォルトの名無しさん:2009/03/13(金) 02:56:44
JapaneseCodecsがあれば10年は戦える

390 :デフォルトの名無しさん:2009/03/13(金) 13:40:57
Windowsで、2.5.2使ってるんだが、code(codeop)の動きがどうもおかしいんだ。

普通にコンソールでは、u''が使えるんだ。

>>> 'あ'
'\x82\xa0'
>>> u'あ'
u'\u3042'

だけど、InteractiveConsoleを使うと、

>>> import code
>>> code.InteractiveConsole().interact()
Python 2.5.2 (r252:60911, Mar 27 2008, 17:57:18) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> 'あ'
'\x82\xa0'
>>> u'あ'
u'\x82\xa0'

と、u''を正しくdecodeしてくれない。

どうもcodeop.compile_CommandCompilerがこういう動作をしているようで、
IPythonでu''が化けるのも同じ原因のようだ。
Windows版のコンソールは、何か特別なパッチが当たってるんだろうか。
どこか設定をいじってやればコンソールと同じ動きするんだろうか。

まぁunicode('あ')とか書けばいいんだけどなんかくやしい。


391 :デフォルトの名無しさん:2009/03/13(金) 13:54:02
>>390
2.6.1 amd64 で、 code.InteractiveConsole() では上手く動いたよ。
それでもIPythonはダメ。

392 :デフォルトの名無しさん:2009/03/13(金) 14:49:33
>>391
2.6.1でやってみた。

>>> 'あ'
'\x82\xa0'
>>> u'あ'
u'\u3042'
>>> import code
>>> code.InteractiveConsole().interact()
Python 2.6.1 (r261:67517, Dec 4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> 'あ'
'\xe3\x81\x82'
>>> u'あ'
u'\u3042'
>>> unicode('あ')
Traceback (most recent call last):
File "<console>", line 1, in <module>
UnicodeDecodeError: 'cp932' codec can't decode byte 0x82 in position 2: incomplete multibyte sequence
>>> unicode('あ', 'utf8')
u'\u3042'

なぜUTF-8www

2.5でも、codeop.CommandCompilerにunicode渡すとこんな動きになるんで、
ようするに2.6ではraw_inputがunicodeを返すようになっただけでCommandCompilerの挙動は変わってないみたいだ。
IPythonは、渡す前にsys.stdin.encodingでencodeしてるので、2.5と同じ動きになる。

コンソールで使ってるCommandCompilerの正体はいったいどこにあるんだ!?
ソースを読めばいいんだろうが、どこを読めばいいのかすら分からん。

393 :デフォルトの名無しさん:2009/03/13(金) 15:00:15
【Python】Pylons Web Frameworkスレ
http://pc11.2ch.net/test/read.cgi/php/1236858951/

394 :デフォルトの名無しさん:2009/03/13(金) 15:03:12
組み込みのcompileを使うと問題がよく分かる。

>>> exec compile("'あ'", '<input>', 'single')
'\x82\xa0'
>>> exec compile("u'あ'", '<input>', 'single')
u'\x82\xa0'
>>> exec compile(unicode("'あ'"), '<input>', 'single')
'\xe3\x81\x82'
>>> exec compile(unicode("u'あ'"), '<input>', 'single')
u'\u3042'
>>>

どうしろってんだ・・・

395 :デフォルトの名無しさん:2009/03/13(金) 15:57:47
あんまりいい方法ではないと思うけど

import code
import sys

class MyInteractiveConsole(code.InteractiveConsole):
  def __init__(self, *args, **kw):
    code.InteractiveConsole.__init__(self, *args, **kw)
    self.__compile = self.compile
    self.compile = self.mycompile
  def mycompile(self, source, *args, **kw):
    if sys.stdin.encoding:
      if isinstance(source, unicode):
        source = source.encode(sys.stdin.encoding)
      source = "# coding: %s\n%s" % (sys.stdin.encoding, source)
    return self.__compile(source, *args, **kw)

if __name__ == "__main__":
  MyInteractiveConsole().interact()

396 :デフォルトの名無しさん:2009/03/13(金) 16:15:11
>>395
それだと、結局最初の(2.5の)

>>> 'あ'
'\x82\xa0'
>>> u'あ'
u'\x82\xa0'

って挙動になるだけだよね。



397 :391:2009/03/13(金) 16:23:50
なおした
ttp://dsas.blog.klab.org/archives/51390187.html

398 :395:2009/03/13(金) 16:33:49
>>396
自分の環境(Windows)では2.5, 2.6でも↓のようになるのを確認したけど、ならない?
(MyInteractiveConsole)
>>> 'あ'
'\x82\xa0'
>>> u'あ'
u'\u3042'

399 :デフォルトの名無しさん:2009/03/13(金) 18:55:32
ならない
sys.stdin.encoding

どこでも同じとは限らない

400 :デフォルトの名無しさん:2009/03/13(金) 19:57:05
>>397
うん、それでsys.setdfaultencoding("utf-8")すれば使えるようにはなるんだ。
でもそれだとWindows環境でpysh使ったとき、にほんごファイル名が通らなくなる。(UTF-8に変換されるため。)

UTF-8Cygwin使う、ってのも一長一短だしなあ…

401 :デフォルトの名無しさん:2009/03/13(金) 19:58:11
>>398
ならないなあ…
環境設定でなんとかなるのなら是非教えてほしい

402 :デフォルトの名無しさん:2009/03/13(金) 20:42:48
>>400
sys.setdefaultencoding('utf-8') するのは何故?
>>397 の修正だけで、全く問題ないよ?
/open u"ソ.txt"
こんなのも余裕。

403 :デフォルトの名無しさん:2009/03/13(金) 21:01:23
>>397の修正だとcp932の環境でstrの'あ'が'\x82\xa0'になって欲しいところ
utf8の'\xe3\x81\x82'になっちゃう

404 :デフォルトの名無しさん:2009/03/13(金) 21:12:13
>>403
なるほど。日本語をcp932でstrで使うなんて発想が無かった。
from __future__ import unicode_literals
して、strと決別しちゃえ。

405 :デフォルトの名無しさん:2009/03/14(土) 10:25:26
>>402
>sys.setdefaultencoding('utf-8') するのは何故?
cp932だとunicode('あ')でエラーになるからじゃないか?

406 :デフォルトの名無しさん:2009/03/14(土) 11:20:45
>>405
もともとの defaultencoding は ascii
インタラクティブシェルじゃなくて普通のスクリプトでも unicode('あ') はエラー。

Python3.0からは utf-8 になるから、from __future__ import ??? でやってることと
同じといえるかもしれないけど。

407 :デフォルトの名無しさん:2009/03/14(土) 12:17:23
>インタラクティブシェルじゃなくて普通のスクリプトでも unicode('あ') はエラー。

馬鹿ですねわかります

408 :デフォルトの名無しさん:2009/03/14(土) 12:17:35
普段はmbcs,cp932あたりをsys.setdefaultencodingしてるんでしょ、きっと

409 :デフォルトの名無しさん:2009/03/14(土) 12:31:56
ttp://fettig.net/images/twisted%20cover.gif
この本の日本語版っていつ頃出ますか?

410 :デフォルトの名無しさん:2009/03/14(土) 12:53:32
>>409
このイラストはスパゲティコードの暗示なのか…?

411 :デフォルトの名無しさん:2009/03/14(土) 13:22:22
MLで翻訳の需要あるか聞かれてたやつだっけ?
とても微妙な反応だったなw

412 :406:2009/03/14(土) 15:17:31
>>407
何が? u'あ' はOKだけど、 unicode('あ') は
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)

>>408
それをさせないように、普通は del sys.setdefaultencoding してあって、
reload(sys)
sys.setdefaultencoding('utf-8')
とかしないと初期値のasciiから変更できないのに、、、

みんなUnicodeはきちんと使おうぜ。外部とのやり取りは encode/decode して、リテラルで使うときは
unicode('ほげ', 'utf-8') じゃなくて u'ほげ' が正解だ。

413 :デフォルトの名無しさん:2009/03/14(土) 18:10:21
あまりreload(sys)は流行らせるなよ

>>409
twistedは処理がボコボコ切られて正直使いにくいからこれ以上流行って欲しくないなあ

414 :デフォルトの名無しさん:2009/03/14(土) 18:16:10
>>413
eventletマンセーですねわかります

415 :デフォルトの名無しさん:2009/03/14(土) 20:16:32
>>408
pyshを長いこと使ってるから
sitecustomize.pyにsys.setdefaultencoding('cp932')と書いて
リテラルはunicode('あ')と書くスタイルが染みついてるw

utf-8にするとマジック関係が動かないからなあ・・・

[C:Documents and Settings/Administrator]|2> cd デスクトップ
[Error 2] 指定されたファイルが見つかりません。: '\xe3\x83\x87\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\x88\xe3\x83\x83\xe3\x83\x97'

IPythonのソースに手を入れたついでに、マジック関係のユニコード化もするか。

とまで考えたところで、なんというか進む方向が酷く間違っている気がしてきたが目をつぶってがんばる

416 :デフォルトの名無しさん:2009/03/14(土) 20:50:36
つーわけでユニコード化マジックコマンド。

--- C:/Python25/Lib/site-packages/IPython/iplib.py.bak Sat Mar 14 20:41:18 2009
+++ C:/Python25/Lib/site-packages/IPython/iplib.py Sat Mar 14 20:36:39 2009
@@ -936,6 +936,8 @@
valid Python code you can type at the interpreter, including loops and
compound statements. It is added by IPython to the Python builtin
namespace upon initialization."""
+
+ arg_s = unicode(arg_s, 'utf-8')

args = arg_s.split(' ',1)
magic_name = args[0]
@@ -2019,7 +2021,7 @@
# this allows execution of indented pasted code. It is tempting
# to add '\n' at the end of source to run commands like ' a=1'
# directly, but this fails for more complicated scenarios
- source=source.encode(self.stdin_encoding)
+# source=source.encode(self.stdin_encoding)
if source[:1] in [' ', '\t']:
source = 'if 1:\n%s' % source

デフォルトエンコーディングをutf-8にする必要はない(compilerにユニコードを食わせたときにutf-8化するのはデフォルトエンコーディングとは関係がない)。

[C:Documents and Settings/Administrator]|1> cd デスクトップ/
[C:Administrator/デスクトップ]|2>


417 :デフォルトの名無しさん:2009/03/15(日) 05:39:24
あかん・・・ユニコードリテラルをちゃんと扱えるようになったところで、

print 'あ'

が普通に化けるんじゃ本末転倒だなあ。

418 :デフォルトの名無しさん:2009/03/15(日) 10:37:01
>>417
from __future__ import unicode_literals
これで全部解決

419 :デフォルトの名無しさん:2009/03/15(日) 10:51:01
「,」と「%」の記号を16進数にエスケープしたいのですが
re.subを使って置換する方法はありますか?


(1) 'A is 20%, B is 80%'
(2) 'A is 20%25%2c B is 80%25'
(1)を(2)に変換したい。

次のコードでは「\1」は通常の文字列ではないのでうまく動作しない。
import re
txt = 'A is 20%, B is 80%'
print re.sub('([,%])', '%02x' % (ord(r'\1')), txt)

420 :デフォルトの名無しさん:2009/03/15(日) 11:11:14
>>419
re.sub('([,%])', lambda m: '%02x' % ord(m.group(1)), txt)

421 :デフォルトの名無しさん:2009/03/15(日) 11:18:06
>>419
urllib.quote(txt)

422 :デフォルトの名無しさん:2009/03/15(日) 11:46:15
>>418
んだな。~/_ipython/ipy_user_conf.pyのmain関数の最後に、
o.autoexec.append('from __future__ import unicode_literals')
を追加。

2> 'あ'
<2> u'\u3042'
3> u'あ'
<3> u'\u3042'
4> print 'あ'
-------------->print('あ')





423 :デフォルトの名無しさん:2009/03/15(日) 12:06:10
416のarg_sのユニコード化がエラーになるので削除。
unicode()にユニコード食わせるとユニコードのままにならなかったっけ・・・?
で、デフォルトエンコーディングはcp932かmbcsにしとく必要があるようだ

424 :デフォルトの名無しさん:2009/03/15(日) 12:25:42
>>423
unicode() の第一引数が unicode オブジェクトの場合は、第二引数があると
エラーになる。
if not isinstance(arg_s, unicode):
    unicode(arg_s, 'utf-8')

425 :デフォルトの名無しさん:2009/03/15(日) 13:21:20
>>424
なるほど。isinstance()しとくしかないようだなぁ。

というかunicode_literalsのためだけに2.6にあげたよ!あげたよ!

426 :デフォルトの名無しさん:2009/03/15(日) 13:27:29
>>420,421
ありがとう。

re.sub('([,%])', lambda m: '%%%02x' % ord(m.group(1)), txt)
第二項目が関数だと、Matchオブジェクトを引数にして呼び出されるのか。

urllib.quote(txt)
確かにこの方が簡単ですね。
ただ今回はファイルの後方互換性が必要で、
エスケープするのは記号2種類だけにしたいので
とりあえず文字列置換を使うつもりです。

427 :デフォルトの名無しさん:2009/03/15(日) 13:45:03
txt.replace('%', '%25').replace(',', '%2c')
じゃいかんの?

428 :デフォルトの名無しさん:2009/03/15(日) 15:48:38
>>427
Ruby使う事にしたので問題ないです。

429 :デフォルトの名無しさん:2009/03/15(日) 21:33:17
>>427
今回の場合はそれで十分ですね。
実はPerlのコードを参考に作っているんだけど
Pythonでもコンパイルとかなしで出来るのか知りたかったので
「re.sub」で聞いてみました。

430 :デフォルトの名無しさん:2009/03/15(日) 21:47:25
パイソンのRadツールって何があります?

431 :デフォルトの名無しさん:2009/03/15(日) 23:12:03
Rubyですかね。

432 :デフォルトの名無しさん:2009/03/16(月) 01:08:07
よくわからんが、エンコーディングの設定が間違ってるでFA?

433 :430:2009/03/16(月) 01:24:58
Rubyにしてみます。

434 :デフォルトの名無しさん:2009/03/16(月) 02:31:18
あるある

435 :デフォルトの名無しさん:2009/03/16(月) 02:42:22
こうしたRuby厨の工作によりまともな人はRubyを嫌うのであった

436 :デフォルトの名無しさん:2009/03/16(月) 03:30:38
てかruby厨ってrubyしか使ったことないかあるいは使えないんでひたすら布教するんだろうな
複数の言語を使いこなせないとは哀れな

437 :デフォルトの名無しさん:2009/03/16(月) 03:31:47
どこの世界に>>431みたいな布教をする奴がいるんだw

438 :デフォルトの名無しさん:2009/03/16(月) 04:34:45
もともとはそういう奴らがいたから、現在そういうネタになってるんだよw

439 :デフォルトの名無しさん:2009/03/16(月) 04:41:44
パールときてルビーときて。
次はどんな宝石だい?

440 :デフォルトの名無しさん:2009/03/16(月) 05:00:24
満を持してダイヤモ

441 :デフォルトの名無しさん:2009/03/16(月) 05:08:34
・・・花崗岩とか?

442 :デフォルトの名無しさん:2009/03/16(月) 10:53:24
トルコ石まで続くかもなw

443 :デフォルトの名無しさん:2009/03/16(月) 14:34:47
ttp://sankei.jp.msn.com/science/science/081027/scn0810271031004-n1.htm
ttp://sankei.jp.msn.com/science/science/081110/scn0811101543000-n1.htm
ttp://sankei.jp.msn.com/science/science/090112/scn0901121402003-n1.htm
宝石の条件の一つには硬度が高いことも重要である。
これは、硬度が低い鉱物の場合、経年による砂埃(環境に遍在する石英など)による風化・劣化のために、
観賞価値が失われてしまうためである。
例としてダイヤモンドはモース硬度10、ルビー・サファイアはモース硬度9である。
石英のモース硬度は7であり、これらの宝石の硬度は石英のそれより高いことに注意されたい
(オパールなどは例外的に硬度が低い)。
硬度以外の条件として色彩、透明度、希少性など鑑賞的価値・財産的価値・所有の欲求を満たす性質が重要である。

444 :デフォルトの名無しさん:2009/03/17(火) 12:11:42
>>411
2年前なら確実に買っただろうけどな。

445 :デフォルトの名無しさん:2009/03/17(火) 14:29:19
reprって何て読むのでしょうか?
また、名前の由来は何でしょうか?

446 :デフォルトの名無しさん:2009/03/17(火) 14:39:50
representかな?

447 :デフォルトの名無しさん:2009/03/17(火) 14:41:24
れぷると読んでいる
representだと思っている

俺はな

448 :デフォルトの名無しさん:2009/03/17(火) 15:13:35
representation、表現

マニュアルを嫁

repr(object)
Return a string containing a printable representation of an object. (...)

449 :デフォルトの名無しさん:2009/03/17(火) 17:46:09
>446-448
ありがとうございます
マニュアルは和訳しか呼んだことがなくて気付きませんでした…

450 :デフォルトの名無しさん:2009/03/18(水) 01:31:58
マニュアル読まないと分からない言語って糞じゃないですか?

451 :デフォルトの名無しさん:2009/03/18(水) 01:39:19
そりゃマニュアル読まずとも理解できればそれにこしたことはないけど、
開発言語くらいの規模だとマニュアルなしでは非常に厳しい。
マニュアル読まずとも習得できる言語ってHQ9+とかのジョーク言語くらいじゃない?

452 :デフォルトの名無しさん:2009/03/18(水) 02:19:35
IPython使ってるなら ? 付けるだけ。

In [10]: repr?
Type: builtin_function_or_method
Base Class: <type 'builtin_function_or_method'>
String Form: <built-in function repr>
Namespace: Python builtin
Docstring:
repr(object) -> string

Return the canonical string representation of the object.
For most object types, eval(repr(object)) == object.

453 :デフォルトの名無しさん:2009/03/18(水) 03:01:26
>>> help(repr)
Help on built-in function repr in module __builtin__:

repr(...)
repr(object) -> string

Return the canonical string representation of the object.
For most object types, eval(repr(object)) == object.

454 :デフォルトの名無しさん:2009/03/18(水) 23:20:58
わかるよ、習うより慣れろってことね。わかります。
だけど、マニュアル見た方が良い場合もある。

バージョンによる文法の違いとか、
他の言語を使ったことがあるけど、pythonに移行したい場合。

help方式は、そもそも、索引する単語が分かっている場合にしか使えない。


455 :デフォルトの名無しさん:2009/03/19(木) 00:41:47
scipyのバイナリは
SSEがサポートされて無いと使えないんですか?

456 :デフォルトの名無しさん:2009/03/19(木) 00:55:06
そういう質問してる時点で駄目だと思う

457 :デフォルトの名無しさん:2009/03/19(木) 01:06:30
んー
CPUがSSE3をサポートして無いといって中断するんだよな。
WinでのbuildについてはOfficialにマニュアルもないし…

ATLASとBLAS入れてMinGWでeasy_installか?

458 :デフォルトの名無しさん:2009/03/19(木) 09:14:01
Rubyしかないな

459 :デフォルトの名無しさん:2009/03/19(木) 18:08:57
Cythonって既にpython3に対応してるんだな。
lxmlがpython3に対応したというのを見て初めて知った。

460 :デフォルトの名無しさん:2009/03/20(金) 02:04:44
パイソン学び始めて1日目ですが
数当てゲームの作り方を
ヒントだけでいいので教えてください。

461 :デフォルトの名無しさん:2009/03/20(金) 02:34:33
数当てゲームでググる

462 :デフォルトの名無しさん:2009/03/20(金) 02:55:17
そのぐらい自分で考えてフローチャートでも書いてみれ

463 :デフォルトの名無しさん:2009/03/20(金) 03:41:11
うおお
頭がパンクしそうだ

464 :デフォルトの名無しさん:2009/03/20(金) 04:20:42
>>460
import random
while(True):
  print '0-9? ',
  print 'ok' if int(raw_input()) == int(random.random() * 10) else 'bad'


465 :デフォルトの名無しさん:2009/03/20(金) 04:23:25
>>464
なんか見たこと無い構文がいっぱいorz
プログラミングって難しいですね・・・

466 :デフォルトの名無しさん:2009/03/20(金) 04:48:52
int(random.random()*10)
よりは
random.choice(range(0, 10))
のほうがよくね?

467 :デフォルトの名無しさん:2009/03/20(金) 05:04:26
random.randint(0, 9)

468 :デフォルトの名無しさん:2009/03/20(金) 05:53:35
>>466-467
ありがとうございます
勉強になります

469 :デフォルトの名無しさん:2009/03/20(金) 05:55:10
毎回乱数発行してたら0〜9まで10回入力しても当たらんケースがあるのかw

470 :デフォルトの名無しさん:2009/03/20(金) 06:01:14
分かってるとは思うけど各回の期待値は1/10だから
10回連続で外れる確率は0.9**9で35%くらいある
逆に乱数一回だけ発行だと10回以内で確実に当たる

471 :デフォルトの名無しさん:2009/03/20(金) 08:44:10
35%もあるのか

472 :デフォルトの名無しさん:2009/03/20(金) 10:12:05
そんなことよりエロゲつくってくださいよぉ

473 :デフォルトの名無しさん:2009/03/20(金) 10:16:37
了解

474 :デフォルトの名無しさん:2009/03/20(金) 10:39:39
音ゲー作ろうかと思ったけどMIDIわかんえ

475 :デフォルトの名無しさん:2009/03/20(金) 12:33:21
ttp://www13.plala.or.jp/kymats/study/MULTIMEDIA/mciCommand_midi.html
ttp://www13.plala.or.jp/kymats/study/MULTIMEDIA/waveOut_create.html
ttp://www13.plala.or.jp/kymats/study/MULTIMEDIA/mciCommand_play.html

476 :デフォルトの名無しさん:2009/03/20(金) 17:05:58
2.6 と 2.5 の共存はどうやるのがいいんでしょうか?
窓環境で ctypes で dll にアクセスする用途で 2.6を
入れたはいいものの、環境変数の設定を 2.5 -> 2.6と
設定し直す手間がとても面倒なんです…

477 :デフォルトの名無しさん:2009/03/20(金) 17:39:23
そうだね

478 :デフォルトの名無しさん:2009/03/21(土) 19:58:48
3もでてるのに何で今更2.6が使いたいの?
モジュールの対応状況ならまだ2.5が最良だろ?


479 :デフォルトの名無しさん:2009/03/21(土) 20:01:37
>>478
3はまだ先行者による地雷発掘中だから一般人は使っちゃダメ。
2.6 に移行して from __future__ しまくるのがベスト。

480 :デフォルトの名無しさん:2009/03/21(土) 23:37:35
とか言ってる割には
今から使い始めるには3からが良いよ
ってのを良く見るんだが…

まぁ、バグ出しの問題と
仕様変更による混乱回避の問題は別物だけど
使っちゃ駄目ってのもおかしな話だ

だったらリリースすんなよって言われても仕方ない

481 :デフォルトの名無しさん:2009/03/21(土) 23:53:31
>>今から使い始めるには3からが良いよ
言ってねーよ。少なくとも2chでは…

482 :デフォルトの名無しさん:2009/03/22(日) 00:10:39
ruby1.9のがはるかに先をすすんでいる。

483 :デフォルトの名無しさん:2009/03/22(日) 00:12:09
>>482
それは絶対にないwww

484 :デフォルトの名無しさん:2009/03/22(日) 00:38:56
ipython 重すぎね?
何をそんなにがりがり読み込んでんだよ

485 :デフォルトの名無しさん:2009/03/22(日) 00:45:05
レジストリ

486 :デフォルトの名無しさん:2009/03/22(日) 00:54:09
それ古いんじゃね
今ならjython使え

487 :デフォルトの名無しさん:2009/03/22(日) 00:57:28
Duron600Mhz, mem 256MBなPCを買い換えろよ

488 :デフォルトの名無しさん:2009/03/22(日) 14:19:00
>>476
http://d.hatena.ne.jp/walf443/20090322/1237692764

2.5系を環境変数に登録しといて
2.6系, 2.7系, 3.0系, 3.1系を呼び出すような
スクリプトを書いて > python distributed.py test_script.py
みたいに呼び出せればいいじゃないか、とか
思いつくもののどう書いたらよいか思い付かず(沈

489 :デフォルトの名無しさん:2009/03/22(日) 15:42:09
環境変数ってbinフォルダへのパスだったの?
それならバッチ書いてパスの通ったとこに置いとけばいいよ
python3.1.bat

c:\Python31\bin\python.exe
みたいなので

ほかの環境変数もいじれるよ


490 :デフォルトの名無しさん:2009/03/22(日) 15:58:42
俺は単にexeの名前変えてる
python25.exeとかpython26.exeとか
で、両方のbin/を環境変数に登録しとけば
いちいち環境変数弄らんでも、いつでも好きなほうを使えるよ

491 :デフォルトの名無しさん:2009/03/22(日) 16:30:20
数当てスクリプト作ってるんですけど、
乱数を一回だけ発行するにはどうすりゃいいんでしょうか・・・?

492 :デフォルトの名無しさん:2009/03/22(日) 16:31:49
>>491
一回だけ生成すればいいだけだろ
意味が分からん

493 :デフォルトの名無しさん:2009/03/22(日) 16:32:04
そのくらいぐぐろうよ・・・
Python 乱数 で一発だよ

494 :デフォルトの名無しさん:2009/03/22(日) 16:46:22
ぐぐってもよくわかりません

495 :デフォルトの名無しさん:2009/03/22(日) 17:01:26
while(True):
print'1-9?'
if int (raw_input())==random.randint(1,9):
print 'ok'
else:
print'bad'

これで合ってます?

496 :デフォルトの名無しさん:2009/03/22(日) 17:04:47
>>491
import time;time.clock()

497 :デフォルトの名無しさん:2009/03/22(日) 17:08:06
>>495
まちがってます。ヒントは型。

498 :デフォルトの名無しさん:2009/03/22(日) 22:43:45
>495
ループに入る前に生成して変数に

499 :デフォルトの名無しさん:2009/03/23(月) 06:08:06
>>495
みんなのPythonから始めたほうがいいと思う
http://www.amazon.co.jp/みんなのPython-柴田-淳/dp/479733665X

500 :デフォルトの名無しさん:2009/03/23(月) 06:25:16
ミス
http://www.amazon.co.jp/gp/product/479733665X

501 :デフォルトの名無しさん:2009/03/23(月) 14:17:27
いやいや、分厚い初めてのPythonで挫折しようぜ

502 :デフォルトの名無しさん:2009/03/23(月) 18:31:06
漏れはdoskeyだね。
doskey py26=c:\python26\bin\python $*
doskey py31=c:\python31\bin\python $*
とかバッチファイルに書いて、
cmd.exe /k, c:\util\setdos.bat
とかショートカット作ってこれを実行するようにしてる。

503 :デフォルトの名無しさん:2009/03/24(火) 11:03:28
>>484
IPython 0.9.1 + Python 2.6.1 の環境で、 Sets の Warning
出している部分を
#import Sets
Sets = sets
と書き直してやったら早くなった気がする。

504 :503:2009/03/24(火) 11:15:53
やっぱりあまり変わらないかも…
どっちも1秒で起動する。

505 :デフォルトの名無しさん:2009/03/24(火) 15:21:00
ヤマタノ

506 :デフォルトの名無しさん:2009/03/24(火) 15:30:54
ダルに代わったときはどうなることかと思った

507 :デフォルトの名無しさん:2009/03/25(水) 16:22:43
すいません、質問です。
関数内で構造体に値を入れまくって、関数抜けた後
次の関数でその値を参照する。と言う感じのことをやるにはどうしたらよいでしょうか?

クラスメンバに代入する方法で書いてみたのですが、
なんか上手くいきませんorz

説明下手ですいません(´Д`;

508 :デフォルトの名無しさん:2009/03/25(水) 17:01:17
構造体って何?

509 :デフォルトの名無しさん:2009/03/25(水) 17:10:34
class foo: pass
x = foo()
x.y = 1
x.s = 'abc'
x.b = True

これって構造体っぽい物ですか?

510 :デフォルトの名無しさん:2009/03/25(水) 17:31:14
動的にメンバ変数を増やせるメリットがいまだに分からない

511 :デフォルトの名無しさん:2009/03/25(水) 17:45:20
>>507っす。
すいません、色々試してたら自己完結しました。
引数とかでエラー出てると思ってたら、配列指定のトコでこけてましたorz

修正前:print frm.name
修正後:print frm[0].name

イラネーYO、と言われそうですが、
色々試してたソース張ってみます。

512 :507:2009/03/25(水) 17:46:35
class Frame:
  def __init__(self,name,len):
    self.name  = name
    self.len  = len

def func_in(frm):
  frm.append(\
    Frame(
      name  = "sigA",\
      len    = 32\
  ))

def func_out(frm):
  print frm[0].name
  print frm[0].len


frm=list()
func_in(frm)
func_out(frm)



513 :デフォルトの名無しさん:2009/03/25(水) 17:46:35
イラネーYO

514 :デフォルトの名無しさん:2009/03/25(水) 17:46:59
イラネーYO

515 :デフォルトの名無しさん:2009/03/25(水) 19:15:31
>>510
わざわざ新しいクラス作らなくても済む

516 :デフォルトの名無しさん:2009/03/28(土) 00:55:11
http://morepypy.blogspot.com/2009/03/vm-summit-nice-to-see-friendly.html
これは期待していいのか?

517 :デフォルトの名無しさん:2009/03/28(土) 02:33:12
構造体の代わりだったら辞書で十分でないの?

518 :デフォルトの名無しさん:2009/03/28(土) 02:36:55
辞書は順番保持しないじゃん
名前つきタプルなら代わりになりそうだが

519 :デフォルトの名無しさん:2009/03/28(土) 05:51:36
名前で参照出来るなら順番はどうでもいいことが多いが

520 :デフォルトの名無しさん:2009/03/28(土) 12:29:38
↑(笑)

521 :デフォルトの名無しさん:2009/03/28(土) 13:49:47
**kwargsを知らんのだろ
あるいはJavaユーザーが流れてきたか

522 :デフォルトの名無しさん:2009/03/28(土) 16:51:05
>>516
『Google公布新项目将改进Python的性能 』
http://opensourcechina.blog92.fc2.com/blog-entry-122.html

中華なイパネマ経由で把握した
うん…いやなんでもないんだ…

http://code.google.com/p/unladen-swallow/wiki/ProjectPlan (中段辺り
Note that many of the areas we will need to address have been
considered and developed by the other dynamic language
implementations like JRuby, Rubinius and Parrot, and in particular
other Python implementations like Jython, PyPy, and IronPython.
In particular, we're looking at these other implementations for
ideas on debug information, regex performance ideas, and generally
useful performance ideas for dynamic languages. This is all fairly
well-trodden ground, and we want to avoid reinventing the wheel
as much as possible.

523 :デフォルトの名無しさん:2009/03/28(土) 18:57:48
>PyPy Status Blog
この名前はどうにかならんのか
日本で流行らない一因だ

524 :デフォルトの名無しさん:2009/03/28(土) 19:05:09
読み方はパイパイ?

525 :デフォルトの名無しさん:2009/03/28(土) 19:27:53
http://docs.python.org/tutorial/controlflow.html#keyword-arguments
keyword argument があると method の overload

http://www.math.tu-berlin.de/polymake/index.html#perl/overload.html[3,3,1]
が楽になるけど、ないと引数の順番を呼び出すときに絶えず
確認しなければならず、めどい => IDEに丸投げする

526 :デフォルトの名無しさん:2009/03/28(土) 23:46:43
中華なパイパイ

527 :デフォルトの名無しさん:2009/03/29(日) 03:25:03
桃白白を馬鹿にするな

528 :デフォルトの名無しさん:2009/03/29(日) 22:25:13
Pylonsスレまた落ちてるね

529 :デフォルトの名無しさん:2009/03/29(日) 23:47:03
そういや、pylonsのメーリングリスト誰か管理しろよw

530 :デフォルトの名無しさん:2009/03/30(月) 02:51:22
初心者なんですが、特に使いたいフレームワークがないので3.1使ってもいいですよね?
柴田とかいう人の影響を受けている人の意見はいらないです。

531 :デフォルトの名無しさん:2009/03/30(月) 04:51:33
誰かの影響を受けたくないとか言うなら自分で決めろよ

532 :デフォルトの名無しさん:2009/03/30(月) 05:15:42
>>530
初心者なら2.6にしとけ

533 :デフォルトの名無しさん:2009/03/30(月) 07:15:24
名無しの影響を受けるのは平気ってのがすごい

534 :デフォルトの名無しさん:2009/03/30(月) 07:21:35
自称初心者が突然柴田とか言いだす背景にはいったい何が

535 :デフォルトの名無しさん:2009/03/30(月) 08:10:10
>>530
初心者が、Webに転がってる大量の情報や本が信頼できない環境でプログラム書けるの?
言語のUpdateに伴って標準ライブラリにも一部不整合があるけど大丈夫なの?

玄人でも Python3 を日常的に使うのはためらうんだ。初心者は手を出すな。
Python3 が一般人に薦められるようになるには、最低でも3年はかかる。

536 :デフォルトの名無しさん:2009/03/30(月) 12:44:49
>>530
3.1に取り組んでおくのもいいと思いますよ。

取り急ぎ。

537 :デフォルトの名無しさん:2009/03/30(月) 13:01:20
別に取り急ぐようなことでもないのにw

# あくまで俺は>>536に言ったわけで

538 :デフォルトの名無しさん:2009/03/30(月) 13:33:58
もしかしてこの本の著者か?
ttp://www.kohgakusha.co.jp/books/detail/978-4-7775-1419-9
最悪だな

539 :デフォルトの名無しさん:2009/03/30(月) 13:51:02
柴藤?

540 :デフォルトの名無しさん:2009/03/30(月) 14:18:58
そもそも。日本語の入門書よんで勉強するなんて馬鹿げてる…
情報古いし、内容も薄いし…

stardictとか入れて、日本語以外のMLとか
配布されてるマニュアルよめばいいじゃん。

英語も勉強できて一石二鳥だよ


541 :530:2009/03/30(月) 14:48:59
そのパクリタイトルの著者も評判悪いですね。
ぼくの周りでは。
そうですね。日本語やめます。
今日から英語でやります。

542 :デフォルトの名無しさん:2009/03/30(月) 15:33:26
えっ?、アドバイス言ってくれる人が周りにいたの?

543 :530:2009/03/30(月) 15:39:30
ぼくはそんなこと書いていませんよ^^
stardictといえばキングソフトが丸パクリしてますよね
どーでもいいーですな

544 :デフォルトの名無しさん:2009/03/30(月) 19:53:05
知恵が無いのに自意識を大事にしすぎ

545 :デフォルトの名無しさん:2009/03/30(月) 21:09:13
http://www.itmedia.co.jp/enterprise/articles/0903/30/news079.html

Unladen SparrowはGAEのために作ってたのか

546 :530:2009/03/30(月) 23:26:50
知恵がないってどうやって判断できるんでしょうなあ
ほんとにプログラマかこいつら

547 :デフォルトの名無しさん:2009/03/30(月) 23:33:20
>>530は柴田をネタにして話題を作り、そこからただ荒らしをしたいだけの人と読んだがどうか。

548 :デフォルトの名無しさん:2009/03/30(月) 23:35:42
柴田はツッコミ所を減らしてもっと殺伐とすべき

549 :デフォルトの名無しさん:2009/03/30(月) 23:45:13
>>546
どうやっても何も、相手の知恵は相手の言動から判断するのが普通だよ。知らないの?

まぁお前風に言えば、「レスアンカーも無いのにお前が言われたとどうやって判断したの?」とか、
「一人の言い分を読んでどうしてそこから“こいつら”と複数への疑問に繋げるの?」とかが
モロ突っ込み所なわけで、その辺の「間抜けな割に上からモノ言いたがる」ところがまさに>>544の通り。

550 :デフォルトの名無しさん:2009/03/30(月) 23:46:43
おまえらスルーしろよ

退避スレ
http://pc12.2ch.net/test/read.cgi/tech/1232055225

551 :530:2009/03/31(火) 00:35:14
>>549
なんかよくわからんがそれでいいと思うよ。
IDない板は嫌いなんだよなー
しらんが。

552 :530:2009/03/31(火) 00:37:54
退避してもIDがないとか、ほんきで馬鹿馬鹿しい。
荒れないところに、才能は集まらないんだよなあ。
だからここも駄目ー。ハッカー頑張ってねー^^

553 :デフォルトの名無しさん:2009/03/31(火) 00:41:38
ハッカーはこんなレベルの低いとこ見てないよ

554 :530:2009/03/31(火) 00:45:03
そうなのか。
質問する場所も考えないとなあ^^
うんこして寝ます

555 :デフォルトの名無しさん:2009/03/31(火) 00:47:08
モテなそう。

556 :デフォルトの名無しさん:2009/03/31(火) 00:49:52
ふつーにモテるよ

557 :デフォルトの名無しさん:2009/03/31(火) 00:56:44
アホのくせにプライドばかり高くてモテるわけないだろ(wwWwwwWWWwww
早く寝て布団でクソしろ(w

558 :デフォルトの名無しさん:2009/03/31(火) 01:39:20
Djangoスレに来てるのこいつかw

559 :デフォルトの名無しさん:2009/03/31(火) 01:40:09
アホでプライド高くても女は寄ってくる。
俺には寄ってこないけどなー

560 :デフォルトの名無しさん:2009/03/31(火) 02:48:28
2次元でいいだろ。

561 :デフォルトの名無しさん:2009/03/31(火) 09:03:28
じゃあ俺は次元で

562 :デフォルトの名無しさん:2009/03/31(火) 10:13:53
>>558
ダンジョーと愉快な仲間たち(w

563 :デフォルトの名無しさん:2009/03/31(火) 12:58:10
Windows上でLinuxサーバー用にモジュールをビルドするにはどうすればよいですか?

564 :デフォルトの名無しさん:2009/03/31(火) 13:09:47
VMWareでも使えば?

565 :デフォルトの名無しさん:2009/03/31(火) 13:15:45
やっぱり何かしらの方法でえLinux使うしかないかー。
ありがとうございました。

566 :デフォルトの名無しさん:2009/03/31(火) 14:24:36
草民とも今日でお別れ

567 :デフォルトの名無しさん:2009/03/31(火) 14:56:27
クロスコンパイルすれば出来るけど、
coLinuxでもVMWareでも使った方が良いと思う。

568 :デフォルトの名無しさん:2009/03/31(火) 16:06:08
柴田って人は随分人気があるんだなぁ

ttp://d.hatena.ne.jp/perezvon/20090221/1235195240

569 :デフォルトの名無しさん:2009/03/31(火) 17:57:35
ダンジョー勉強会

570 :デフォルトの名無しさん:2009/03/31(火) 18:11:36
>>523
>523 名前: デフォルトの名無しさん Mail: sage 投稿日: 2009/03/28(土) 18:57:48
>>PyPy Status Blog
>この名前はどうにかならんのか
>日本で流行らない一因だ

ここにも名前を気にしてる人がいるぞ、良かったな(www
http://b.hatena.ne.jp/entry/http://morepypy.blogspot.com/2009/03/vm-summit-nice-to-see-friendly.html

571 :デフォルトの名無しさん:2009/03/31(火) 22:15:18
本屋で実践Pythonリベンジ編を見かけた
健闘を祈る次第

572 :デフォルトの名無しさん:2009/03/31(火) 22:37:18
買ってやれよ(w

573 :デフォルトの名無しさん:2009/04/01(水) 11:48:43
今のところメインで使うのは2.5.2あたりだとして、
そろそろPython3の本が何冊か出てきましたね。
一応経験者がPython3の全貌を把握する目的として
どれかお勧めのものありますか?


574 :デフォルトの名無しさん:2009/04/01(水) 11:59:59
>>573
What's new だけで十分
できるなら、Python2.6にupdateして、過去互換を維持しつつ
新しいコードでは unicode_riteral とか print_function を使い始めれば良い。

575 :デフォルトの名無しさん:2009/04/01(水) 12:30:07
riteral???

576 :デフォルトの名無しさん:2009/04/01(水) 13:04:36
Python 4000 が出たよ

577 :デフォルトの名無しさん:2009/04/01(水) 13:06:21
恥パイはまだか

578 :デフォルトの名無しさん:2009/04/01(水) 13:41:13
foo = 5
bar = 2
foo > bar ? p foo : p bar

579 :デフォルトの名無しさん:2009/04/01(水) 17:25:34
>>577
http://www.amazon.co.jp/みんなのPython-改訂版-柴田-淳/dp/4797353953/ref=sr_1_3?ie=UTF8&s=books&qid=1238574311&sr=1-3

580 :デフォルトの名無しさん:2009/04/01(水) 17:27:30
ああ、恥かwww

581 :デフォルトの名無しさん:2009/04/01(水) 18:06:13
>>573
2.5.4使えよwww

582 :デフォルトの名無しさん:2009/04/01(水) 18:16:53
>>579
40ページ程増えてるな

583 :デフォルトの名無しさん:2009/04/01(水) 20:54:09
Debian使ってるんですよ。
今の安定板だと2.5.2なんですよね。
多分unstableの2.6とか使ってもモジュールがまだ少ないんじゃないかなと。


584 :デフォルトの名無しさん:2009/04/01(水) 20:57:03
>>579
昨日古い版買った俺、涙目

585 :デフォルトの名無しさん:2009/04/01(水) 22:06:35
>>584
どんまい

586 :デフォルトの名無しさん:2009/04/02(木) 04:22:16
本なんか買わなくても、2chで聞けば全部オッケー^^

587 :デフォルトの名無しさん:2009/04/02(木) 06:30:04
foo = 5
bar = 2
p foo if foo > bar else bar

588 :デフォルトの名無しさん:2009/04/02(木) 17:26:17
x = 1
if hoge(x, int):
  print 'x=int'

こんな感じの型を調べる組み込み関数ってありますか?

589 :デフォルトの名無しさん:2009/04/02(木) 17:28:53
type

590 :588:2009/04/02(木) 17:34:28
isinstance

591 :デフォルトの名無しさん:2009/04/02(木) 18:23:54
ruby

592 :デフォルトの名無しさん:2009/04/02(木) 19:29:53
簡単なチャットを作ってみたいので
オンラインについて書いてあるサイトを教えてもらえないでしょうか?

593 :デフォルトの名無しさん:2009/04/02(木) 20:14:23
http://www.google.co.jp/search?hl=ja&q=python+twisted&lr=lang_ja

594 :592:2009/04/02(木) 23:30:27
>>593
ありがとう
Twisted勉強するよ

595 :デフォルトの名無しさん:2009/04/03(金) 21:47:49
google が twitter 買収とか言ってる
どうなることやら
http://tsushima.2ch.net/test/read.cgi/news/1238757833/

596 :デフォルトの名無しさん:2009/04/03(金) 22:21:58
>>595
それがどうPythonに関係あるのか、ドラえもんに例えて説明してくれよ

597 :デフォルトの名無しさん:2009/04/03(金) 22:37:49
GvRがいるGoogleが買収するからにはPythonで書き直すだろう、ってこと?

598 :デフォルトの名無しさん:2009/04/03(金) 23:22:13
l = [1,2,3]
cart = l[2]

非破壊的な l.pop(2) 的な操作をするには
[] 演算子? を使わないと駄目なのでしょうか?

cart = l.copypop(2)
のようにリストを壊さないで取り出す
メソッドが欲しいです

599 :デフォルトの名無しさん:2009/04/03(金) 23:34:12
L.__getitem__(2)

600 :デフォルトの名無しさん:2009/04/03(金) 23:40:23
cart = []
class Food:
 def __init__(self, index):
  self.cart_index = index
  global cart
  cart.append(index)
  
  print(cart.index(self.cart_index))
  print(cart[self.cart_index])

何だろう index と明示的に書いたほうが
後で見直したときに直しやすいような気がする

601 :デフォルトの名無しさん:2009/04/04(土) 20:36:59
平屋

602 :デフォルトの名無しさん:2009/04/04(土) 20:39:27
馬鹿が馬鹿コード書いてる

603 :デフォルトの名無しさん:2009/04/04(土) 22:57:56
>>598
l[-1]

>>600
なんだこの意味不明なコードは

604 :デフォルトの名無しさん:2009/04/05(日) 01:29:55
Pythonに
Emacs Lispでいうところのfeaturepのような、その名前が存在するかどうか調べる方法はありますか?




605 :デフォルトの名無しさん:2009/04/05(日) 01:33:09
>>604
NameError を受け取ればいいだろ

606 :デフォルトの名無しさん:2009/04/05(日) 02:15:09
はあ?

607 :デフォルトの名無しさん:2009/04/05(日) 02:16:01
if "hoge" in locals() or "hoge" in globals():
とか?

608 :デフォルトの名無しさん:2009/04/05(日) 02:17:17
featurepを分かってない人たちが集ってるスレ?

609 :デフォルトの名無しさん:2009/04/05(日) 02:21:07
>>608
誰もがEmacs使ってるように思うなよ

610 :デフォルトの名無しさん:2009/04/05(日) 02:33:20
横レスで申し訳ないけど、CommonLispかAllegloぐらい使うだろ、もし使ってないなら
アドバイスなんてする側じゃなく他の人間から積極的に覚える側の人間だと思うよ。

611 :デフォルトの名無しさん:2009/04/05(日) 02:47:58
じゃあそっちが積極的にリファレンスでも読んでりゃいいじゃないか
ここはLisp勉強スレじゃない

612 :デフォルトの名無しさん:2009/04/05(日) 03:03:20
アドバイスする側で最初からつっぱねればいいのに
>>607でいらんことするから動きが分からないくせにとか
さらに意味の不明な返しをされててどうしようかと思ったら
>>611が書いてくれていた

613 :デフォルトの名無しさん:2009/04/05(日) 03:45:07
自分が知っていることを知らない他人は自分以下って思ってるんだろうね
視野が狭いってやだなあ


614 :デフォルトの名無しさん:2009/04/05(日) 03:56:13
>>605
そういえばそうですね
うっかりしてました
ありがとうございます
できることなら自分から存在だけチェックする方法もないかなぁとは思うんですが

>>607
説明不足で申し訳ないのですが、self.hoge をチェックしたかったので
クラス変数とかインスタンス変数はがチェックできない?ようでだめでした



615 :デフォルトの名無しさん:2009/04/05(日) 07:33:44
dir(self)

616 :デフォルトの名無しさん:2009/04/05(日) 08:06:27
自意識の高い馬鹿ほど始末に負えないよな。

617 :デフォルトの名無しさん:2009/04/05(日) 11:15:58
自分はどこまでわかってて、ここがわからないんです、
という形でわからない箇所のしぼりこみしないからだめなんだよなあ。

618 :デフォルトの名無しさん:2009/04/05(日) 13:03:13
Lispを知らない奴がプログラミングやってるのか

619 :デフォルトの名無しさん:2009/04/05(日) 13:21:14
プログラムばかりしてないで自分の知見を広げる努力をする程度の
知性があればもっと楽に生きられるのに

馬鹿だとただ生きる事すら大変だなあ

620 :デフォルトの名無しさん:2009/04/05(日) 13:26:53
セックスのこともしらず、生きてるんだろうなあ
馬鹿だと大変だなあ

621 :デフォルトの名無しさん:2009/04/05(日) 13:31:10
自己紹介乙

622 :デフォルトの名無しさん:2009/04/05(日) 13:33:21
プログラミングばっかりやってると上から目線の嫌なやつになってしまうのがよくわかるスレ

623 :デフォルトの名無しさん:2009/04/05(日) 13:36:39
pythonのお勉強スレでelispの方言を自慢するアホw

624 :デフォルトの名無しさん:2009/04/05(日) 13:52:46
なんか不可解な流れになってるけど、
言い負かされた奴が自作自演で相手の主張を歪めようとしてるんだろうな。
中級ネットファイターがよく使いそうな手。


625 :デフォルトの名無しさん:2009/04/05(日) 14:38:07
ネットファイター(笑)

626 :デフォルトの名無しさん:2009/04/05(日) 14:56:09
>>625
映画化決定!

627 :デフォルトの名無しさん:2009/04/05(日) 15:01:40
pass

628 :デフォルトの名無しさん:2009/04/05(日) 15:39:35
Pythonの場合
(((((((( ;゚Д゚)))))))ガクガクブルブルガタガタブルガタガクガクガクガクガク

LISPの場合
(((((((( ;゚Д゚,ガクガクブルブルガタガタブルガタガクガクガクガクガク)))))))

629 :デフォルトの名無しさん:2009/04/05(日) 15:41:56
汚いS式だなあ

630 :デフォルトの名無しさん:2009/04/05(日) 15:43:02
1

631 :デフォルトの名無しさん:2009/04/05(日) 16:12:47
>>628
本物のLISPの場合
(((((((( ;゚Д゚,ガクガクブルブルガタガタブルガタガクガクガクガクガク]


632 :デフォルトの名無しさん:2009/04/05(日) 16:13:51
Cの場合
{{{{{{{{?;゚Д゚}}}}}}}(ガクガクブルブルガタガタブルガタガクガクガクガクガク)

Pascalの場合
BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN?;゚Д゚ END END END (ry

Haskellの場合
;゚Д゚ $ $ $ $ $ $ $ $ ガクガクブルブルガタガタブルガタガクガクガクガクガク

コピペしてわかったけど括弧の対応が取れてないぜw

633 :デフォルトの名無しさん:2009/04/05(日) 16:23:16
pythonの場合
                      ;゚Д゚

634 :デフォルトの名無しさん:2009/04/05(日) 16:26:11

 

635 :デフォルトの名無しさん:2009/04/05(日) 16:33:30
htmlをプログラムだと言い張る人の場合

636 :デフォルトの名無しさん:2009/04/05(日) 16:39:02
質問なんですがPythonの演算子をみてると()って関数呼び出し、タプル の二つしかないようにみえて
ひょっとして演算子の順位を変える
(1 >> 2) + 1 ってひょっとして
1>>2の結果でタプルを作ってそれに + 1してるんですか?

637 :デフォルトの名無しさん:2009/04/05(日) 16:42:07
ひょっとしたらそうかもしれないね

638 :デフォルトの名無しさん:2009/04/05(日) 16:48:48
>>636
>>> t = (1,)
>>> t
(1,)
>>> #これは当然だよね。では
>>> t = 1,
>>> t
(1,)
>>> #これもtupleになった
>>> t = (1)
>>> t
1
>>> #これは当然ならない。
>>> #よって、tupleを作るのは()ではなく,だ。

639 :デフォルトの名無しさん:2009/04/05(日) 16:51:13
>>636
要素数が1つのタプルは (1,) と書くんだよ。
だから(1)はタプルではなく、ただの数値の1になる。

640 :デフォルトの名無しさん:2009/04/05(日) 16:58:38
>>638,639
ありがとうございます
根本的に間違ってたんだな

641 :デフォルトの名無しさん:2009/04/05(日) 16:59:29
>>633
不覚にも

642 :デフォルトの名無しさん:2009/04/05(日) 17:03:29
5.2.3 丸括弧形式 (parenthesized form)
http://www.python.jp/doc/release/ref/parenthesized.html

643 :デフォルトの名無しさん:2009/04/05(日) 18:55:09
htmlだって立派なプログラムですよね?

644 :デフォルトの名無しさん:2009/04/05(日) 19:01:05
と、言い張る会

645 :デフォルトの名無しさん:2009/04/05(日) 19:37:19
チューリング完全ではないが、プログラミング言語ではあると思う。

646 :デフォルトの名無しさん:2009/04/05(日) 19:38:14
プログラミング言語ではないが、言語ではある。

647 :デフォルトの名無しさん:2009/04/05(日) 19:40:17
マークアップ言語だな
プログラミング言語は計算ができないといけないはず

648 :デフォルトの名無しさん:2009/04/05(日) 19:45:44
計算というか自動化かろ

649 :デフォルトの名無しさん:2009/04/05(日) 19:53:53
計算理論的な意味での計算だから足し算とかそういう意味じゃないよ。

ちなみに埋め込みJavascriptとかで計算だけやることもできるけど
一般的に埋め込まれた言語のもつ性質は親言語の性質だとは言わない。
JavaからPython読んでもJavaにジェネレータがあるとは言わないように。

650 :デフォルトの名無しさん:2009/04/05(日) 19:56:06
人間はチューリング完全?

651 :デフォルトの名無しさん:2009/04/05(日) 20:12:43
Lispが出来てない奴は文系だろう

652 :デフォルトの名無しさん:2009/04/05(日) 20:29:54
>>651
×Lispができてない
○xyzzyをちょっとカスタマイズする以上のことをLispでやる必要性がなかった

653 :デフォルトの名無しさん:2009/04/05(日) 20:41:44
Lispにこだわってる人いるけど何なの?何かの欲求不満なの?

>>610
あとAllegloって何?Allegroだとしたら冷静に考えて「ぐらい使うだろ」っていう程のシェア持ってないと思うよ。

654 :デフォルトの名無しさん:2009/04/05(日) 20:42:43
つーか、普段からlisp使ってるの?
きもw

655 :デフォルトの名無しさん:2009/04/05(日) 20:55:57
>>651
elispだけがlispじゃないんだよ、ぼ

いや、やめとこ…。

656 :デフォルトの名無しさん:2009/04/05(日) 20:58:58
pass

657 :デフォルトの名無しさん:2009/04/05(日) 21:00:53
rubyこなくなったらlispかよ

658 :デフォルトの名無しさん:2009/04/05(日) 21:01:47
pass

659 :デフォルトの名無しさん:2009/04/05(日) 21:04:13
LispスレにもなぜかPython勧めてるやつがいるんだけど、
http://pc12.2ch.net/test/read.cgi/tech/1231856193/753


このスレのLisp厨と同一人物で互いを荒らして喜んでるだけじゃね?

660 :デフォルトの名無しさん:2009/04/05(日) 21:22:12
こういう悪足掻きを見ると、ホルホルせざるをえない。

661 :デフォルトの名無しさん:2009/04/05(日) 22:48:06
pass

662 :デフォルトの名無しさん:2009/04/05(日) 23:17:02
break

663 :デフォルトの名無しさん:2009/04/05(日) 23:53:41
passって書いてる人も何がしたいか分からんな。

664 :デフォルトの名無しさん:2009/04/06(月) 00:06:32
pass

665 :デフォルトの名無しさん:2009/04/06(月) 00:38:35
continue

666 :デフォルトの名無しさん:2009/04/06(月) 01:11:15
goto>>667

667 :デフォルトの名無しさん:2009/04/06(月) 01:16:05
NameError: name 'goto' is not defined

668 :デフォルトの名無しさん:2009/04/06(月) 02:05:11
やっぱりRubyは最強だな

669 :デフォルトの名無しさん:2009/04/06(月) 03:18:40
end

670 :デフォルトの名無しさん:2009/04/06(月) 03:29:47
もしかして荒らしてるつもりだったりするの?

671 :デフォルトの名無しさん:2009/04/06(月) 03:56:08
NoneじゃなくてNullにして欲しかったと思う今日この頃

672 :デフォルトの名無しさん:2009/04/06(月) 07:05:26
NULL = Null = null = Nothing = Nil = None

673 :デフォルトの名無しさん:2009/04/06(月) 08:09:13
>>672
nilの立場は?UndefinedObjectの立場は?

674 :デフォルトの名無しさん:2009/04/06(月) 10:16:09
RubyがNull使ってるじゃん

675 :デフォルトの名無しさん:2009/04/06(月) 10:21:45
>>673
あと Nil nIl NIl niL NiL nIL NIL もだな

676 :デフォルトの名無しさん:2009/04/06(月) 12:19:13
Muがいんじゃない?
禅の世界

677 :デフォルトの名無しさん:2009/04/06(月) 12:19:16
Nullby

678 :デフォルトの名無しさん:2009/04/06(月) 12:20:50
>>674
Ruby に Null なんてあったっけ
nil ならあるけど

679 :デフォルトの名無しさん:2009/04/06(月) 12:26:51
RGSSをやってみたら
RubyはPythonより劣ってるとよく分かりました

680 :デフォルトの名無しさん:2009/04/06(月) 15:14:29
pass

681 :デフォルトの名無しさん:2009/04/06(月) 15:17:29
sys.exit(1)

682 :デフォルトの名無しさん:2009/04/06(月) 16:09:45
raise SystemExit

683 :デフォルトの名無しさん:2009/04/06(月) 16:21:37
sys.exit は sys.stdin.close() を呼んでるな

684 :デフォルトの名無しさん:2009/04/06(月) 16:57:20
module foo
 BAKA = false
 def self.bar
  return true
 end
end
p foo::bar
p foo::BAKA


class foo:
 BAKA = false
 def bar(self):
  return true
cls = foo()
print cls.bar()
print cls.BAKA

685 :デフォルトの名無しさん:2009/04/06(月) 21:53:26
Portable Python登場、移動可能な開発スタック
http://journal.mycom.co.jp/news/2009/04/06/007/index.html

lxmlも入れて欲しかった

686 :デフォルトの名無しさん:2009/04/07(火) 10:54:41
Djangoがダメでweb.pyがお勧めらしい
http://www.aaronsw.com/weblog/rewritingreddit

687 :デフォルトの名無しさん:2009/04/07(火) 12:32:45
その辺のフレームワークは覚えるだけ時間の無駄な気がしてならない

688 :デフォルトの名無しさん:2009/04/07(火) 13:17:40
Djangoの中に遅延評価あったよね

689 :デフォルトの名無しさん:2009/04/07(火) 16:28:46
Djangoがダメなんじゃなくてダンジョーがダメなんだよ。

690 :デフォルトの名無しさん:2009/04/07(火) 17:16:01
>>687
気持ちはわからんではないが、
標準のWSGIだけだと
ASP.NETは言うに及ばず、Javaのサーブレット+JSPよりも低レベルだから
何かは欲しくなる
→自分で実装しても車輪の再発明にしかならん
って感じでないの

まあ俺はPythonでWebアプリとか作る機会無いんでよく知らんが
.NETの世界ではあのレベルのものが「標準で」揃ってるのは凄いやね

691 :デフォルトの名無しさん:2009/04/07(火) 18:47:53
google app eng
の位置づけがわからない

Djangoやweb.pyとくみあわせられるものなの?

692 :デフォルトの名無しさん:2009/04/08(水) 00:43:19
こういうコードを書いてみた。
def data(value):
dictional[len(dictional)] = value
return value
dictional = {}
for i in range(5):
print dictional.get(i,data(i))
for i in range(5):
print dictional.get(i,data(i))
print dictional
実行結果
0
1
2
3
4
0
1
2
3
4
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 0, 6: 1, 7: 2, 8: 3, 9: 4}

getは1降目のキーが有っても2項目を評価するみたい。
has_keyの条件わけで書けば良いって事なんだろうけど、これはこういうものなのかな?


693 :デフォルトの名無しさん:2009/04/08(水) 00:45:12
タブが消えたorz
def data(value):
  dictional[len(dictional)] = value
  return value
dictional = {}
for i in range(5):
  print dictional.get(i,data(i))
for i in range(5):
  print dictional.get(i,data(i))
print dictional


694 :デフォルトの名無しさん:2009/04/08(水) 01:03:22
>>693
わざわざ難しく書いているように見えるが何をしたいんだ?

695 :デフォルトの名無しさん:2009/04/08(水) 01:06:33
ttp://blog.livedoor.jp/dankogai/archives/51196878.html

また一つ、Pythonの書籍が子飼の手によってクソ本認定されたみたいだ

696 :693:2009/04/08(水) 01:30:37
辞書からキーに対応するデータを取り出して、
なかったらデータを作って辞書に登録して値を返す。
という事がしたかったんですが・・・
 上段のforではキーがないのでデータが生成されるのは良いのですが
 下段のforではキーがあるのにデータが生成されてしまうという。
わかりやすくなるように今回与えたデータはrange(5)ですが、
実際にはほぼランダムな100種1000個くらいの数値と思っていただければ。

697 :デフォルトの名無しさん:2009/04/08(水) 01:45:33
setdefault使えば?
それと、そのコードだとdictional.getが呼び出される前に必ずdata(i)が評価されると思うけど

698 :デフォルトの名無しさん:2009/04/08(水) 01:55:46
ああ、Ruby使う方が効率的かもしれん

699 :デフォルトの名無しさん:2009/04/08(水) 02:00:11
>>696
http://docs.python.org/library/collections.html#id3

700 :デフォルトの名無しさん:2009/04/08(水) 02:14:55
アドレスのコピペはだれでもできるんですよねえ、そういうのを求めてるわけじゃなく。

701 :デフォルトの名無しさん:2009/04/08(水) 02:47:40
先生!
>>693 は糞コードすぎると思います!
setdefault や defaultdict を使えば良くなるとは思いますが、それ以前に勉強がまったく足らんのだと思いますっ
has_key とか言ってる時点でセンスなさすぎです!

702 :デフォルトの名無しさん:2009/04/08(水) 03:16:34
Makefileに
python setup.py install
と書いてしまうか
setup.pyにmakeでする処理を書いてしまうか
どっちがいいんだ

703 :デフォルトの名無しさん:2009/04/08(水) 03:21:11
Python始めて3日目の俺が答えてみるけど、求めてるのはこういうこと?

dictional.get(i) or data(i)

>>692 のコードでは確認用のキーと生成するキーが不一致なので
setdefault(i, i) は意味が変わってしまうと思うんだけど

結局、プログラムの問題じゃなくてデータ構造の設計に問題がありそうな気がする
キーが常に連番で生成されるならなぜ単なる配列にしておかないの、とか

704 :デフォルトの名無しさん:2009/04/08(水) 08:42:24
>>693
今までどういう言語の経験があるの?
そこでdata(i)が評価されないことがあるとしたら、
そうとう特殊な遅延評価だね。
>>703はもうちょっと人の書いたこと読んでからレスしたほうがいいと思う。



705 :デフォルトの名無しさん:2009/04/08(水) 08:56:38
まあまあ
>>703 のいうことはだいたい正しいとおもうけど。
Python では 0 が偽になることだけ注意すればね。


706 :693:2009/04/08(水) 08:59:24
なんというか、あいまいに切り出しすぎたかも知れない・・・
ツリー状の関連性を持つ要素がランダムに名前をキーとしてsorce_dicに入ってます。
こいつを並べ替えた上で、並べ替えた後の親の番号を子に持たせる必要がある。というのが現状なんですが。
ツリーなんだから再起処理掛けてしまえと思ったことも間違いの元なのだろうか・・・・

sorce_dic = {ここに元データがある}
result_dic = {}

def SetData(item_name):
  data = sorce_dic[item_name]
  result_data = {}
  #ここに処理が入る
  if len(data["parent"]) != 0:
    result_data{"parent"} = result_dic.get(data["parent"],SetData(data["parent"]))
 
  new_no = len(result_dic)
  result_dic[new_no] = result_data
  arm_status["pmd_bones"][arm_status["pmd_id_dic"][bone.name]] = pmd_bone

  return new_no

for data in sorce_dic:
  result_dic.get(data["parent"],SetData(data["parent"]))

問題の場所が初めに提示した部分で
.getの1項目が存在すれば2項目は評価されないだろう、と安易に考えてのことだったんですが。


707 :デフォルトの名無しさん:2009/04/08(水) 09:11:51
>>706
>>704に答えてくれないので端的な答。
pythonの式はオブジェクトではありません。

708 :693:2009/04/08(水) 09:12:51
書き換え中に送信とか、もうね。。

sorce_dic = {ここに元データがある}
result_dic = {}
result_data = {}

def SetData(item_name):
  data = sorce_dic[item_name]
  result_data = {}
  #ここに処理が入る
  if len(data["parent"]) != 0:
    result_data{"parent"} = result_dic.get(data["parent"],SetData(data["parent"]))
 
  new_no = len(result_dic)
  result_data[new_no] = result_data
  result_dic[item_name] = new_no
  return new_no

for data in sorce_dic:
  result_dic.get(data["parent"],SetData(data["parent"]))

709 :693:2009/04/08(水) 09:21:27
>>707
これは失礼した。
言語経験ってほどのものは無いと言ったほうが良いでしょう、広く浅くいろんなところを回ってきたので。
>pythonの式はオブジェクトではありません。
との回答なので、そもそも仕様を理解してなかったということですね。
(そもそも式とかオブジェクトとかの概念がどう絡んでくるかもわからんです・・・)

710 :デフォルトの名無しさん:2009/04/08(水) 10:27:09
馬鹿がレスするとみんなが消えて行くな

711 :デフォルトの名無しさん:2009/04/08(水) 11:36:56
群がってくるや奴もいるけどな

712 :デフォルトの名無しさん:2009/04/08(水) 12:26:38
まぁ初心者スレじゃないし説明下手だけど
群がってる人のレスも醜いね

713 :デフォルトの名無しさん:2009/04/08(水) 12:42:50
どうしても「被害者様」になりたい人が荒らしてるだけじゃないの?

714 :デフォルトの名無しさん:2009/04/08(水) 12:45:04
パイソンには荒らしは通用しない。

715 :デフォルトの名無しさん:2009/04/08(水) 13:07:01
自己紹介乙です

716 :デフォルトの名無しさん:2009/04/08(水) 13:47:02
>>702
自前プログラムのインストールスクリプトを
(makeじゃなくて)全部setup.pyで書けば,
unixだけじゃなくてwindowsでも使えるのかな

717 :デフォルトの名無しさん:2009/04/08(水) 13:48:06
class foo:
 def __init__(self):
  print self.__init__.__name__
 
 def bar(self):
  print self.bar.__name__

foo()
foo().bar()



self.__class__.__name__のように、他でも使える方法ってありませんか?
self.__func__.__name__みたいな感じに…

718 :デフォルトの名無しさん:2009/04/08(水) 14:28:44
import sys
def funcname():
 return sys._getframe(1).f_code.co_name
class foo:
 def __init__(self):
  print funcname()
 def bar(self):
  print funcname()

719 :デフォルトの名無しさん:2009/04/08(水) 16:30:11
>>716
setup.pyに書いた方が無難だぜ
でもWindows対応は色々死ねるけどな
ホント セットアップスクリプトは地獄だぜ! フゥハハハーハァー

720 :デフォルトの名無しさん:2009/04/08(水) 17:03:51
クラスの中にクラスを作って、子クラスの中から親インスタンスオブジェクトを参照するにはどうすれば良いですか?

721 :デフォルトの名無しさん:2009/04/08(水) 17:05:29
すまん。自己解決。

722 :デフォルトの名無しさん:2009/04/08(水) 17:48:36
>>721
解決してないです。ふざけないでください。

723 :デフォルトの名無しさん:2009/04/08(水) 18:52:27
>>720
用語に詳しくないみたいだから、
短いコードで示したほうがいいよ。
ついでに言うと、くだすれ向けだと思う。

724 :デフォルトの名無しさん:2009/04/08(水) 19:38:43
>>723
アトリビュートって言った方が良かったな。
具体的には、

class foo:
_def __init__(self,ham):
__self.spam=ham
っていう状況で、
_class bar:
の中からfooのhamを参照する感じ。

725 :デフォルトの名無しさん:2009/04/08(水) 19:43:31
仮引数を参照して何をしたいのだろう・・・

726 :デフォルトの名無しさん:2009/04/08(水) 19:46:29
>>724
fooの初期化時にselfのbarを書き換えればいいんじゃね?

727 :デフォルトの名無しさん:2009/04/08(水) 20:08:44
>>725
ファイルごとのインスタンスの下に、シーク位置ごとのインスタンスを作りたいんだ。

>>726
ちょっと書いてみるわ。

728 :デフォルトの名無しさん:2009/04/08(水) 20:19:23
>>726
class Foo:
 def __init__(self,ham):
  self.spam = ham
  self.Bar.spam = ham
 class Bar:
  spam = 0

>hoge = Foo(1)
>hoge.Bar.spam
1
>piyo = Foo(2)
>piyo.Bar.spam
2
>hoge.Bar.spam
1

ダメじゃねーか

729 :デフォルトの名無しさん:2009/04/08(水) 20:30:36
それ、どういう結果になってほしかったんだ?
こうか?

>hoge = Foo(1)
>hoge.Bar.spam
1
>piyo = Foo(2)
>piyo.Bar.spam
2
>hoge.Bar.spam
2

730 :デフォルトの名無しさん:2009/04/08(水) 20:32:41
>>729
いや、誤植した。すまん。
そっちが欲しい結果だわ。

731 :デフォルトの名無しさん:2009/04/08(水) 20:41:37
class Foo(object):
  bar = Bar()

  def __init__(self, ham):
    self.spam = ham
    self.bar.spam = ham

class Bar(object):
  pass

これじゃだめなのか?

732 :デフォルトの名無しさん:2009/04/08(水) 20:45:07
>>731
それだと>>728になっちゃうな。
bar=Bar()をinit内に入れればおkか?

733 :デフォルトの名無しさん:2009/04/08(水) 20:48:15
>>732
class Bar:
  pass

class Foo:
  def __init__(self, ham):
    self.Bar=Bar()
    self.spam = ham
    self.bar.spam = ham

できた!ありがとう。

734 :デフォルトの名無しさん:2009/04/08(水) 21:00:10
>>696
>辞書からキーに対応するデータを取り出して、
>なかったらデータを作って辞書に登録して値を返す。
>という事がしたかったんですが・・・

その日本語の解説がそのままコードにすればいいだけだと思うけど。

シンプルに書こうとして意図を不明確にするパターンじゃないか?

735 :デフォルトの名無しさん:2009/04/08(水) 21:03:14
あ、いや。だめだ。
self.Barはインスタンスじゃなくて、クラスにしたい。

736 :デフォルトの名無しさん:2009/04/08(水) 21:13:09
>>720,722から>>723-724あたりの口調の変化が
おもしろい。

737 :デフォルトの名無しさん:2009/04/08(水) 21:14:19
>>735
できたぞ。ものすごく変態だが。

class Foo:
 def __init__(self,ham):
  class Bar:
   pass
  self.Bar = Bar
  self.Bar.spam = ham

738 :デフォルトの名無しさん:2009/04/08(水) 21:15:08
>>735
用語の使い方も混乱してるし、なにがしたいのかわけわからん
正直まだ、誰かに質問するレベルではないと思う
初心者向けの本でも買ってとりあえず熟読してくれ
どうしても質問したいなら、くだすれ行ってくれ

739 :デフォルトの名無しさん:2009/04/08(水) 21:17:09
>>738
いや、分かるだろ。

740 :デフォルトの名無しさん:2009/04/08(水) 21:18:21
ID欲しい・・・

741 :デフォルトの名無しさん:2009/04/08(水) 21:19:23
>>740
そうねー。


742 :デフォルトの名無しさん:2009/04/08(水) 21:28:05
>>706
>こいつを並べ替えた上で、
どう並べ替える?

>並べ替えた後の親の番号を子に持たせる必要がある。
番号って?

もっと日本語で問題を整理するべきだな。
ちゃんと整理出来れば、それを逐次Pythonコードに変換して行くだけで動くコードになるから。


743 :デフォルトの名無しさん:2009/04/08(水) 21:36:56
734とか742とか、もうだまってればいいのに。
お前が日本語読解力の努力が必要だよ。

744 :デフォルトの名無しさん:2009/04/08(水) 22:00:50
  П===П
 ( ・ ∀ ・ )サツバツトシタスレニ チャージクン
 (Θ @ Θ)
<,.,.,.,.,,..,.,.,.,.,>

まぁプログラミングスレなんだから、ある程度の日本語の違いは置いておこうぜ。

745 :デフォルトの名無しさん:2009/04/08(水) 22:02:50
pass

746 :デフォルトの名無しさん:2009/04/08(水) 22:19:30
CPythonとCythonって何が違うのですか?

747 :デフォルトの名無しさん:2009/04/08(水) 22:21:08
おっぱいとぱいぱんくらい違うよ。

748 :デフォルトの名無しさん:2009/04/08(水) 22:21:54
CPython いわゆる普通のPythonの処理系
Pythonはjavaだとか.NETとかでかかれたものもあるのでCで書かれたものをあえて区別するときはこう呼ぶ

Cython
ぐぐれ

749 :デフォルトの名無しさん:2009/04/08(水) 22:24:42
うだつの上がらないクソエンジニアが暴れおってかたわらいたいわ(wwWwwWWwwwWwwwwwwWWWwww

750 :デフォルトの名無しさん:2009/04/08(水) 22:25:57
片腹な

751 :750:2009/04/08(水) 22:28:02
と書いた直後にぐぐったら傍ら痛いが語源なのか
うだつのあがらないクソエンジニアの漏れは吊ってこよう

752 :デフォルトの名無しさん:2009/04/08(水) 22:31:52
自殺予告として通報しておいた
安心しろ

753 :デフォルトの名無しさん:2009/04/08(水) 22:43:06
今日は臭いレス多いね

754 :デフォルトの名無しさん:2009/04/08(水) 23:02:38
語源の意味に取ると、まさにツンデレっていうことだなw

755 :デフォルトの名無しさん:2009/04/08(水) 23:25:44
pass

756 :デフォルトの名無しさん:2009/04/08(水) 23:42:16
Rubyが分からないエンジニアは、エンジニアじゃない。

757 :デフォルトの名無しさん:2009/04/09(木) 00:20:41
非プログラマなWindowsユーザーのためにプログラムを作る場合、Pythonの方がウケがいい。
アイコンかわいいしね。Rubyのアイコンはなんであんなにダサいんだろう。

758 :デフォルトの名無しさん:2009/04/09(木) 00:27:34
ぼくは昨日rubyをインストールしましたが、
おしゃれなデスクトップがruby consoleというショートカットに犯されました。
ゆきひろまつもとさんに謝罪を要求します。

759 :デフォルトの名無しさん:2009/04/09(木) 01:15:11
すみません初心者なんですが
>>720が言っているのはこういうことですか?
プロの人に聴きたいです
class Baka:
def __get__(self, instance, owner):
return owner

class Foo:
ins = B()
spam=ham
def baka(self):
return self.ins.spam


760 :デフォルトの名無しさん:2009/04/09(木) 01:17:05

class Foo:
class Baka:
def __get__(self, instance, owner):
return owner

ins = Baka()
spam=ham
def baka(self):
return self.ins.spam

761 :デフォルトの名無しさん:2009/04/09(木) 01:19:52
すみません、ミスりました
黙って消えます・・・

762 :デフォルトの名無しさん:2009/04/09(木) 01:24:45
ちゃんと書かないと気持ち悪いので一応書いておきます。
答えを教えてください。
そういうスレですよね。。。

class Foo:
  class Baka:
    def __get__(self, instance, owner):
      return owner
  ins = Baka()
  spam=ham
  def baka(self):
    return self.ins.spam

763 :デフォルトの名無しさん:2009/04/09(木) 01:32:05
__init__でするとふつーにエラー出ますね。
何でですか?

class Foo:
  def __init__(self, hum='hage')
    self.spam = hum
  class Baka:
    def __get__(self, instance, owner):
      return owner
  ins = Baka()
  spam=ham
  def baka(self):
    return self.ins.spam
c = Foo()
c.baka()


764 :デフォルトの名無しさん:2009/04/09(木) 01:38:40
自己解決しました。
スレ汚しすみません。
勉強不足でした。。。
叩かないでください。

765 :デフォルトの名無しさん:2009/04/09(木) 01:54:17
西尾さんの本を読むととても上達するよ。

766 :デフォルトの名無しさん:2009/04/09(木) 01:56:56
ありがとうございます(^^)

767 :デフォルトの名無しさん:2009/04/09(木) 02:08:25
いえいえ。どうぞどうぞ。><

768 :デフォルトの名無しさん:2009/04/09(木) 02:18:21
これはインド人もびっくりの自演ですね

769 :デフォルトの名無しさん:2009/04/09(木) 03:07:58
ロシアはオソロシイアルヨ

770 :デフォルトの名無しさん:2009/04/09(木) 11:28:44

26 :デフォルトの名無しさん:02/05/10 17:33
>>24
せっかちだな。(w
http://jython.sourceforge.net/


771 :デフォルトの名無しさん:2009/04/09(木) 17:36:37
日本語のマニュアルが完備してるから
ここに来る前にそれ読んだら
質問するまでもない鴨

772 :デフォルトの名無しさん:2009/04/09(木) 18:37:50
list型の__getitem__でやっている作業を教えていただけないでしょうか?
具体的には、各インデックスの値をどこにしまっているのかが知りたいです。

773 :デフォルトの名無しさん:2009/04/09(木) 20:21:09
ソース嫁

774 :デフォルトの名無しさん:2009/04/10(金) 04:18:37
おはようおっぱい
おつかれおっぱい

775 :デフォルトの名無しさん:2009/04/10(金) 20:26:16
列車に乗って思った 光の速度に近づけば 寿命がのびると。
光の速度は 1秒間に30万キロ だ10^8 3億m
いやそんなことは どうでもいい E=10^4m x 10^4m xm
とつまり 1秒間に1000回 pを叩たけばいいわけだ 
やりましょう やりましょう。
pが4000個叩くと光の速度にたっするので。

pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp

pが50の列4行 でpは200個

776 :デフォルトの名無しさん:2009/04/10(金) 20:31:53
pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp

pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp

疲れた nをいれようnpp でー1
nnnpnnnpnppppnpnpnpnpnpppnpnpnpnpppnpnpnpppnpnpnpppnpnpnpppnpnnnnnpppnpnppppppppppn
nnnnnpppppnpnpnpppppnpnpnpppppnpnpnpppppnpnpnpppppnpnpnpppppnpnpnpppppnpnpnppppp
npnpnppppnpnpnppppppnpnnnnnpnnnnnpnnnnnpnpnppppnpnpnnnnnnpnpnpppppn
npnpnpppppnpnpnppppppnpnpnpp

777 :デフォルトの名無しさん:2009/04/10(金) 20:48:10
秀和の「速攻Python」買ったけど、すげー分かり難い・・・
解説適当すぎ

778 :デフォルトの名無しさん:2009/04/10(金) 20:50:32
他社から同じような本が出てるなら秀和の本は買うな。
これ原則。例外は他社が秀和よりしょぼい場合。

779 :デフォルトの名無しさん:2009/04/10(金) 21:08:19
だめだ

金無いけどはじパイの3版買ってくるわ

780 :デフォルトの名無しさん:2009/04/10(金) 21:36:36
http://www.amazon.co.jp/Django%C3%97Python-LL%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AFBOOKS-%E9%9C%B2%E6%9C%A8-%E8%AA%A0/dp/477413760X/ref=pd_sim_b_1

Amazonだと評価高いみたいだけど初心者でも大丈夫?

781 :デフォルトの名無しさん:2009/04/10(金) 22:05:35
>>778
秀和のポケットリファレンス系は好きなんだが、あれも読みづらいほうかね?

782 :デフォルトの名無しさん:2009/04/10(金) 23:43:21
西尾さんの本を読んだら潮吹いた

783 :デフォルトの名無しさん:2009/04/11(土) 01:40:54
pythoncomのVT_VECTORとかVT_LPSTRなどに対応するオブジェクトを作りたいんですが、
まったく解りません.
VT_I4なら単純に
i = 1;
とかでおkだと思うんですが、VT_VECTOR, VT_ARRAYなどはどうすりゃいいですか
array = ["hoge","hige","hage"];
とか?

784 :デフォルトの名無しさん:2009/04/11(土) 02:32:52
python 関係ないな


785 :デフォルトの名無しさん:2009/04/11(土) 03:15:44
Rubyに関係してるな

786 :デフォルトの名無しさん:2009/04/11(土) 07:29:51
__init__.py の使い方について教えてください
例えば
./hoge.py
./fuga/__init__.py
./fuga/piyo.py
という構成でファイルがあって
piyo.py の中に class Piyo があるとすると
hoge.py からは
1)import fuga.piyo -> p = fuga.piyo.Piyo()
2)from fuga.piyo import Piyo -> p = Piyo()
3)from fuga import piyo -> p = piyo.Piyo()
4)from fuga import * -> p = pyo.Piyo()
で利用出来るようですが
5)import fuga -> p = fuga.piyo.Piyo() #エラー?
6)import fuga -> p = fuga.Piyo() #エラー?
なぜ 5 だとだめなのかよく分かりません
出来れば 6 の形で使いたいのですが
__init__.py に何をどう書けば良いのでしょう?

787 :デフォルトの名無しさん:2009/04/11(土) 08:46:38
from piyo imoport *

788 :デフォルトの名無しさん:2009/04/11(土) 17:54:09
Python3に移行したらHTTPCookieProcessorが消えた
わけわかんね

789 :デフォルトの名無しさん:2009/04/11(土) 18:38:05
>>788
たしか場所変わっただけかと

790 :デフォルトの名無しさん:2009/04/11(土) 19:55:31
わかんねんだけど

791 :デフォルトの名無しさん:2009/04/11(土) 20:32:22
2to3

792 :デフォルトの名無しさん:2009/04/11(土) 21:18:55
よけいにわけわかんね

793 :デフォルトの名無しさん:2009/04/11(土) 21:19:50
Ruby to Python

794 :デフォルトの名無しさん:2009/04/11(土) 21:23:16
grep

795 :デフォルトの名無しさん:2009/04/11(土) 21:46:20
よくわかんねからRubyつかうことにしてみた

796 :デフォルトの名無しさん:2009/04/11(土) 21:52:21
>>795
おぬでとう

797 :デフォルトの名無しさん:2009/04/11(土) 22:54:40
cpythonってなんですか?

798 :デフォルトの名無しさん:2009/04/11(土) 23:43:41
bpythonの次に作られたもの

799 :デフォルトの名無しさん:2009/04/11(土) 23:43:52
pythonのこと

800 :デフォルトの名無しさん:2009/04/11(土) 23:44:15
はやいおぱい

801 :デフォルトの名無しさん:2009/04/11(土) 23:51:09
CMSと連携する結構大きめのWEBアプリケーション作ろうと思って
Pythonとジャンゴについて調べてた
さあ、本買おうとおもって書店に行ったらみんなのPython1冊しか置いてないので
なんかよくわからんけど気づいたらRubyとRailsの本持ってレジに並んでたわ・・・
Pythonで作ったらその後の保守できる人間が見つからなくて大変そうだし・・・

802 :デフォルトの名無しさん:2009/04/11(土) 23:51:34
α版→β版→(Release)Candidate版

803 :デフォルトの名無しさん:2009/04/12(日) 00:10:37
>>789
ありがと、urllib.requestにあった
このくらい2to3で勝手に直してくりゃいいのに

804 :デフォルトの名無しさん:2009/04/12(日) 00:44:56
このくらい調べてくりゃいいのに

805 :デフォルトの名無しさん:2009/04/12(日) 02:12:42
ここって検索スレでしょ?

806 :デフォルトの名無しさん:2009/04/12(日) 02:18:25
>>801
RoRならPythonよりも保守できる人間が多いと思ってそうなところが痛い


807 :デフォルトの名無しさん:2009/04/12(日) 09:40:52
事実でしょ?

808 :デフォルトの名無しさん:2009/04/12(日) 09:59:04
>>803
多分最新の 2to3 なら直してくれる。
Python 3.0.1 よりも Python 3.1a2 の方が完成度高いかもよ。

809 :デフォルトの名無しさん:2009/04/12(日) 10:16:35
>>395 の方法を、 ipython と idle の該当バグの部分に投稿してみた。
採用されるかどうか wktk。

本当は、 compile() 関数が encoding 引数をとるのが良いと思うんだけどね。


810 :デフォルトの名無しさん:2009/04/12(日) 11:12:47
RoR は動きすぎるターゲットだから保守きつい
2.x になったとき互換性のなさにワラた

811 :デフォルトの名無しさん:2009/04/12(日) 13:08:56
Merbとの統合で一気に変わるよ、すくなくとも駄目言語Pythonより遥かに未来を行っている

812 :デフォルトの名無しさん:2009/04/12(日) 13:16:37
駄目言語って言葉初めて聞いた

813 :デフォルトの名無しさん:2009/04/12(日) 13:28:09
また非互換になって、過去と決別するってことですね、わかります

814 :デフォルトの名無しさん:2009/04/12(日) 15:08:32
たまにはそういうのもいいけどね。たまには

815 :デフォルトの名無しさん:2009/04/12(日) 15:18:31
マイナーバージョンアップのたびにフルリグレッションかけなきゃ不安なのは勘弁してほしい > matz

816 :デフォルトの名無しさん:2009/04/12(日) 15:22:17
だけどRubyからPythonが奪ったもの、多いよね?

817 :デフォルトの名無しさん:2009/04/12(日) 15:44:47
やっぱ互換性は重要だわ

818 :デフォルトの名無しさん:2009/04/12(日) 17:16:57
次のメジャーアップではそんなことは無いだろうと願いたい
いやマジで

819 :デフォルトの名無しさん:2009/04/12(日) 19:05:48
未来を迷走しているのがRuby
現在を着実に歩いているのがPython

820 :デフォルトの名無しさん:2009/04/12(日) 19:16:19
ヘビがキモイのがPython
荒らしがキモイのがRuby

821 :デフォルトの名無しさん:2009/04/12(日) 19:25:43
>>820
座布団3枚

822 :デフォルトの名無しさん:2009/04/12(日) 19:28:19
>>816
なにか持っていっても普通は減らないからな
奪ったって言ってるってことは開発陣のことを言ってるのかい?

823 :デフォルトの名無しさん:2009/04/12(日) 19:40:24
>>816
多くないよ
だって実際には Ruby はパクりの継ぎ接ぎだから、Ruby の上流からパクったかどうか区別付かないし
でも、Ruby 1.9 の StopIteration は Python のパクりだと確信しているw

824 :デフォルトの名無しさん:2009/04/12(日) 19:55:30
良いところはどんどん盗んでくれ。

825 :デフォルトの名無しさん:2009/04/12(日) 21:18:40
劣化Rubyコピー、それがPython。

826 :デフォルトの名無しさん:2009/04/12(日) 21:46:19
>>825
完全に同意。首がもげるほど納得。
Rubyこそ、最強、最速!

だから、バカPythonっていうか、おっぱい村
なんかの相手してないで、Rubyに帰ろう!

827 :デフォルトの名無しさん:2009/04/12(日) 21:51:55
どう見てもRuby信者に見えない…

828 :デフォルトの名無しさん:2009/04/12(日) 22:40:56
どちらかというと Ruby を貶めようとする工作員と思われるが
なぜこのスレに来ているのかは理解できん


829 :デフォルトの名無しさん:2009/04/12(日) 22:57:13
とりあえずおっぱいをもんで落ち着くんだ

830 :デフォルトの名無しさん:2009/04/12(日) 23:04:02
おやおや今日もruby厨の荒らしですか

831 :デフォルトの名無しさん:2009/04/13(月) 04:35:51
PythonのパクリといえばJavaScriptの方はあまり話題にならないな

832 :デフォルトの名無しさん:2009/04/13(月) 10:05:51
javascriptはimportがないから、どの環境でどのモジュールが使えるかわからん
ちょっと遊んでみたいと思っても気軽に試せない

言語仕様を見る限り悪い言語じゃないと思うんだけど……

833 :デフォルトの名無しさん:2009/04/13(月) 14:14:29
rubyは継続つかえるんだよね
互換性の問題さえ解決してくれればなあ

834 :デフォルトの名無しさん:2009/04/13(月) 14:43:32
>>832
仕様は最強と言ってもいいくらい必要なものがあって余計なものがないけど、
出身が<script src="module.js"></script>みたいなところというのが
あれなんですよ、もっさん。

835 :デフォルトの名無しさん:2009/04/13(月) 21:08:26
>>816>>823
パクリも何も、
pythonもrubyもJavaもC#も所詮アレから生まれたアイデアを
Cっぽく記述するためにがんばってるに過ぎないじゃないか。

836 :デフォルトの名無しさん:2009/04/13(月) 22:00:10
>>835
Smalltalkですね、わかります。

837 :デフォルトの名無しさん:2009/04/13(月) 22:02:54
hsp?

838 :デフォルトの名無しさん:2009/04/14(火) 00:32:29
>>836
そこでObjective-Cですよ。
PyObjCにしろRubyCocoaにしろ開発陣が妙に頑張ってるのが面白い。

839 :デフォルトの名無しさん:2009/04/15(水) 08:44:24
なにこいつキモ

840 :デフォルトの名無しさん:2009/04/15(水) 08:47:06
そうか?

それより、なんか急に過疎ったな。

841 :デフォルトの名無しさん:2009/04/15(水) 14:06:53
2.6.2 正式版リリース上げ

842 :デフォルトの名無しさん:2009/04/15(水) 14:41:09
IDないからな

843 :デフォルトの名無しさん:2009/04/15(水) 15:11:13
>>841
Issue #4566治ってねぇぇぇぇ

844 :デフォルトの名無しさん:2009/04/16(木) 00:33:36
>>843
修正されてますよ。

845 :デフォルトの名無しさん:2009/04/16(木) 00:44:35
>>844
Issue #4566治ってねぇぇぇぇ

846 :デフォルトの名無しさん:2009/04/16(木) 01:24:26
お疲れぅいっしゅ

847 :デフォルトの名無しさん:2009/04/16(木) 02:32:31
今あたってるパッチじゃ駄目いうてるんか?
でもステータスが閉じちゃってるぞ

848 :デフォルトの名無しさん:2009/04/16(木) 04:26:38
>>844
ソース見たけど治ってるみたいね
NEWS.txtには書いてなかったから勘違いしてた

849 :デフォルトの名無しさん:2009/04/16(木) 14:54:59
おっPyバレー見に行こうぜ

850 :デフォルトの名無しさん:2009/04/16(木) 15:26:28
エンバグしてるじゃねーか
http://svn.python.org/view/python/branches/release26-maint/Lib/logging/__init__.py?r1=68830&r2=69448

unicode「じゃない」 もしくは encodingがない => そのままwrite
のはずが
unicode もしくは encoding がない => そのままwrite
になってる!

logging.warn(u"ほげ") が文字化けするよ。

851 :850:2009/04/16(木) 15:49:43
登録してきた
http://bugs.python.org/issue5768

Python 2.6.2 インストールした人は logging 使う前に↑のパッチ当てて。

852 :デフォルトの名無しさん:2009/04/16(木) 16:24:40
質問させてください。
python初心者なのですが、とあるWebベージのheaders情報を取得したいと思っています。

conn = httplib.HTTPConnection(url)
conn.request('GET', 'index.html')
response = conn.getresponse()
print response.getheaders()

このようにheadersを取得して、headers情報は取得できているのですが、
同じページをphpのget_headersで取得するとheadersが30個くらいあります。
ですが、このpythonの方法だと8個くらいしか取得できません。

Webページで送られてくるheaders情報をすべて取得するにはどうしたらいいのでしょうか?

853 :デフォルトの名無しさん:2009/04/16(木) 16:57:19
なぁ、PHPってウェブに特化した言語だよな?
なんでレスポンスとリクエストの区別もつかない人間が使ってるんだ?

854 :デフォルトの名無しさん:2009/04/16(木) 17:15:27
>>853
こういうことですか?
res = urllib.urlopen(url)
print res.info()

855 :デフォルトの名無しさん:2009/04/16(木) 19:08:31
ctypes経由でopencv使えばPILいらないと思うんだ

856 :デフォルトの名無しさん:2009/04/16(木) 20:15:25
そうだね

857 :デフォルトの名無しさん:2009/04/16(木) 21:05:19
>>853
str(urllib.FancyURLopener({}).open(url).info())
で幸せになれるかもしれない。

858 :デフォルトの名無しさん:2009/04/16(木) 21:07:15
>>852
>>857

859 :デフォルトの名無しさん:2009/04/16(木) 21:37:10
単項演算子のアスタリスクってどういう役割ですか?
ポインタ的なものじゃないよね?
掛け算の話ではないです。


860 :デフォルトの名無しさん:2009/04/16(木) 21:40:56
>>859
節子、それ演算子やない……引数のアンパックや!

861 :デフォルトの名無しさん:2009/04/16(木) 21:43:54
な、なんだってー。
ググれそうなヒントをありがとう。


862 :デフォルトの名無しさん:2009/04/16(木) 21:45:05
http://www.python.jp/doc/2.4/ref/calls.html

**とかいつまでたっても覚えられないぜ

863 :デフォルトの名無しさん:2009/04/16(木) 21:53:01
俺しょっちゅう**kwargsって書いてる気がするな
*argsより多い

864 :デフォルトの名無しさん:2009/04/16(木) 22:39:15
compilerパッケージを使って、配布用のプログラムのソースを隠すことってできますか?

865 :デフォルトの名無しさん:2009/04/16(木) 23:04:50
やっぱ記号って意味を調べにくいよね。
英単語のキーワードになってるのがありがたい。

866 :デフォルトの名無しさん:2009/04/16(木) 23:46:22
記号関連でチュートリアルに含まれてないのは
デコレータだけだ。

867 :デフォルトの名無しさん:2009/04/17(金) 00:38:17
>>864
はい

868 :デフォルトの名無しさん:2009/04/17(金) 10:13:56
してやられーた

869 :デフォルトの名無しさん:2009/04/17(金) 11:22:07
>>857
>>858

確かにこれで出力される項目が変わりました!
でも、全部というわけではなく、一部という感じです。

これで出て来ないheaderはpythonでは取れないという結論でいいのでしょうか?

ちなみに、youtubeのダウンロード用URLのheaderを取りたいんです。
ttp://www.youtube.com/get_video?video_id=rvAvWjQ24lk&t=vjVQa1PpcFNZWRoPVEyS5Zmx8LhJ3z3O4u_0-nIOsgo%3D&fmt=18
このURL、Locationヘッダがいるはずなんですけど。。。pythonだと出て来ない。。。

870 :デフォルトの名無しさん:2009/04/17(金) 11:31:27
>>869です。
連続すいません。

>>857
>>858
ありがとうございます。
幸せになれました。

871 :デフォルトの名無しさん:2009/04/17(金) 13:27:13
>>869
そのURLをGETしても、HTTP Response Header は 8つしかないぞ。
PHPがどんな動きをしているのかしらんが、PHPのキモイ仕様に間違った知識を
植え付けられてないか?
ちょっとPHPでヘッダを取得するコードとやらを見せてくれ。

872 :デフォルトの名無しさん:2009/04/17(金) 20:48:57
FancyURLopenerだから
もう
Location先のコンテンツを
読みにいってるのでは。

873 :デフォルトの名無しさん:2009/04/18(土) 02:20:14
昔、映画のタイタニックがはやっていたころ、
歌舞伎町に『パイパニック』って店があったな。
それから数年後、『パイオーツオブカリクビン』って店もあった。

874 :デフォルトの名無しさん:2009/04/18(土) 02:40:28
TkinterのmainLoop内で発生した例外をキャッチするにはどうすればいいのでしょ?

875 :デフォルトの名無しさん:2009/04/18(土) 02:48:59
普通にキャッチ出来ない?


876 :デフォルトの名無しさん:2009/04/18(土) 10:48:51
ボタン押したときとかの例外でそ?
別スレッドだから無理でないの

877 :デフォルトの名無しさん:2009/04/18(土) 13:35:34
無理ではない

878 :874:2009/04/18(土) 14:48:31
>>876
>ボタン押したときとかの例外でそ?
ええ、そのとおりです。
ボタンを押したときなどで発生する例外の内容とそのときのトレースバックをダイアログで表示させたいんです。.NETなんかでよく見るやつです。


879 :デフォルトの名無しさん:2009/04/18(土) 16:02:00
> ダイアログで表示させたいんです

その表示システムでエラーが起きたらどうするんだよ

880 :デフォルトの名無しさん:2009/04/18(土) 17:36:02
そんときはあきらめます。
表示システムを1回しっかりつくりこめば済む話だと思うので。

881 :デフォルトの名無しさん:2009/04/18(土) 19:38:58
初心者用の入門書でおすすめってどれですか?
チュートリアルは抜きで。


882 :デフォルトの名無しさん:2009/04/18(土) 20:31:27
初めてのPython 第3版
みんなのPython 改訂版

883 :デフォルトの名無しさん:2009/04/18(土) 20:46:54
複数のプロジェクトに参加しているとき、プロジェクト毎にインデントの大きさが違うと
エディタの設定を頻繁に変更しなくちゃいけなくて大変じゃない?

いっそのこと言語仕様の段階でインデントの大きさを固定してほしかったよマジで。


884 :デフォルトの名無しさん:2009/04/18(土) 20:57:21
emacsen使ってるから問題なす

885 :デフォルトの名無しさん:2009/04/18(土) 20:58:28
自動認識させてる(emacs)

886 :デフォルトの名無しさん:2009/04/18(土) 21:00:09
>インデント大きさ固定
なんだっけ、そういう4/1ネタがあったような気がする

887 :デフォルトの名無しさん:2009/04/18(土) 21:16:29
4-space / 1-tab

888 :デフォルトの名無しさん:2009/04/18(土) 21:24:40
Pythonあと100倍くらい速くしてくれ。
Civ4遅いんじゃ〜!

889 :デフォルトの名無しさん:2009/04/18(土) 21:27:09
civ4が遅いのは
意味もないのに3Dだからだ。

890 :デフォルトの名無しさん:2009/04/18(土) 21:36:13
↑はあ?

891 :デフォルトの名無しさん:2009/04/18(土) 22:53:07
emacsの一つ目のwindowでファイルを編集しながら、
もう一つのwindowでpythonインタプリタを起動したいのだけどわかる人いる?

892 :デフォルトの名無しさん:2009/04/18(土) 23:46:43
ウィンドウ分割して、M-x shellとかでできそうです

893 :デフォルトの名無しさん:2009/04/18(土) 23:51:16
>>892
サンクス。

.emacsにhttp://khead.kahua.org/kahua-web/show/eg/emacsまねして下記を設定してみたがだめだったorz

(setq scheme-program-name "python")
(require 'python)

(defun python-other-window ()
"Run python on other window"
(interactive)
(switch-to-buffer-other-window
(get-buffer-create "*python*"))
(run-scheme python-program-name))

(define-key global-map
"?C-c@" 'python-other-window)


894 :デフォルトの名無しさん:2009/04/18(土) 23:54:30
C-c C-z

895 :デフォルトの名無しさん:2009/04/19(日) 00:02:20
>>894
ウホッ。デフォルトであるのか!!
ありがとう。

896 :デフォルトの名無しさん:2009/04/19(日) 00:17:17
Python3000 の Function Annotations を使ってオーバーロードっぽいことをするモジュールを作ったんだけど
公開するところがないんでここで公開してもいい?

897 :デフォルトの名無しさん:2009/04/19(日) 00:17:33
classって活用してます?

898 :デフォルトの名無しさん:2009/04/19(日) 00:32:47
>>896
おうよ

899 :デフォルトの名無しさん:2009/04/19(日) 01:11:02
>>896
ここで公開しちゃうと、権利失うよ。

900 :デフォルトの名無しさん:2009/04/19(日) 01:22:07
>>899
マジでか。
ActiveState Codeのレシピか何かに投稿しようと思ったんだけど
ドキュメントとかサンプルとか解説文とか書くのがめんどかったんだよね。
まぁ、公開するといっても使い物になるかあんまり自信がないので意見ほしいな、くらいしか期待してないんだけど。

901 :デフォルトの名無しさん:2009/04/19(日) 01:24:55
>>900
投稿確認
・投稿者は、投稿に関して発生する責任が全て投稿者に帰すことを承諾します。
・投稿者は、話題と無関係な広告の投稿に関して、相応の費用を支払うことを承諾します
・投稿者は、投稿された内容及びこれに含まれる知的財産権、(著作権法第21条ないし
 第28条に規定される権利も含む)その他の権利につき(第三者に対して再許諾する権利を
 含みます。)、掲示板運営者に対し、無償で譲渡することを承諾します。ただし、掲示板運
 営者は、投稿者に対して日本国内外において無償で非独占的に複製、公衆送信、頒布
 及び翻訳する権利を投稿者に許諾します。また、投稿者は掲示板運営者が指定する第三
 者に対して、一切の権利(第三者に対して再許諾する権利を含みます)を許諾しないことを承諾します。
・投稿者は、掲示板運営者あるいはその指定する者に対して、著作者人格権を一切行使しないことを承諾します。

902 :デフォルトの名無しさん:2009/04/19(日) 03:37:12
githubでも使えば。

903 :デフォルトの名無しさん:2009/04/19(日) 07:48:35
sourceforgeってもう流行らないのか

904 :デフォルトの名無しさん:2009/04/19(日) 09:24:19
>>901
そんなもんが契約として有効なものだと法廷で認められるとは思えないけどな。

905 :デフォルトの名無しさん:2009/04/19(日) 11:32:41
>>896
ttp://gihyo.jp/dev/serial/01/pythonhacks/0007?page=2
これよりスマート?

906 :デフォルトの名無しさん:2009/04/19(日) 11:53:14
>>905
一応型だけじゃなく、値や条件式でもディスパッチできるようにしてるし、
コードももう少し短いかな。

907 :デフォルトの名無しさん:2009/04/19(日) 12:07:30
>>884-885

emacs便利だな。サンクス。

ただちょっと思うんだけどさ、プログラミング言語が開発環境を
選ぶような状況はできるだけ少ない方がいいと思うんだ。


908 :デフォルトの名無しさん:2009/04/19(日) 13:53:44
>>904
というか、それの導入経緯はネタだからw

909 :デフォルトの名無しさん:2009/04/19(日) 13:57:59
なんだかよくわかんないけど、gistからなら大丈夫だよね。とりあえずこんな感じで。
http://gist.github.com/97922

910 :デフォルトの名無しさん:2009/04/19(日) 14:08:10
>>909
あーあ

911 :デフォルトの名無しさん:2009/04/19(日) 14:21:42
やっちまったか

912 :デフォルトの名無しさん:2009/04/19(日) 15:24:32
Python使ったウェブアプリのフレームワークでお勧めってありますか?
TurboGearsって良さげ?


913 :デフォルトの名無しさん:2009/04/19(日) 15:36:03
西尾さんが愛用してるDjangoが一番だよ

914 :デフォルトの名無しさん:2009/04/19(日) 15:49:56
ぐぐったら、DjangoやPloneは重くてTurboGearsが軽いみたいですけど、
日本語情報はDjangoが一番多いみたいっすね。
てことはDjango一番人気?


915 :デフォルトの名無しさん:2009/04/19(日) 16:31:24
大規模なサイト構築だったらDjangoじゃない?

個人だったらweb.pyもいいかもよ、と言ってみる

916 :デフォルトの名無しさん:2009/04/19(日) 16:36:06
web.pyだとcgiでページを作るとか聞いたんですが
djangoってどうやって使うんですか?

917 :デフォルトの名無しさん:2009/04/19(日) 16:39:28
PythonのORマッパーって安定したのあるの? API的な意味で
SQLAlchemyもSQLObjectもバージョン1にすら達してなくてげんなりした記憶がある

918 :デフォルトの名無しさん:2009/04/19(日) 18:22:46
>>916
wsgi

919 :デフォルトの名無しさん:2009/04/19(日) 19:08:24
>>918
意味がわからないんですが、cgiじゃないんですか?
web.py使えなさそうですね、Djangoのがよさそうです。

920 :デフォルトの名無しさん:2009/04/19(日) 19:39:29
2.5.xをOS X Leopardで64 bitにしてうまく使えてる人いる?
buildの適切な方法が分かれば教えて下さい。

921 :デフォルトの名無しさん:2009/04/19(日) 20:33:02
>>920
ビルドはできたよ。

↓な感じでconfigure。Carbonは64bit化されていないのでToolboxバインディングは無効に。
CFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" ./configure --prefix=/tmp/python25 --disable-toolbox-glue

MakefileにCFLAGSが反映されていなかったので修正。
--- Makefile.orig
+++ Makefile
@@ -58,6 +58,7 @@
# Compiler options
OPT= -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
BASECFLAGS= -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd
+EXTRA_CFLAGS= -arch x86_64
CFLAGS= $(BASECFLAGS) $(OPT) $(EXTRA_CFLAGS)
# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
# be able to build extension modules using the directories specified in the

make && make install
file /tmp/python25/bin/python
/tmp/python25/bin/python: Mach-O 64-bit executable x86_64

922 :デフォルトの名無しさん:2009/04/19(日) 21:26:31
spitfireのベンチマークに
Mako Template 74.78 ms
z3c.pt template 25.43 ms
と言うのがあったけどあきらなにおかしくないか?
いくらchameleonが速いといってもmakoに比べて圧倒的に速いとは思えない。
http://code.google.com/p/spitfire/


923 :デフォルトの名無しさん:2009/04/19(日) 22:37:56
>>919
死ね

924 :デフォルトの名無しさん:2009/04/19(日) 22:48:45
cgiで動かさなければならないサービスは総じて駄目でしょう

925 :デフォルトの名無しさん:2009/04/20(月) 00:01:10
>>361
動かなかった
>>366
うまくいきました有難うございます
これでpythonを他言語から簡単に呼び出せるようになりました

926 :デフォルトの名無しさん:2009/04/20(月) 09:28:31
>>921
検証どうもです。
それで、numpy 1.3.0ってうまくbuildできますか。

こちらでやると、

$ tar zxvf numpy-1.3.0.tar.gz
$ cd numpy-1.3.0
$ sudo /tmp/python25/bin/python setup.py install
(略)
C compiler: gcc -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch x86_64
compile options: '-Inumpy/core/src -Inumpy/core/include -I/tmp/python25/include/python2.5 -c'
gcc: _configtest.c
gcc _configtest.o -o _configtest
ld warning: in _configtest.o, file is not of required architecture
Undefined symbols:
"_main", referenced from:
__start in crt1.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
(略)

とかずらずら出て、こけます。
また、10.5-x86_64ではなく、10.3-i386になってしまっています。

$ ls build
src.macosx-10.3-i386-2.5

何か解決法が分かれば教えて下さい。

927 :デフォルトの名無しさん:2009/04/20(月) 09:29:48
Pythonは2.5.4を>>921のやり方でビルドしました。

928 :デフォルトの名無しさん:2009/04/20(月) 10:10:37
回答まだでしょうか

929 :デフォルトの名無しさん:2009/04/20(月) 10:13:34
>>928
>>930

930 :デフォルトの名無しさん:2009/04/20(月) 10:17:28
まだです

931 :デフォルトの名無しさん:2009/04/20(月) 20:16:31
できました

932 :デフォルトの名無しさん:2009/04/20(月) 22:27:28
http://morepypy.blogspot.com/2009/04/beta-for-110-released.html
pypy 1.1.0 beta release

933 :デフォルトの名無しさん:2009/04/20(月) 23:26:36
はあ、それで君は何を言いたいの↑

934 :デフォルトの名無しさん:2009/04/20(月) 23:30:38
自己解決しました

935 :デフォルトの名無しさん:2009/04/21(火) 00:07:25
Pythonは、計画都市のような印象を受けるな。
東西南北にまっすぐ通された大通り、計画的に配分された公園、住宅地区、
バス網。

936 :デフォルトの名無しさん:2009/04/21(火) 00:16:47
他の言語も其の調子で喩えて欲しい。

937 :デフォルトの名無しさん:2009/04/21(火) 00:20:17
しかも計画都市の住民が堅物ばっかりで
街に飲み屋がない。休日は役所に集まって街の風紀を熱く説教している

938 :デフォルトの名無しさん:2009/04/21(火) 00:36:58
ずれてる

939 :デフォルトの名無しさん:2009/04/21(火) 00:42:27
WhiteSpace
一見更地に見える

Grass
一見草原に見える

940 :デフォルトの名無しさん:2009/04/21(火) 00:45:51
Ruby
スラム街
Perl
トイレの落書き

941 :デフォルトの名無しさん:2009/04/21(火) 12:43:29
C++
破裂した水道管。穴を塞ぐと別の2箇所が破裂する

942 :デフォルトの名無しさん:2009/04/21(火) 17:09:24
それ何てドリフ?

943 :デフォルトの名無しさん:2009/04/21(火) 18:45:42
C++を無闇に怖がるのはやめてよ

944 :デフォルトの名無しさん:2009/04/21(火) 18:56:41
暑くなる季節は水浴び気持ちよさそだからいいんじゃね? >>水道管破裂

945 :デフォルトの名無しさん:2009/04/21(火) 19:32:50
コントならそういうシーンはあるんだが
実際はパスカルの法則に縛られるから
2箇所以上が破裂することはないんだよな
水道管は常に一番弱い部分1箇所だけが破裂する
これ豆知識な

946 :デフォルトの名無しさん:2009/04/21(火) 20:04:20
pythonでぇぇぇ
カードゲームのシミュレータはぁぁぁ
作れるのかぁぁぁぁ

返答しだいでは俺の人生が変わるから真面目に答えてください

947 :デフォルトの名無しさん:2009/04/21(火) 20:09:31
STLコンテナが値ベースだからいちいちコピーされるのを避けるために
ポインタを格納するようにしたら、
解放処理が難しくなった上に比較演算の部分をファンクタにしなくてはいけなくなるとかそういう話?
ま、それはスマートポインタとか使えば済むけど、
MFCとかもっとわけわかんないし、時間がないときに意味不明のエラーがでるのはしんどいんだよなあ……

>>946
作れるんじゃない?
速度がクリティカルになるということもないだろうし、Pythonがどうのというよりやる気の問題と思うが。

948 :デフォルトの名無しさん:2009/04/21(火) 20:11:42
pypyいってたら今日OPVをOPYと読んでしまった
おっぱいpypy

949 :デフォルトの名無しさん:2009/04/22(水) 02:15:47
先生!>>945 みたいな男にだけはなりたくたいと思います!


950 :デフォルトの名無しさん:2009/04/22(水) 02:31:37
>>945は時間項を無視している

951 :デフォルトの名無しさん:2009/04/22(水) 02:38:27
穴開いてるときはパスカルの定理は成り立たないんだよ

952 :デフォルトの名無しさん:2009/04/22(水) 02:41:40
そもそもパスカルの定理とパスカルの原理は別物だからw

953 :デフォルトの名無しさん:2009/04/22(水) 02:44:23
そもそもここは Python スレ
おまいらはあっちでやれ
ttp://pc12.2ch.net/test/read.cgi/tech/1137051510/
ttp://pc12.2ch.net/test/read.cgi/tech/1136994325/

954 :デフォルトの名無しさん:2009/04/22(水) 02:53:44
ちょw

955 :デフォルトの名無しさん:2009/04/23(木) 15:47:06
>>946
>返答しだいでは俺の人生が変わるから真面目に答えてください

ワラタ
できるできないでいえば、当然できる
しかし真実は、キミの能力と熱意次第
役にたたん解凍かもしれんが、ほんとにこうしか答えようがない

956 :デフォルトの名無しさん:2009/04/23(木) 16:35:31
foo(**hoge)とか、def hoge(*argv, **argc)ってどういう意味があるんですか?

957 :デフォルトの名無しさん:2009/04/23(木) 17:08:06
>>956
辞書で受け取ったりタプルで受け取ったりできる

foo(fdsafsda=10, kk=10, shine='fdsa')

みたいな呼び出しができる
関数ではこれが辞書 hoge になる

958 :デフォルトの名無しさん:2009/04/23(木) 17:12:08
続々と指標改善、英経済の本当の実力
http://business.nikkeibp.co.jp/article/money/20090420/192389/

恢復しつつあるみたいだけれども…
どうしたもんだか…

959 :デフォルトの名無しさん:2009/04/23(木) 20:55:18
ぱいがめに画像の回転、縮小拡大する方法はありますか?
ない場合はPILを使うべきですか?

960 :デフォルトの名無しさん:2009/04/24(金) 12:50:46
M-x pdb
をもっとGUIぽくしてほしい
gdbはあんなに派手なのに

961 :デフォルトの名無しさん:2009/04/24(金) 14:11:17
お前CLI至上主義にケンカ売ってんのか

962 :デフォルトの名無しさん:2009/04/26(日) 01:49:05

http://pc12.2ch.net/test/read.cgi/tech/1240678081/

963 :デフォルトの名無しさん:2009/04/27(月) 06:24:13
uume

964 :デフォルトの名無しさん:2009/04/27(月) 22:10:10
umeeee

965 :デフォルトの名無しさん:2009/04/29(水) 02:28:52
uzee

966 :デフォルトの名無しさん:2009/04/29(水) 14:48:03
netbeansやeclispseって何も設定しないでpython使えるの?
cをeclipseでやろうとしてプロジェクトの設定がどうだので
めんどくさかった記憶があるんだが

967 :デフォルトの名無しさん:2009/04/29(水) 17:20:05
3次元配列をファイルにセーブするときはどうしてますか?

1 2 3 4
2 3 4 5

1 2 3 4
2 3 4 5


みたいな感じで2次元配列を2つならべてgnuplotからも呼べるような感じにするといいのでしょうか

968 :デフォルトの名無しさん:2009/04/29(水) 17:41:20
"fairu.txt"
hoge=[
[[1,2,3,4],
[2,3,4,5]],
[[1,2,3,4],
[2,3,4,5]]
]

"hoge.py"
fairu = open('fairu.txt', "rb")
data = fairu.read()
fairu.close()
exec(data)
print hoge

969 :デフォルトの名無しさん:2009/04/30(木) 02:02:16
pickle

970 :デフォルトの名無しさん:2009/04/30(木) 06:01:11
yaml

971 :デフォルトの名無しさん:2009/04/30(木) 16:01:17
pickleでsaveしたデータを他の言語で読むのは難しいのかな

972 :デフォルトの名無しさん:2009/04/30(木) 20:45:18
PHPメインで、補助的にPythonを使うプロジェクトでphpserializeを使ったことならある

973 :デフォルトの名無しさん:2009/04/30(木) 23:18:15
>>966
pydev使えばすぐ。
pythonのインストールは別途必要。

974 :デフォルトの名無しさん:2009/05/01(金) 00:05:09
>>966
netbeansならJythonもいっしょにインストールする。

975 :デフォルトの名無しさん:2009/05/01(金) 00:17:25
eclipseにもpydev入れてみたけど結局emacsで書いてるわ
pythonの場合、入力補完のありがたみをあまり感じない

976 :デフォルトの名無しさん:2009/05/01(金) 00:32:04
emacsでも
C-M-i
で補完してくれる
昔eclipse使ってた時はデバックが便利だった

977 :デフォルトの名無しさん:2009/05/01(金) 01:20:51
eclipseは無駄にメモリを消費するので嫌いです

978 :デフォルトの名無しさん:2009/05/01(金) 02:11:07
そうですか。

979 :デフォルトの名無しさん:2009/05/01(金) 03:19:44
無駄ではありません。
メモリ産業に貢献しています。

980 :デフォルトの名無しさん:2009/05/01(金) 03:23:30
emacsの補完は関数はできるけど局所変数はだめっぽい

981 :デフォルトの名無しさん:2009/05/01(金) 04:24:41
補完多用してると自分の脳が馬鹿になるぞ

982 :デフォルトの名無しさん:2009/05/01(金) 04:25:42
>>981
うん。なったw。

983 :デフォルトの名無しさん:2009/05/01(金) 05:44:23
補完多用しなくても脳は馬鹿になる

984 :デフォルトの名無しさん:2009/05/01(金) 05:49:04
>>979
エルピーダは経営やばくて補助金貰ってるのはなぜ?

985 :デフォルトの名無しさん:2009/05/01(金) 07:59:48
半導体製品のコモディティ化と価格暴落が原因。

986 :デフォルトの名無しさん:2009/05/01(金) 13:10:03
メモリはVista特需って幻想で作りすぎて供給過剰になっただけですなw

987 :デフォルトの名無しさん:2009/05/01(金) 13:30:47
4GBフル実装でドン詰まり
CPUの64bit化が加速するだろうなぁ
pythonは大丈夫だろうか?


191 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)