Pythonのお勉強 Part30 at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
08/11/16 19:09:55
Pythonオフィシャルサイト
URLリンク(www.python.org)
日本Pythonユーザ会
URLリンク(www.python.jp)
まとめWiki
URLリンク(python.rdy.jp)
関連スレ
URLリンク(find.2ch.net)
前スレ
スレリンク(tech板)

2:デフォルトの名無しさん
08/11/16 19:10:57
おっぱい

3:デフォルトの名無しさん
08/11/16 19:18:26
OOPy オブジェクトオリエンテッドパイソン

4:デフォルトの名無しさん
08/11/16 19:19:30
  _  ∩ 
( ゚∀゚)彡 おっぱいそん!おっぱいそん!
 ⊂彡

5:デフォルトの名無しさん
08/11/16 21:15:07
>>4
www

6:デフォルトの名無しさん
08/11/16 23:12:23
>>1ぱいおつ

7:デフォルトの名無しさん
08/11/17 00:26:19
>>4
これはいいPythonista

8:デフォルトの名無しさん
08/11/17 00:29:57
掲示板作ったよ。
なんかホールとか発見したら教えてね。
しばらくしたら忘れてね。
URLリンク(rail.s4.pf-x.net)

9:デフォルトの名無しさん
08/11/17 00:39:56
LLなんて言ってもアメリカのITトップ企業では通じないから気をつけろ!
メガンテしちゃうぞ!!

10:デフォルトの名無しさん
08/11/17 00:56:26
実際通じないだろ。LLは英語風日本語だから。

11:デフォルトの名無しさん
08/11/17 00:57:00
まあ、英語として使えようが使えまいがSDだが。

12:デフォルトの名無しさん
08/11/17 00:59:00
ちなみにLLVMのLLは、
Low Levelの略である。PythonコミュニティでLLといって場合には
むしろこっちの意味にとられるかもしれないから注意が必要だ。SDですが。

13:デフォルトの名無しさん
08/11/17 01:24:14
おっぱい

14:デフォルトの名無しさん
08/11/17 01:25:42
import urllib
import urllib2
import cookielib

req = urllib2.Request(
    'URLリンク(pc11.2ch.net)',
    urllib.urlencode(
      {
        'bbs' : 'tech',
        'key' : '1226830195',
        'time' : 1,
        'submit' : u'書き込み'.encode('sjis'),
        'FROM' : '',
        'mail' : 'sage',
        'MESSAGE' : u'おっぱい'.encode('sjis'),
        'suka' : 'pontan'
        }
      ),
    {'Referer' : 'URLリンク(pc11.2ch.net)'}
    )
opener = urllib2.build_opener(
    urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
res1 = opener.open(req)
if '<!-- 2ch_X:cookie -->' in res1.read():
    res2 = opener.open(req)

15:デフォルトの名無しさん
08/11/17 03:21:58
while 1:
    print u"おっぱい"

16:デフォルトの名無しさん
08/11/17 04:40:09
while 1:
  print u"( ゚∀゚)o彡°おっぱい!おっぱい!"

17:デフォルトの名無しさん
08/11/17 07:57:46
PythonコミュニティでLLといって場合にはRuby信者にメガンテされてしまうかもれないから注意が必要で。
まあ俺はアメリカのITトップ企業につとまっているので日本語のおかしいなってきた。

18:デフォルトの名無しさん
08/11/17 18:50:15
日本語情報少ないpythonを使うメリットって何?
Rubyの方が優れてない?


19:デフォルトの名無しさん
08/11/17 18:57:52
今は日本語情報サイトの数は十分だと思うよ。日本産のRubyには負けるだろうけど。
PythonはOSとかの環境を気にせず使えるのが最大の利点かな。

20:デフォルトの名無しさん
08/11/17 19:18:03
日本語情報少ないか?

21:デフォルトの名無しさん
08/11/17 19:43:58
導入部分はそれなりに情報あるけどさ、フレームワークの情報とかやっぱり少ないよ。
Ruby、というかRailsに持ってかれちゃった感が拭えない。


22:デフォルトの名無しさん
08/11/17 19:44:28
>>18
RubyがPythonをかなりパクってる為、言語としてはそこまで変わ
りはないが、世界ではPython人口の方が圧倒的に多く (企業/政府機関で
もGoogle、NASA、Appleを筆頭にPythonを全面的に促進)、
ライブラリの数も多いから、やろうと思えばなんでもプログラムできる。
Pythonの方が年配だから、プロジェクト/プログラム例も盛り沢山。
それに gtk、gimp、pidgin など、LinuxやUnixではPythonを
様々なコンポーネントで有効活用しているから、沢山遊べる。
シンタックスもPythonの方が綺麗。
Pythonの作者は まつもとゆきひろ とは違って、DQN気味ではない。

どうも見ても Python の方が有利だし、Pythonを学ぶのが吉。


23:デフォルトの名無しさん
08/11/17 19:47:51
日本語情報が少ないのだったら、英語情報にあたればよいだけ。

24:デフォルトの名無しさん
08/11/17 19:53:19
Pythonの方がライブラリが充実してるから。これにつきる。
言語を選択する際のライブラリの充実度はかなり重要。
文法だけならPythonやRubyよりも好きな言語は沢山あるんだけど、
マイナーすぎてまだつかえない。

25:デフォルトの名無しさん
08/11/17 20:06:08
Django使ってる俺はここでは少数派かい?

26:デフォルトの名無しさん
08/11/17 20:07:01
>>25
俺も使ってるよ。
あと、 Google App Engine 使ってる人の多くは Django を使ってると思う。


27:デフォルトの名無しさん
08/11/17 20:27:09
>>18
なんつうかRubyだのPythonだのよりまず先に英語を学べ

28:デフォルトの名無しさん
08/11/17 20:35:58
>>24
.NETやJVMにタダ乗り系の奴は、マイナーでも
自動的にライブラリは充実してることになるよな

29:デフォルトの名無しさん
08/11/17 20:40:20
.netにもIronPythonがあるからな。
.netなしでも動くPythonの価値。
マイナーってホントマイナーな奴。

30:デフォルトの名無しさん
08/11/17 20:42:35
Linux、Unix、Mac、Windows、全てのOSで強いのが Python。

31:デフォルトの名無しさん
08/11/17 20:49:25
PythonだろうがRubyだろうが何だろうが、
自分で海外の資料よみあされないと、
プログラマとしての能力に限界を設けることになるからな。

32:デフォルトの名無しさん
08/11/17 20:59:43
まあ大学院生とかでも英論文読めないとかあり得んだろ
それと一緒だ

つうか英語以上に学んで役に立つプログラミング言語はねえぞ

33:デフォルトの名無しさん
08/11/17 21:05:46
英語はプログラミング言語じゃねぇ!
自然言語だ!
このケツ毛野郎が!

34:デフォルトの名無しさん
08/11/17 21:06:31
「英語以上に」は「学んで役に立つ」にかかってるんだよ

35:デフォルトの名無しさん
08/11/17 21:48:20
>>1
乙Python

36:デフォルトの名無しさん
08/11/17 21:56:05
で、お前らはGAE使ってるの?
最近全然聞かないんだけど。

37:デフォルトの名無しさん
08/11/17 21:58:49
ココの住人でライブラリつくったら、
OpPythonとかになるんだろ?

38:デフォルトの名無しさん
08/11/17 22:06:12
いいえ、pyPanを作ります。

39:デフォルトの名無しさん
08/11/17 22:14:25
実際CPANの真似しなくて本当によかったと思ってる

40:デフォルトの名無しさん
08/11/17 22:16:51
>>22
>RubyがPythonをかなりパクってる為
これはダウト。RubyはPerlやLispをパクってるけど、Pythonからはかけらもパクってないだろ。

>ライブラリの数も多いから、やろうと思えばなんでもプログラムできる。
これはPythonに限らずRubyでもPerlでもJavaでも同じだろ。

>>24
>Pythonの方がライブラリが充実してるから。これにつきる。
これはないって。RubyもPerlもJavaも同じようなもん。他の言語をろくに知らないと、こういう見方になるのか。

Pythonにも痛い信者がいるもんだな。もっと冷静な人ばかりだと思ってた。

>>30
>Linux、Unix、Mac、Windows、全てのOSで強いのが Python。
確かに、WIndowsでの動作はPythonは比較的良い。Javaがいちばんだけど。
でもPythonはWindowsではファイルロックができんからなー。あれはなんとかならんのか?

41:デフォルトの名無しさん
08/11/17 22:17:34
俺、パイパンが好き。
とか言ってたら変態だからな。

42:デフォルトの名無しさん
08/11/17 22:21:29
もうちょっとがんばれ!

43:デフォルトの名無しさん
08/11/17 22:24:55
>>40
うそうそ、全部嘘。
みんな名前のH度でPython選んでるに決まってるじゃん。
俺もそうだ。

44:デフォルトの名無しさん
08/11/17 22:31:14
>>40
なんでJavaが入ってるの?これだからJ厨は…

45:デフォルトの名無しさん
08/11/17 22:41:41
portalocker
URLリンク(code.activestate.com)

46:デフォルトの名無しさん
08/11/17 22:45:33
何が何をパクろうがどうでもいい。
大事なのは何が一番馴染むか。
もちろん俺はおっぱいそんだがな。

47:デフォルトの名無しさん
08/11/17 22:46:44
Javaのような糞重い言語がいいなんて言うやつ何なの?

48:デフォルトの名無しさん
08/11/17 22:52:13
あれは大量にメモリ食うしロードは糞遅いけど
演算速度はPythonより早いから

49:デフォルトの名無しさん
08/11/17 23:02:12
>>40
> でもPythonはWindowsではファイルロックができん
ctypesで別に何でもできるが
msvcrt.locking
というのがある

が、Windowsでのプロセス間排他はMutexやSemaphoeのほうが一般的だろう



50:デフォルトの名無しさん
08/11/17 23:03:34
Java使うくらいならCで拡張モジュール書けよ

51:デフォルトの名無しさん
08/11/17 23:07:18
Javaみたいな中途半端が一番使いにくいよな。
まさにC/C++とPython/Rubyみたいなのを両刀できないやつの
逃げ道w

52:デフォルトの名無しさん
08/11/17 23:18:13
Javaにはctypesのようなffiが無いし、JNIは異常に使いにくいからなあ
PythonにはPsycoもboost.pythonもCythonもScipy.weaveもある

53:デフォルトの名無しさん
08/11/17 23:41:11
JavaにPsycoは要らないだろ。HotSpotあるのに。

54:デフォルトの名無しさん
08/11/17 23:43:56
ああ、Psycoは「Javaに対して」有利な点にはなってないな

55:デフォルトの名無しさん
08/11/18 00:39:44
Pythonは適当に書いたスクリプトを、普通にライブラリモジュールとしして使えるのが魅力。
モジュールを作るのがこれほど手軽な言語は他に知らない。

56:デフォルトの名無しさん
08/11/18 00:42:53
>>40
メガンテという魔法を使えばファイルロックできるよ。

57:デフォルトの名無しさん
08/11/18 02:01:03
メガザルロック

58:デフォルトの名無しさん
08/11/18 02:01:42
OpenOfficeライブラリOoo.py

59:デフォルトの名無しさん
08/11/18 02:02:35
Pythonで書かれたPythonインタプリタは、PyPy

60:デフォルトの名無しさん
08/11/18 02:04:24
CPANのPython版はPyPI

61:デフォルトの名無しさん
08/11/18 02:30:01
Pythonで書かれた 円周率計算プログラム。Pyπ

62:デフォルトの名無しさん
08/11/18 08:56:53
ごめん。目の前が真っ暗だ。
12月が山だと思う。察してくれよみんな。

63:デフォルトの名無しさん
08/11/18 10:53:30
pythonを最適化された高速ネイティブコードに変換してくれるコンパイラがほしいぞ

64:デフォルトの名無しさん
08/11/18 12:53:54
>>63
psyco

65:デフォルトの名無しさん
08/11/18 13:49:40
え?psycoってネイティブコード吐けるの?

66:デフォルトの名無しさん
08/11/18 14:18:10
なんでCで拡張しないの?馬鹿なの?

67:デフォルトの名無しさん
08/11/18 15:19:15
.


68:デフォルトの名無しさん
08/11/18 15:22:53
普段と同じように振る舞っているのは空元気だと気づいてくれよ。
ごめん、ほんとうにごめん。もう駄目だ。

69:デフォルトの名無しさん
08/11/18 15:27:03
ごめん。がNGワードって事で。

70:デフォルトの名無しさん
08/11/18 15:47:36


71:デフォルトの名無しさん
08/11/18 15:54:25


72:デフォルトの名無しさん
08/11/18 15:54:47
ごめん駅でごめん

73:デフォルトの名無しさん
08/11/18 15:59:30
なはり駅でなはり

74:デフォルトの名無しさん
08/11/18 15:59:48


75:デフォルトの名無しさん
08/11/18 16:00:40


76:デフォルトの名無しさん
08/11/18 19:20:33
で、どこに行けばDjango使いに会えるの?
Google groupのDjango usersぐらいしかないんだけど。

77:デフォルトの名無しさん
08/11/18 21:35:14
久々にこの板に来てみたんだけど、
Google App Engineのスレさえないんだね。
しかもPythonスレでも全然話題になってないとは・・・


78:デフォルトの名無しさん
08/11/18 21:37:36
最初はなったが・・・
弄ってる人はここで話してもしょうがないからねぇ・・・

79:デフォルトの名無しさん
08/11/18 22:43:09
大規模なものを書けば書くほど、Javaとの手間の差がなくなってくるのは気のせい?

80:デフォルトの名無しさん
08/11/18 23:31:14
>>79
Javaはstrutsの悪いイメージが・・・

81:デフォルトの名無しさん
08/11/19 00:48:29
>>77
Google App Engine
スレリンク(php板)

82:デフォルトの名無しさん
08/11/19 01:09:57
>>76
会ってもしょうがないよ。
落胆するだけ。

83:デフォルトの名無しさん
08/11/19 02:15:50
161は完全にいなくなっちゃったね。
勿体無い。

思うのはさ、「ウンコに触れたら自分もウンコ臭い」ってことだと思うんだ。
(ww辺りをNGに設定してさ、極力スルーしようよ。
皆で頼み込めばID実装されるかもしれないしさ。
これじゃpythonスレとしての機能を果たしてないよね。

84:デフォルトの名無しさん
08/11/19 02:16:16
国籍法改正案について語ろうぜ

85:デフォルトの名無しさん
08/11/19 03:01:43
>>84
スレリンク(tech板)
そっちでやれ

86:デフォルトの名無しさん
08/11/19 10:42:04
import 外国人 as 選挙の票

87:デフォルトの名無しさん
08/11/19 10:43:17
>>79
javaと根本的に違うって感じは確かにしないね

88:デフォルトの名無しさん
08/11/19 13:14:44
簡単に済む仕事がちゃんと簡単に済むようになっているのは十分有難いことだぞ

ま、シリアスなタスクはPythonではやりたくないがな
性能は最初から求めないにしても、リソースリーク、排他制御が問題になるような
タスクは嫌だ

89:デフォルトの名無しさん
08/11/19 15:13:24
便利なpythonのプログラム作ったけど
自分だけの秘密ツールにするか
公開してしまうか悩むな

90:デフォルトの名無しさん
08/11/19 15:20:16
ここで審議してあげるのでうpしなさい

91:デフォルトの名無しさん
08/11/19 15:21:18
>>89
公開すると後悔するよ

92:デフォルトの名無しさん
08/11/19 15:23:18
>>89
どんなツールかだけでも書けばいいのに。

93:デフォルトの名無しさん
08/11/19 15:24:01
>>89
とりあえず何するプログラムか言え

94:デフォルトの名無しさん
08/11/19 15:30:59
掲示板とかです。
ダンジョーを使って作りました。

95:デフォルトの名無しさん
08/11/19 15:36:43
>>94
ダンジョーってなに? Djangoのことか?
別に公開しても問題ないでしょ。
launchpad あたりにあげてくれれば、参加できるけど。

96:デフォルトの名無しさん
08/11/19 15:42:34
wgsiとかもです。
パイソンで書きました。

97:デフォルトの名無しさん
08/11/19 15:53:20
「じゃんご」
"dg" にこだわるなら「ぢゃんご」

98:デフォルトの名無しさん
08/11/19 15:58:22
>>76
な、94とか95とか97みたいな奴ばっかりなんだって。
会っても意味ないよ。

99:デフォルトの名無しさん
08/11/19 16:16:04
全く辻褄が合っていない >>98

100:デフォルトの名無しさん
08/11/19 17:13:23
(゚Д゚;) ダ、ダンジョー?

101:デフォルトの名無しさん
08/11/19 18:15:57
>>89
こんなとこで公開すると、変なやつに粘着されるぞw

102:デフォルトの名無しさん
08/11/19 18:39:33
それなりに優れたコードなら公開しなくても
興味持って聞いてくる奴が出てくる。
それからでも遅くない。

103:デフォルトの名無しさん
08/11/19 18:58:37
TurboGears、Django両方使ったことある奴ってここにいる?

104:デフォルトの名無しさん
08/11/19 19:12:11
おれ。

105:デフォルトの名無しさん
08/11/19 19:24:28
>>104
どっちが柔軟に感じる?

106:デフォルトの名無しさん
08/11/19 19:57:03
>>105
djangoだね。turbogearsは落ち目だから、もうやめたほうがいいよ。

107:デフォルトの名無しさん
08/11/19 20:02:15
djangoに遅延評価はいってるけど
どんな使いかたするのかのいい例がみつからない

108:デフォルトの名無しさん
08/11/19 20:05:28
>>106
TurboGears、落ち目か。
pylonsと統合するとかいう話はどうなったんだろう。

俺としては、Djangoは便利なんだけど、認証まわりの拡張性がイマイチだと思うのよ。


109:デフォルトの名無しさん
08/11/19 20:16:30
>>108
> 俺としては、Djangoは便利なんだけど、認証まわりの拡張性がイマイチだと思うのよ。

それは実際当たってるね。
セッション、ユーザーログインなど、ユーザーの情報をdjangoで有効活用するように
するには、多少のプログラミングが必要となる。
あと、個人的にはtemplateへの文字列が atuto escape になったのが嫌い(解除できるけど)。


110:デフォルトの名無しさん
08/11/19 20:23:40
ていうかDjangoのORマッパーとか低機能すぎだろ。

111:デフォルトの名無しさん
08/11/19 20:36:07
>>110
そんなに困ったことはないなあ。
いざとなったらカスタムSQL書けばいいし。

112:デフォルトの名無しさん
08/11/19 20:38:34
>>110
多くの開発者は満足しているようなんだけど、
Django の ORM のどの辺が "低機能すぎ" なの?
どこが改良できそうなの?
DBスキーマのラッパーなんだから、DBの機能よりは
フレキシブルにはいかないのはしってるよね。

113:デフォルトの名無しさん
08/11/19 20:42:19
Djangoユーザ怖ええ(wwwww

114:デフォルトの名無しさん
08/11/19 20:46:17
>>76
な。111とか112みたいなやつばっかりなんだって。

115:デフォルトの名無しさん
08/11/19 20:48:10
113 = 114


116:デフォルトの名無しさん
08/11/19 20:52:01
>>114
106も追加しといて.

117:デフォルトの名無しさん
08/11/19 20:59:39
>>98=>>101=>>113=>>114=>>116
また君か、自演君。
もう邪魔なんで消えてくれないかね。

118:デフォルトの名無しさん
08/11/19 21:03:44
>>117
TurboGearsとPylonsとDjangoどれが好き?

119:デフォルトの名無しさん
08/11/19 21:09:29
web.py

120:デフォルトの名無しさん
08/11/19 21:09:50
zope3

121:デフォルトの名無しさん
08/11/19 21:23:03
>>117
オマエガナー

122:デフォルトの名無しさん
08/11/19 21:26:33
>>119
web.py作ってた人たちはPylonsに移行したんだぜ。

123:デフォルトの名無しさん
08/11/19 21:49:17
ダンジョーってなんだよ(w

124:デフォルトの名無しさん
08/11/19 22:39:33
pythonも昔は「ぴちょん」とか読まれたりしてた

125:デフォルトの名無しさん
08/11/20 00:51:05
いまでもうっかりすると IDLE に「ぴちょn」とか打っちゃう。


126:デフォルトの名無しさん
08/11/20 06:34:57
pyてょn

127:デフォルトの名無しさん
08/11/21 01:40:50
@PAGESの広告いつの間にか増えてる
優良鯖が有料鯖になりそうだ…

Python使える無料鯖って少ないよな

128:デフォルトの名無しさん
08/11/21 01:53:00
国外でも少なめなのかな。
でもPython使う様になるんだと
VPSとか金払ってしっかり環境整えたいから
気にしないなあ。‥嘘ですが

129:デフォルトの名無しさん
08/11/21 10:09:14
任意の深さのlisp要素にmapってできないの?

130:デフォルトの名無しさん
08/11/21 10:10:27
Pythonとlispの夢の競演

131:デフォルトの名無しさん
08/11/21 11:09:37
Djangoはすばらしいと思うが使ってる奴はイタいな(w

132:デフォルトの名無しさん
08/11/21 12:02:38
「おれがDjangoだ!」って奴ばかりだからな。

133:デフォルトの名無しさん
08/11/21 12:59:46
ダンジョーのひとたちは広めたいのか自己主張をしたいのかよく分からないです。
後者だとしたら、たいしたことないくせに身の程知らずが、と思います。

134:デフォルトの名無しさん
08/11/21 13:17:24
django をダンジョーと呼ぶ低能人間の方が身の程知らずだと思うけどな。

135:デフォルトの名無しさん
08/11/21 13:19:23
dyango七人夏物語

136:デフォルトの名無しさん
08/11/21 13:31:04
ダンジョーってDajngoのことを言っていたのか
よく気がついたな >134

137:デフォルトの名無しさん
08/11/21 13:57:37
>>136
>>94-95

138:デフォルトの名無しさん
08/11/21 13:58:34
松永弾正

139:デフォルトの名無しさん
08/11/21 16:04:09
痛いDjango野郎を"ダンジョー"と呼ぶことにしませんか。

140:デフォルトの名無しさん
08/11/21 16:05:41
>>135
アッーーー!!

141:デフォルトの名無しさん
08/11/21 16:30:03
>>129
普通に出来ると思うけど。どのような利用例を想定してる?
ロジック部分の関数とデータ所得(任意の深さにアクセス)を分けるなら単にネストでok。
map(func, map(lambda x:x[0][1][2], alist))

142:デフォルトの名無しさん
08/11/21 16:52:54
再帰的に map してくれる map がほしい、ってことでそ

143:デフォルトの名無しさん
08/11/21 17:15:22
>>133
自己主張という名の自慰行為を見せ合って喜ぶ変態集団,というようななところか。

144:デフォルトの名無しさん
08/11/21 17:18:21
西部警察「Django!!」

145:デフォルトの名無しさん
08/11/21 17:35:30
def treemap(f, xs):
  for x in xs:
    if hasattr(x, "__iter__"):
      yield list(treemap(f, x))
    else:
      yield f(x)

こんなもんでいいんじゃね

146:デフォルトの名無しさん
08/11/21 17:44:30


147:デフォルトの名無しさん
08/11/21 17:48:12
def recursive_map(fun, arg):
 def f(a):
  if hasattr(a, "__len__"):
   return map(f, a)
  else:
   return fun(a)
 return f(arg)

148:デフォルトの名無しさん
08/11/22 13:17:09
Pythonクックブック第二版を買ったんだけど
サポートサイト(URLリンク(python.is-a-geek.org))が潰れてるみたい
なんだよね。どっかに正誤表ないかな?

149:デフォルトの名無しさん
08/11/22 13:48:23
Python 3.0 rc3 released

150:デフォルトの名無しさん
08/11/22 22:47:05
Linuxの上でPyQt4のQTextEditなんかで日本語入力したいんだけど、
どうすればいいか分かりますか?
scim使ってるので
XMODIFIERS="@im=scim"

LANG=ja_JP.eucJP
とかしてるんですが、全然だめです。


151:デフォルトの名無しさん
08/11/22 23:25:50
qtが直接scimとやりとりするように、
scim-qtimm 入れて QT_IM_MODULE=scim ってしないと駄目じゃないかな?
つーかPythonの話ではないな。

152:デフォルトの名無しさん
08/11/23 08:28:37
ありがとです。
そうですね、QTの話だなと思い直してググったら
scim-bridgeという奴ならという情報があったので
それを使ったら入力できるようになりました。
ただscimで入力できていたktermやFirefoxでは
だめになったので、scimとscim-bridge並走状態…
とりあえずはいいか…

unicodeが普通に使えるようになってPyQt4での
日本語の扱いも楽になりましたね。


153:デフォルトの名無しさん
08/11/23 13:51:04
PythonインタプリタをPythonで作っているのですが、相談したい事があります。

現在入力中の文がコマンドとして
1 途中なのか、2 エラーなのか、3 コンプリートしたものか
判断する方法はないでしょうか?

1の例
for i in range(1, 3): ←これだけ入力されたら続きがある

2の例
j = foo() ←fooという関数はない

3の例
1+2 ←文として評価する事ができる

アドバイス頂けたら幸いですm(__)m

154:デフォルトの名無しさん
08/11/23 14:10:53
Lib/code.py

155:153
08/11/23 15:08:54
>>154
ありがとうございます。
見てみまする。

156:デフォルトの名無しさん
08/11/23 15:13:15
>>153
pypy

157:153
08/11/23 16:20:16
>>156

なんですか、そのいやらしい名前は。
ありがとうございます。

158:デフォルトの名無しさん
08/11/23 19:59:53
>>152
scimでもscim-bridgeでもuimでも問題ないだろ。
つーかLANG=ja_JP.eucJPってどんな化石なディストリ使ってるんだよ。

159:デフォルトの名無しさん
08/11/24 16:16:54
>>156
マジで有るのか。
「パイパイいれていじってみたんだけど良いなコレ。」
「パイパイちょっと触ってみたんだけど、まだ発展途上じゃね?」
みたいな会話が繰り広げられているのか。

160:デフォルトの名無しさん
08/11/24 19:50:05
こんなプログラムが必要になった。
temp=lst[i]; lst[i]=-1; i=temp #(1)

pythonではこんな見苦しい一時変数は必要ないもんね。と思い次のように書いた。
i, lst[i] = lst[i], -1 #(2)

賢明な諸兄はお気づきかと思うが、このプログラムは上手くいかない。
半日悩んだ結果、次のように書けばよいことが判った。
lst[i], i = -1, lst[i] #(3)

で、教えて欲しいんだけど、(2)が駄目で、(3)なら良いというこの動作は
うちの環境ではたまたま動くだけ? それとも公式に規定された動作ですか?

### 結局、プログラムは(1)の書き方で完成しました。

161:デフォルトの名無しさん
08/11/24 20:15:08
これのWARNINGのところじゃない?
URLリンク(www.python.org)
URLリンク(www.python.jp)

162:デフォルトの名無しさん
08/11/24 20:27:12
>>160
URLリンク(www.python.org)
> If the target is a target list enclosed in parentheses or in square brackets:
> The object must be a sequence with the same number of items as there are targets
> in the target list, and its items are assigned, from left to right, to the
> corresponding targets.

左から右の順で代入するとあるので公式に規定された動作といえそう。


163:デフォルトの名無しさん
08/11/25 03:29:32
Rubyだとruby会議みたいなイベントが全国であるけど、
Pythonにもそういうイベントってある?

164:デフォルトの名無しさん
08/11/25 08:34:11
>>163
PyConじゃね?

165:デフォルトの名無しさん
08/11/25 08:56:23
URLリンク(pyspa.org)

166:デフォルトの名無しさん
08/11/25 09:37:52
ないわ〜

167:デフォルトの名無しさん
08/11/25 11:56:27
>>163
残念ですが、なくなったようです。

168:デフォルトの名無しさん
08/11/25 12:52:26
だからRubyやれって!

169:デフォルトの名無しさん
08/11/25 17:18:14
>>167
PyConって無くなったの?
知らなかった...orz....Pythonもうダメだ....。


170:デフォルトの名無しさん
08/11/25 17:19:02
そうだねRubyもうダメだね

171:デフォルトの名無しさん
08/11/25 17:34:31

>>167=>>169
おい、デマばっか流してんじゃねーよ。

PyCon は今年もあったし、来年もちゃんとある。
URLリンク(www.python.org)

せいぜいお前は Python の人気を妬む Ruby使いってとこだろうが、
大人気ないぞ。


172:デフォルトの名無しさん
08/11/25 17:36:51
Ruby使いがPythonの「人気」に嫉妬することはなかろ

173:デフォルトの名無しさん
08/11/25 17:46:13
>>167
ダンジョー乙

174:デフォルトの名無しさん
08/11/25 18:01:24
だからRubyやれって!
日本でpython使うメリットなんてないんだよ。

175:デフォルトの名無しさん
08/11/25 18:27:39
rubyにnumpyに相当するものあるの?

176:デフォルトの名無しさん
08/11/25 18:45:13
Ruby 使いは痛々しいな。。。
なんだ >>174 は、
恥というものを知らんのか。

177:デフォルトの名無しさん
08/11/25 18:56:11
>>173
いいえ、ターボギアスR2です。

178:デフォルトの名無しさん
08/11/25 19:01:46
またruby厨が荒らしてるよ

179:デフォルトの名無しさん
08/11/25 19:19:21
>>174
惨めなやつ!

180:160
08/11/25 20:06:14
>>161,162
なるほど、ちゃんと公式ドキュメントに書かれてたんですね。
「are not safe 安全でない」の解釈が微妙ですが、
規定された動作と考えてよさそうですね。

勉強になりました。ありがとうございました。

181:デフォルトの名無しさん
08/11/25 20:20:07
LinuxのX端末上で文字の色を反転させて出力する方法はありますか?

例えば、

txt="abcdefg"
5番目と7番目(インデックス4と6)の文字の表示色を反転
print txt

みたいなことを望んでいます。

182:181
08/11/25 20:24:00
追記
文字と文字の背景の色を反転という意味です。

183:デフォルトの名無しさん
08/11/25 20:58:49
もちろんできます。

184:sage
08/11/25 21:00:56
エスケープシーケンス使えば。
URLリンク(www.siafoo.net)

もっと凝りたいなら、cursesで。

185:デフォルトの名無しさん
08/11/25 21:03:19
X端末なつかしいな。

186:181
08/11/25 22:33:33
>>184
ありがとうございます。
エスケープシーケンスを使うことにしました。


187:デフォルトの名無しさん
08/11/26 14:44:10
>「are not safe 安全でない」の解釈が微妙ですが、

「全く安全という訳ではない」



188:デフォルトの名無しさん
08/11/26 19:02:41
turbogearsスレにも書いたのですが、過疎ってるようなのでこちらで質問させてください。

turbogearsを構成している各eggファイルをダウンロードして、turbogearsのインストールを行いたいのですが、
公式サイトのファイルリストのどのファイルをダウンロードすればいいのでしょうか。
ちなみにWindows環境です。


189:デフォルトの名無しさん
08/11/26 19:15:30
URLリンク(nagosui.org)

190:デフォルトの名無しさん
08/11/26 19:20:15
URLリンク(docs.turbogears.org)
URLリンク(docs.turbogears.org)


191:デフォルトの名無しさん
08/11/26 19:27:41
>>189
ご紹介いただいたページは既に拝見しました。
プロクシ環境なのでこの方法が使えません。

そこで、上記サイトのオフラインインストールマニュアルを見たのですが、
"基本的に最新バージョンの各パッケージのeggファイルを落とせばいいけど、lightbox等の一部のパッケージは除く"みたいな表現があったので、悩んでます。
これらのファイルはダウンロードしなくていいって事なんですかね?

192:デフォルトの名無しさん
08/11/26 19:35:23
いいんじゃない?

193:デフォルトの名無しさん
08/11/26 19:38:57
>>192
そうですか。では、インストールしてみます。
ありがとうございました。

194:デフォルトの名無しさん
08/11/27 00:00:43
質問です。
Pythonで数独を解くプログラムを書きました。
色々いじってPenIII933MHzでPsycoなしで70秒、Psycoありで
25秒くらいで回答できるようになりました。
さらに高速化しようとboost.pythonを利用してC++に
移植したのですが返って遅くなってしまいました。
何が原因でしょうか?必要であればソース出します。

195:デフォルトの名無しさん
08/11/27 00:11:03
>>194
よくわかんねえな。つうかそんなの組み方次第じゃないの。

数独解くプログラムって
URLリンク(codepad.org)
こんなもんでいいの?
C/CLLなら瞬殺だと思うけど。

196:デフォルトの名無しさん
08/11/27 00:11:58
>>194
>PenIII933MHz

ワーキングプアかよ(wwWwwwWWWwwwwWwwWwwww

197:デフォルトの名無しさん
08/11/27 00:26:59
>>195
回答ありがとうございました。ほとんど同じコードをPythonで書いていました。
あまりC++が詳しくないので、おっしゃられるとおりC++での組み方が
悪いだけなのだと思います。勉強しなおしてきます。

198:195
08/11/27 00:44:36
CLLって何だw
C++のtypoね

>>197
ロジックが同じようなもんなら、とりあえず以下の点が疑わしいかなあ

・最適化していない(コンパイルオプションの問題)
・最近のVC++を使っているなら、vectorとかを使うと、[]演算子でもデフォルトで
 範囲チェックがなされている可能性が高い(俺も細かいことは知らん)


199:デフォルトの名無しさん
08/11/27 00:57:35
>>198
Pythonでは
URLリンク(codepad.org)
という感じでした。

C++はおっしゃられるとおりvectorを多用していました。
boost.pythonがどうこういう以前の話だったようです。
勉強になりました。

200:デフォルトの名無しさん
08/11/27 01:07:40
おお、すごい2chにpostで投稿できた。

201:デフォルトの名無しさん
08/11/27 01:07:55
>>199
vector<>は別に悪者じゃなくて、C++ならそれが普通なんだけどね
VC++は最近セキュリティがらみで色々やってるみたいだから

SECURE_SCLだったかな?そのへんのキーワードでぐぐってみるといい

202:デフォルトの名無しさん
08/11/27 01:10:31
>>198
スレ違いだが、vectorの仕様では、
oprator[]は範囲チェックなし、
範囲チェックしたければメンバー関数at(i)を使うことになっている。


203:デフォルトの名無しさん
08/11/27 01:12:55
>>202
仕様ではそうなっていてもVC8以降は_SECURE_SCLが効いてると
operator[]の範囲チェックをするようになっていた気がする

だから、[]演算子「でも」と書いたんだけどね

204:デフォルトの名無しさん
08/11/27 05:32:11
vectorは要素コピーしまくり

205:デフォルトの名無しさん
08/11/27 05:34:04
Dequeに置き換えるだけで速くなる

206:デフォルトの名無しさん
08/11/27 06:17:44
>>196
PIII800MHz
192MB
ですがなにか?

207:デフォルトの名無しさん
08/11/27 08:07:04
PenII266を現役で使用してるんだが・・・

208:デフォルトの名無しさん
08/11/27 08:23:41

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
res1 = opener.open(req)
if '<!-- 2ch_X:cookie -->' in res1.read():
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
res2 = opener.open(req)


209:デフォルトの名無しさん
08/11/27 08:27:50
ぱい

210:デフォルトの名無しさん
08/11/27 10:41:28
質問させてください。
pythonで一番メジャーなパッケージマネージャは何ですか?

調べてもあんまり出てこないんですよね・・。

211:デフォルトの名無しさん
08/11/27 10:53:26
>>210
easy_installじゃないの?

212:デフォルトの名無しさん
08/11/27 12:26:52
うちのファイルサーバーはpenIII 800だ

213:デフォルトの名無しさん
08/11/27 13:34:53
>>194
つか、遅すぎなんだけど。なにそれ。やる気あんの?

boost とか使う前にアルゴリズムを改良しろよ。
まずは CSP 学べ。

214:デフォルトの名無しさん
08/11/27 13:43:26
産業廃棄物をサーバとして使うなよ(wwWwwWWWwwwwwWwWwwwwWwwww

215:デフォルトの名無しさん
08/11/27 14:18:44
総当りでもしてるのかな?

216:デフォルトの名無しさん
08/11/27 14:26:15
>>215
総当りに近いんじゃね?
25秒とか、古い Pen II でもありえんよ。
CPU が P3 933Mhz もあるんだったら、半秒以上かかる sudoku solver 書いた時点で負け。


217:デフォルトの名無しさん
08/11/27 14:31:22
コードは上にあがってるじゃん

218:デフォルトの名無しさん
08/11/27 14:56:20
>>199のコードに
if __name__ == '__main__':
  import sys
  main(sys.argv[1])

を付け加えて、
530070000
600195000
098000060
800060003
400803001
700020006
060000280
000419005
000080079
とかいう入力を与えてみたけど、一瞬だったけど?
time の結果が0.25秒程度
別にPsycoとか使ってねー

PentiumM 1.7GHz
Windows XP SP3
Python 2.5.2


219:デフォルトの名無しさん
08/11/27 15:01:05
>>194
それって25*25でってこと?


220:デフォルトの名無しさん
08/11/27 15:14:04
っと、コードが晒されているのか。
(少なくとも)3種の枝刈り手法があったと思ったが、どれもやってないの?

221:デフォルトの名無しさん
08/11/27 15:16:32
81マスに9通りの数を置くだけなんだから、総当りだってゴミみたいな計算量だろ
上でやってるのはごくシンプルなバックトラックだよ

数十秒とか絶対ありえん

222:デフォルトの名無しさん
08/11/27 15:17:26
いやさすがに総当りはないか、訂正するw

223:221=222
08/11/27 15:18:47
「総当りがゴミ」を訂正するという意味、重ね重ねすまん

224:194
08/11/27 16:01:18
>215,216,220,221
221さんが指摘されているとおりシンプルなバックトラックです。
他のアルゴリズムも勉強してみます。

>213,218,221
218さんが検証してくださっているとおり簡単な問題は
1秒未満で回答できます。紛らわしくてすいません。
URLリンク(www.sudoku.name)
の問題を使用しているのですが上級++で

004000080
003007000
600800009
030002500
070080090
005000030
200001007
000400100
050000600

というような問題の回答が遅いです。
220さんがおっしゃっているようにアルゴリズムの工夫で
何とかしてみます。ありがとうございました。

225:デフォルトの名無しさん
08/11/27 16:32:27
枝刈りしたら、この上級++の問題、数十倍速く解けるみたいだよ。
がんばって。

226:デフォルトの名無しさん
08/11/27 17:16:13
PyQtを使ったプログラムはソースを公開しないといけないの?

227:デフォルトの名無しさん
08/11/27 18:32:35
ユーザーはともかく、クリエータはGTK(GNOME)の方が多いだろう
GTKがLGPLなのに対して、QtはGPLか最近のtool kit としては高額の
有償ライセンスかのいずれか
利用できる人間は、どうしても限られてくる


228:デフォルトの名無しさん
08/11/27 21:04:28
turbogearsの2.6対応まだなのー?

229:デフォルトの名無しさん
08/11/28 02:59:53
おれも最近sudoku作ったよ!ナカーマ
どっかのホームページで数独の問題集があって、難易度ごとに別れているんだけど
最強難易度の一番最後の問題(たぶん94番目)を解くのに3秒くらいだったよん。

==環境==
WinXP
ActivePython 2.5.2.2くらい
Core2Duo1.7GHz

230: 
08/11/28 10:47:18
foo = "hoge"
bar = "fuga"
TITLE = {"title":foo - bar}

print TITLE["title"]
これで hoge - fuga と出力したいんだけど
"foo - bar"で引用符で囲むと foo - barになる。
囲まないとエラーになる。
どうすれば hoge - fuga に出来ますか?

231:デフォルトの名無しさん
08/11/28 11:00:31
なんかえらい基本的なことが抜けてる気がするぞ
ちゃんと勉強汁

foo + " - " + bar
"%s - %s" % (foo, bar)


232:デフォルトの名無しさん
08/11/28 11:15:59
>>224
>>195の、単純なバックトラックのCのコードですら
その問題は(俺の環境では)0.35秒ぐらいで解けるようだよ

アルゴリズム改善がベストだが、C++で書いても
そんなに遅いのは、別の理由もありそうだな

233:デフォルトの名無しさん
08/11/28 11:21:11
\x00とすると16進数で8ビット文字列を作れますよね。
16進数を作ってから、\xとつなげるにはどうすればいいですか?
"\x%x"のように文字列フォーマットを使おうとするとエラーになってしまいます。

234:デフォルトの名無しさん
08/11/28 11:22:44
"\\x%x"で定義してから、置換すればいいんじゃね?

235:デフォルトの名無しさん
08/11/28 11:25:31
できないじゃないですか。

236:デフォルトの名無しさん
08/11/28 11:26:19
素直にchr()使いなさい。

237:デフォルトの名無しさん
08/11/28 11:30:51
printf("%c", 0x25);
こんな感じ

238:デフォルトの名無しさん
08/11/28 12:18:40
>>237
chr(0x25)

239: 
08/11/28 12:36:35
>>231
おぉ! + を使って繋げるのか
TITLE = {"title":foo + " - " + bar}
print TITLE["title"]
hoge - fuga
と、無事にできました

でも、これが分かりません orz
> "%s - %s" % (foo, bar)

プログラム経験は昨日からです...
www.python.jpを見ながら勉強してます

240:225
08/11/28 12:55:52
>>229
試してみる。どんな問題?

241:デフォルトの名無しさん
08/11/28 13:51:06
Pythonのオススメの統合開発環境は何ですか?(日本語化可能だと有難いです

PyScripterはバグが多く、使いにくかったです…

242: 
08/11/28 15:10:40
>>241
テキストエディタでいいじゃん

243:デフォルトの名無しさん
08/11/28 15:15:29
>>241
Vimを +python でコンパイルしたもの

244:デフォルトの名無しさん
08/11/28 15:26:20
>>240
URLリンク(www.sudoku9981.com)
の94番目のやつ

245:225
08/11/28 15:46:29
>>224
ありがと。
0.98秒くらいだった。ハードのスペック違うけど。

Vista
CPython 2.6
PentiumM 2.1GHz

246:225
08/11/28 16:31:33
ごめん、訂正。
3回くらい実行したら、最短で0.2秒くらいだった。


247: 
08/11/28 16:47:05
チュートリアルでさえ難しいです
誰か僕に愛の手を

248:デフォルトの名無しさん
08/11/28 16:51:58
どこがわからないか*具体的に*いってみ

249:デフォルトの名無しさん
08/11/28 16:52:45
チュートリアル難しいよねえ。
まあ地道にコード打ってがんばろう。
てなことで今数独問題生成・解答アルゴリズムを考えてる。

250:デフォルトの名無しさん
08/11/28 17:17:26
BeginnersGuide/NonProgrammers - PythonInfo Wiki
URLリンク(wiki.python.org)

251: 
08/11/28 17:43:16
>>248
>"python file" と "python <file" の違いに注意してください。
>後者の場合、プログラム内でinput() や raw_input() が呼び
>出され、ユーザからの入力が必要な場合、入力はファイル から
>取り込まれます。この場合、パーザはプログラムの実行を開始
>される前にファイルを終端まで読み込んでおくので、プログラム
>はすぐに入力の終わりまで到達してしまいます。前者の場合
>(大抵はこちらの方が望ましい動作です)、入力には Python
>インタプリタの標準入力に接続された何らかのファイルまたは
>デバイスが充てられます。

まず最初に意味が理解できなかった所です。

252:デフォルトの名無しさん
08/11/28 18:01:08
perlの場合は両方ともfileを実行するが
pythonは違うから注意しろってことだろ

253:デフォルトの名無しさん
08/11/28 18:26:17
>>251
チュートリアルといいつつ、本当の初心者向けの文章ではないからね
Unixの経験と、他の何らかの言語の経験を仮定している記述も多い

必要の無いところは、分からなくても読み飛ばしてしまっていいと思う

254:デフォルトの名無しさん
08/11/28 18:34:05
>>251
両者ともfileに含まれるPythonコードを解析し実行するという点では同じ。
ただ後者の場合は、解析段階で最後まで読んだfileをinput()の入力にあてがうので、
やってみるとEOFErrorになる。なので普通は誰もやらない。

255:デフォルトの名無しさん
08/11/28 18:45:00
python fileとpython <fileが何の事か分からんです
ひょっとしてコンソールで

$ python file.py
$ python < file.py

こういう事?

256:デフォルトの名無しさん
08/11/28 18:52:23
>>255
なんでそんな簡単なことがわからんの?
Pythonがどうこう以前に、そんなこと
普通にシェルに触ったことがある奴なら誰でもしってるよ。

$ cat < file.py

がなんで file.py の内容をそのまんま吐き出すか考えてみろよ。
stdin からのインプットを待ってるからだろ?


257:デフォルトの名無しさん
08/11/28 19:05:03
触るな危険

258:デフォルトの名無しさん
08/11/28 19:19:45
数独をPythonでLISP風に解くとどんなコードになりますか?
Pythonにこだわらずに
LISPだけでもいいです。


259:デフォルトの名無しさん
08/11/28 19:25:11
>>258
LISP風の定義を言え。
lambda関数ばっかでやりたいのか? 変数に代入できんだろ。

260:デフォルトの名無しさん
08/11/28 19:41:12
触るな危険

261:デフォルトの名無しさん
08/11/28 19:47:35
>>258
Lispは全然詳しくないが
・インデクスアクセスしたいタイプの問題なので、リストよりベクタ向き
・副作用を避けようとすると、9x9のベクタを大量にコピーしまくる羽目になる
ような気がするが、どうなんだろうな

>>199のコードはforとかは使っているが比較的関数型よりのコードに見えるよ
つまり、コピーしまくりんぐ

262:デフォルトの名無しさん
08/11/28 19:53:30
>>258
URLリンク(www.norvig.com)
URLリンク(blog.livedoor.jp)
URLリンク(www.unixuser.org)
URLリンク(d.hatena.ne.jp)

263: 
08/11/28 20:33:07
>>256
ごめんなさい

264:デフォルトの名無しさん
08/11/28 20:37:06
python <i>file</i>
python < <i>file</i>

このようになってたら分かり易いんだけどな。
fileがファイル名なのか "file" という文字を
そのまま打つ必要があるのかが解り難い

265:デフォルトの名無しさん
08/11/28 21:07:38
>>251の訳文「入力は <i> file </i> から取り込まれます」とすべきだったんだな

266:194
08/11/28 22:38:59
>>225
URLリンク(codepad.org)
枝刈りとして分岐が少ない場所から走査するようにしたところ
5秒で回答できるようになり5倍高速化しました。
数十倍は難しいです。もしよろしければ後学のために
ソースを見せていただけないでしょうか?

>>244,245
2.8秒でした。自分のプログラムもそれなりの速さがでているようで
安心しました。

>>198,201,202,232
C++勉強して書き直したところboost.pythonを利用して
0.5秒で回答できるようになりました。
きちんとC++やりなおさないとだめですね。

ところでC++とPythonで配列をやりとりするとき
URLリンク(codepad.org)
のように書いてみたのですが他にうまい書き方があるのでしょうか?

URLリンク(www.boost.org)
を見たのですが、vector<->listの変換の自動化は未実装である
ということでしたが毎回wrapperを書かないといけないのでしょうか?



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

5077日前に更新/206 KB
担当:undef