Pythonのお勉強 Part17at TECH
Pythonのお勉強 Part17 - 暇つぶし2ch385:デフォルトの名無しさん
07/03/06 14:10:23
>>378>>379

386:デフォルトの名無しさん
07/03/06 14:31:08
今さら自己フォローですか。
そんなことより、すぐ興奮する癖と被害妄想とどうにかするほうが先だと思います。

387:デフォルトの名無しさん
07/03/06 14:34:45
おまえもな

388:デフォルトの名無しさん
07/03/06 14:42:03
>378

単純な質問だが、オブジェクトの「中身」って何だ?


389:デフォルトの名無しさん
07/03/06 14:45:09
Rubyのinspect()メソッドみたいなやつって書いただろ

390:デフォルトの名無しさん
07/03/06 15:03:36
Ruby使いが人間として劣っていることがよく分かる展開だな(wwww

391:デフォルトの名無しさん
07/03/06 15:05:06
頭の悪さをねちっこさでカバーして
偉そうにするから連中は始末に負えない。

392:デフォルトの名無しさん
07/03/06 15:06:43
おいおい、まつもとくんのことをそんな風に言うのはやめろよな!!

393:デフォルトの名無しさん
07/03/06 15:13:07
俺は>378じゃないが、Pythonで言うなら

class MyClass:
  def __init__(self):
    self.var1 = 'foo'
    self.var2 = 3

obj = MyClass()
print obj.inspect()

ってやったら

<MyClass: var1='foo' var2=3>

って感じで表示されるのが Ruby の inspect だな
再帰的っつーか、ルートクラスで定義されてる上に
inspect 内でフィールドに inspect 呼んでるから結果的に全て遡るだけ

ちなみに、リテラル形式のあるクラスでは inspect はリテラル自体を返す

>>378
リテラルに対しては repr() を使えばお望みの物が出るハズ
自作クラスなら、それらしいメソッド名で
中身の各オブジェクトに対して repr() 呼ぶぐらいしか俺は思いつかないが

394:デフォルトの名無しさん
07/03/06 15:16:58
リテラルに対しては、じゃないや
リテラルの形式で書けるクラスのインスタンスに対しては、が正確か

395:デフォルトの名無しさん
07/03/06 15:17:18
>>393
>自作クラスなら、それらしいメソッド名で

URLリンク(www.python.jp)

入門書くらい読もうな。

396:デフォルトの名無しさん
07/03/06 15:26:30
>395
__repr__() は知ってたけれど、何か違う気がしてやめた。
やっぱ、__repr__() が一番適切?
でも持ってる変数の中身まで見たり、
> 可能な場合には、この値は
> 同じ値を持ったオブジェクトを
> (適切な環境で) 再生成するために使えるような
> 有効な Python 式に 似せるべきです。
って辺りが気になってそうは言わなかったんだけど。

397:デフォルトの名無しさん
07/03/06 15:32:38
>396

自作クラスみたいに簡潔にリテラル表記できないオブジェクトについては
___repr__が再生成できなくてもいいんじゃね?

標準ライブラリのクラスもそうなってるし。

>>> import poplib
>>> s = poplib.POP3('hoge.hage.uge')
>>> s
<poplib.POP3 instance at 0x791fd0>

398:378
07/03/06 15:35:07
回答してくれた方、ありがとうございました。
pprintというのを見つけたんですが、repr()と同じで中身までは見てくれないようです。
なさそうなんで、頑張って自作してみます。

399:デフォルトの名無しさん
07/03/06 15:36:15
すまん,
397の例は単にクラスインスタンスの標準的なreprを使ってるだけだから
あまり参考にならないかも

setsのSetクラスなんかは、ちゃんと再生成できる表記を返すみたいだ

>>> import sets
>>> sets.Set([1,2,3])
Set([1, 2, 3])

結局のところ,mustじゃなくてshouldって言ってるんだから
厳密に従う必要はないと思うよ

400:デフォルトの名無しさん
07/03/06 19:51:00
つーかこの場合質問者が欲しいのはオブジェクトの内容のダンプでそ
__repr__() を厳密に実装するか否かの問題じゃないと思われ

401:107
07/03/06 19:56:26
URLリンク(subtech.g.hatena.ne.jp)

こんなの見付けたんだけどこれpythonに書き直すの
大変かな? perlみたいな雑多なitem(Nodokaとか)が探せばころがってる
rubyがすこし羨しい…orz

402:デフォルトの名無しさん
07/03/06 20:09:54
pythonスレはそういう関係に興味ある人少ないと思われ
だから君がやるんだ

403:デフォルトの名無しさん
07/03/06 20:16:32
「何か」ってまだやってたのか。
あれってHTTPに似たプロトコルだから既存の物を改造すればできるじゃね。
socket使ったほうが早いか。

404:363
07/03/06 20:33:45
ちょっと遅くなったけど、yield使えばコルーチンが「糞」簡単にできました。
Pythonとコルーチンでググったら出てきました・・・。
いままでジェネレータとしか見ていなかったけど、yield構文は強力過ぎですね・・・。

参考にしたサイト
URLリンク(www-06.ibm.com)

405:デフォルトの名無しさん
07/03/06 21:32:58
伺かか・・・・・何もかも皆懐かしい・・・・・。

406:デフォルトの名無しさん
07/03/06 21:55:14
ただのdumpならpickleでもしとけば(違


407:107
07/03/06 22:14:07
>>402-403
答えてくれてありが㌧。

URLリンク(d.hatena.ne.jp)
ここみてたら socket で簡単にできそうでした。
微妙にスレ違いっぽいのでsage。

408:デフォルトの名無しさん
07/03/06 23:24:13
>>401
人それぞれだねえ
俺はpythonにデフォでメール関係のライブラリ
があって完成度の高さに感動したよ。
簡単にマルチパートのメールが作れるし
rubyなんて外部のrmailですら中途半端なのに


409:デフォルトの名無しさん
07/03/06 23:33:37
>>401
ninixとかはガイシュツ?

410:デフォルトの名無しさん
07/03/06 23:45:14
ninixはPythonで書かれてるんだっけ?
昔使ってたわ

411:デフォルトの名無しさん
07/03/07 03:28:20
すいません、大学でPythonを勉強している者です。"&"と”>>”の意味がいまいちわからないんですけど、どなたか教えてもらえないでしょうか?
例えば、if x & (1<<i):
li.append("○")

よろしくお願いします。

412:デフォルトの名無しさん
07/03/07 03:34:58
同じ大学生といってもこれはないわ

413:デフォルトの名無しさん
07/03/07 03:35:21
せんせに聞こうぜ

414:デフォルトの名無しさん
07/03/07 03:37:25
>>412
すいません、プログラミングにおいて全くの初心者なんで。自分で勉強しています。どなたかできればよろしくお願いします。

415:デフォルトの名無しさん
07/03/07 03:44:45
2進法って知ってる?

416:デフォルトの名無しさん
07/03/07 03:47:32
はい。。。

417:デフォルトの名無しさん
07/03/07 03:50:31
ちなみに、ここで聞いちゃうと自分で勉強したことにならないよ。
でも二進法を知ってる君なら大丈夫、自分でなんとかできるよ。

418:デフォルトの名無しさん
07/03/07 03:54:44
>>417
どうもありがとうございます^^ でも長い間考えたんですけど全くわからなくて。。。もう少し自分で考えて見ます。”&”と”>>”って一体何をするのやら^^;

419:デフォルトの名無しさん
07/03/07 03:56:28
URLリンク(ja.wikipedia.org)

420:デフォルトの名無しさん
07/03/07 04:18:05
>>419
リンクどうもありがとうございます。やっと理解できました!

421:デフォルトの名無しさん
07/03/07 11:41:14
python ML で ぱいそん と名乗るのはどうなのよ

422:デフォルトの名無しさん
07/03/07 11:45:10
頭の程度がよくわかるから
応対の仕方を決めやすくていいんじゃない?

423:デフォルトの名無しさん
07/03/07 22:10:29
ぱいそんのためのメーリングリストだからいいんじゃね?

424:デフォルトの名無しさん
07/03/07 22:59:24
最新Pythonエクスプローラ買ったけど、誤植(サンプルリストの図番号とか)が多くて困惑

425:デフォルトの名無しさん
07/03/07 23:05:36
>>424
リスト9がなかったときはさすがにどうよと思ったね

426:デフォルトの名無しさん
07/03/07 23:20:15
クラス定義にdefを使う、とか?

427:デフォルトの名無しさん
07/03/08 00:14:41
質問です
import random

random.seed()
a = [[0]*4]*4
for i in range(4):
 for j in range(4):
  a[i][j] = random.randint(0,1)
print a
このようなのを実行すると
[[1, 0, 1, 0], [1, 0, 1, 0], [1, 0, 1, 0], [1, 0, 1, 0]]
のように同じのばかりが出てしまいます。
どうしてこうなってしまうのでしょうか

428:デフォルトの名無しさん
07/03/08 00:32:40
[[0]*4]*4で行われてるのは浅いコピーだからリストの中のリストは全部同じ一つのオブジェクトだよ。
かわりに、[[0]*4 for n in xrange(4)]と書けば望んだ結果になると思う。

429:デフォルトの名無しさん
07/03/08 00:37:53
ありがとうございます。
勉強不足でした。

430:デフォルトの名無しさん
07/03/08 00:39:35
てか、普通にライブラリリファレンスのシーケンス型のページで解説されてるよね。

431:デフォルトの名無しさん
07/03/08 08:44:16
つまりチュートリアルに書くべき内容なんだよな。

432:デフォルトの名無しさん
07/03/08 08:45:16
>>431
チュートリアルには書いてあるし、まともな入門書にも書いてある。

433:デフォルトの名無しさん
07/03/08 09:18:17
もっとも書いてあるって言うことと
分かりやすいか・理解できるかは
若干ベツモノ

python に限らず...

434:デフォルトの名無しさん
07/03/08 11:04:00
いろんな言語とのインターフェイスが充実してるから
pythonを触り程度に勉強した。

処理の本質的な部分はlispで書いて
lisp -> python -> c++
という流れでくっつけたいのだけど
どこかでつまづかないのだろうか

c++は自分がやりたい分野のライブラリーが充実してる


435:デフォルトの名無しさん
07/03/08 11:42:02
lisp->c++ じゃない理由はなんだろう。


436:デフォルトの名無しさん
07/03/08 11:51:33
pythonですでにいくつかスクリプトを作ってしまったことと、

lisp->python->c++
じゃなくて
場合によっては
haskell -> python -> c++
に変更される場合もあるからです

haskell- > c
はあるけど
haskell -> c++
はない

437:デフォルトの名無しさん
07/03/08 13:09:10
なるほど。boost::python とか使えば Python→C++ は超らくちんだからな。

438:デフォルトの名無しさん
07/03/08 16:11:25
pythonで、オブジェクトのインスタンス変数の一覧はどうやって取って来れますか。

439:デフォルトの名無しさん
07/03/08 16:48:47
dir(obj)

440:デフォルトの名無しさん
07/03/08 18:27:13
数値計算ライブラリの自動チューニングに関する講演会
URLリンク(www.hpcc.jp)

> A Python based infrastructure to the ACTS Collection

441:デフォルトの名無しさん
07/03/08 20:49:28
>>440の前日にも講演があるみたい。
URLリンク(www-solid.eps.s.u-tokyo.ac.jp)

> Two High-Level User Interfaces for Computational Scientists: PyACTS and DCT

442:デフォルトの名無しさん
07/03/08 22:30:42
Pycon a "hiring fest"
URLリンク(radar.oreilly.com)

   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)
. |     (__人__)  Half the lightning talks ended (or started) with "We're hiring" って
  |     ` ⌒´ノ     求人多杉だろ、常識的に考えて…
.  |         }
.  ヽ        }
   ヽ     ノ        \
   /    く  \        \
   |     \   \         \
    |    |ヽ、二⌒)、          \

443:デフォルトの名無しさん
07/03/08 22:35:42
>>439
thank you

444:デフォルトの名無しさん
07/03/09 22:58:54
>>442
Pythonを使うヤツには能力の高いデキるヤツが多い。
できるヤツと出来ないヤツの間には
仕事の成果に何十倍もの開きがあるとかないとか。
つまりだ。
烏合の衆数十人の会社を
デキるヤツ一人が負かす可能性があるってことだ。
一人の力で競争原理が変わる可能性があるんだよ。
だからあっちの企業はPython使いを雇いたがる。
企業の中で腐ってたり
芽が出なくて逃げ込むようにPythonを使っているヤツではなく
自ら道を切り開く力を持っている、本当にデキるPython使いをな。

445:デフォルトの名無しさん
07/03/10 00:01:10
一から十まで脳内設定の垂れ流しってどうよ

446:デフォルトの名無しさん
07/03/10 00:25:32
小魚ばっかりですな

447:デフォルトの名無しさん
07/03/10 00:31:25
駄目だこりゃ。

448:デフォルトの名無しさん
07/03/10 00:46:42
>企業の中で腐ってたり
>芽が出なくて逃げ込むようにPythonを使っているヤツではなく
俺のことかな

449:デフォルトの名無しさん
07/03/10 00:52:42
おれおれ

450:デフォルトの名無しさん
07/03/10 00:53:28
行きたいけれど関西だ

圏論勉強会って研究会扱いで旅費申請できるのだろうか

451:デフォルトの名無しさん
07/03/10 08:44:36
「ぷろぐらむ書けるの?」って上司に聞かれて
「ぱいそんならおk」っていうと諦めて帰ってくれるんだよね

452:デフォルトの名無しさん
07/03/10 10:27:39
>>451
お前さんの普段の行動が香ばしいのが諦められる原因だろ.
Pythonのせいにするなよ(wwwwwwwwwwww

453:デフォルトの名無しさん
07/03/10 10:40:54
御前は世間をしらない。Visual Basic だけがプログラム言語だと思っている上司が珍しくない


454:デフォルトの名無しさん
07/03/10 11:55:56
何でも人のせいにするヤツって居るよな。
そういうヤツが歳だけ余計に食って老害垂れ流すんだろうな。

455:デフォルトの名無しさん
07/03/10 12:01:21
駄目な奴には駄目な上司.
これが世間の法則だが
駄目な奴だからってあまりいじめない方がいいと思うよ.

456:デフォルトの名無しさん
07/03/10 12:10:43
まぁ>>453は極端な例だろうけど、企業の場合遊びでやってるわけじゃないから
ソースのメンテナンスや引きつぎっつうもんがあるわけで。

その会社にPython使いが希少であるという状態なら、「Pythonにしたいです」
という提案は受理されないだろうな。

「PythonならC/C++やJavaやPerlやLispのような他の言語に無い
こんな素晴らしいことが出来ます」と滔々とプレゼンテーションできるなら
まだ別かも知れないが。



457:デフォルトの名無しさん
07/03/10 12:51:15
下流企業の実態なんて興味ないよ

458:デフォルトの名無しさん
07/03/10 14:02:10
>>457
超一流企業に勤めている>>457なら、下流企業のアフォ上司も
簡単に説得可能なんだろうな。
試しにここでプレゼンしてみ?

459:デフォルトの名無しさん
07/03/10 14:08:44
「下流企業ではない」が「超一流企業である」に飛躍してしまうのが
下流企業に勤める負け犬の思考の限界。

460:デフォルトの名無しさん
07/03/10 14:15:10
煽りはいいからお前さんのプレゼン能力を見せてみろよ。
聴いてやるから。

461:デフォルトの名無しさん
07/03/10 14:43:00
脳内の想像だけで他人を上司を説得できない負け犬、無能、下流企業呼ばわり
なんだから、さぞかし素晴らしい御託を述べてくれるんだろうて。
実に楽しみだな。


462:デフォルトの名無しさん
07/03/10 14:43:21
>>456
> こんな素晴らしいことが出来ます

素晴らしい結果を出すことは他の言語でも大差ないんだろうけど、
プログラミングそのものやソース書くときのストレスが少ない、
っていうのが一番のメリットだと思う。
でもそういうことは、他の人にアピールするの難しいんだよね。

463:デフォルトの名無しさん
07/03/10 14:48:48
>>462
そら、あんたが無能で下流企業の負け犬だから、
そういう非定量的で感覚的な内容しか出てこないんだろうな。
それじゃ、他人にはアピールできないわ。

464:デフォルトの名無しさん
07/03/10 14:55:21
>>458
アフォ上司の説得なんて時間の無駄。さっさと出世しておまえが上司になるか、
それが不可能なら転職するか、それも無理ならあきらめろ。w

465:デフォルトの名無しさん
07/03/10 14:56:08
>>463
そんなことしか言えないから、おまえはろくなプログラムが書けないんだよ。

466:デフォルトの名無しさん
07/03/10 14:57:08
>>464
社会のしがらみを知らないNEETのただの妄言か。
アフォくさ。

467:デフォルトの名無しさん
07/03/10 14:58:22
>>466
そんなことしか言えないからアフォ上司の下で働く羽目になったんじゃないのか?

468:デフォルトの名無しさん
07/03/10 15:00:09
>>465
あのな。
>>462を読み直してみろよ。
「~だろうけど」
「~と思う」
著しく感覚的で主観的であることを示す表現。
具体的で定量的なものは何も無い。
「なぜ」ストレスが少ないか、具体的な根拠が何も無い。
C++や、Rubyや、JavaScriptや、Lispに比べてどうか?

こんなんで「他人にアピール」出来ると思ったら、それこそお笑いだぞ。

469:デフォルトの名無しさん
07/03/10 15:01:00
> そんなことしか言えないから
その言葉、そっくりそのまま返してあげるよ。

470:デフォルトの名無しさん
07/03/10 15:01:43
勤めてるのが中小企業でも大企業でも
「上司が」とか「マイナー言語だから」と諦めるような奴は人間として「下流」だろ。
どんな状況でも
自分のやりたいことが出来るように道を切り開く人間こそ勝ち組なんだよ。

転職したって変わらないよ。
Python使ってる企業に移ったって
下流人間は別のことでフラストレーション感じるに決まってる

471:デフォルトの名無しさん
07/03/10 15:03:14
>>470
だから、勝ち組なら勝ち組らしいプレゼンをしてみせろよ。ここで。
聴いてやるからさ。
自分は「下流」じゃないんだろ?その言い草なら。

472:デフォルトの名無しさん
07/03/10 15:04:26
>>468
おまえ2chのレスに何を求めてるんだ?w
無料でそんな素晴らしいプレゼンが聞けるとでも思ってるの?

473:デフォルトの名無しさん
07/03/10 15:05:10
>>471
煽るだけなら来るなよ。いいかげんうざいぞ。

474:デフォルトの名無しさん
07/03/10 15:05:52
>>472
要はできないから逃げた、と。
そうだよなぁ。下流企業づとめどころかNEETだもんな。

475:デフォルトの名無しさん
07/03/10 15:05:57
>>471
>だから、勝ち組なら勝ち組らしいプレゼンをしてみせろよ。

ここで?
無理に決まってるだろ(www

下流の常識はすごいな(wwwww
Rubyでも使えば?

476:デフォルトの名無しさん
07/03/10 15:06:02
「下流」という言葉が彼のコンプレックスを刺激してしまったようですね

477:デフォルトの名無しさん
07/03/10 15:07:00
文句しか言う気の無いやつにプレゼンして意味あるの?

478:デフォルトの名無しさん
07/03/10 15:07:18
ないよ

479:デフォルトの名無しさん
07/03/10 15:07:41
>>475
> 下流の常識はすごいな(wwwww
> Rubyでも使えば?

なんでそこでRubyとか出てくんの?
もしかしてPython使ってる俺エライ、Rubyお子様、とか意味不明な
優越感でも持ってんのか?

たかが言語にそれほど拘ってる奴、はじめて見たよw

480:デフォルトの名無しさん
07/03/10 15:07:43
下流のくせにPythonを使えばハッカーになれると思ったのかな。
元々能力のある奴がPythonを使うから
常人離れしたスループットを出せるというのが現実だというのに。
お目出たい下流だな。

481:デフォルトの名無しさん
07/03/10 15:08:06
上司も大変だなw

482:デフォルトの名無しさん
07/03/10 15:08:46
>>479
>もしかしてPython使ってる俺エライ、Rubyお子様、とか意味不明な
>優越感でも持ってんのか?

この件に関して、ここで"プレゼン"してくれよ.
ぜひお願いするよ.

483:デフォルトの名無しさん
07/03/10 15:08:56
この流れなら言える
ZODBとzope.interfaceとtwistedがあれば大体おk

484:デフォルトの名無しさん
07/03/10 15:09:40
>>480
> 元々能力のある奴がPythonを使うから

アフォくさ。本物のハッカーなら言語なんか関係あるか。


485:デフォルトの名無しさん
07/03/10 15:09:46
>>462
Pythonの一番いいところは
コードスタイルが自然に統一されて、読みやすいことじゃね?

486:デフォルトの名無しさん
07/03/10 15:09:58
コーディングトラブルの約70%はif文などでの{}省略
スレリンク(tech板)l50

Pythonならこの70%のトラブルを0にできるんだぜ

487:デフォルトの名無しさん
07/03/10 15:10:01
>>483
いや、それはどうかな?
ちゃんとプレゼンしないと納得してもらえないらしいぞ。w

488:デフォルトの名無しさん
07/03/10 15:10:32
なにこの流れ。。。。

489:デフォルトの名無しさん
07/03/10 15:10:54
>>485,486
つまりフリーフォーマット言語は糞でありFORTRAN77に戻るべきなんだな俺たちはw

490:デフォルトの名無しさん
07/03/10 15:10:58
なんでプレゼン厨が湧いてるの?
他の言語の差し金?
つまんないことでケンカしないで
適材適所で使うのが賢いよ

491:デフォルトの名無しさん
07/03/10 15:11:16
>>484
>本物のハッカーなら言語なんか関係あるか。

あるよ。
ハッカーにとっても一日は24時間だからね。
真のハッカーは生産性の良い物を使う。

492:デフォルトの名無しさん
07/03/10 15:11:46
>>489
書きやすさと読みやすさのトレードオフだなw
もう固定フォーマット言語には戻れんな

493:デフォルトの名無しさん
07/03/10 15:12:16
>>491
そうだな。そしてそれがPythonであるとは限らないな。

494:デフォルトの名無しさん
07/03/10 15:12:21
楽しい土曜日ですよ

495:デフォルトの名無しさん
07/03/10 15:13:52
ようし、パパ月曜にプレゼンして
D言語を仕事で使えるように上司を説得するぞう!!!

496:デフォルトの名無しさん
07/03/10 15:13:57
>>492
初めて好意的なレスが返ってきたが……
>>489は皮肉含みのジョークでつよ。

俺って親切だなぁ。

497:デフォルトの名無しさん
07/03/10 15:14:25
俺は母国語がC++で、
大規模開発はC++ or C#
小規模ツールはPython or Perlかな。

Pythonだと人間の思考に近くて楽しいね。
C++は自分が計算機になったみたいに感じるw

498:デフォルトの名無しさん
07/03/10 15:14:31
>>495
DはPythonよりずっと駄目だろw

499:デフォルトの名無しさん
07/03/10 15:15:14
>>497
> C++は自分が計算機になったみたいに感じるw

それは凄いな。「C」なら判るが。
C++でどんな機械語に落ちるかイメージできるか?

500:デフォルトの名無しさん
07/03/10 15:15:20
逆にさ、発想を変えて、
Pythonのダメなところを上げていけば
いいところが浮かび上がるんじゃね?

501:デフォルトの名無しさん
07/03/10 15:15:48
>>497
所詮高級アセンブラだからね.

502:デフォルトの名無しさん
07/03/10 15:16:37
>>499
機械語うんぬんより、C++でやることの大半はメモリ管理だからねw

503:デフォルトの名無しさん
07/03/10 15:18:31
>>499
もしできないなら C++ は使わないほうがいいよ。思わぬ落とし穴に填るかも。
テンプレートパズルを駆使して神のようなコードを吐かせる快感こそが C++ の醍醐味だ。
いつもそんなんじゃ疲れるから、普段は C# や Python を使うが。

504:デフォルトの名無しさん
07/03/10 15:19:17
>>503
C++のテンプレートは不完全だから嫌いよw

505:デフォルトの名無しさん
07/03/10 15:19:25
>>502
C++ではobject の ownership を意識していなければならないのは確かだが
Cほどではないだろう。
コンストラクタ/デストラクタやboost::shared_ptrのようなものもあるし。

506:デフォルトの名無しさん
07/03/10 15:20:37
>>504
そこがまたパズルっぽくて(ry

507:デフォルトの名無しさん
07/03/10 15:21:40
>>503
悪いが俺は出来ない。
C++の「テンプレートパズル」と「機械語」では抽象レベルが違いすぎる。
C++で考える時は、メモリのことは考えるが、機械語レベルでは考えないな。

ついでに言うと、
> テンプレートパズルを駆使して神のようなコードを吐かせる快感こそが C++ の醍醐味
悪いがこういうオナニストと俺は一緒に仕事はしたくないな。

508:デフォルトの名無しさん
07/03/10 15:21:50
>>505
ガベージコレクション言語をやっちゃうと
デストラクタがあっても苦痛は苦痛なんだよね。

>>503
最近はコンパイラが、人間の思いも寄らないような最適化するから、
変な工夫を入れると悪化することもあるけど。

509:デフォルトの名無しさん
07/03/10 15:22:38
また隔離スレッドができる予感・・・・・・

510:デフォルトの名無しさん
07/03/10 15:23:33
>>507
それが正しいと思うよ。
一昔前とは変わってきてる。
いまのプログラマは高級言語で高い生産性が求められるから、
必ずしも機械語の知識は必要ないし。

511:デフォルトの名無しさん
07/03/10 15:23:57
>>508
C++でもGCは使える。が、明白にスコープでobjectがdestructされることに
慣れており、それを好むC++ユーザが多いように思う。

512:デフォルトの名無しさん
07/03/10 15:27:16
そうかな。俺だったら機械語の知識のない人と一緒に C++ の仕事なんて絶対に
やりたくないが。
意識する必要があるかどうかと知識が必要あるかどうかは別の問題だよ。
機械語の知識のない人が C++ を触るなんて、まさに気違いに刃物。
そういう人は Python, C#, Java などで仕事していてほしい。

513:デフォルトの名無しさん
07/03/10 15:29:43
>>512
Contextを読み取る能力に欠けているのか、意図的に誤読しているのか。

「機械語の知識の有無」を論じているのではないよ。

C++の抽象レベルで機械語と対応付けて一々頭の中で考えているかを
論じていただけだ。
無論、ケースバイケースでそうすることもあるだろうけどな。

514:デフォルトの名無しさん
07/03/10 15:31:36
C#でも外部ライブラリ呼ぶ時とか、ポインタをpinしてGCのリロケーションの
対象外にしないといけとか色々あるだろ。

515:デフォルトの名無しさん
07/03/10 15:32:59
>>512
>>513のいうように、今は変わってきてるかな。

子供が円周率を100桁暗記するより、英単語の1つでも覚えた方がいいと思うように、
機械語を覚えるより、データ構造やモジュールの使い方を覚えたがいい
というような感じかな。

確かに、PythonやC#を使った方がいいというのは同意。

516:デフォルトの名無しさん
07/03/10 15:36:17
>>513
>>512
>>510
>> 必ずしも機械語の知識は必要ないし。
に対する反論。つまりC++には「必ず機械語の知識が必要」だと思う。

>>513にも反論するとすれば、C++には思わぬ落とし穴が結構あるので、機械語レベル
の話を全く頭から払拭してプログラムを書くのは危険が伴うと思う。
強く意識するかどうかは別としても、そういう知識のない人が使う言語れはないと思う。

これ以上 C++ の話を続けるならば、他のスレへ移動しましょう。

517:デフォルトの名無しさん
07/03/10 15:37:49
>>500がいうように、Pythonの欠点を挙げてみない?

518:デフォルトの名無しさん
07/03/10 15:37:50
隔離スレッドができる悪寒

519:デフォルトの名無しさん
07/03/10 15:38:30
>>516
>これ以上 C++ の話を続けるならば、他のスレへ移動しましょう。

全くだ。C++の本スレなんか最近は閑古鳥が鳴いているってぇのに。
お前ら本スレに帰れ。

520:デフォルトの名無しさん
07/03/10 15:38:39
>>517
何が目的なんだよ(www

521:デフォルトの名無しさん
07/03/10 15:41:08
>>518
それは作れという意味ですか?
どういう名前にしたらいいかな。

522:デフォルトの名無しさん
07/03/10 15:41:08
敵国の情報工作だ。乗ってはならんぞ。w

523:デフォルトの名無しさん
07/03/10 15:43:58
>>516
何を持って「機械語レベル」と言っているかなんだが。

C++で書くときにいちいちレジスタやI/Oポートやニーモニックを意識するか?
むしろそうせねばならないとすれば、そっちの方が問題があると思うぞ。

ということなんだがな。

524:デフォルトの名無しさん
07/03/10 15:43:59
>>520
Pythonの欠点を盲目的に挙げてみれば、
実は他の言語にも共通した欠点を抱えており、
逆にPythonのいいところも分かるんじゃないかと

525:デフォルトの名無しさん
07/03/10 15:45:17
>>523-524
隔離スレの名前は「Pythonと多言語比較」でいいかい?

526:デフォルトの名無しさん
07/03/10 15:45:54
「他言語」では?

527:デフォルトの名無しさん
07/03/10 15:46:20
間違えちゃった・・・・・・

528:デフォルトの名無しさん
07/03/10 15:47:05
pythonの嫌いなところは
デザパタ話だしたり、C++の話しだすところ。
スレ違いだってことを"""自覚"""できない奴がいるところ。


529:デフォルトの名無しさん
07/03/10 15:47:42
>>528
それは「言語の」特性ではないな。
もっとプレゼン能力を磨け。

530:デフォルトの名無しさん
07/03/10 15:48:47
>>528
ちゃんとプレゼンしないと上司を説得できないところも欠点だよなw

531:デフォルトの名無しさん
07/03/10 15:49:54
スレ違いだってことを"""自覚"""できない奴がいる
>>529、君のことだよ
てか、隔離したデザパタ+pythonスレも全然伸びてないがな
ここで話してた奴、もっと向こうもりあげろよw

532:デフォルトの名無しさん
07/03/10 15:53:18
やだよめんどくさい

533:デフォルトの名無しさん
07/03/10 15:55:57
>>530
それは大いなる欠点だ。
もうPython使うのやめた。

534:デフォルトの名無しさん
07/03/10 15:59:26
中身のない話をするときに限ってスレがよく伸びる

535:デフォルトの名無しさん
07/03/10 16:00:08
そろそろメタクラ(ry

536:デフォルトの名無しさん
07/03/10 16:07:20
>>531
「プレゼン」とかいうキーワードにしか飛びつけない厨房乙。

537:483
07/03/10 16:29:27
Zope最高! Zope様々! Zope万歳!

538:デフォルトの名無しさん
07/03/10 16:37:16
かわいそうに。こうはなりたくない。

539:デフォルトの名無しさん
07/03/10 16:50:56
宗教くさい流れだな。もしやR(ry

540:デフォルトの名無しさん
07/03/10 16:55:50
ぱいそんwww

541:デフォルトの名無しさん
07/03/10 16:58:11
Zope3最高! Zope3様々! Zope3萌え!

542:デフォルトの名無しさん
07/03/10 17:01:33
PythonのきらいなところはR○○○厨をひきつけちゃうところです。

543:デフォルトの名無しさん
07/03/10 17:03:01
>>541
かわいそうに.完全に負け組下流だな.
同じPython使いでもこうはなりたくない.
あっちいけよ、悪霊退散、シッシッ!!

544:デフォルトの名無しさん
07/03/10 17:12:13
>>542
REXX厨?

545:デフォルトの名無しさん
07/03/10 17:25:34
RexじゃくてLexだろ

546:デフォルトの名無しさん
07/03/10 18:20:45
URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)

547:デフォルトの名無しさん
07/03/10 19:53:34
こんなマイナーな言語しってるなんて、相当の言語オタだね?
というわけであの人に違いない(www

548:デフォルトの名無しさん
07/03/10 20:29:50
>>535
終った技術の話をしてもなあ
それより関数型プログラミングの話をしようぜ

549:デフォルトの名無しさん
07/03/10 20:52:07
それよりも



  _  ∩
( ゚∀゚)彡 おっぱい!おっぱい!
 ⊂彡


550:デフォルトの名無しさん
07/03/11 02:29:39
>>530
説得しなければならない上司などいない

551:デフォルトの名無しさん
07/03/11 02:34:11
import Tkinter as Tk
canvas = Tk.Canvas(width=256*5-4+20, height=120)
x=10
for i in range(0, 256):
    canvas.create_line(x,10,x,110,fill="#%02x%02x%02x" % (255,i,0))
    x += 1
for i in range(1, 256):
    canvas.create_line(x,10,x,110,fill="#%02x%02x%02x" % (255-i,255,0))
    x += 1
for i in range(1, 256):
    canvas.create_line(x,10,x,110,fill="#%02x%02x%02x" % (0,255,i))
    x += 1
for i in range(1, 256):
    canvas.create_line(x,10,x,110,fill="#%02x%02x%02x" % (0,255-i,255))
    x += 1
for i in range(1, 256):
    canvas.create_line(x,10,x,110,fill="#%02x%02x%02x" % (i,0,255))
    x += 1
canvas.pack()
canvas.mainloop()

552:デフォルトの名無しさん
07/03/11 03:21:29
>>551
wxPythonでまねして作ろうとしたら、
色の指定はwxPenオブジェクトで指定して、
wxDCのSetPenメソッドでwxPenを置き換えて、それで直線を描く、
って3段階になるから手間がかかる。

553:デフォルトの名無しさん
07/03/11 03:52:29
>>550
職が無いお前には当然いないよな。

554:デフォルトの名無しさん
07/03/11 04:18:11
>>552
全然知らないで効くんだけど、一つ関数を書けば良いだけじゃなくて?

555:550
07/03/11 04:19:25
>>553
断定口調は、それが外れたときに大恥をかく。
しかし、俺が職についていることを証明する手段は無い。

556:デフォルトの名無しさん
07/03/11 04:24:06
それ以前にまず本物の550だと証明する手段が無いだろう。

557:デフォルトの名無しさん
07/03/11 09:26:55
NumPyっていうモジュールのWindows版落としてインストールしたら.pyが
C:\Python25\Lib\site-packages\numpy
にインストールされたんですけどimportできません。

sys.path見ると
C:\Python25\Lib\site-packages\
は入ってるんですが、もしかしてサブディレクトリのnumpy内のモジュールはパスに入らないんでしょうか?

558:デフォルトの名無しさん
07/03/11 10:35:12
C:\Python25\Lib\site-packages\numpy\__init__.py が本当に存在しているか? あれば import numpy ができるはず。

また import numpy 一行がどんなエラーを返しているのか、エラー・コメントを全部出せ


559:デフォルトの名無しさん
07/03/11 10:54:52
import NumPy
ってやってない?

560:デフォルトの名無しさん
07/03/11 11:18:03
>>558
>>559
ありがとうございます。import numpyでできました。
numpy.pyというファイルがないのでnumpyでimportできるとは思いませんでした。
モジュールはファイル名と同じと思ってたのですが、違う場合もあるんですね・・・

561:デフォルトの名無しさん
07/03/11 11:26:39
自分で関数やクラスを設計しているときに「それは既出だよ」と忠告してくれるソフトはありませんか?
Pythonの全部のモジュールを把握するの無理っぽい。

562:デフォルトの名無しさん
07/03/11 11:30:30
>>561
grep とか

563:デフォルトの名無しさん
07/03/11 20:32:07
何のために名前空間があるんだ。

564:107
07/03/12 05:25:24
Monarcのバイナリzip版を動かして見ようと試行錯誤してみたり、、、
readmeないからソース嫁に従う

Monarc.pyから処理開始->app = Monarchore.MoApp(0)
Monarchore->locale設定 conf読み込み MainFrame生成
self._frame = MoMainFrame(None, id, MA_APPTITLE, owner=self, config=self._config)
def __init__にてcommunicatorを始動させるコードself.loadMenu('TF2', '2ch', None)
鮮やかにcommunicatorオブジェクトを取得する それをMoBoardMenuTreeに渡す。
self.AddRoot('Root')でトップノードにRootを追加。たぶんdef OnReload(self, evt)も
そのとき呼ばれる topics = self.communicator.getTopics() にてカテ一覧を取得する
最後に self.Expand(self.treeroot) でツリーを展開しとく。
「結果」
Root
- root

むぅ。起動までは出来たけど、カテ一覧の取得 or それの読み込み部分 でこけてる罠。
やっぱりバイナリzipをそのまま動かすのは難しいぽ。wxpython入れてsrcコンパイルしないと駄目ぽ

でもバイナリzip版って、py2exeでexe化してるから、python も wxpython もなくても
dll の呼び出しだけで起動できるもの、なような気がするし、となると
bbsmenuが移転したからカテ一覧の取得にこけてる??? でも運営とソフトウェアは
残ってるからその二つは今でも取得できそうだし。なんか意識が朦朧として来て
何言ってるか訳が分らなくなって来てる罠。もう寝るぽ。がっ。(もうグダグダ)

565:デフォルトの名無しさん
07/03/12 14:56:58
>>464
とんがり頭の上司で検索


566:デフォルトの名無しさん
07/03/12 15:01:01
下っ端でも何かを成し遂げる方法
URLリンク(local.joelonsoftware.com)

567:デフォルトの名無しさん
07/03/12 15:03:11
>>467
アホ上司の下で頻繁に変わる思いつきをコーディングさせられる2年は地獄だった
4月で脱出できるが

568:デフォルトの名無しさん
07/03/12 15:17:32
とんがり頭の上司
URLリンク(en.wikipedia.org)

569:デフォルトの名無しさん
07/03/12 15:20:11
URLリンク(www.shiro.dreamhost.com)
とんがり頭=髪のとんがった上司 の言動


570:デフォルトの名無しさん
07/03/12 15:23:20
よ~し パパ cgi を lisp で書いちゃうぞ~

571:デフォルトの名無しさん
07/03/12 15:58:16
>>567
おめ

572:デフォルトの名無しさん
07/03/12 16:03:43
頭のとんがりと髪のとんがりを混同すべきではないと思うが

573:デフォルトの名無しさん
07/03/12 16:14:20
上司=朝日山親方

574:デフォルトの名無しさん
07/03/12 16:17:22
とんがり頭って訳してる人がいて
そっちおぼえてしまった

575:567
07/03/12 16:24:57
>>571
あり
後任は中国人らしい
誰もやりたがらない仕事だしな

576:デフォルトの名無しさん
07/03/12 16:26:13
すげえな。本当に人間?
URLリンク(image.blog.livedoor.jp)
URLリンク(www.maritabi.com)

577:デフォルトの名無しさん
07/03/12 16:30:15
ナポレンフィッシュみてえ

578:デフォルトの名無しさん
07/03/12 16:36:33
身長が低かったため、新弟子検査をパスするためシリコンを埋め込んだ後遺症(?)らしい。
気の毒な気もするな。

579:デフォルトの名無しさん
07/03/12 17:45:10
>>570
URLリンク(www.kahua.org)


580:デフォルトの名無しさん
07/03/12 18:12:20
>>576
マゲ結ってる時期に引っ張りすぎたんじゃね?

581:デフォルトの名無しさん
07/03/12 18:25:44
>>576
?

URLリンク(www.supermilk-chan.com)

582:デフォルトの名無しさん
07/03/12 18:56:24
>>572
髪のことを頭って言うのは結構普通だとおもう。
散髪しに行くことを「頭きりに行く」って言うし(笑
URLリンク(sky.ap.teacup.com)

583:デフォルトの名無しさん
07/03/12 19:00:12
>>576
相撲板では常識的な事実
URLリンク(page.freett.com)

584:デフォルトの名無しさん
07/03/12 19:07:19
>>572
        _.. -‐ ' "     ヽ ̄ノ^7__         <              >
    `ー ''"--――-r⌒``~`゙゙`''ヘ/         <  異 議 あ り!! >
     `ー--―ー--->  ~-、_, ',          <             >
      `ー-- .._ へ/   くてi` 〈            ∨∨∨∨∨∨∨∨
       `ー-_   | ^i        , ノ                    _.. ‐ァ=r‐''⌒゙二ニ二つ
          ヽr''ヘ、_     ,.-=ァ/                _. -‐ '"´  l l    r} } }l
          /   !、   {__//    __      . -‐ ' "´        l ヽ  、 ヽ_ノノ
          ノ       、   ̄ /-‐ ' "´/`゙ ーァ' "´  ‐'"´         ヽ、`ーテヽJ
     _.. -‐''フ|フヽr-‐ ''''フ. ̄「´      /   /                __.. -'-'"
  . ‐ '7    く/|〉-rへ. /   l     l   /            . -‐ '"´

「とんがり頭」と聞いて真っ先にこれを思い出した

585:デフォルトの名無しさん
07/03/12 19:38:09
知合いも、相撲鳥になるために頭にシリコン埋め込んでたわ

586:デフォルトの名無しさん
07/03/12 19:40:35
相撲鳥って飛びにくそうだな

587:デフォルトの名無しさん
07/03/12 19:41:22
飛べない鳥です

588:デフォルトの名無しさん
07/03/12 19:54:26
ただの豚です

589:デフォルトの名無しさん
07/03/12 19:56:13
無料の豚か

590:デフォルトの名無しさん
07/03/12 21:41:19
シェア豚もいるんでしょうか?

591:デフォルトの名無しさん
07/03/13 00:22:09
オープンポーク

592:デフォルトの名無しさん
07/03/13 02:02:10
pyjamasを使ってる人居ませんかー

593:デフォルトの名無しさん
07/03/13 11:09:06
・趣味プロジェクトにしか見えない
・1.0が出そうにない

594:デフォルトの名無しさん
07/03/13 11:16:38
結論:
だからオレが使って作ってガンガンコミットする

595:デフォルトの名無しさん
07/03/13 11:33:50
StringIO.write()をつかうとUnicodeErrorが出るんですけど回避策あったら教えてください。

# -*- coding: utf-8 -*-
from StringIO import StringIO
io = StringIO()
io.write(u'あいうえお')
print io.getvalue(),
## UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)

マニュアルにはstringもunicode stringも使えると書いてあるんだけどなあ。

596:デフォルトの名無しさん
07/03/13 11:41:24
print io.getvalue().encode('utf-8')

してみてどうなる?

597:595
07/03/13 11:42:31
>>595
エラーになってたのはStringIO.write()じゃなくてprint statementの方だったorz
output = io.getvalue()
print output.encode('utf-8')
で問題なく動いた。

598:デフォルトの名無しさん
07/03/13 14:09:46
入門書嫁。

599:デフォルトの名無しさん
07/03/13 15:00:31
ハゲワロス
>>>from __future__ import braces

600:デフォルトの名無しさん
07/03/13 17:53:32
>>599
最悪だ。(w


601:デフォルトの名無しさん
07/03/13 20:17:35
柴田淳の新譜と "TurboGearsxPython" 買ってきた

602:デフォルトの名無しさん
07/03/13 20:20:29
GWTいいなぁ

603:デフォルトの名無しさん
07/03/13 22:28:13
pyPgSQLでPostgreSQLと連携したプログラムを書いてるんだけど、
pyPgSQL.PySQL.connect()の host って何を代入すればいい?
apache 起動してないし、webと連携するわけでもないんだけど、localhost でいいのかな?

ここでは場違いかもしれないけど、教えてください。

604:デフォルトの名無しさん
07/03/13 22:29:01
PostgreSQLが稼働してるホストを指定すればいいんじゃね?

605:デフォルトの名無しさん
07/03/13 22:44:15
ああ、んじゃたぶん localhost でいいや。
端末のタイトルが --@localhost だし。たぶんこれでいいんだろう。

ありがとう。

606:デフォルトの名無しさん
07/03/14 00:27:13
URLリンク(talototo.blog48.fc2.com)



607:デフォルトの名無しさん
07/03/14 00:36:25
>>606
うむ。非常に恥ずかしいがそのままにしておこう。

608:デフォルトの名無しさん
07/03/14 00:38:25
>>603
apacheサーバは関係ない。SQLサーバのこと。
PostgreSQLはれっきとしたSQLデータベースサーバなので
ローカルマシン以外にも置けるのだよ。ってか普通。

609:デフォルトの名無しさん
07/03/14 00:42:25
608は何より人生が分かってないと思う。

610:デフォルトの名無しさん
07/03/14 00:58:06
coreduoマシーンでscipy 使って数値計算してるんだけど
計算速度を上げる為には,何をいじるべき?
(計算のボトルネックは粗行列の線形方程式みたい.)

デフォルトでインストールが最速なの?

611:デフォルトの名無しさん
07/03/14 01:21:33
> Updated Cygwin Package: python-2.5-1
キター

612:デフォルトの名無しさん
07/03/14 02:35:23
>>610
そういうアホな質問に「こうすれば速くなる」と答えられるような汎用の答えがあるのなら
それがデフォルトになっているとは思わないかね?

613:デフォルトの名無しさん
07/03/14 02:44:48
>>612
すまん,質問が悪かった.

200x200くらいの粗行列の線形方程式をscipy使ってpythonで解きたいんだけれど
デフォルトのバイナリをインストールするのが最適かどうか教えてくだされ.

614:613
07/03/14 02:52:48
os:windows
cpu:coreduo
です

615:デフォルトの名無しさん
07/03/14 03:47:41
>>613
一般に、最適な解法は問題依存(つまり行列依存)なので何とも言えない。

SciPy の疎行列ソルバは UMFPACK または SuperLU らしい(つまり直接法ということ)。
なので反復法を使うとパフォーマンスが改善するかも知れない。
SciPy にはネイティブコードの反復法ライブラリは含まれてないっぽいので
そもそも SciPy という選択自体、最適でない可能性がある。
別の選択肢としては PyTrilinos とかその辺になるのかな(使ったことないので不明)。
一口に反復法といってもCG法(対称用)やらBiCG法(非対称用)やら掃いて捨てるほど
たくさん選択肢があるし、前処理(preconditioner)にもスケーリングだのILU分解だのと
色々あって適用するのとしないのとでは大違いだったりする。組合せは膨大。

よーするにあれこれ試すしかない。

616:デフォルトの名無しさん
07/03/14 04:29:17
atlas呼べばいいじゃない

617:デフォルトの名無しさん
07/03/14 08:58:15
3年待てばCPUが早くなって4倍くらいになるよ.

618:デフォルトの名無しさん
07/03/14 12:53:08
python2.5でMSVCR8.dllをハンドルしてるバージョンってある?
extension作るのにVS2005使いたいんだけど

619:デフォルトの名無しさん
07/03/14 13:02:32
msvcr80.dllって、VS2005のSP1でモノが変わったんじゃなかったっけか。
自分でソースからコンパイルするのが一番無難だと思うけど。

620:デフォルトの名無しさん
07/03/14 14:29:06
「たった一度だけ動けばいいんだが実行に1時間かかるプログラムを30分に短縮しようとして3日悩む」ようなものだね。

621:デフォルトの名無しさん
07/03/14 14:56:09
>>620
俺のことだ。って思ったヤツ挙手。




622:デフォルトの名無しさん
07/03/14 15:45:41
プログラムの中で、64bitマシンで実行されているか32bitマシンで実行されているかの
条件分岐を行いたいのですが、どうやったらこのbit数を取得できるでしょうか?
環境はPython 2.4です。

623:デフォルトの名無しさん
07/03/14 19:46:13
「最適化の第一原則は“最適化するな”だ」

624:デフォルトの名無しさん
07/03/14 19:55:38
>>622
何のために区別したいのかにもよると思うが、Windowsなら
>>> import sys
>>> sys.platform
'win32'
で得られるような希ガス。Python2.5なら
>>> import ctypes
>>> ctypes.sizeof(ctypes.c_void_p)
4
ていう手もあるが、これも確実とは言いにくいな。

625:デフォルトの名無しさん
07/03/14 20:22:45
>>> import sys, math, platform, struct
>>> platform.architecture()
('32bit', 'WindowsPE')
>>> struct.calcsize("P")
4
>>> math.log(2*(sys.maxint+1),2)
32.0

これも確実じゃない・・・よな

626:デフォルトの名無しさん
07/03/14 20:45:55
64bitマシン上で32bitのpythonを動かす場合とかもあるし、
WindowsならGetNativeSystemInfo 呼ぶのが確実じゃね?
他のプラットフォームはわからん。

627:デフォルトの名無しさん
07/03/14 21:01:55
/proc みたらいいんじゃね

628:デフォルトの名無しさん
07/03/14 21:33:06
>620
べつに30分に短縮できなくてもいいから、
もうちょっとすっきり書きたいと思って
1週間悩むっていうのならいつもやってる

629:622
07/03/14 22:09:43
>>624
> 何のために区別したいのか
あるプログラムを64bitマシンで動かすと不具合があって、
struct.pack('L', l) を struct.pack('I', l) に直すとOKだったとのこと。
この辺りのことが自分もよく分かってないのだけど、どの環境でも
動くようにするには条件分岐させるのがいいのかなと。
自分のもとには32bitマシンしかないので確認できる環境もないのだけど。。

630:デフォルトの名無しさん
07/03/14 22:44:02
>>629
32bitか64bitかで分岐するんじゃなくて、不具合を起こすかどうかを実行時に調べて分岐するというのはどうですか。


631:デフォルトの名無しさん
07/03/14 22:46:49
符号なし32bit整数としてpackしないとダメってことかな。64bitマシンでも
intは32bitらしいから。もっといい方法がありそうな気もするが:

import struct

for format in ('B', 'H', 'I', 'L', 'Q'):
    if struct.calcsize(format) == 4:
        I4 = format
        break
else:
    raise "no 32bit integer"

print I4 # このフォーマットを使う


632:デフォルトの名無しさん
07/03/14 22:51:12
64bitマシンと言ってもいろいろあるからな。SPARCとかAlphaだとちょっと勝手が違うかも。

633:デフォルトの名無しさん
07/03/15 00:34:49
VMwareとかVirtualPCとかQEMUとかで
試すことはできへんの?

634:デフォルトの名無しさん
07/03/15 10:51:23
java2python
URLリンク(code.google.com)


635:デフォルトの名無しさん
07/03/15 13:06:59
googleの社員がつくってるのかな・

636:デフォルトの名無しさん
07/03/15 15:00:37
ちがうしょ。
google codeに登録してるだけでほ

637:デフォルトの名無しさん
07/03/16 22:17:08
2007.02.07に、Jython 2.2 beta1 がリリースされていた!
URLリンク(www.jython.org)

正直、もう次はないかと思ってますた。うれしい。

638:デフォルトの名無しさん
07/03/17 00:22:58
それはただの通過点。jython-devじゃみんな2.3とか2.5のことばっか妄想してる。

639:デフォルトの名無しさん
07/03/17 00:34:24
いまさら2.2ではちょっと安心できないわな

640:デフォルトの名無しさん
07/03/17 00:35:09
>>629
struct.unpack('Q', chr(0)*8) を試す.

641:デフォルトの名無しさん
07/03/17 00:40:23
#python-jpってチャンネルがあると聞いてIRC久々に立ち上げてみたら誰もおらん・・・さびしい

642:デフォルトの名無しさん
07/03/17 00:43:02
質問です。以下のプログラムで中国語のテキストをユニコードに変換してコピーしようとしているのですが、
短いテキストならば問題なくコピーされるのに、大きなファイルになるとエラーが発生して途中までしかコピーできませんでした。
何が原因なんでしょうか・・・

import codecs
fin = codecs.open(r"c:\data\itest.txt","r","GB2312")
fout = codecs.open(r"c:\data\outputfile.txt","w","utf-8")

for line in fin:
fout.write(line)

fin.close()
fout.close()

643:デフォルトの名無しさん
07/03/17 00:51:28
改行コードがおかしくて一行がメモリに載らないくらいでかいか、バイナリモードで開いてなくて嘘ヌル文字に到達するから。

644:デフォルトの名無しさん
07/03/17 00:54:44
URLリンク(products.locus.co.jp)
既出だっけ?また入門書出るのね

645:デフォルトの名無しさん
07/03/17 01:01:36
みんpyより136ページ薄くて同じ値段か・・・かなり微妙・・・

646:デフォルトの名無しさん
07/03/17 01:02:52
>>642
どのくらいのサイズなのか、どういうエラーが出るのかぐらい書いてほしい

647:デフォルトの名無しさん
07/03/17 01:05:08
>>644
同じ著者がノキアの携帯でPythonを使うって本だしてるけど
こいつPython知ってるのか、というような内容だったよ...orz...

648:デフォルトの名無しさん
07/03/17 01:07:38
>>637
2.2っていうのはpython2.2準拠っていういみなのね・・・

>>638
2.3や2.5の仕様が既に固定してる時点で妄想でもなんでもないような・・・

649:デフォルトの名無しさん
07/03/17 01:11:51
ああ、Nokia本のひとか、・・・我が道を行く人なんだね、・・きっとw
確かNokia本の前書きで、まだpythonはじめてから日が浅いですみたいなこと書いてたような・・・w

650:642
07/03/17 01:32:41
>>646
すみません、中国からのアクセスは不安定でなかなか書き込みできないみたいなんです。
元のテキストは54KBです。
モードをrb,wbにしてみるとヌル文字はスペースで変換する旨のエラーが出ました。
一番下のエラー見る限りコピーしようとしてる原文に問題があるんでしょうか。

Traceback (most recent call last):
File "C:\filecopy.py", line 6, in <module>
for line in fin:
File "C:\Python25\lib\codecs.py", line 619, in next
return self.reader.next()
File "C:\Python25\lib\codecs.py", line 556, in next
line = self.readline()
UnicodeDecodeError: 'gb2312' codec can't decode bytes in position 83-84: illegal multibyte sequence

651:デフォルトの名無しさん
07/03/17 01:39:52
IronPythonの本のほうが気になるなぁ
たぶん買わないがw

652:デフォルトの名無しさん
07/03/17 04:33:09
fin = codecs.open(r"c:\data\itest.txt","r","GB2312", "replace")
とか
fin = codecs.open(r"c:\data\itest.txt","r","GB2312", "ignore")
にすればとりあえず変換できるとは思うが、それでいいのかは何ともいえないな。
日本語みたく中国語にも複数エンコーディングがある可能性も捨てきれんし。

653:デフォルトの名無しさん
07/03/17 05:01:47
       |
   \  __  /
   _ (m) _ピコーン
      |ミ|
   /  .`´  \
     ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (・∀・∩< 全部試せばいいんだ!!
    (つ  丿 \_________
    ⊂_ ノ
      (_)

URLリンク(www.python.jp)
gb2312, gbk, gb18030, hz とか中国語全部

URLリンク(ja.wikipedia.org)
派生・後継規格あたりが非常に怪しい

654:デフォルトの名無しさん
07/03/17 09:14:50
中国からwikipediaは見えません
URLリンク(slashdot.jp)

655:デフォルトの名無しさん
07/03/17 15:10:18
すげー国だなw、想像の範囲外w、

656:デフォルトの名無しさん
07/03/17 15:11:28
国丸ごと特定のページ見せないってのも一つの技術だとは思うが・・・w

657:642
07/03/17 16:35:17
Wikipediaは直接接続できませんが、プロキシを介すと閲覧はできます。
編集はできないけれど閲覧ならできるということで中国政府もバランスを取ってるんでしょうね。
一時期Googleが全面的にシャットアウトされて大学中が大混乱に陥ったこともあります。

みなさんありがとうございます。codecs.openにreplaceを追加すると問題なくコピーできました。
ですがこの場合エラーを無視しているということですよね・・・うーん歯痒い・・・

問題のある原文をうpろだにあげてみました。
URLリンク(aip.heteml.jp)

658:デフォルトの名無しさん
07/03/17 17:04:27
総当り:
rawin = file('data1.txt', 'rb').read()
for enc in ('gb2312', 'gbk', 'gb18030', 'hz'):
    print enc.ljust(10),
    try:
        rawin.decode(enc)
        print 'YES'
    except UnicodeDecodeError:
        print 'NO'

結果:
gb2312     NO
gbk        YES
gb18030    YES
hz         NO

改良:
import codecs
codecs.open('out.txt', 'w', 'utf-8').write( codecs.open('data1.txt', 'r', 'gbk').read() )

正しく変換できたかどうかは判断のしようがないので知らん。

659:デフォルトの名無しさん
07/03/18 00:28:25
>>644
python覚えて、ある程度使えるようになったから、
もっとハードコアなやつが欲しい。
入門書が一番需要があるんだろうけどさ。

660:デフォルトの名無しさん
07/03/18 00:59:43
TurboGears × Python」購入した。
本に掲載のサンプルコードが取れるかとおもって出版社のサイトには
ないし、作者の名前でググってみたらオフィシャルサイトがあったんで、
いってみたらびっくらこいた。

661:デフォルトの名無しさん
07/03/18 01:48:22
もう柴田淳ちゃんネタはいいよ

662:デフォルトの名無しさん
07/03/18 02:04:05
すみません、質問です。
pythonでゲームを作っています。
アドベンチャー形式で物語を進める場面があり、そこは簡単なスクリプト言語のようなもので書けるようにしたいのですが、
pythonで実装するにはどうすればいいのでしょうか?
自分でスクリプトを作るという感覚がどうもよくわからないのです。

663:デフォルトの名無しさん
07/03/18 02:15:45
幼稚園児にいきなり微分方程式の解き方を教えてくれと言われてもどこから
説明していいのか判らないようなもんだな。

664:デフォルトの名無しさん
07/03/18 02:24:00
知ったかぶり力を最大限に発揮して・・・。
じゃあ、とりあえず

[wait time=200]
*start|スタート
[cm]
これはてすとです。[l][r]
改ページします。[p]
[cm]
改ページしました。

みたいなのを要素ごとに切り出せばいいのね?
それで・・・どうすれば。
一個一個よみこんでそれに対応した動作をすればいいのかな?

665:デフォルトの名無しさん
07/03/18 02:27:00
URLリンク(www.dabeaz.com)
URLリンク(members.jcom.home.ne.jp)

URLリンク(www-06.ibm.com)

666:デフォルトの名無しさん
07/03/18 02:36:30
とりあえずあなたが寝ないうちにありがとうと言っておく。
参考にします。

667:デフォルトの名無しさん
07/03/18 03:04:44
アドベンチャーゲームのスクリプト程度なら馬鹿正直に自前で構文解析を
せずに、XMLを使ったほうが楽だと思うぞ。

668:デフォルトの名無しさん
07/03/18 03:05:19
てか Python でいいじゃんw

669:デフォルトの名無しさん
07/03/18 06:22:32
>>664
lex yaccとか使えないへたれな俺が良くやってるのは、
[{'wait time':200,(ry

みたいに、pythonリスト&辞書で表現したい内容を全部書いておいて、
それをread&evalして必要な情報を引っ張り出すみたいなのが相当楽。
まあ、アドベンチャーのスクリプトはやったことないのでうまくいくか知らんけど

670:デフォルトの名無しさん
07/03/18 11:46:41
普通にPythonの関数としてwaitだのなんだのを作っておいて、Pythonのプログラム
として実行するほうが100万倍融通が効くだろ。俺言語発明する理由が理解できん。

671:デフォルトの名無しさん
07/03/18 15:03:42
ActivePython 2.5 でたよー
URLリンク(www.activestate.com)

今回はやけに時間がかかったような?

672:デフォルトの名無しさん
07/03/18 15:15:55
pythonで簡単にFlashゲームの創れるライブラリとかありませんか?

673:デフォルトの名無しさん
07/03/18 15:43:06
Flashでゲーム作りたいならFlashの勉強したら?
ActionScriptってJavaScriptなんだし

674:デフォルトの名無しさん
07/03/18 17:35:34
そっか。
pygameの出力がswfになればいいのに。

675:デフォルトの名無しさん
07/03/18 19:34:36
swfをジェネレートするライブラリは需要ありそうだな。既にあるかもしれんが。

676:デフォルトの名無しさん
07/03/18 20:06:45
swf 作成

独自スクリプトでいいのなら、
swftools URLリンク(www.swftools.org)
というのがある。

Ming URLリンク(ming.sf.net) だと python にも対応しているらしい。


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

Hybridizing Java
URLリンク(www.artima.com)
> Thus, you can create an application in any language you prefer,
> even a dynamic language like Python or Ruby, and use Flex to build
> a beautiful UI.

985 名前:デフォルトの名無しさん[] 投稿日:2007/02/16(金) 05:18:12
実際にFlexとTurbogearsを使ってウェブアプリのGUIを作っているデモ:
URLリンク(www.adobe.com)

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



前スレから転載
web program方向になるかもだけどだけど
Open Laszloでもできるのかな?

678:デフォルトの名無しさん
07/03/19 22:26:39
Python で Connection: keep-alive なブラウザ作ってる人っていませんか?
urllib, urllib2 にある機能では必要なオブジェクトが内部で完結されていたりして使えず、
httplib.HTTP をつかっても二度目のレスポンス取得(getreply)がうまくいかなかったりと期待する動作になりません。

import httplib
a = httplib.HTTP('127.0.0.1')
a.putrequest('GET', '/test1.html')
a.putheader('Connection', 'keep-alive')
a.endheaders()
errcode, errmsg, headers = a.getreply()
size = int(headers['content-length'])
page1 = a.getfile().read(size)

a.putrequest('GET', '/test2.html')
a.putheader('Connection', 'keep-alive')
a.endheaders()
errcode, errmsg, headers = a.getreply()
size = int(headers['content-length'])
page2 = a.getfile().read(size)
a.close()

print page1
print page2

上記を試すと、二度目の a.getreply() で例外が発生します。
httplib.ResponseNotReady
例外を無視して page2 = a.getfile().read(size) を実行すると、
2度目のリクエストに対するページの内容が取得できます。
(sizeが取得できていないため、test2.html が中途半端に取れたりします)

keep-alive について勘違いしてたりしますかね?
telnet で同じようにリクエストを送れば期待通りの結果になるので、間違ってはいないと思うんですが・・・

679:デフォルトの名無しさん
07/03/19 23:24:20
httplib.HTTPConnection のほうを使ってみては?

680:デフォルトの名無しさん
07/03/19 23:39:01
単純に
HTTP → HTTPConnection
にしてみましたが、
getreply → getresponse
のところで(2回目で)同じように ResponseNotReady が返ってきました。
も少し調べてみます。

681:デフォルトの名無しさん
07/03/20 00:33:04
>>678
httplib2 をつかえば、できるようだけど?(未確認です)


682:デフォルトの名無しさん
07/03/20 00:57:45
HTTPConnectionを使った新しい方法ならちゃんと取れる。
後方互換用のHTTPクラスで、しかも getfile を使った方法となると
なんか変なことを内部でやってるっぽいのでやり方がわからない。
HTTPクラス自体は HTTPConnection をラップして適当に昔のインターフェースに合わせてるだけっぽいので
ちゃんと呼び出しを律儀に見て行けばいつかはたどり着くと思う。

683:デフォルトの名無しさん
07/03/20 01:47:57
>>682
すみません、urllib2がsocket閉じれない問題に遭遇してからurllib→httplibと下がっていっていろいろ混乱してました。
まだ確認してませんが頑張ってみます。

684:デフォルトの名無しさん
07/03/20 02:12:24
import httplib2
headers = {
'Keep-Alive' : '300' ,
'Connection' : 'keep-alive' ,
}
h = httplib2.Http()

resp, content = h.request("URLリンク(python.org) , headers = headers)
con = h.connections['http:python.org']
print h.connections
print con.sock.getpeername() , "<=>" , con.sock.getsockname() , len(content)
print resp['keep-alive']

resp, content = h.request("URLリンク(python.org) headers = headers )
con = h.connections['http:python.org']
print h.connections
print con.sock.getpeername() , "<=>" , con.sock.getsockname() , len(content)
print resp['keep-alive']
----------
{'http:python.org': <httplib.HTTPConnection instance at 0xb7da288c>}
('82.94.237.218', 80) <=> ('192.168.10.5', 42058) 12375
timeout=15, max=100
{'http:python.org': <httplib.HTTPConnection instance at 0xb7da288c>}
('82.94.237.218', 80) <=> ('192.168.10.5', 42058) 2549
timeout=15, max=99


685:デフォルトの名無しさん
07/03/20 02:19:11
質問です。WindowsXPでPython2.5を使っているのですが、
リスト内の文字列などがエスケープされたまま出力されるのを抑える方法ありませんか?

対話環境でいうと
>>> print ["あ"]
['\x82\xa0']
となるところを

>>> print ["あ"]
["あ"]

としたいのです。

686:デフォルトの名無しさん
07/03/20 02:27:14
encodingについて学習すると良いね

687:デフォルトの名無しさん
07/03/20 02:51:32
>>685
> >>> print ["あ"]
> ['\x82\xa0']
> ↓
> >>> print ["あ"]
> ["あ"]

これは直せない、for文などでリストの内容を1つずつprintするしかない、
と「みんPy」には書いてあった。
URLリンク(www.amazon.co.jp)

688:デフォルトの名無しさん
07/03/20 03:28:49
>>685
標準の Python では無理。

ちょっと古いけど以下のバージョンだと可能らしい(俺は試したことない)。
URLリンク(www.python.jp)
> ShiftJIS文字列対応

689:デフォルトの名無しさん
07/03/20 04:09:58
>>678
一般論:
HTTP/1.1 では keep-alive がデフォルト。
Connection: ヘッダに close を指定しなければ永続コネクションが張られる。

Python 固有の話:
httplib.HTTPConnection は永続コネクションを張ってくれるっぽい。
URLリンク(docs.python.org)
の要領で単純にリクエスト送信とレスポンス受信を繰り返すと
ちゃんと同じコネクションが再利用される模様。

690:デフォルトの名無しさん
07/03/20 18:36:33
バイナリデータを覗きたい時にすごーく昔書いた
16進ダンプがこんななんですけど、もっとカッコイイ方法ってありますか?

def dumphex(s):
bytes = map(lambda x: '%.2x' % x, map(ord, s))
for i in xrange(0,len(bytes)/16):
print ' %s' % string.join(bytes[i*16:(i+1)*16],' ')
print ' %s' % string.join(bytes[(i+1)*16:],' ')


691:デフォルトの名無しさん
07/03/20 18:50:19
動けばイイんじゃねーの?と思いつつ。

def dumphex(s, format='%02x'): 
    for i in xrange(0, len(s), 16): 
        print ' '.join(format % ord(c) for c in s[i:i+16])

692:デフォルトの名無しさん
07/03/20 19:59:25
いきなり答えっぽいのが出てつまんねーな、と思いつつ。

def dumphex(s, format='%02X'):
  for n, c in enumerate(s):
    print format % ord(c), (n%16==15)*'\n',

693:691
07/03/20 20:08:36
短くしてやった。
動けば何でもよかった。
今は反省している。

694:デフォルトの名無しさん
07/03/20 23:02:52
def dumphex(s):
  l = list(s.encode("hex-codec"))
  m = map( lambda x: l[x]+l[x+1] , xrange(0,len(l),2))
  for x in map( lambda x: m[x:x+16] , xrange( 0, len(m) , 16 )):
    print string.join( x , " " )




695:デフォルトの名無しさん
07/03/21 00:06:48
>>689
ありがとうございます。確認できました。サンプルがHelpにあったとは・・・

696:デフォルトの名無しさん
07/03/21 06:48:35
a.decode('Shift_JIS', 'ignore') と a = codecs.decode(a, 'Shift_JIS', 'ignore')
の違いってどの辺にあるのでしょうか?

697:デフォルトの名無しさん
07/03/21 10:42:42
>>690-690
この hexdump って 周期的に 湧くなぁ(^^;
でもって 漏れは binascii.b2a_hex(), binascii.hexlify() に一票!


698:デフォルトの名無しさん
07/03/21 11:58:07
16ごとに切れないんだけど・・・↑

699:デフォルトの名無しさん
07/03/21 13:09:21
↓の結果は、
class A(object):
def __init__(self, fields=[]):
self.fields = fields
print "A:", self.fields

class B(A):
def __init__(self):
A.__init__(self)
self.fields.append("A")
print "B:", self.fields

b = B()
b = B()

↓になると思ったのですが、実際は
A: []
B: ['A']
A: []
B: ['A']

↓になります。
A: []
B: ['A']
A: ['A']
B: ['A', 'A']

これは正しい動作なのでしょうか??

700:デフォルトの名無しさん
07/03/21 13:23:38
デフォルト引数は一回しか評価されません、
immutableでないものをデフォルト引数に指定して、内容を変更すると
それ以降は変更した内容がデフォルト引数であるかのように動作します。

URLリンク(www.python.jp)

701:デフォルトの名無しさん
07/03/21 13:57:39
>>700
ありがとうございました。デフォルト引数を使用する際は、
注意したいと思います。

702:デフォルトの名無しさん
07/03/22 01:48:54
>>699
顔文字みたいでかわいい

703:デフォルトの名無しさん
07/03/22 02:27:42
perl の Devel::Trace みたいに、起動してから終了するまでを
全部トレースできる方法教えてください。

704:デフォルトの名無しさん
07/03/22 03:04:57
つまり L=[:] とか使えばいいわけだな

705:デフォルトの名無しさん
07/03/22 08:25:57
pdb.set_trace()
じゃインタラクティブデバッガだな。まぁ普通はこっちのほうが楽だが。


706:デフォルトの名無しさん
07/03/22 12:11:41
perlのように
x['A']['B']='C'
x['A']['D']='E'
という辞書の辞書をいきなり書くことは出来ないのでしょうか
上記の例だと
x={}
x['A']={}
と二回初期化(?)をすれば可能なのは分かりましたが、keyを持たなければ
そのkeyで初期化、というコードが分かりづらいので、一度に書ければ分かり
やすいのですが。


707:デフォルトの名無しさん
07/03/22 12:21:58
これじゃダメなん? >>706

>>> x = {'A':{'B':'C', 'D':'E'}}
>>> x
{'A': {'B': 'C', 'D': 'E'}}
>>> x['A']['B']
'C'
>>> x['A']['D']
'E'


708:デフォルトの名無しさん
07/03/22 12:25:22
> keyを持たなければそのkeyで初期化

そのための setdefault というメソッドがあるんで、それを使えば

x={}
x.setdefault('A', {})['B'] = 'C'

とできる(最初の初期化は必要だけど)。
分かりやすさは・・・いまひとつかも。

709:デフォルトの名無しさん
07/03/22 12:52:00
>>706
Pythonの辞書型はタプルもキーにとれるから、x['A', 'B'] = 'C'といった感じで書けるよ。

710:706
07/03/22 13:05:03
>>707-708

実際は
A,B,C
A,D,E
・・・
というファイルがあって、これを読み込みたいんです。
keyが’A'だけとか固定ならいいんですけどいろいろ変わりますし。

python 辞書の辞書でぐぐっても無いのは、perlのコードをそのまま
持ってくるのが変なのかと思ったのですが、pythonらしいコードが
他にあるんでしょうか。



711:デフォルトの名無しさん
07/03/22 13:07:42
>>709
これ、いいね。

712:デフォルトの名無しさん
07/03/22 13:21:56
>>710
ファイルを読んでなにをするの?
Aから始まる行の総数を集計するとか?

713:デフォルトの名無しさん
07/03/22 13:32:17
hexdump の方法をいろいろアドバイスありがとうございます

すみません、次なる質問なんですが
バイナリデータの中に3byte (24bit)のカウンタというか測定値が
埋まっていることが分かりました。
2byte, 4byte なら struct.unpack でこんな感じ:
struct.unpack('>I', somechararray[172:176])[0]
でいけるみたいですね。でも24bit 分を抜き出すってのが出来ません...

32bit で読み出して & 0x00ffffff するのが正解ですか?

714:706
07/03/22 13:43:22
>>709

あ、すごい簡単に書けるんですね。
ちょと感動


>>712
DBから吐き出したCSVを読み込みたいんです。


715:デフォルトの名無しさん
07/03/22 14:44:34
>>713
きっちり3byteしか入ってないのに4byte読んだら、ゴミが入るでしょう。
struct.unpack()でパースしたいなら、
3byte読んで、ヌルバイトを頭かケツにくっつければよい。

データはビッグエンディアンのようだから、
struct.unpack('>I', somechararray[172:175].insert(0,chr(0)))[0]
のような感じで良いのでは。

716:デフォルトの名無しさん
07/03/22 14:49:34
4バイト読んでマスクしたほうが速いんじゃないかな

717:715
07/03/22 14:54:24
考えてみればどうせマスクするんならゴミを読んでもおkだよな
スマソ

718:713
07/03/22 15:34:36
>715-717
thx

やっぱり C な感覚(?)で mask しる! でいいんですね。

もとが 4byte なく本当に 3byt しかないときは
>715 のようなやり方がつかえるってことですね。

719:デフォルトの名無しさん
07/03/23 06:57:58
>>705
ありがとうございました。

720:デフォルトの名無しさん
07/03/24 09:47:32
くだらない質問ですみませんが、
pythonのどこらへんが Monty Python Flying Circus から由来している
みたいなトリビアがあったら教えてください。


721:デフォルトの名無しさん
07/03/24 11:00:09
FAQ嫁
URLリンク(python.rdy.jp) に訳もあるお


722:デフォルトの名無しさん
07/03/24 22:06:10
FAQに書いてある内容が全てなのかな。実はこのパッケージ名/関数名/変数名は
このシリーズに由来してる、とかそういうのあるかなと思ったのですが :-p

URLリンク(python.rdy.jp)

↑ いいサイトだな。ありがと。


723:デフォルトの名無しさん
07/03/24 23:09:48
↓読んで使ってみたけど PyScripter いい感じ。便利だし軽いし。結構使ってる人いるのかな?
URLリンク(python.matrix.jp)

DelphiのIDEも好きなんだけど、操作性がかなり近くていいわー。

724:デフォルトの名無しさん
07/03/25 00:02:29
windowsでcryptモジュールと同様のことがしたいときはどうすればいいのでしょうか?

725:デフォルトの名無しさん
07/03/25 00:09:19
>>724
cygwinを使う

726:デフォルトの名無しさん
07/03/25 00:19:21
>>724
喜べ。perlのソースがあったぞ。
後は移植するだけだな。

鳥屋寝た。: Perlで書き下ろしたDESおよびCRYPT(3)の動作がよくわかるサンプルコード
URLリンク(72.14.235.104)

727:デフォルトの名無しさん
07/03/25 00:20:21
URLリンク(www.amazon.co.jp)

IronPythonの本、表紙画像がでてるな.

728:デフォルトの名無しさん
07/03/25 00:26:32
無駄にかっけえw

729:デフォルトの名無しさん
07/03/25 00:45:06
駄本には駄本なりの表紙。
良本には良本なりの表紙。

730:デフォルトの名無しさん
07/03/25 01:21:06
おっPython

731:デフォルトの名無しさん
07/03/25 01:37:54
>>725-726
ありがとうございます

>>726
が、がんばります・・・!

732:デフォルトの名無しさん
07/03/25 09:33:57
>>722

CheeseShopはMontyPythonのとあるスケッチ由来だね。

URLリンク(cheeseshop.python.org)

733:デフォルトの名無しさん
07/03/25 11:40:28
>>731
ネタはともかく
pycryptoがあればたいがいなんとかなる

734:デフォルトの名無しさん
07/03/25 16:57:34
URLリンク(www.void.in)

これローカルで動かして遊んでみたいけど、どうやって
動かせばいいかわからない orz

735:デフォルトの名無しさん
07/03/25 17:00:53
みんな、IronPythonの何にそんなに期待してるの?
どういうメリットがあんの?

736:734
07/03/25 17:07:58
環境は、WinXP、Python 2.4.4: C:\Python24\python.exe

ImportError: No module named fcntl
  args = ('No module named fcntl',)
というエラーが出てうまくいきませんでした

737:デフォルトの名無しさん
07/03/25 17:15:15
>>736 >>734
URLリンク(www.python.jp)
Unixプラットフォームで利用できます。

というわけでWindowsではムリ。

738:デフォルトの名無しさん
07/03/25 17:15:54
pykfってもう公開してくれないの?

739:デフォルトの名無しさん
07/03/26 08:27:55
PythonでProce55ingみたいな事が出来る方法、拡張とかってありますかね?

セルオートマトンやL-Systemを描画するための描画ライブラリーであったり、
3Dのモーショングラフィックみたいなのを表示するための描画ライブラリーであったり、
動画を読み込んでエフェクトかけて動画ファイルに書き出したりとか。

Javaより動作が遅いのであまり現実的じゃないんでしょうか?

740:デフォルトの名無しさん
07/03/26 11:27:07
Python web development and frameworks in 2007
URLリンク(jesusphreak.infogami.com)

741:デフォルトの名無しさん
07/03/26 22:05:03
>>739
グラフィックス系の処理はできるけど、
グラフィックス系のらくちんなライブラリはProce55ingほどたくさんはないと思うよ。
処理速度的な話なら、PurePythonなライブラリでもない限り問題ない。
pygame系でいろいろあさってみてはどうだろう。
あとはJythonからJava系のライブラリを使うとか。


742:デフォルトの名無しさん
07/03/27 08:32:17
pythonて、有償ソフトに組み込んでも大丈夫なの?
出荷した後で「ソース公開しる!!」とか言われない?

743:デフォルトの名無しさん
07/03/27 09:23:50
Python自体はオッケー。
サードパーティーモジュールのライセンスには気をつける必要あり。

>出荷した後で「ソース公開しる!!」とか言われない?

とはいえ、配布するスクリプトは言われるまでもなく公開状態とほぼ同じになるわけだが。

744:デフォルトの名無しさん
07/03/27 09:48:31
>>734
ありがとう

ということは、標準配布されてるモジュールしか使わないなら問題ないわけか。
スクリプトも、自前で簡易暗号化したファイルを持っておいて、
メモリ上に展開してCから直接Python呼び出すようにすれば
ナマのスクリプトファイル入れなくても大丈夫ってことね

会社で「専用スクリプトつくれ」とか言われたんだけど
仕様を聞くとどう考えても自前で作るよりフリーのスクリプトを
組み込んだ方が高性能かつ速そうなので。

早速オライリー買って来て研究してみまつ。


745:デフォルトの名無しさん
07/03/27 13:58:39
クールからホットへ,2007年のPythonコミュニティ
URLリンク(gihyo.jp)

746:デフォルトの名無しさん
07/03/27 15:36:22
この人、Python歴6年だったのか

747:デフォルトの名無しさん
07/03/27 16:17:52
Zope臭が。

748:デフォルトの名無しさん
07/03/27 18:07:19
ちょっと前にエロゲにpythonが組み込まれてた疑惑がなかったけ

749:デフォルトの名無しさん
07/03/27 18:09:08
それなんてエロゲ?

750:デフォルトの名無しさん
07/03/27 18:12:50
Python歴40年の俺にはかなうまい

751:デフォルトの名無しさん
07/03/27 18:14:13
俺も股間でPythonを飼い出してから30年近くになるぜ

752:デフォルトの名無しさん
07/03/27 18:46:00
>>743 とはいえ、配布するスクリプトは言われるまでもなく公開状態とほぼ同じになるわけだが。

py ファイルではなく pyc ファイルを配布すればいいだろうが。


753:デフォルトの名無しさん
07/03/27 18:59:38
つ dis.disassemble

754:デフォルトの名無しさん
07/03/27 19:42:00
専用スクリプトなんて、どういう場面でどういうメリットがあるんだろう・・・

755:デフォルトの名無しさん
07/03/27 20:03:34
組み込みならLuaのほうが向いてると思うけど。

756:デフォルトの名無しさん
07/03/27 20:33:30
>755

それ、よく聞くけど、何故?
本体が小さいから?


757:デフォルトの名無しさん
07/03/27 21:41:26
>>748-749
まだ覚えていたのかw

中身といえば(当然だが)pycになってる。


758:デフォルトの名無しさん
07/03/27 22:58:35
どうして首がないんだろう。

759:デフォルトの名無しさん
07/03/27 23:30:25
>>752
はりきって配布してくれ(www


760:デフォルトの名無しさん
07/03/27 23:39:29
.pyoじゃねぇの? と重箱

761:デフォルトの名無しさん
07/03/27 23:50:18
ぴょ?

762:デフォルトの名無しさん
07/03/28 02:05:24
リバースエンジニアリングを防ぐ最良の方法は、リバースエンジニアリングしたくなる
ほど凄いものは作らないように気をつけることだよな。

763:デフォルトの名無しさん
07/03/28 03:58:59
まぁ、雇われの身ならリバースエンジニアリングされますたっつーても
給料が下がるわけじゃないだろうが。


764:デフォルトの名無しさん
07/03/28 08:53:46
>>763
雇われてからそういうことを言えよ、な。

765:デフォルトの名無しさん
07/03/28 09:32:36
>>763
そういう態度じゃ一生ニート.

766:デフォルトの名無しさん
07/03/28 09:39:01
一生ニートでいられるなんてうらやましい

767:デフォルトの名無しさん
07/03/28 09:40:45
まあ、享年20何歳とかでも一生は一生だしな

768:デフォルトの名無しさん
07/03/28 10:13:33
殺すなよ(ww

769:デフォルトの名無しさん
07/03/28 11:17:07
そうか俺はニートだったのか。
知らなんだ。気づかせてくれてありがとうw



770:デフォルトの名無しさん
07/03/28 12:11:13
勤め人でも心はニート。

一般的には社内ヒキコモリとか呼ばれるのかな?

771:デフォルトの名無しさん
07/03/28 12:41:47
たとえどんなに稼いでしまっても、ニートの心を忘れずに生きていきたいものですね

772:デフォルトの名無しさん
07/03/28 13:48:33
心がニートで人生楽しいかなあ...??

Pythonで言うとモジュールをインポートしないでコードを書くかんじか(www

773:デフォルトの名無しさん
07/03/28 14:23:48
ちがうよ、コードを書かずにモジュールだけもらう。

774:デフォルトの名無しさん
07/03/28 14:50:19
windowsでマウス操作に関する自動化したいのですが
pythonでもできるのでしょうか?

例えば

パワーポイントの4ページ目の中央にjpg画像を貼る

というようなことができればいいのですが

775:デフォルトの名無しさん
07/03/28 15:07:46
あいあんぱいそん?

776:デフォルトの名無しさん
07/03/28 15:12:49
あいあむぱいそん(゚∀゚)

777:デフォルトの名無しさん
07/03/28 15:15:03
>>774
COMインタフェイス使えるから余裕で可能。

778:デフォルトの名無しさん
07/03/28 15:18:32
>>777
中央からちょっとずらして貼るとかもできるのですか?
だったらロケットマウスから乗り換えます

779:デフォルトの名無しさん
07/03/28 15:19:21
>>773
壮大なプロジェクトを夢想しているけど、
実際は毎日
import this
してるだけ何でしょ

780:デフォルトの名無しさん
07/03/28 15:49:49
from __future__ import VeryBigDream
もしてる

781:デフォルトの名無しさん
07/03/28 16:10:51
>>778
COM インタフェースを使う場合は、マウスを動かすのではなく
PowerPoint を直接制御することになると思われ。

782:デフォルトの名無しさん
07/03/28 16:39:17
毎日from __future__ import bracesして鬱になっている俺が来ましたよ。

783:デフォルトの名無しさん
07/03/28 18:32:26
>>782
マゾ?

784:デフォルトの名無しさん
07/03/28 19:08:57
なんか変わるの?

785:デフォルトの名無しさん
07/03/28 20:42:59
>>780
File "<stdin>", line 1
SyntaxError: future feature VeryBigDream is not defined

まず、VeryBigDreamを定義するところから始めた方がよいらしい

786:デフォルトの名無しさん
07/03/28 21:15:37
>>784
SyntaxError: not a chance

787:デフォルトの名無しさん
07/03/28 22:25:34
>786

RuntimeError: too late



788:デフォルトの名無しさん
07/03/28 22:52:39
おまえら Traceback すら無しか

789:デフォルトの名無しさん
07/03/28 23:55:06
>>771
Pythonで稼いだら寄付しる。

URLリンク(www.python.org)

790:デフォルトの名無しさん
07/03/29 01:46:25
>>778
774じゃないが、可能だと思うぞ。たぶん想像しているもとは違うと思うが。

とりあえず Excel でシンボルに対応する画像を隣のセルに貼り付ける、といったことはやったことがある。
複数シートに数百個分の画像。同じような容量で Word でもできるはず。

python win32com
とかで検索汁

書籍はこっちで
URLリンク(www.amazon.co.jp)

791:デフォルトの名無しさん
07/03/29 04:36:53
5種類以上のクラスを使うような規模ではクラスごとにソースファイルを分割する
方針でやってるんだけど、お前らはどうですか。

でもインスタンシエイトする文が冗長になってくやしいっ


792:デフォルトの名無しさん
07/03/29 04:56:15
なんで冗長になるのよ

793:デフォルトの名無しさん
07/03/29 05:20:36
ああ、hageClass.pyってファイル名なら
from hageClass import hageClass
ってやれば
hage = hageClass()
でいいのか。
今まで
hage = hageClass.hageClass()
と律儀にやってた。

頭沸いてるな、寝るわ。

794:デフォルトの名無しさん
07/03/29 08:00:30
まず早寝早起きから始めようよな。
ビッグドリームを夢見るのはそれからだ。

795:デフォルトの名無しさん
07/03/29 09:03:06
自分ならクラス分割するとき冗長になるような名前付けはせず、
モジュール名込みで初めて意味が通るような名前付けをする。
そうすると修飾が野暮ったく見えなくなって気分がいい。

import 機能名
x = 機能名.具象クラス名()

ie) filedb.Database, bbspost.Dialog

まあ場合にもよるけど、ほとんどの場合はこう命名できる。

796:デフォルトの名無しさん
07/03/29 15:10:53
>>795が正論。逆に言うとこの規則に従うなら「5種類以上のクラスなら分ける」などと
いうことに拘らないほうがいい。

797:デフォルトの名無しさん
07/03/29 18:42:59
仕事じゃJava漬けだから、Pythonでもついファイル名を具象クラス名にしちゃうんだよね……

798:デフォルトの名無しさん
07/03/29 21:32:34
そこでJythonですよ

799:デフォルトの名無しさん
07/03/29 21:51:47
pythonからJavaに戻ると、1ファイル1(public)クラスの制約がうっとーしくてしょうがない。
あれはIDEに頼りたくなる気持ちもわかる。


800:デフォルトの名無しさん
07/03/29 22:22:56
そこで C# ですよw

801:デフォルトの名無しさん
07/03/29 23:43:52
モジュール分割ってガイドラインとか無いよね?
どこでひとつのモジュールに区切っていいのか相当悩む場合がある・・・

802:デフォルトの名無しさん
07/03/30 00:54:50
ガイドライン: 他の奴のことも考えてくれ

Carbon.Xxx うざすぎ。




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