くだすれPython(超初心者用)at TECH
くだすれPython(超初心者用) - 暇つぶし2ch107:デフォルトの名無しさん
08/04/30 19:47:39
Pythonで行列の計算をしたいんですがどうやればいいんですか?

108:デフォルトの名無しさん
08/04/30 19:53:57
>>107
「python 行列」でググれ

109:デフォルトの名無しさん
08/04/30 19:59:29
>>105
日本語だって「わ」の音を「は」と書くじゃん。

110:デフォルトの名無しさん
08/04/30 20:05:05
>>108
ググったけどわかりません
教えて

111:デフォルトの名無しさん
08/04/30 20:08:37
>>110
どこが分からなかった?

112:デフォルトの名無しさん
08/04/30 20:11:20
日本語は最近綴り方を改定したから大概発音と一致するけど、
英語は大母音推移以来ほとんど改定らしい改定をしてないからバラバラ。

113:デフォルトの名無しさん
08/04/30 20:14:41
>>111
まずなぜかインポートができない(たぶんバージョンが違うから)
それに多分arrayが認識されない

114:デフォルトの名無しさん
08/04/30 20:19:08
>>113
何をインポートしようとしたんだ?
どういうエラーが出たんだ?
「それに多分arrayが認識されない」とかの自分の印象はいいから
まず、客観的な事実を書いてくれ。

115:デフォルトの名無しさん
08/04/30 20:22:58
from Numeric import *
をインポートしようとしました。

116:デフォルトの名無しさん
08/04/30 20:26:00
それと
>>> A=array([1,2,3])

Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
A=array([1,2,3])
NameError: name 'array' is not defined

117:デフォルトの名無しさん
08/04/30 20:33:53
easy_install入れろ

118:デフォルトの名無しさん
08/04/30 20:51:24
ここは親切な人が多くて良いな。

119:デフォルトの名無しさん
08/04/30 20:57:07
ごめんわかんない

120:デフォルトの名無しさん
08/04/30 20:59:31
NumPyはインストールしたの?

121:デフォルトの名無しさん
08/04/30 21:01:43
NumPy落として、
python setup.py install
とやれ。
もしWindowsだったら、
環境変数PATHに、c:\python25\bin
とか追加しとけ

122:デフォルトの名無しさん
08/04/30 21:45:22
どうかこの優しい方々が居続けてくださいますように
どうかこの優しい方々が、今後も湧き出るどうしようも無い初心者達の救済となって、
ルーキーズの川籐のごとくアドバイスし続けてくださいますように

ひいては、このpyuhonが、pygameが、どうか日本で流行りますように

うぃーあーぱいそん!!恋愛

123:デフォルトの名無しさん
08/04/30 21:52:01
>>121
環境変数PATHってなんですか?

124:デフォルトの名無しさん
08/04/30 22:03:06
>>123
「環境変数 PATH」でぐぐるよろし。
設定しとけば毎回c:\python25\bin\Python.exeなんて長ったらしいパスを打ち込まなくて済む。

125:デフォルトの名無しさん
08/04/30 22:20:33
C:\Python25\bin なんてねえぞ
C:\Python25;C:\Python25\Scripts にしとけ

126:デフォルトの名無しさん
08/04/30 22:22:11
export PATH= $PATH:/usr/binでok

127:デフォルトの名無しさん
08/04/30 22:22:46
何のことだかさっぱりわかりません

128:デフォルトの名無しさん
08/04/30 23:39:44
自己解決しました

129:デフォルトの名無しさん
08/04/30 23:49:15
>>128 こっちのスレまで来るな

130:デフォルトの名無しさん
08/05/01 08:53:51
このたびMacos10.5.2を買ったのです
レオパルドです

これにはpythonもろもろが常設されてるみたいですが
pythonをやる上でインストールしとくべきものってありますか?


131:デフォルトの名無しさん
08/05/01 09:03:46
2chブラウザ

132:デフォルトの名無しさん
08/05/01 09:25:14
レパードと発音するらしいよ。
イタリア語読みならレオパルドでいいらしいが。

と、さておいて。
MacOSだと、使えるIDEが少ない。
標準で入ってるIDLEや、
wxPython製のIDEだと、日本語入力ができないwので、

Xcodeを使うこと。でもXcodeは使いづらいので、
miなどのエディタでしこしこと打ち込んで、
ターミナル立ち上げて、Pythonのソースが保存されている場所まで
ディレクトリ移動して、python hoge.py などとやって実行していく。

一番使いやすいのはCarbonEmacsだけど、
UNIX系OS使ったこと無い人、及びWindows上でMeadowやxyzzy使うなどの奇特な人
出ない限り、操作を覚えないとストレスが溜まる。
慣れれば、いいんだけどね。


MacOS向けのpyscripterみたいなのないのかね。
入力補完してくれる奴が欲しいわ。

133:デフォルトの名無しさん
08/05/01 09:47:02
MacOSをお持ちの方 下の方法を試して頂けないでしょうか。
Mac環境で2chのhtmlをdat化したり出来ないかと言われたので試しているのですが
Macを持っていませんので これでいいのかどうか自分では試せないのです

スレリンク(gline板:578-581番)n

Macを使っているけど「python何それ」というような人でも出来たら嬉しいなと。
用語その他間違っているかもしれないので御指摘頂ければ有り難いです。
宜しくお願い致します。

134:デフォルトの名無しさん
08/05/02 20:08:16
なんでこんな面倒なんだww

135:デフォルトの名無しさん
08/05/02 20:33:02
datといっても、
名前<>メール<>日付+ID<>レス<>スレッド
名前<>メール<>日付+ID<>レス
という形式のファイルを一行ずつ読んで、
セパレータ<>で区切って、
string.Templateあたり使って生成すりゃいいのかな。
なんでそんなに面倒なんだ?
zipFileライブラリ使ってるから?

136:133
08/05/02 20:56:41
自己解決します

137:デフォルトの名無しさん
08/05/03 08:31:43
ここは低レベルな糞人間が集まる最低なスレですね

138:デフォルトの名無しさん
08/05/03 11:57:28 BE:91467623-2BP(455)
>>133を投稿した者です

>>134
コマンドライン(Macではターミナルというそうですが)の使い方から書いたので面倒そうに見えますが
もっと簡単な方法がありましたら御教示下さいです

>>135
ごめんなさい
datをhtml化するのではなく
htmlをdat化したいのです

>>136
Macを持っていないので自己解決のしようがありません。
Windows版pythonでは問題なくdat化出来ていますが
Mac環境で出来ているかどうかなのですが。
それと 数字を騙っておられるようなのでbeをつけて投稿してみるです


失礼しました

139:デフォルトの名無しさん
08/05/03 20:43:48
>>137
自己紹介ですか?

>>138
Mac板で聞けばいいんじゃね?

なんでMacを持ってない(使える環境がない)人が
検証を必要としてるのか興味あるけどね。
「問題なくできましたよ」ってレスがあれば、それを信じちゃうわけ?

140:デフォルトの名無しさん
08/05/04 12:57:11
>>139
おまえ あたま ダイジョブ か

141:デフォルトの名無しさん
08/05/05 13:04:10
 「わからなかったらわかるまで考えなさい」
 「わからなかったら自分で調べるという努力をしなさい」
 「わからなかったら前に習ったことを忘れていないか、復習してみなさい」

142:デフォルトの名無しさん
08/05/05 13:22:22
htmlから元のdatは完璧に復元できそうにないと思うが

143:デフォルトの名無しさん
08/05/05 17:37:55
Beとか、株主優待とかそういった物を取り除いていけばいいのかなあ
今datファイルの文字コードをShift-JISからUTF-8に変えようって動きがあるよね。

144:デフォルトの名無しさん
08/05/05 18:02:21
あれは read.js の設計上そうすると便利だから変えようって話で、
別に方法が見つかったから無くなったんじゃないの?

145:デフォルトの名無しさん
08/05/06 14:36:00
>>141
こーゆーやつがすごくうざいよな


146:デフォルトの名無しさん
08/05/06 16:53:16
自己解決しました

147:プー
08/05/06 17:30:26
指定された引数分で作った数字のリストをローマ字のリストに変換する
プログラムの作り方についてお聞きしたいです。

私が作りたいと思っているプログラムの内容、例えば引数が30だった場合以下のよう
に変換することが目的です。引数が大きくなった場合はExcelの行番号のような表示
したいと考えています。
●数字リスト
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
            ↓
●英語リスト
[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad]

数字から英語に変換する、もしくは、はじめから英語のリストを作成する方法は無いでしょうか?
よろしくお願いいします。

148:デフォルトの名無しさん
08/05/06 17:46:26
26進数にすりゃいいんじゃないでしょうか

149:デフォルトの名無しさん
08/05/06 17:57:34
>>147
URLリンク(ja.doukaku.org)


150:デフォルトの名無しさん
08/05/06 18:31:48
↑でも出来てるけど、もう少し分かりやすいやつ
分かんないところあったら聞いてくれ

def countup(s):
    if s == '':
        return 'a'
    elif s[-1] == 'z':
        return countup(s[:-1]) + 'a'
    else:
        return s[:-1] + chr(ord(s[-1])+1)

def generator():
    s = ''
    while 1:
        s = countup(s)
        yield s

151:デフォルトの名無しさん
08/05/06 18:33:37
使い方の一例

>>> zip(range(100),generator())
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h'), (8, 'i'), (9, 'j'),
(10, 'k'), (11, 'l'), (12, 'm'), (13, 'n'), (14, 'o'), (15, 'p'), (16, 'q'), (17, 'r'), (18, 's'),
(19, 't'), (20, 'u'), (21, 'v'), (22, 'w'), (23, 'x'), (24, 'y'), (25, 'z'), (26, 'aa'), (27, 'ab'),
(28, 'ac'), (29, 'ad'), (30, 'ae'), (31, 'af'), (32, 'ag'), (33, 'ah'), (34, 'ai'), (35, 'aj'), (36
, 'ak'), (37, 'al'), (38, 'am'), (39, 'an'), (40, 'ao'), (41, 'ap'), (42, 'aq'), (43, 'ar'), (44, 'a
s'), (45, 'at'), (46, 'au'), (47, 'av'), (48, 'aw'), (49, 'ax'), (50, 'ay'), (51, 'az'), (52, 'ba'),
(53, 'bb'), (54, 'bc'), (55, 'bd'), (56, 'be'), (57, 'bf'), (58, 'bg'), (59, 'bh'), (60, 'bi'), (61
, 'bj'), (62, 'bk'), (63, 'bl'), (64, 'bm'), (65, 'bn'), (66, 'bo'), (67, 'bp'), (68, 'bq'), (69, 'b
r'), (70, 'bs'), (71, 'bt'), (72, 'bu'), (73, 'bv'), (74, 'bw'), (75, 'bx'), (76, 'by'), (77, 'bz'),
(78, 'ca'), (79, 'cb'), (80, 'cc'), (81, 'cd'), (82, 'ce'), (83, 'cf'), (84, 'cg'), (85, 'ch'), (86
, 'ci'), (87, 'cj'), (88, 'ck'), (89, 'cl'), (90, 'cm'), (91, 'cn'), (92, 'co'), (93, 'cp'), (94, 'c
q'), (95, 'cr'), (96, 'cs'), (97, 'ct'), (98, 'cu'), (99, 'cv')]

152:デフォルトの名無しさん
08/05/06 18:34:12
日本語によるpygame入門サイト、ソース公開サイトが無いね
pygameを極めた、ないしは極めようとしている日本人は居ない
ということでよろしいですか?


153:デフォルトの名無しさん
08/05/06 18:36:18
はい

154:デフォルトの名無しさん
08/05/06 18:37:22
話としては聞いたこと無いね、
やろうとしてる人はたくさんいる気がするけど

155:デフォルトの名無しさん
08/05/06 18:38:38
きわめてしまう人だと
ドキュメントの言語が英語でもなんでも
かまわないから作られないんじゃないの?

本家のドキュメントの内容をしっかりするほうが
いいと思う。

156:プー
08/05/06 19:13:11
お休み中申し訳ありません。
早速試してみます。
ありがとうございました。

157:デフォルトの名無しさん
08/05/06 19:31:02
ゲーム用途なら、effってのはどう?
URLリンク(hp.vector.co.jp)

158:デフォルトの名無しさん
08/05/06 20:45:04
>>152
なんかよく分かりません><
URLリンク(www.halb-katze.jp)

159:デフォルトの名無しさん
08/05/07 01:13:15
GUI ライブラリの説明で分かりやすいのって見たこと無いから、・・・

160:デフォルトの名無しさん
08/05/07 11:25:39
>>158
当たり判定とかさ、COMの動きとか
そーゆーのは一切解説無しなのね

161:デフォルトの名無しさん
08/05/07 11:58:22
>>160
そこと公式ドキュメントを見て行けば分かると思うよ

162:デフォルトの名無しさん
08/05/07 14:17:44
その公式の英文をなんとかしてほしいんだよね
英文を読んでまでのヤル気が必須になってるから
興味もった素人達にとっては敷居が高すぎる。
ただでさえわからないプログラム解説を、わからない英語で解説されるわけだから。
誰か、日本語翻訳サイトつくってよ
翻訳だけの協力でもいいよ、
俺がサーバー借りてサイト作ってもかまわない
サイト作りは出来るから。
なんなら、このスレのみんなでpygame公式サイトの日本語解説版作っていかないかな?



163:デフォルトの名無しさん
08/05/07 15:52:34
誰か、早く日本語翻訳サイトつくってよ

164:デフォルトの名無しさん
08/05/07 15:57:21
【pygame】pythonでゲーム製作【ぱいがめ】
スレリンク(gamedev板)

165:デフォルトの名無しさん
08/05/07 17:28:15
>>164
そこまともに機能して無いから

166:デフォルトの名無しさん
08/05/07 17:36:59
>>162
英文読むのにやる気がいるの?
なんで?

167:デフォルトの名無しさん
08/05/07 18:23:31
英語が母語じゃないからだろ

168:デフォルトの名無しさん
08/05/07 19:03:44
Python本家の翻訳も、やる人いないようだしね

169:デフォルトの名無しさん
08/05/07 19:05:17
ああ、君たち英語読めないんだったね。ごめん。

170:デフォルトの名無しさん
08/05/07 19:11:02
皆が英語出来ると思うなよ
プログラムの勉強と英語の勉強はベクトルも違うんだよ

171:デフォルトの名無しさん
08/05/07 19:54:13
英語の勉強を兼ねて英文のマニュアルを読めばいいんじゃね?

172:デフォルトの名無しさん
08/05/07 20:07:12
半年周期でpygameコンテストでもやったら?

英語が苦手という人がいるけど
少女漫画を読み慣れていなくて、少女漫画を敬遠するようなものだと思うけどね
ようは慣れ問題だと思う

reading(脳みそへの入力)とtyping(脳みそからの出力)をしていれば、頻出単語も覚えられるし
英語も身に付くし、英語という言葉に対する興味も沸くと思うよ

教祖様がコードのコメントは、英語で書けって書いていなかったか?
とりあえず、その教祖様の教えを守ろうよ

あと英語で書けと言っている意味をもっともっと考えてみてもいいと思う

173:45
08/05/07 21:47:18
かなり返事が遅くなってしまいましたが・・・。

>>51
新しいverを入れてみました。
しかし、
>>45の質問の解決には至っていません。
import先がいまだによくわかりません。
1行1行実行するのではなくソースをまとめておいて
実行したいのですが…。

174:デフォルトの名無しさん
08/05/07 21:55:10
>>173
ケチらないで、本を買いなよ
それか、図書館で借りるか

話は、それからだ

175:デフォルトの名無しさん
08/05/07 21:59:00
>>173
test.pyではなく他の名前で試したらどうなる?
あとpyscripter, python.exe両方で試したほうがいい

176:デフォルトの名無しさん
08/05/07 22:06:22
英語の出来ない開発者なんてうんちだよ。
どうやって最新情報を仕入れるんだ?

177:デフォルトの名無しさん
08/05/07 23:01:20
>>174
本買うのは構いませんので
初心者におすすめの書籍はありますか?
言語はCOBOLのみ多少知識があるだけです。


>>175
両方でとりあえず試してみました。
見に行っているimport先がそれぞれ違うのでしょうか。
IDLE(<module 'test' from 'C:\Python23\Lib\idlelib\test.pyc'>)はうまくいきましたが
pyscripter(<module 'test' from 'C:\Python25\Lib\test\__init__.py'>)は×です。
また、importというのは一度実行後に再度実行すると何も起きないのですが
どういうことなんでしょうか??

178:デフォルトの名無しさん
08/05/07 23:03:09
一応大卒なら英語を10年間勉強してるんことになるんだから
遅くても読むことぐらいはできるだろ、常識的に考えて

179:デフォルトの名無しさん
08/05/07 23:09:34
>>171
かなりの根気がないと続けるのは難しいよ。
自分で考えて訳しても合ってるかどうかわからないし。
それでもやるだけ上達するだろうけど。

180:デフォルトの名無しさん
08/05/07 23:10:49
このスレはウンチばっかりだよ。

181:デフォルトの名無しさん
08/05/07 23:19:57
この板自体……

182:デフォルトの名無しさん
08/05/07 23:20:05
Pyglet とか ゲーム作るなら参考になるかも
デモが軽い。コードが綺麗。テストケースの参考にもなる悪寒。

URLリンク(code.google.com)
pyglet: a fast cross-platform windowing and multimedia library in pure Python,
that we use in SymPy for 2D and 3D stuff

ロシア人もお勧めしてる…

URLリンク(zaiko.maruzen.co.jp)
URLリンク(zaiko.maruzen.co.jp)

むぅ。Trac本、在庫ないのかよ orz
明日入荷してるとか、ないですね。わかります

183:デフォルトの名無しさん
08/05/07 23:25:25
技術用語をわかっていたら、技術英語なんて全然難しくないぞ
凝った言い回しなんて全然ないし
少なくとも高校出ていればあとはやる気の問題だろう

184:デフォルトの名無しさん
08/05/07 23:29:20
>>177
インポートされるモジュールはカレントディレクトリやsys.pathで
優先順位が決められている
test.pyという標準ライブラリと衝突する名前をつけたので
異なるモジュールがインポートされた
URLリンク(www.python.jp)
ついでにLib/idlelib以下に保存するのではなく
Lib/site-packages以下か他の場所に保存したほうがいい

185:デフォルトの名無しさん
08/05/07 23:32:45
中学生並みのゆるゆるウンチってことだね。

186:デフォルトの名無しさん
08/05/07 23:38:06
>>177
どうしても、もう一度importしたい時はreload関数かシステムを再起動する

187:デフォルトの名無しさん
08/05/07 23:52:13
>>177
ググるところから勉強だよ

まあ、初めてのPythonを興味のあるところからでも読みつぶせば、スラスラ書けるようになるよ
あとPythonの英字サイトを読む気があるなら、良書と言われているPythonの洋書を一冊でも
手元に置いておくと読解しやすいね

>>179
183さんが言っているように凝った言い回しなんて基本的にないから、頻出単語だけ調べれば、どうにかなるって

あとネットに繋げれば、情報があふれている昨今で「できません><」と言っていたら、
自分は「無能で童貞です」と言っているようなもんだぞ

やると決めたら、一ヶ月は全力でやってみろよ
Pythonに関しても、英語に関しても何かを掴むから

とりあえず、今のググり方より5倍ググれ

188:デフォルトの名無しさん
08/05/08 00:03:53
Perlに比べたらPython界隈の英語はかなり易しいと思う

189:デフォルトの名無しさん
08/05/08 05:09:50
中卒はお払い箱か?

190:デフォルトの名無しさん
08/05/08 08:24:33
>>189
それはDanのことかーーー!!

191:デフォルトの名無しさん
08/05/08 21:10:22
英語は学問じゃなくて慣れの問題

192:デフォルトの名無しさん
08/05/08 22:26:41
つまりpython.comで英語漬けになれ、ということですね。わかります。

193:デフォルトの名無しさん
08/05/08 22:42:00
python.orgだろ

194:デフォルトの名無しさん
08/05/08 23:08:33
>>192
アダルトサイトじゃねーかゴルァ!www

195:デフォルトの名無しさん
08/05/09 00:28:55
勉強になりそうだ(w

196:デフォルトの名無しさん
08/05/09 06:14:41
pygameで制作されたフリーゲームを見てみたいのですが、
リンク貼って頂けませんか?

あと、日本人がpygameで作ったゲームって無いのかな?
あったら教えてください

197:デフォルトの名無しさん
08/05/09 06:27:22
ソース付きみたいだから、プレイできるんじゃない?
pygame - python game development
URLリンク(www.pygame.org)


【pygame】pythonでゲーム製作【ぱいがめ】
スレリンク(gamedev板)

198:デフォルトの名無しさん
08/05/10 01:18:48
どうやってプレイするのかわかりません、、、
クリックだけじゃ立ち上がらない?

199:デフォルトの名無しさん
08/05/10 01:37:06
方法はゲームによって違うだろうし
どこの段階で出来ていないか書いてもらわないと答えようがない

200:デフォルトの名無しさん
08/05/10 07:50:54
ゲームによって違うの?

201:デフォルトの名無しさん
08/05/10 09:30:30
どれをダウンロードしたんだ?
pythonやpygameはインストールしてるのか?

202:デフォルトの名無しさん
08/05/11 05:51:19
外人が作った質の良いpygameのゲームをやっている人に質問
前にどっかのサイトかブログで目にしたけど
pygame、っつかpythonはBGMを流すのにかなり苦労するみたいやね
途中からリピートさせられないから前奏とファイルを分けなければならないとか
リピートする概念が無く、無理矢理リピートさせると間に一瞬空白が出来るとか
解説されてたけど、その辺どうなの?外人らは完璧に対処してる?

203:デフォルトの名無しさん
08/05/11 10:35:21
俺の母親は実の親じゃなくて父親の再婚相手だから普通にセックスとかしてる
父親は再婚してすぐ死んだから、母親も寂しかったみたいで父親の面影のある俺を求めたのかもしれない
妹と姉もいるがこれも母親の連れ子で血が繋がってないから普通にセックスしてる
今日は母の日だから家族みんなで4Pする予定
こういうエロゲをpythonで作りたいのですが、
作り方の指南書ありませんか?

204:デフォルトの名無しさん
08/05/11 10:58:41
マジレスすると、その企画書を持っていってエロゲ屋の門を叩けば
嫌と言うほどエロゲの作り方を叩き込まれるとオモ。

205:デフォルトの名無しさん
08/05/11 11:05:18
>>204
Pythonやpygameは使えないと思うけどな。

ところで早くpygame翻訳しろよクソどもが。

206:デフォルトの名無しさん
08/05/11 11:17:52
ちょっと待った。
エロゲというか紙芝居を作るpythonのライブラリがなかったか?
と、、、ここで思い出した。これだ。
URLリンク(dekubar.blogspot.com)

207:デフォルトの名無しさん
08/05/11 11:23:48
>>202
MCI使ってたらそりゃそうなるだろ
ちゃんとwaveoutを使え


208:デフォルトの名無しさん
08/05/11 14:25:32
知らないならレスしないでください

209:デフォルトの名無しさん
08/05/11 14:42:09
A君は中間テストで80点を取り、期末テストでは85点を取りました。
先生は言いました。
「たった5点しかアップしてないとは。努力が足りないな」

B君は中間テストで50点を取り、期末テストでは70点を取りました。
先生は言いました。
「20点もアップするとは。よくがんばったな」

C君は中間テストで10点を取り、期末テストでは5点を取りました。
先生は言いました。
「まあCだから仕方ない」

210:デフォルトの名無しさん
08/05/11 16:08:49
pythonで書いたPGMを
exe形式にしてWINDOWSで実行出来るというのが調べてわかったのですが
URLリンク(www.xucker.jpn.org)


『実行』
python setup.py py2exe
とMS-DOSで実行と書いてあるのですが
コマンドプロンプトで試しましたがエラーになります。
エラーは
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。と出ます

ディレクトリの位置が悪いのか、
何が悪いのかよくわかりません。
わかる方いましたらお願いします。

211:デフォルトの名無しさん
08/05/11 16:10:39
>>210
環境変数でPATHにPythonのディレクトリを追加する。

212:デフォルトの名無しさん
08/05/11 19:29:51
python のソースを読みたいんだが
ダウンロードしてもどこから読んでいいかわからない
README からか?

213:デフォルトの名無しさん
08/05/11 19:42:00
まずはソースコードを読むための技術 でぐぐる
あと公式リファレンスにPython/C APIが載ってるので
参考にしながら読むといいだろう
いうまでも無いがgrepぐらいは使えなきゃ話にならんぞ

などと一行も読んだことの無い俺が知ったかレス

214:デフォルトの名無しさん
08/05/11 20:00:55
>>212
何か知りたいことがあってソースを読むんじゃないの?
知りたいことが決まっていればどこから読むかは自ずと明らかなはずだけども。

215:デフォルトの名無しさん
08/05/11 20:06:14
以前2chでハッカーになりたいとカキコしたら
インタープリタを書けと言われたから

216:デフォルトの名無しさん
08/05/11 20:07:13
何をしていいやら
何をしたいのかで
もう何年も経ってしまった…

217:デフォルトの名無しさん
08/05/11 20:09:25
作れたものは本立程度のものばかり
バグの発見もほんのわずかしか貢献していない
先が見えんよ

218:デフォルトの名無しさん
08/05/11 20:10:41
自主と継続力が足りないのは理解できるが
意欲は、得られる利益が生み出すものでもある。
なんか、道を指し示してくれよ

219:デフォルトの名無しさん
08/05/11 20:37:37
究極のエロゲーを作れよ

220:デフォルトの名無しさん
08/05/11 20:41:30
>>215
PythonでPythonのインタプリタの挙動を
再現するものを書けば良いじゃない

221:デフォルトの名無しさん
08/05/11 21:00:08
>>220
おもしろいアイデアだね。それPyPyって名前つけて発表してみれば?
それと命名するときは他のプロジェクトと名前が被ってないか気をつけろよ。

222:デフォルトの名無しさん
08/05/11 21:32:06
>>221
日本国内ではないようだから、
pYpYって名称で作ってみようかな

223:デフォルトの名無しさん
08/05/11 21:49:30
名前はPyMankoにしようぜ。
これならかぶらないし、人気が出ること間違いなしだ。

224:デフォルトの名無しさん
08/05/11 22:01:27
OhPyに決まりました

225:デフォルトの名無しさん
08/05/11 22:10:34
Pythonに心をわしずかみにされました。
なにかにつけPyばっかりなので、それだけで幸せな気分になります。

226:デフォルトの名無しさん
08/05/11 22:34:03
幸せいっぱい

227:デフォルトの名無しさん
08/05/11 22:56:41
hard life. but happy life.

228:デフォルトの名無しさん
08/05/11 23:24:15
Py乙

229:デフォルトの名無しさん
08/05/11 23:53:06
>>218
オライリーの洋書をコンプリートする勢いで関心のある分野のものを買い漁れ
そうすれば、おのずと道は、開ける

自己判断で邦訳本も+αで買っていいものとする

230:デフォルトの名無しさん
08/05/12 00:09:33
オライリーファンだがそれは無いわ

231:202
08/05/12 00:23:11
レスがおもっきり進んでるから期待して覗くも
まともな解答どころか、レスすらついてない始末

だから終わってんだよ

232:デフォルトの名無しさん
08/05/12 00:35:22
>>231
pygame.orgでゲームのソースコードが入手できるURLが
晒されてるんだから、自分で気になったゲームのソース見りゃいいんじゃねえの?

233:デフォルトの名無しさん
08/05/12 00:38:09
終わってるとか挑発すれば誰かが答えてくれるとでも思ってるんだろ
問題の起こるコードの提示も無いし放置でいいじゃん

234:デフォルトの名無しさん
08/05/12 00:49:53
>>231
>外人が作った質の良いpygameのゲームをやっている人
が少ないんじゃない?
まあ気長にいこうや。

235:デフォルトの名無しさん
08/05/12 00:50:49
>>18

236:デフォルトの名無しさん
08/05/12 00:51:24
>>231
環境を書いて、ちゃんと質問したほうがいいんじゃない?
ペンディングしておいて、誰か、答えてくれるんじゃない?

24時間以内に答えが返ってくるような内容じゃないようなあ

237:デフォルトの名無しさん
08/05/12 00:57:59
>>235
今回の症例は、5と7が顕著ですね

5. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする
7. 逆切れする …自分の思うようにならないと逆切れする。

238:デフォルトの名無しさん
08/05/12 04:16:24
逆切れって切れる人間とその対象が逆転するって文脈で使われると思うから、
この場合、
7. 切れる … 自分の思うようにならないと切れる。
でいいんじゃないかな?
それとも、通常切れないような状況で切れるという意味で使われてる?

239:202
08/05/12 08:46:20
ほんとおまえら馬鹿ですね。
ここってくだすれでしょ?
質問スレッドでしょ?質問には回答を返すのがマナーってもんでしょ?

240:デフォルトの名無しさん
08/05/12 10:28:56
>>239
つまんないよ

241:デフォルトの名無しさん
08/05/12 10:30:28
>>239
つまらないってよ。

242:デフォルトの名無しさん
08/05/12 10:41:11
>>240-241
キモオタ必死

243:デフォルトの名無しさん
08/05/12 12:36:23
>>1-242
ここまで俺の自作自演

244:デフォルトの名無しさん
08/05/12 12:50:44
>>242
つまらないよ

245:デフォルトの名無しさん
08/05/12 13:45:25
>>242
つまらないってよ

246:デフォルトの名無しさん
08/05/12 13:51:57
while 1: print u"無限ループって怖くね?"

247:デフォルトの名無しさん
08/05/12 14:10:39
while 1: <- オッサン認定(www


248:デフォルトの名無しさん
08/05/12 15:39:30
>>244-245
イケメン必死

249:デフォルトの名無しさん
08/05/12 18:26:14
>>247
なんでオッサン認定?

250:デフォルトの名無しさん
08/05/12 19:39:28
>>247
つまらないってよ。

251:デフォルトの名無しさん
08/05/12 19:46:15
自己解決しました

252:デフォルトの名無しさん
08/05/12 20:27:04
水洗便所がつまるとかなりやばい

253:デフォルトの名無しさん
08/05/12 20:27:23
>>247
ナウなヤングは while True: と書くってことでは。

254:デフォルトの名無しさん
08/05/12 20:32:21
while 1: の方がwhile True: よりバイトコード短いし
Trueは上書きの可能性があるしなぁ

255:デフォルトの名無しさん
08/05/12 20:33:59
>>254
そんなこと考えたこともナカタw

256:デフォルトの名無しさん
08/05/12 20:46:13
>>254
オッサンは心配事が多くて大変ですね~

257:デフォルトの名無しさん
08/05/12 21:28:35
while 1:

while 2:

どうちがいますか?

258:デフォルトの名無しさん
08/05/12 21:32:35
下の方はコードを読んだ人を無駄に困惑させる

259:デフォルトの名無しさん
08/05/12 22:14:34
Trueは1に置き換えられるから
バイトコードの容量について心配する意味ないんじゃないの?

260:デフォルトの名無しさん
08/05/12 22:23:01
import dis
def view(src): return dis.dis(compile(src, "", "exec"))
print view('while 1: pass')
print view('while True: pass')

261:デフォルトの名無しさん
08/05/12 22:27:00
オッサンはガミラス帝国の侵略に備えて空間磁力メッキを密かに作っておくほど臆病なんだな

262:デフォルトの名無しさん
08/05/12 22:43:05
"foo", 1.2, 3j等の文字列、数値リテラルで真になるものも
whileの最適化されるんだね。1だけかと思ってた。

263:デフォルトの名無しさん
08/05/12 22:46:37
じゃあwhile "True":でいいじゃん。

264:デフォルトの名無しさん
08/05/12 23:33:33
>>254 >>260
ネタ的にはくだスレなんだけど
超初心者用スレなのに本スレより内容濃いのがw

265:デフォルトの名無しさん
08/05/13 01:13:50
勉強になったわ

266:デフォルトの名無しさん
08/05/13 09:45:01
>>223
Pyorz にしよう

267:デフォルトの名無しさん
08/05/13 09:51:44
つまらないよ。

268:デフォルトの名無しさん
08/05/13 11:18:15
>>266
つまらないってよ。

269:デフォルトの名無しさん
08/05/13 13:50:55
pythonはカスな人間ばかりが使ってる言語みたいですね

270:デフォルトの名無しさん
08/05/13 15:20:09
>>269
つまらないよ

271:デフォルトの名無しさん
08/05/13 15:21:13
>>269
つまらないってよ。

272:デフォルトの名無しさん
08/05/13 15:59:30
while not False: u'無限ループって怖くね?'

273:デフォルトの名無しさん
08/05/13 16:58:36
False = u'怖くない'

274:デフォルトの名無しさん
08/05/13 18:01:11
つまらないよ

275:デフォルトの名無しさん
08/05/13 22:13:31
自己解決しました

276:デフォルトの名無しさん
08/05/13 22:26:34
>>275
つまらないってよ

277:デフォルトの名無しさん
08/05/13 22:33:46
>>274-276
イケメンハッカー

278:デフォルトの名無しさん
08/05/13 22:51:45
毎回同じような荒れ方してるけど、
きっと同じ人がやってるんだろね。

279:デフォルトの名無しさん
08/05/13 23:02:35
unixuserは休刊したよ。

280:デフォルトの名無しさん
08/05/14 00:10:25
毎年同じような荒れ方してるけど、
きっと同じ人がやってるんだろね

281:デフォルトの名無しさん
08/05/14 00:25:54
毎世界同じような荒れ方してるけど、
きっと同じ神がやってるんだろね

282:デフォルトの名無しさん
08/05/14 00:29:39
前世と同じような荒れ方してるけど、
きっと同じ人がやってるんだろね

283:デフォルトの名無しさん
08/05/14 08:38:44
>>279
万歳

284:デフォルトの名無しさん
08/05/14 08:40:25
while "0":
pass

これって無限ループなんだな


285:デフォルトの名無しさん
08/05/14 09:47:10
つまらないよ

286:デフォルトの名無しさん
08/05/14 09:54:57
平行宇宙と同じ荒れ方してるけど、
きっと同じ人がやってるんだね

287:デフォルトの名無しさん
08/05/14 11:56:58
>>286
つまらないってよ

288:デフォルトの名無しさん
08/05/14 12:47:34
うざいなあ
同じ書き込みばかりして荒らしてる
このくだらん暇人を誰かプロファイルしてくれ

そのうち現実で犯罪犯しそうだな
今流行の女子高生殺害とか

289:288
08/05/14 12:51:56
ほんとうざいなあ
何がやりたいのかさっぱりわからん
俺はpygameのことについて知りたいんだよ

290:デフォルトの名無しさん
08/05/14 12:55:37
ここはくだらないスレッドで、
本スレは別にあるんだから本スレ行ったら?

本スレは荒れてないよ?

291:デフォルトの名無しさん
08/05/14 13:12:11
pygameの翻訳はやくやれよクソが。

292:デフォルトの名無しさん
08/05/14 14:03:00
人の足を引っ張るしか能がないんだね。

293:デフォルトの名無しさん
08/05/14 14:13:33
           __、
     ,r´⌒ヽ,⌒ヽ,ヽ
   (⌒)、   .人  λ\、 ._____
    \. \    、 ヽ./ ー  ー\
     |\ \    ヽ./ ( ●) ( ●)
     |  \  \ /     (__人__) \  はいはい、どーもすみませんでしたw
     |.   \   |       ` ⌒´   |
  .   |.   |.\_ノ\            /
  .   |.   |   |   \______/
  .   |   )  .|     . . ̄ ̄
  .   |   |  .|
  .   |  | .| .|
     /  / / ヽ,
    (__ノ  ヽ、__つ

294:デフォルトの名無しさん
08/05/14 14:16:09
>>288
Pygame本スレはIDでるから多少荒れにくいかと

295:デフォルトの名無しさん
08/05/14 15:17:16
ここもID表示制にしてほしいね。

296:デフォルトの名無しさん
08/05/14 18:49:21
新しく生まれる板は軒並みID制なのに
古い板のID変更は認めないって不公平だよな。

297:デフォルトの名無しさん
08/05/14 19:08:54
>>296
つまんないよ。

298:デフォルトの名無しさん
08/05/14 19:15:19
>>296
つまらないってよ

299:デフォルトの名無しさん
08/05/14 20:11:44
>>296
こんなつまんない>296見たことない

300:デフォルトの名無しさん
08/05/14 20:13:54
296につまんない of The Year 2008を授与するよ。

301:デフォルトの名無しさん
08/05/14 21:09:52
>>297-299
イケメンファッカー

302:デフォルトの名無しさん
08/05/14 21:14:44
>>301
おもろないわ。

303:デフォルトの名無しさん
08/05/14 21:16:49
>>301
おもろないってよ

304:デフォルトの名無しさん
08/05/14 22:53:13
>>301
つまらん

305:デフォルトの名無しさん
08/05/14 23:02:16
301は本当につまらないと思いました。
もうPythonをやめようと思うくらいくだらないです。

306:デフォルトの名無しさん
08/05/14 23:31:50
>>305
つまんねぇ。

307:デフォルトの名無しさん
08/05/14 23:51:33
>>305
面白くない。

308:デフォルトの名無しさん
08/05/14 23:57:25
>>305
空気嫁

309:デフォルトの名無しさん
08/05/15 00:07:54
この流れなんとかならんかな…

310:デフォルトの名無しさん
08/05/15 01:02:47
>306-308
イケメンハッカー

311:デフォルトの名無しさん
08/05/15 07:05:53
流れ変えたいってか?

みんながあまり知らないけど
開発が比較的活発なPythonモジュールって
何かある?

312:デフォルトの名無しさん
08/05/15 09:00:07
自己解決しました。

313:デフォルトの名無しさん
08/05/15 09:12:54
うぜー

314:デフォルトの名無しさん
08/05/15 09:13:53
ネタ的な流れに乗ろうとする奴が3人くらいいて
止めようとしている奴が1人くらいいる

そんな気がする

315:デフォルトの名無しさん
08/05/15 14:10:12
>>311
pygame

316:デフォルトの名無しさん
08/05/15 18:12:44
>>311
lxml

317:デフォルトの名無しさん
08/05/15 18:29:12
>>311
PyAMF

318:デフォルトの名無しさん
08/05/15 19:23:08
>>311
知らないけど、Googleの中の人たち専用ツールとかは活発だろうな。

319:デフォルトの名無しさん
08/05/15 19:31:31
>>311
Blender

320:デフォルトの名無しさん
08/05/15 20:05:08
pyjs

321:デフォルトの名無しさん
08/05/15 21:12:39
python-announceで定期的に報告が来るもの

322:デフォルトの名無しさん
08/05/16 09:17:56
>>311
おもしろくないよ

323:デフォルトの名無しさん
08/05/16 10:22:31
>>311
おもしろくないってさ

324:デフォルトの名無しさん
08/05/16 10:32:11
>>311
いや、俺にはおもしろかった。

325:デフォルトの名無しさん
08/05/16 13:37:34
>>322-324
オタク三兄弟

326:デフォルトの名無しさん
08/05/16 15:06:11
>>325
つまんね。

327:デフォルトの名無しさん
08/05/16 16:01:45
>>325
つまんねってよ

328:デフォルトの名無しさん
08/05/16 16:49:49
荒れ方がなんとなくWin32APIスレと似てる。

329:デフォルトの名無しさん
08/05/17 13:17:38
ここは「Pythonをネタにくだらないレスをする」スレですね。くだスレだけに。

330:デフォルトの名無しさん
08/05/17 13:18:31
初心者はここで練習して池

331:デフォルトの名無しさん
08/05/17 13:22:58
>>329
くだらなね。

332:デフォルトの名無しさん
08/05/17 15:12:25
もういいや、みんなこの調子でこれからもがんばろう。

333:デフォルトの名無しさん
08/05/17 17:21:36
>>332
おもしろいよ。

334:デフォルトの名無しさん
08/05/17 18:42:44
pythonで
htmlとかに使われる実体参照になっているを文字列に戻したいんですが
なんかいい方法はありませんか?そういう機能のあるライブラリとか

335:デフォルトの名無しさん
08/05/17 19:06:11
>>> import xml.sax.saxutils
>>> xml.sax.saxutils.escape('&')
'&'
>>> xml.sax.saxutils.unescape('&')
'&'

336:デフォルトの名無しさん
08/05/17 19:15:55
それって"&"、"<"、">" をエスケープするだけじゃないんですか?

337:デフォルトの名無しさん
08/05/17 19:20:12
htmlentitydefs

338:デフォルトの名無しさん
08/05/17 19:33:52
自己解決しました

339:デフォルトの名無しさん
08/05/17 19:47:27
やめてください!

340:デフォルトの名無しさん
08/05/17 20:22:56
htmlentitydefs.entitydefs

これ使い物にならないので、もっといいもの教えてください

341:デフォルトの名無しさん
08/05/17 20:25:59
自己解決しましたのでやっぱりいいです

342:デフォルトの名無しさん
08/05/17 20:33:28
やめてください

343:デフォルトの名無しさん
08/05/17 20:53:57
はやくしてください

344:デフォルトの名無しさん
08/05/17 21:11:25
ウホッ

345:デフォルトの名無しさん
08/05/17 22:11:14
はやく!!!!!!!!!!

346:デフォルトの名無しさん
08/05/17 23:06:53
ほんと勘弁して欲しいよ……

347:デフォルトの名無しさん
08/05/17 23:13:26
自演で書いてて楽しいか?
さもしい人間だな

348:デフォルトの名無しさん
08/05/17 23:15:25
ということにしたいのですね

349:デフォルトの名無しさん
08/05/17 23:32:15
はやくpygameの翻訳してください。

350:デフォルトの名無しさん
08/05/18 00:00:38
質問者はトリップつけた方がいいかもな…。

351:デフォルトの名無しさん
08/05/18 00:02:48
トリップとかどうでもいいけどよ
さっさとPyGameドキュメントの翻訳しろよボケ

352:デフォルトの名無しさん
08/05/18 00:03:12
pygameの翻訳こそがこのスレッドの至上命題だろうが

353:デフォルトの名無しさん
08/05/18 00:17:26
憑かれてるなぁ

354:デフォルトの名無しさん
08/05/18 00:26:07
憑かれてるってよ

355:デフォルトの名無しさん
08/05/18 00:43:55
>>334
普通は実体参照だけを文字に戻すことはしないからそういう機能はないんじゃないかな。
334さんの用途に合うなら以下のように安直に実装するのが手っ取り早いかと。
.subn() の代わりに .sub() を使うのも可。

# -*- coding: sjis -*-
import re, htmlentitydefs
re_ref = re.compile("&([a-zA-Z0-9]+|#x[a-fA-F0-9]+|#[0-9]+);")
def replace(match):
t = match.group(1)
if t[:2] == "#x":
return chr(int(t[2:], 16))
elif t[0] == "#":
return chr(int(t[1:]))
try:
t = htmlentitydefs.entitydefs[t]
except KeyError:
raise ValueError, "unknown entity: " + match.group()
if t[:2] == "#x":
return chr(int(t[2:], 16))
return t
# 正常終了するテスト
print re_ref.subn(replace, "Onde a terra acaba e o mar começa.")
# 異常終了するテスト
try:
re_ref.subn(replace, "&foo;")
except ValueError, e:
print e

356:デフォルトの名無しさん
08/05/18 00:46:07
# -*- coding: sjis -*-

import re, htmlentitydefs

re_ref = re.compile("&([a-zA-Z0-9]+|#x[a-fA-F0-9]+|#[0-9]+);")

def replace(match):
    t = match.group(1)
    if t[:2] == "#x":
        return chr(int(t[2:], 16))
    elif t[0] == "#":
        return chr(int(t[1:]))
    try:
        t = htmlentitydefs.entitydefs[t]
    except KeyError:
        raise ValueError, "unknown entity: " + match.group()
    if t[:2] == "#x":    
        return chr(int(t[2:], 16))
    return t

# 正常終了するテスト
print re_ref.subn(replace, "Onde &#97; terra acaba e &#x6f; mar come&ccedil;a.")

# 異常終了するテスト
try:
    re_ref.subn(replace, "&foo;")
except ValueError, e:
    print e

357:デフォルトの名無しさん
08/05/18 01:26:16
# -*- coding: sjis -*-

import re, htmlentitydefs

re_ref = re.compile("&([a-zA-Z0-9]+|#x[a-fA-F0-9]+|#[0-9]+);")

def replace(match):
t = match.group(1)
if t[:2] == "#x":
return chr(int(t[2:], 16))
elif t[0] == "#":
return chr(int(t[1:]))
try:
t = htmlentitydefs.entitydefs[t]
except KeyError:
raise ValueError, "unknown entity: " + match.group()
if t[:2] == "#x":
return chr(int(t[2:], 16))
return t

# 正常終了するテスト
print re_ref.subn(replace, "Onde a terra acaba e o mar começa.")

# 異常終了するテスト
try:
re_ref.subn(replace, "&foo;")
except ValueError, e:
print e

358:デフォルトの名無しさん
08/05/18 08:14:05
# -*- coding: sjis -*-

import re, htmlentitydefs

re_ref = re.compile("&([a-zA-Z0-9]+|#x[a-fA-F0-9]+|#[0-9]+);")

def replace(match):
t = match.group(1)
if t[:2] == "#x":
return chr(int(t[2:], 16))
elif t[0] == "#":
return chr(int(t[1:]))
try:
t = htmlentitydefs.entitydefs[t]
except KeyError:
raise ValueError, "unknown entity: " + match.group()
if t[:2] == "#x":
return chr(int(t[2:], 16))
return t

# 正常終了するテスト
print re_ref.subn(replace, "Onde a terra acaba e f; mar come?a.")

# 異常終了するテスト
try:
re_ref.subn(replace, "&foo;")
except ValueError, e:
print e

359:デフォルトの名無しさん
08/05/18 10:12:03
# -*- coding: sjis -*-

import re, htmlentitydefs

re_ref = re.compile("&([a-zA-Z0-9]+|#x[a-fA-F0-9]+|#[0-9]+);")

def replace(match):
  t = match.group(1)
  if t[:2] == "#x":
    return chr(int(t[2:], 16))
  elif t[0] == "#":
    return chr(int(t[1:]))
  try:
    t = htmlentitydefs.entitydefs[t]
  except KeyError:
    raise ValueError, "unknown entity: " + match.group()
  if t[:2] == "#x":
    return chr(int(t[2:], 16))
  return t

# 早くpygameドキュメント翻訳しろよ

360:デフォルトの名無しさん
08/05/20 22:39:09
もうやだこのスレ

361:デフォルトの名無しさん
08/05/21 03:06:16
そう思わそうと、わざと荒らしてるんだよ
荒らしの思惑にのるな

362:デフォルトの名無しさん
08/05/21 06:49:16
>361
ageてるあなたも荒らしですね

363:デフォルトの名無しさん
08/05/21 07:13:44
板としてもスレとしてもsage推奨とすら書かれていない現状でその断定w

364:デフォルトの名無しさん
08/05/21 07:59:33
朝っぱらから荒れてるなあ

365:デフォルトの名無しさん
08/05/22 00:19:49
>>355
ありがとうございます
参考になりました

なんか変なことになったのでもう諦めて見てませんでした
レス遅れてすいません


366:デフォルトの名無しさん
08/05/22 00:28:30
自己解決しました。

367:デフォルトの名無しさん
08/05/22 03:11:59
ソートについてお聞きしたいことあります。

以下のようなトランプがあります。
A、2、3、4、5、6、7、8、9、T、J、Q、K

それをもとにポーカー役判定のプログラムを作成しており、ストレートの判定を改良したいと思います。
実際にすべての値をソートし順番を並び替え、findでソートしたものが階段状になっているか判定し(表現が悪いかもしれませんが)、
ストレートかどうか決めています。
しかし、findで参照する先のリストを作るとなると、数字のみであらわせるリストと英語が混じった場合のリストの二つを組み合わせた
ものになるため、文章が長く見づらいリストになってしまいます。

そこで、ソートする順番をあらかじめ決められれば、参照先のリストを縮小できるし見やすくできるのでは
ないかと思います。
ソートする方法任意で決める関数はあるのでしょうか?

368:デフォルトの名無しさん
08/05/22 03:49:58
ありますよ

369:デフォルトの名無しさん
08/05/22 06:10:00
>>365
どういたしまして。

>>367
リストの sort メソッドには自前の比較関数が渡せるので、
数字カードと文字カードを比較できる比較関数を作ればいいと思われ。
安直な例:

letter = {"A": 1, "T": 10, "J": 11, "Q": 12, "K": 13}

def compare_cards(x, y):
    if letter.has_key(x):
        x = letter[x]
    else:
        x = int(x)
    if letter.has_key(y):
        y = letter[y]
    else:
        y = int(y)
    return cmp(x, y)

t = list("6T934A57JK28Q")
t.sort(compare_cards)
print t

370:デフォルトの名無しさん
08/05/22 06:42:15
>>367
俺はPythonの勉強始めて3日目なんでPythonの流儀は知らんが、
C++とかなら普通は内部表現にA23456789TJQKなんて使わないよ。
普通は1~13の数値で持っておいて、出力するときに変換する。

371:デフォルトの名無しさん
08/05/22 07:43:23
スートも含めて考えるとタプルかその他のオブジェクトになるだろうか

>>367
A K Q J 10 なんかもストレートになるから注意

372:デフォルトの名無しさん
08/05/22 08:03:37
>>369
比較関数方式よりdecorate-sort-undecorate方式の方がいいよ

373:デフォルトの名無しさん
08/05/22 22:22:45
こんばんは。 
PythonのCGIでファイルをダウンロードさせたく思い、以下のように書いたのですがバイナリファイルの場合、途中で切れてしまうようなのです。
助言等戴ければ幸いです。

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys, os
import cgi
import cgitb; cgitb.enable()

filepath = r'ぱす'
filename = os.path.split(filepath)
filename = filename[1]
filesize = os.path.getsize(filepath)

print '''Content-Disposition: attachment; filename="%(filename)s"
Content-Length: %(filesize)s
Content-Type: application/octet-stream
''' %(locals())
f = open(filepath, "r")
print f.read(),


374:デフォルトの名無しさん
08/05/22 22:39:27
ofp = open(u'%s/%s' % (savedir, file), 'wb', 0)
ifp = urllib.urlopen(url)
siz = int(ifp.info().getheader('Content-Length'))
print siz
cnt = 0
while True:
   buf = ifp.read(4096000)
   if len(buf) > 0:
     ofp.write(buf)
     ofp.flush()
   cnt += len(buf)
   if cnt >= siz:
     break
ifp.close()
ofp.close()


375:デフォルトの名無しさん
08/05/22 22:41:51
import msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
sys.stdout.write(hoge)
sys.stdout.flush()


376:デフォルトの名無しさん
08/05/22 23:44:22
自己解決しました。

377:デフォルトの名無しさん
08/05/23 10:34:45
分からないなら答えなくていいのに

378:デフォルトの名無しさん
08/05/23 12:42:47
いつもの阿呆です。

379:デフォルトの名無しさん
08/05/23 12:44:49
お願いします。回答ください。

380:デフォルトの名無しさん
08/05/23 15:04:39
自己回答してください。

381:デフォルトの名無しさん
08/05/23 15:16:59
>>373-374
使用環境をまったく書いてないのは質問として NG だと思う。
サーバがWindows環境だとバイナリファイルの扱いに注意が必要だから。
CGI 作成の注意としては、ヘッダの行末は \n ではなく \r\n でないといけないはず。
> print f.read(), 
ここも1バイト余計にデータを送っていることになるのでよくない。
手元の Windows マシンでは Python 付属の CGIHTTPServer を使って以下のコードで動いた。

import sys, os 
import cgi 
import cgitb; cgitb.enable() 

if sys.platform == "win32":
    import msvcrt 
    msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) 

filepath = "test.jpg"
filename = os.path.split(filepath) 
filename = filename[1] 
filesize = os.path.getsize(filepath)
sys.stdout.write('Content-Type: application/octet-stream\r\n')
sys.stdout.write('Content-Disposition: attachment; filename="%s"\r\n' % filename)
sys.stdout.write('Content-Length: %d\r\n' % filesize)
sys.stdout.write('\r\n')
f = open(filepath, "rb") 
sys.stdout.write(f.read())
sys.stdout.flush()
f.close()


382:381
08/05/23 15:22:29
CGI プログラムの実行時にエラーが起こっていないか常にチェックするようにして。
エラーメッセージの出力先やエラー時のサーバの挙動はサーバソフトごとに異なる。
CGIHTTPServer だと正常終了なら
localhost - - [23/May/2008 15:10:05] CGI script exited OK
のようなログが標準出力にプリントされる。エラーの場合は
localhost - - [23/May/2008 15:07:40] CGI script exit status 0x1
のようになる。後者の場合、クライアントがダウンロードした内容は CGIHTTPServer が吐いた
エラーメッセージを含む HTML ファイルだから、必要なら拡張子を変えてブラウザで開いてみて。

383:デフォルトの名無しさん
08/05/23 19:13:47
>>381-382
どうもありがとうございました。
お蔭様で解決致しました。

度々の質問で申し訳ありませんが遅延評価勉強法は性にあわないようなので
本でしっかりと勉強しようと思うので>>381のような基本的なことが
載っている本を教え戴きたいです。

384:381
08/05/23 20:33:27
>>383
恐らく「これを読めば Web アプリの基礎から実装上の詳細まで全部分かる」という都合のいい本はないと思う。
すくなくとも俺が勉強したときにはそういうものはなかった。
たぶん今も HTTP の仕様書(RFC 2616)のたぐいを読むしかないと思う。
RFC 2616 はオンラインで読める。今は和訳もあると思う。
でもちょっと読んでみたら分かると思うけど、とても通読できるような代物じゃないよ。
何か問題が起こったときに関連がありそうなところを拾い読みするぐらいがちょうどいいと思う。
実際にコーディングしながらでないと理解できないことが多いように思う(俺はそうだった)。

ちなみに、RFC や W3C が出している文書には URL とか MIME とか HTML とか XML とか XSL とか
いろんな要素技術の仕様書がたくさんある。そういうものをどんどん読むといい。きっと力がつくよ。
これらの文献のいいところは、それが原典という点だ。世界がそれに基づいて動いているという迫力がある。
英語で読まないといけないことが多いかもだけど、そうする価値はあるよ。

385:デフォルトの名無しさん
08/05/23 22:18:26
助けて
java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM.0)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkExit(Unknown Source)
at javax.swing.JFrame.setDefaultCloseOperation(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.python.core.PyReflectedFunction.__call__(Unknown Source)
at org.python.core.PyMethod.__call__(Unknown Source)
at org.python.core.PyObject.__call__(Unknown Source)
at org.python.core.PyInstance.invoke(Unknown Source)
at applet$_PyInner.init$1(applet.java:61)
at applet$_PyInner.call_function(applet.java:47)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyFunction.__call__(Unknown Source)
at org.python.core.PyMethod.__call__(Unknown Source)
at org.python.core.PyObject.__call__(Unknown Source)
at org.python.core.PyObject._jcallexc(Unknown Source)
at org.python.core.PyObject._jcall(Unknown Source)
at applet$MyApplet.init(applet.java:139)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


386:デフォルトの名無しさん
08/05/23 22:45:11
         刑務所             さらりいまん
----------------------------------------------------
労働時間  8時間厳守           大体10時間以上
----------------------------------------------------
始業時間  7時50分            8時30分~9時
----------------------------------------------------
終業時間  16時30分           21時~24時
----------------------------------------------------
通勤手段  徒歩数分            満員電車1時間
----------------------------------------------------
昼食     食う                食えない日がある
----------------------------------------------------
夕食     食う                食えない日がある
----------------------------------------------------
夕食後    テレビや読書など自由     仕事
----------------------------------------------------
残業     全くない             ない日がない
----------------------------------------------------
残業代    残業がないから無い      残業あっても無い場合がある
----------------------------------------------------
休憩     午前午後それぞれ15分    上司次第
----------------------------------------------------
土日祝    確実に休み           出勤する日もある
----------------------------------------------------
年数     刑罰に応じる          自動的に40年


387:デフォルトの名無しさん
08/05/23 22:46:07
        刑務所          さらりいまん
----------------------------------------------------
労働時間  7時50分~16時30分      フレックスタイム
----------------------------------------------------
通勤手段  徒歩数分           都心回帰で30分強
----------------------------------------------------
食事    食べたいものが食べられない  食べたいものが食べられる
----------------------------------------------------
トイレ    監視付き           自由
----------------------------------------------------
夕食後    テレビや読書など自由     自分の裁量で自由
----------------------------------------------------
残業     全くない          自分の裁量で自由
----------------------------------------------------
給与      涙金            年収700万円弱
----------------------------------------------------
休憩     午前午後それぞれ15分    自分の裁量で自由
----------------------------------------------------
休暇     なし            家族旅行、趣味
----------------------------------------------------
性生活    オナニーか同性愛      妻または愛人
----------------------------------------------------
老後     孤独で悲惨         家族に囲まれて退職金・年金生活
----------------------------------------------------


388:デフォルトの名無しさん
08/05/24 00:36:52
>>384
やっぱり、そうやって勉強するしかないんですね

英語ってコードを読む延長で読んでいるのか、英語の延長にコードがあるのか、わからないけど
プログラム言語を読み解くみたいに読んでいるなあ

英語が苦手な私でも読もうと思えば、読めるものだね
6年間、一応英語の授業を受けてきた甲斐があったのかなと思う

意味だけ拾っているから、よくわからないけど
仕様書関係で関係代名詞って出ないよね?

中学英語ができれば、辞書片手にだいたいの意味は、わかるのかな

389:デフォルトの名無しさん
08/05/24 00:39:09
URLリンク(www.amazon.co.jp)

390:デフォルトの名無しさん
08/05/24 01:49:36
URLリンク(www.amazon.co.jp)

391:デフォルトの名無しさん
08/05/24 01:55:27
普通、こっちじゃないの?
URLリンク(www.amazon.co.jp)

うちの先生の口癖だけど、「良書・凡書・悪書の区別がつかなかったら、値段の高いほうを買え」
という言葉があるお

2,000円の本は、その程度の価値しかないわけなんだよ

392:デフォルトの名無しさん
08/05/24 02:52:52
httpのプロトコルやcgiの基本的なことならPythonの本に限定する必要はない

393:デフォルトの名無しさん
08/05/24 03:30:53
うちの先生は
読むべきページ1ページにつき100円で考えて
10ページあったら1000円
30ページだったら3000円
それでコストに合わなかったら買えと言っていました

394:デフォルトの名無しさん
08/05/24 06:31:53
HTTPやCGIでこれがオススメって本ある?
自分はStudyingHTTPやプログラミングCGI第二版で覚えたクチ

395:デフォルトの名無しさん
08/05/24 10:18:41
URLリンク(www.amazon.co.jp)

396:デフォルトの名無しさん
08/05/24 11:45:57
>>394
URLリンク(d.hatena.ne.jp)


397:394
08/05/24 16:58:46
>>395-396
ありがとう。参考にさせてもらうよ

398:デフォルトの名無しさん
08/05/24 19:49:36
pythonでCGIを書いても
使えるところがない

399:デフォルトの名無しさん
08/05/24 19:54:52
land.toでは使えるようだ(2.4.4だけど)
URLリンク(land.to)

400:デフォルトの名無しさん
08/05/24 20:02:38
2.4系でも御の字じゃないかー

401:デフォルトの名無しさん
08/05/24 23:51:53
suitex

402:デフォルトの名無しさん
08/05/25 12:56:24
例のアフォがお勉強スレに張り付くようになったようだな

403:デフォルトの名無しさん
08/05/25 15:04:21
お勉強スレに元々いたような

404:デフォルトの名無しさん
08/05/25 15:06:07
そしてアンチスレは全然伸びない

405:デフォルトの名無しさん
08/05/25 19:07:25
ありがとう
乗り換え先検討中なんで参考にさせてもらいます

406:デフォルトの名無しさん
08/05/25 21:19:44
やっぱやめます

407:デフォルトの名無しさん
08/05/25 22:09:29
うはは、わかりません。

408:デフォルトの名無しさん
08/05/25 22:24:32
なぜだか桃太郎電鉄の貧乏神を思い出したよ。

409:デフォルトの名無しさん
08/05/26 09:02:34
ありがとう例のアフォが
張り付く先検討中なんで参考にわかりません。

410:デフォルトの名無しさん
08/05/26 23:46:15
ももたろ社長!ここはPython温せ

アッー

411:デフォルトの名無しさん
08/05/27 01:15:14
うはは、わかりません。

412:デフォルトの名無しさん
08/05/27 02:31:56
>>410
Pythonでくだスレにしちゃネタがうますぎ。

413:デフォルトの名無しさん
08/05/28 22:26:55
おまいら温泉行く?
アッーー!

414:デフォルトの名無しさん
08/05/29 15:01:50
PythonCEで、日本語文字列を出力するにはどうすればいいんでしょうか。
どのエンコードを試してもできません。
宜しければご教示願います。


415:デフォルトの名無しさん
08/05/29 21:23:55
コンソールは何使ってる?

416:デフォルトの名無しさん
08/05/30 02:58:05
質問です。
複数の値を返す関数を作成してそれを受け取るというのもなのですが…。
cでかくとこんな感じです。

#include <stdio.h>

void Power(double x, double *sq, double *cu);
void main(void);

void Power(double x, double *sq, double *cu)
{
*sq = x * x;
*cu = x * x * x;
}

void main(void)
{
double x, xx, xxx;

printf("浮動小数点数を入力して下さい\t");
scanf("%lf", &x);

Power(x, &xx, &xxx);

printf("入力した値 = %lf その2乗 = %lf その3乗 = %lf\n",
x, xx, xxx);
}


417:デフォルトの名無しさん
08/05/30 04:07:51
Pythonではreturnで複数の値を返せるので
def power(x): return x**2, x**3
xx, xxx = power(x)
のように書くが、とりあえずチュートリアルは読もうよ
URLリンク(www.python.jp)

418:デフォルトの名無しさん
08/05/30 06:40:11
その関数はタプルを*ひとつ*返してるだけ
チュートリアルのどこにreturnで複数の値を返せるなんて書いてあるんだ?

419:デフォルトの名無しさん
08/05/30 08:23:40
チュートリアルのp.p.218読んだか?

420:デフォルトの名無しさん
08/05/30 09:37:52
タプルを*ひとつ*返すときは
def power(x): return (x**2, x**3)
だろ
def power(x): return x**2, x**3
ではreturnで複数の値を返せる

421:デフォルトの名無しさん
08/05/30 10:03:49
プログラムを起動中に、変数に任意の内容を記入できる関数はないでしょうか?
名前を忘れてしまったんですが、たしかc言語ではこの機能を使える関数があったと思います。

今は、任意の内容を処理する場合は、引数の文字を入れているのですが、複数の処理をするには
引数に任意で入れたい内容をリストにして、引数に入れてほしい内容はリスト番号を指定する。
という方法を用いてみたのですが、賢くない上に面倒です。

対話形式で処理をするためにユーザーに記入を求める関数を再現したいのですが、パイソンでは何か良い方法はないでしょうか?

422:デフォルトの名無しさん
08/05/30 10:04:54
>>> def power(x): return x**2, x**3
...
>>> type(power(1))
<type 'tuple'>

423:デフォルトの名無しさん
08/05/30 10:05:42
>>421
sys.stdin

424:デフォルトの名無しさん
08/05/30 10:14:01
input()

425:デフォルトの名無しさん
08/05/30 11:15:10
重複していました。
申し訳ありません

426:デフォルトの名無しさん
08/05/30 20:34:11
すんまそん.使わないパッケージのアンインストールってどうやるんでしょうか?

427:デフォルトの名無しさん
08/05/30 21:19:31
>>426
OS、アンインストールしたいパッケージ、それをどうやってインストールしたか、によって方法が違う。

428:デフォルトの名無しさん
08/05/30 21:24:45
OSはwindowsでコンパイル済みのexeファイルからインストールしています.
プログラム追加と削除に表示されるのもあるんですが,どうもないのもあって.

429:デフォルトの名無しさん
08/05/30 21:50:18
>>428
プログラムの追加と削除にないものは手動で消す必要があると思う。
C:\Python○○\Lib\site-packages\ 以下に追加パッケージがまとめて置いてある。
そこから選んで削除する。

パッケージによっては他の場所にもファイルを配置していることがある。
きれいサッパリ消せるかどうかはパッケージ構成に関するあなたの知識次第。

430:デフォルトの名無しさん
08/05/30 22:17:00
ありがとうございました.直接消すしかないんですね.

431:デフォルトの名無しさん
08/05/31 04:08:35
cd パッケージインストールしたときのディレクトリ
python setup remove

432:デフォルトの名無しさん
08/06/02 16:05:19
pythonを用いたバックアップを考えています。

バックアップ先とそれの保存先を引数として入力し、そのパスからコピーして貼り付けをすれば出きると思っていたのですが、現段階では、まだ出来ていません。


ファイルのバックアップを取りかたの概念が間違っているのでしょうか?

433:デフォルトの名無しさん
08/06/02 16:40:04
>>432
現段階は、ファイルのコピー方法について調べています。

434:デフォルトの名無しさん
08/06/02 16:53:58
xcopy使った方が早くね?

435:デフォルトの名無しさん
08/06/02 17:05:47
つ shutil

436:デフォルトの名無しさん
08/06/02 19:03:23
>そのパスからコピーして貼り付けをすれば

これは可笑しい


437:デフォルトの名無しさん
08/06/02 19:04:31
自己解決しました

438:デフォルトの名無しさん
08/06/02 19:05:22
そんなスキルで作られたバックアップソフト・・・・超怖い

439:デフォルトの名無しさん
08/06/02 19:12:08
表現に問題があり申し訳ありませんでした。
バックアップをしたいファイルがある場所からコピーして、保存先に貼り付けを行う作業が出きる関数を調べたいと思っていました。
意見ありがとうございます。バックアップに必要な関数が見つかりましたのでやってみます。

440:デフォルトの名無しさん
08/06/02 19:25:25
winは害悪だな

441:デフォルトの名無しさん
08/06/02 19:33:52
explorerが害悪っていう意味なら
gnomeもKDEも害悪だよな

442:デフォルトの名無しさん
08/06/02 21:05:55
世界のガイアク
1,2,3

443:デフォルトの名無しさん
08/06/02 21:36:02
ごめん。意味がわかんない。

444:デフォルトの名無しさん
08/06/02 21:53:47
>439 は発想の根っこにクリップボードがあるのがおもしろいな。普通はそうなのか?
「バックアップに必要な関数が見つかりましたの」で実装した結果がおもしろいとさらに高得点だ。

445:デフォルトの名無しさん
08/06/02 23:25:52
今時はあれですか
やりたり処理を実現する関数を「探す」事がプログラムなんでしょうね

446:デフォルトの名無しさん
08/06/02 23:31:26
探して調整することがプログラミング

447:デフォルトの名無しさん
08/06/02 23:33:18
泥のように働くのがプログラミング。
いちいち言わせるなよ。

448:デフォルトの名無しさん
08/06/02 23:33:32
むかしからそうだろ

449:デフォルトの名無しさん
08/06/02 23:37:37
自己解決しました。

450:デフォルトの名無しさん
08/06/02 23:41:19
>>443
世界のFizzBuzzだろ

451:デフォルトの名無しさん
08/06/03 19:48:19
すいません質問です。


キュー構造を実現するqueクラスとその確認コードを含むque.pyを作成せよ
queクラスは以下のメソッドを含む事。
def enque( data )
#値を受け取り、enque動作(待ち追加)を行う。
def deque()
#deque動作(待ち解消)を行い、値を返す。
def __str__()
#str()やprintで用いられる特殊メソッド。
#自分を表す文字列表現(ここでは内部値のカンマ区切りとする)を返す。

上記が課題なのですがだれか教えていただけないでしょうか。

452:デフォルトの名無しさん
08/06/03 20:23:34
富豪向け

class Queue:
 def __init__(q):
  q.queue = []
  q.next = 0
 def enque(q,v):
  q.queue.append(v) 
 def deque(q):
  v = q.queue[q.next]
  q.next += 1
  return v
 def __str__(q):
  return str(q.queue[q.next:])

453:デフォルトの名無しさん
08/06/03 20:40:28
ありがとうございます。
富豪向けとはどういう意味でしょうか?

454:デフォルトの名無しさん
08/06/03 21:13:26
>>432
> バックアップ先とそれの保存先

って同じじゃないか?
仕事でも「仕入れ先」と使うけど、何か納得できない。


455:デフォルトの名無しさん
08/06/03 21:32:00
>>453
URLリンク(pitecan.com)
URLリンク(0xcc.net)

456:デフォルトの名無しさん
08/06/03 21:36:17
>>455
なるほど、ありがとうございます。

457:デフォルトの名無しさん
08/06/03 22:54:04
class Queue(object):
    class Item(object):
        def __init__(self, value):
            self.value = value
            self.next = None
    def __init__(self, *args):
        self.first = self.end = None
        for i in args:
            self.enqueue(i)
    def enqueue(self, value):
        if self.first is None:
            self.first = self.end = Queue.Item(value)
        else:
            self.end.next = Queue.Item(value)
            self.end = self.end.next
    def dequeue(self):
        if self.first is None:
            raise IndexError('queue is empty')
        else:
            value = self.first.value
            self.first = self.first.next
            return value
    def __repr__(self):
        values = []
        item = self.first
        while item:
            values.append(repr(item.value))
            item = item.next
        return 'Queue(%s)' % ', '.join(values)

458:デフォルトの名無しさん
08/06/03 23:02:09
import collections
class Queue(object):
    def __init__(self, itr = ()):
        self.q = collections.deque(itr)
    def enqueue(self, v):
        self.q.append(v)
    def dequeue(self):
        return self.q.popleft()
    def __repr__(self):
        return self.q.__repr__().replace('deque','Queue')

459:デフォルトの名無しさん
08/06/03 23:06:08
URLリンク(codepad.org)
ここソース貼るのに便利だよ

460:デフォルトの名無しさん
08/06/03 23:08:36
codepadはログインしないと24時間で消えるから嫌い

こっちだと消えないように設定できるみたいURLリンク(ja.pastebin.ca)

461:デフォルトの名無しさん
08/06/03 23:10:06
from Queue import Queue
Queue.enque = Queue.put
Queue.deque = Queue.get
Queue.__str__ = lambda self: ','.join(str(x) for x in self.queue)

462:デフォルトの名無しさん
08/06/03 23:30:13
>>460
そうか、期限があるんだったな…。
やっぱりここに貼った方がログが残って便利かもね。

463:デフォルトの名無しさん
08/06/04 15:16:54
>>414
俺も知りたい。仕方ないからファイルに出力してるよ。

464:デフォルトの名無しさん
08/06/04 16:33:13
URLリンク(pastebin.windy.cx)
にたようなもんだけど

465:デフォルトの名無しさん
08/06/04 16:47:04
Python に比べて Ruby が「純粋な」オブジェクト指向言語
であるといわれる理由を教えてください。同僚にRuby厨が
いてうざいです。仕事は Java/C# なんで全然関係ないんですが。

466:デフォルトの名無しさん
08/06/04 16:56:10
Python初めて1日の僕が言うのもなんだけど
例えば長さを取得する場合
hoge.len()
ではなく
len(hoge)
であるとか。
よくわかんないけど

467:デフォルトの名無しさん
08/06/04 17:29:50
Pythonもすべてオブジェクトだから純粋なOOPLじゃない?

468:デフォルトの名無しさん
08/06/04 17:43:44
そのRuby厨に聞いてみれば?
どうせどっかからの受け売りだろうから
ググればそれっぽい記事がでてくんじゃね

469:デフォルトの名無しさん
08/06/04 18:55:15
Rubyは使ったことないや。
どっちがよりオブジェクト指向なのかはどうでもいいんじゃね?

470:デフォルトの名無しさん
08/06/04 18:56:33
いいや。すごく重要だ。

471:デフォルトの名無しさん
08/06/04 19:04:12
どう重要?

472:デフォルトの名無しさん
08/06/04 19:16:05
どっちがよりオブジェクト指向かを決める前に
オブジェクト指向の定義を明確かつ厳密に行う必要があるな

473:デフォルトの名無しさん
08/06/04 19:17:42
小学生のときにどれくらい飛ばせたかというくらいの重要さ。

474:デフォルトの名無しさん
08/06/04 19:23:57
チ○コがどれくらい大きいかくらいの重要さ。

475:デフォルトの名無しさん
08/06/04 19:55:55
>>474
チェコ共和国(The Czech Republic/CZE)
首都:プラハ
人口:1,022万人
言語:チェコ語
通貨:コルナ
面積/7万9千平方km(北海道とほぼ同じ)。


476:デフォルトの名無しさん
08/06/04 20:11:00
なんという親御さんも安心スレ

ちなみにこんなのもあるよ
>>> hoge = [1, 2, 3]
>>> len(hoge)
3
>>> hoge.__len__()
3

477:デフォルトの名無しさん
08/06/04 23:01:45
hoge = {}
for j in xrange(10):
  for i in xrange(10**j):
    hoge['hoge%d' % i] = 'fuga%d'
  print j, len(hoge)


478:デフォルトの名無しさん
08/06/05 00:00:45
>>465
書籍からの受け売りですが。。

ーーーーーーーここからーーーーーーーーー
速効 python プログラミングより
p188

# coding: Shift_JIS

class a:
    var1 = 1

   def show_class_var(self):
      print 'class variable var1 = %d' % self.__class__.var1

v = a()
v.show_class_var()
a.var1 = 2
v.show_class_var()
print a.var1
a.another_var = 100
print a.another_var

クラス変数はa.var1 = 2 のように勝手に変更できてしまうだけではなく、
クラス定義ではまったく現れていないような another_var という変数を
後で外から無理やり追加することすら出来てしまいます。
ーーーーーーーーーーーーここまでーーーーーーーーーーーーーーー

「カプセル化」っていうOOPの原則の重要性が
python では、なおざり・・・という意味での指摘ぢゃないかな、と。。


479:デフォルトの名無しさん
08/06/05 00:05:16
>>478
そりゃ単にその本の著者が無知なだけだろ。
分かりやすさのために、わざと書いてないだけかもしれんが。

480:478
08/06/05 00:11:51
>>479
これじゃないとしたら>>465の同僚の指摘は
ちっと分かんない☆

う~む、ruby厨というより
アンチpythonな人なのかな?

481:デフォルトの名無しさん
08/06/05 00:14:24
またクソ本フラグが立ったな

482:デフォルトの名無しさん
08/06/05 00:17:54
Pythonはドキュメントがカプセル

漏れいいこと言ったな

483:デフォルトの名無しさん
08/06/05 00:22:29
いまいちわからん。説明してくり

484:デフォルトの名無しさん
08/06/05 00:36:00
ドキュメントにクラスのインタフェースが漏れなく記載されていれば
クラスのユーザはクラス定義を読まずにクラスを利用できる
結果としてユーザに公開されるべきでない情報は隠蔽される

でもドキュメントが貧弱だと、クラスの使い方を調べるために
ユーザがクラス定義を読む、なんて事態が生じうる
結果としてユーザに過度の情報を公開することになってしまう

つまり言語仕様だけからしかカプセル化の程度を判断するのは片手落ち

485:デフォルトの名無しさん
08/06/05 00:48:40
482はドキュメント的にカプセルでない説。

486:デフォルトの名無しさん
08/06/05 01:19:30
質問です
「Hello World!」の表示を2つ並べたウインドウを表示せよ。
複数並べるには、親となるフレームを用意し、そこに配置すれば良い。

という課題なのですがだれか教えてください

487:デフォルトの名無しさん
08/06/05 01:38:50
>>> from Tkinter import *
>>> root = Tk()
>>> frame = Frame(root)
>>> frame.pack()
>>> Label(frame, text="Hello, world!").pack(side=LEFT)
>>> Label(frame, text="Hello, world!").pack(side=RIGHT)
>>> root.mainloop()

上下に並べる場合は
>>> Label(frame, text="Hello, world!").pack()
>>> Label(frame, text="Hello, world!").pack()

これで点くれるのかしら

488:デフォルトの名無しさん
08/06/05 02:18:16
>>484
じゃあPythonでオブジェクト指向なプログラミングをするなら、ドキュメント作成は必須ってこと?

489:デフォルトの名無しさん
08/06/05 02:22:14
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pygame
from pygame.locals import *

pygame.init()
screen = pygame.display.set_mode((100, 100))
pygame.display.set_caption('Hello pygame')
fp = open(u'みかちゃん-P.ttf', 'rb')
font = pygame.font.Font(fp, 24)
text = font.render(u'Hello World!', True, (255, 0, 0))
text2 = font.render(u'Hello World!', True, (0, 255, 0))
fp.close()
while True:
screen.blit(text, (0, 0))
screen.blit(text2, (0, 60))
pygame.display.flip()
for event in pygame.event.get():
if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):
break


490:デフォルトの名無しさん
08/06/05 02:51:23
別にオブジェクト指向する必要が無ければしなくてもいいんだよ
ドキュメントはもちろん書いたほうが良い

491:デフォルトの名無しさん
08/06/05 03:20:03
>>489
ゲ板の誤爆だろ

492:デフォルトの名無しさん
08/06/05 03:28:31
>>479 の指摘がよく分からんのだが・・・・
てか,もうちょっと詳しく説明してくれ.

493:デフォルトの名無しさん
08/06/05 07:42:31
>>492
横レスだが、カプセル化は
× 外部から操作不能にすること
○ 個々のオブジェクトが、役割を果たすために必要なデータと操作をまとめること

ただし、デフォルトで外部からアクセス禁止にできる実装の言語は、初歩的ミスを
減らせる場合があるというメリットはある。

494:デフォルトの名無しさん
08/06/05 09:13:01
>>490
後で他人がリファクタリングする事を前提とした場合の
望ましいドキュメントの具体例をキボンヌ。

つか、「ドキュメント」って docstring 記述と
doctest での確認のセットの事だと
漏れは理解してるけど合ってる?

全然違うなら、追加解説も気盆奴

495:デフォルトの名無しさん
08/06/05 17:30:34
>>493
URLリンク(www.horijp.com)
URLリンク(www.okisoft.co.jp)

スレ違いかもしれないけど、いいかんじだとおもたDuke

URLリンク(blogs.sun.com)

496:デフォルトの名無しさん
08/06/05 18:05:55
いいかんじかもしれない
だがことわる!

497:デフォルトの名無しさん
08/06/05 18:15:00
>>479
この本持ってるけど、pythonはオブジェクト指向言語として不完全みたいなことは書いてないぞ。

498:デフォルトの名無しさん
08/06/05 19:07:00
じゃあ、分かっててわざと書いてないだけなんじゃね?

499:デフォルトの名無しさん
08/06/05 22:40:34
お疲れ様です

pythonでコマンドプロンプトを操作する方法を検討しています。

これを実行するためにgetoptを用いたいと思い、この関数を用いて、
コマンドプロンプトから対象のpythonファイルを開いたときに、
コマンドプロンプトのヘルプを表示するようにhelpを命令するプログラムを
作成してみました。

import getopt, sys

def helps():
getopt.getopt(sys.argv[1:], "help")

実際にコマンドプロンプトで動かしても無反応で、実際に実行しても
「GetoptError: option -n not recognized」というエラーが出てしまいます。

リファレンスで確認してみたのですが、私には何が悪いのかわかりませんでした。

本当にPythonでコマンドプロンプトの操作ができるのでしょうか?
また、操作ができるとして、このプログラムがどのように表記されてればよかったか
についてもお聞きしたいです。

何卒よろしくお願いします

500:デフォルトの名無しさん
08/06/05 22:52:21
オブジェクト指向においてカプセル化ってそんなに大事な要素だとは思えない。
スコープさえ区別してくれれば、充分だ。

501:デフォルトの名無しさん
08/06/05 23:18:40
>>499
>>> import getopt
>>> args = '-h -e -l -p'.split(' ')
>>> getopt.getopt(args, 'help')
([('-h', ''), ('-e', ''), ('-l', ''), ('-p', '')], [])

でもやりたいのはこっちだろう
>>> args = '-n --help kwsk --lang=ja'.split(' ')
>>> getopt.getopt(args, 'n', ['help=', 'lang='])
([('-n', ''), ('--help', 'kwsk'), ('--lang', 'ja')], [])

リファレンスもっかいよく読んでわからなかったらまたおいで

502:デフォルトの名無しさん
08/06/06 09:37:04
>>500
俺もそう思う
オブジェクト指向はポリモフィズムが肝だと思う
ああ、PythonがRubyに比べて云々って逝ってる香具師は
もしかしたらselfが鬱陶しいっていうだけの話鴨試練


503:デフォルトの名無しさん
08/06/06 11:29:42
pygame翻訳サイトさえあれば、、、俺だって、、俺だって、、、

504:デフォルトの名無しさん
08/06/06 12:40:04
URLリンク(www.nishihiroshima.com)
>なにせ、いくら頭をひねっても、「型の無い言語であるPythonが、
>多重継承をサポートしなければならない理由」など、
>全くといっていいほど無いからです。

なんでこのひとは「型が無い」と思ったんだろう.

505:デフォルトの名無しさん
08/06/06 13:00:37
俺、昔、「Haskellには型が無い」って主張する奴と議論したことあるよw

Python の C3 MRO はそれだけ独立してでも知っておいて悪くないと思うおいら

506:デフォルトの名無しさん
08/06/06 13:31:11
>>504
静的型でnominal subtypingな言語だけを念頭に置いて「型」と
言ってるんだろうけど
言葉の使い方がいい加減で不正確なんだな

ま、nominal subtypingならポリモーフィズム実現するには継承するしかないが
Pythonのようなduck typingやstructural subtypingならそうではないから、
継承の意味薄いってのはその通り

507:デフォルトの名無しさん
08/06/06 13:40:26
self は確かにうっとうしい
あれがつきまとうだけで
オブジェクト指向っぽくない

508:デフォルトの名無しさん
08/06/06 21:17:31
>>507

509:デフォルトの名無しさん
08/06/06 22:25:39
むしろselfはオブジェクト指向っぽいと思う

510:デフォルトの名無しさん
08/06/07 00:12:52
PHPの$thisとかもうざいとか言い始めそうだな

511:デフォルトの名無しさん
08/06/07 00:23:29
>>509
いやselfはオブジェクト指向そのものなんだが
それをいちいち書くからおかしいっつー話だよ

>>510
いくら糞PHPでも引数に毎回書く必要はないだろ?
Rubyでもselfが必要なときは書くんだし

だけどPythonはくどいほど書くからw

512:デフォルトの名無しさん
08/06/07 00:39:24
オブジェクト指向っぽい考え方自体が
オブジェクト指向っぽくないんだよ、俺にしてみれば。

513:デフォルトの名無しさん
08/06/07 00:48:47
オブジェクト指向かそうでないかの議論に熱くなる奴らは
総じてオブジェクト指向だな

514:デフォルトの名無しさん
08/06/07 01:07:28
さあwみなさまご一緒に
レッツオブジェクト指向!

515:デフォルトの名無しさん
08/06/07 02:29:40
おまえらオブジェクト指向を嗜好し過ぎでオブジェクト思考になってると

516:デフォルトの名無しさん
08/06/07 09:20:45
誰が(ry

517:デフォルトの名無しさん
08/06/07 10:47:16
殺した(ry

518:デフォルトの名無しさん
08/06/07 11:07:46
クックロビ(ry

519:デフォルトの名無しさん
08/06/07 14:33:46
あ、そーれ

520:デフォルトの名無しさん
08/06/07 14:48:58
~三波春夫さん江~

521:デフォルトの名無しさん
08/06/07 16:15:14
も り あ が っ て る よ う だ な w

522:デフォルトの名無しさん
08/06/07 16:58:49
盛り上がってるところ悪いが
対話モードでの浮動小数で質問。

Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 4.8
>>> print a
4.8
>>> a
4.7999999999999998

aが「4.7999999999999998」になってしまう理由って何?


523:デフォルトの名無しさん
08/06/07 17:04:35
B. 浮動小数点演算、その問題と制限
URLリンク(www.python.jp)

524:デフォルトの名無しさん
08/06/07 17:26:30
>>523
printはコンピュータ内部の値じゃなくて
見た目を整えたものを表示してくれるのね。
サンクス。

盛り上がってるところすまなかった、続けてくれ。
URLリンク(jp.youtube.com)


525:デフォルトの名無しさん
08/06/07 19:29:57
>>524
printというより、repr()とstr()の違いってとこだな
URLリンク(www.python.jp)

526:デフォルトの名無しさん
08/06/07 20:07:06
>>> (4.8).__str__(), (4.8).__repr__()
('4.8', '4.7999999999999998')

527:デフォルトの名無しさん
08/06/08 16:34:28
クッキーについて質問です
webページの自動ログインスクリプトを作ろうと思い、urllib.urlopen()を使って
あるページのフォームの情報をPOSTしてみたのですが、そのページのhtmlが

<script>
function Func(){ document.cookie = aaa }
</script>

<form method="post" action="URLリンク(bbb)" onSubmit="javascript:Func();">

のようにクッキーを設定しており、思ったような結果が返ってきません。
この動作をpythonで代替するにはどうすればよいのでしょうか?

528:デフォルトの名無しさん
08/06/08 21:44:45
>>527
cookielib, urllib2

529:デフォルトの名無しさん
08/06/08 22:18:10
urllibでなんとかしたいんじゃないの?

530:デフォルトの名無しさん
08/06/08 22:36:10
いえ、出来るなら何でもいいです

cookielibとurllib2、色々ググってみて

cj = cookielib.CookieJar()
cjhdr = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cjhdr)

r = opener.open(url, params)

のようにするのは何とかわかりましたが、クッキーをどう設定したらいいのかよくわかりません
具体的にどうすればいいのか、ご教授願えないでしょうか

531:デフォルトの名無しさん
08/06/08 22:43:26
JavaScriptの部分を自分で解析しないと駄目じゃない?

532:デフォルトの名無しさん
08/06/08 22:44:11
ググって見つかった例でうまくいかないなら
具体的なサイトを示した方が早い気が
javascriptがはさんであるとうまくいかないのかな?

533:デフォルトの名無しさん
08/06/08 22:48:09
cookielibはレスポンスヘッダの解析のみでしょ

534:デフォルトの名無しさん
08/06/08 23:22:02
そもそもcookieについてよく知らないもので、この質問が適切かどうかもよくわからない状況です…
身元がばれるため具体的なサイトは示せませんが、問題と思われる部分を抜粋すると、

function idgisSetRedirectionCookie( theForm ) {

{
// modify the following values for your environment
var idgisRedirectorUrl = "URLリンク(aaaa)<)" onSubmit="javascript:{ return idgisSetRedirectionCookie( this ); }">
<input type='hidden' name='HiddenURI' value="URLリンク(dddd)">

こんな感じです(aaaa、bbbb、cccc、ddddは全部違うURL)

535:デフォルトの名無しさん
08/06/08 23:50:22
原理的にはそのJavaScriptを解析して動作をエミュレートすれば良いはずだけど
実際にはかなり難しいんじゃないかと思う

現実的かと思うのはwin32comを使ってWebブラウザをコントロールする方法
ExcelをPythonからいじくる例はたまに見かけるからそれらを参考にしてみては

536:デフォルトの名無しさん
08/06/09 00:05:54
>>534
そのスクリプトで
document.cookie = hogehoge とか設定してる値が常に固定なら、

HTTPのヘッダに
Cookie: hogehoge
という形で加えてPOSTすりゃいいだけ
urllib2のRequestクラスならheaderを好きなように設定できるはずだ

スクリプトの内容が可変なら、>>535が言ってるように
スクリプトを自分でパースするしかない

537:デフォルトの名無しさん
08/06/09 00:15:58
固定だったらそいつはわざわざ何がしたいんだって話になるがなw

538:デフォルトの名無しさん
08/06/09 00:18:04
可変にしても、スクリプトの内容自体はほぼ同じで、埋め込まれてる
文字列リテラルの内容が違うだけだろうから、
正規表現や何かで簡単にぶっこぬけると思うけどね


539:デフォルトの名無しさん
08/06/09 00:48:31
なんとなく、SPAM用のスクリプト作成の手助けをした気がしなくもないw

540:デフォルトの名無しさん
08/06/09 00:48:52
環境によって若干変わってくるのでなんとか正規表現とかで頑張りたいと思います
今現在の環境だけでは変わらないので、とりあえず今だけでも動かそうと思うのですが、
Requestクラスの使い方は

data = {'username':'qwerty', 'password':'asdfgh'} #等など
req = urllib2.Request('URLリンク(cccc)', urllib.urlencode(data), {'Cookie':hogehoge})
r = urllib2.urlopen(req)

こんな感じで合ってます?

541:デフォルトの名無しさん
08/06/09 04:46:25
一応通報した


542:デフォルトの名無しさん
08/06/09 06:30:18
except Exception, inst:

って書き方がなんかきもちわり.
投げられた Exception クラスのインスタンス inst を受け取るわけだけど,

except (Exception1, Exception2, Exception3):

みたいに複数のクラスを受け取る時にはどうやってインスタンス受け取るんだよ.


543:デフォルトの名無しさん
08/06/09 06:35:13
except (Exception1, Exception2, Exception3), inst:

544:デフォルトの名無しさん
08/06/09 06:35:33
>>542
except (Exception1, Exception2, Exception3), inst:

Python3.0では書式変わるから、それまで我慢しる

545:デフォルトの名無しさん
08/06/09 11:35:42
Python 3000 とかいうやつ?

546:デフォルトの名無しさん
08/06/09 20:54:37
>>500 ありがとうございます。
お礼が遅れてしまい申し訳ありません。
恐縮ですがもう少しお付き合いお願いします。
先日教えていただいた、
>>> args = '-n --help kwsk --lang=ja'.split(' ')
>>> getopt.getopt(args, 'n', ['help=', 'lang='])
をpythonで実行してみたところ、エラーが出ず、

([('-n', ''), ('--help', 'kwsk'), ('--lang', 'ja')], [])
と正常に表示されました。

正常に動いていると判断し、このプログラムを以下のように記述したpyファイルを
用意し、実際にコマンドプロンプトで起動したときにコマンドプロンプトのヘルプを
表示できるか確認したのですが、無反応でプログラムが終了してしまいます。

ファイル名:ex.py
# coding: utf-8
import getopt, sys
args = '-n --help kwsk --lang=ja'.split(' ')
getopt.getopt(args,'n',['help=','lang='])

考えられる引数を入力してみたのですが反応がなく、このプログラムを進めていただく前に、教えてもらった方法でもやってみたのですが
ヘルプの表示ができませんでした。
リファレンスのテストコードでgetoptの動きを確認してみたかったのですが、
こちらも起動しなかったため確認できませんでした。

コマンドプロンプトでこのファイルを起動し、コマンドプロンプトのファイルを起動するには、
プログラムのソースに何か加える必要があったのでしょうか?
それとも、コマンドプロンプトを使用するときに、何か特別な記述が必要だったのでしょうか?
アドバイスをよろしくお願いします。

547:デフォルトの名無しさん
08/06/09 21:30:31
「コマンドプロンプトのヘルプ」って、
C:\>cmd /?
のことだよな?普通

それに>>500とどう関係があるんだよ。

548:デフォルトの名無しさん
08/06/09 22:01:46
getopt.getoptの戻り値を使った処理を書かないと何も起こらないのは当然のような
URLリンク(www.python.jp)

549:デフォルトの名無しさん
08/06/09 23:00:33
対話型プロンプトだと戻り値と出力の区別が付かないからね
勘違いする初学者が出てきてもおかしくない
どこかのカンファレンスか何かで問題提起されてたらしいが

>>546
レス遅そうなのであなたが本当にやりたいことを確かめずに書くけど

myhelp.py:

import os, sys
os.system('help %s' % (' '.join(sys.argv[1:])))

実行例:

C:\> myhelp.py cd
現在のディレクトリを変更したり、ディレクトリ名を変更したりします。
[以下略]


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