1 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:23:19 ] Pythonオフィシャルサイト www.python.org/ 日本Pythonユーザ会 www.python.jp/Zope/ まとめWiki python.rdy.jp/ 関連スレ find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python 前スレ pc12.2ch.net/test/read.cgi/tech/1240678081/
513 名前:デフォルトの名無しさん [2009/08/22(土) 22:17:56 ] いやぁ,単純に datetime.datetime.now() で得たオブジェクトなら そのまま print しても見やすくフォーマットしてくれるなぁ,と. で,datetime.datetime.now() でも十分な精度でした. テストした環境がVMで,しかもその上で動かしてるLinuxカーネルの タイマ割り込みの周期が1000回/秒だったせいで時計がずれまくってた だけだった. つーわけで俺のかんちguyでした
514 名前:デフォルトの名無しさん [2009/08/22(土) 22:33:33 ] 作ったスクリプトが遅いなぁと上の方法で計測してみたところ, Pythonであれこれimportしているせいか 全ての import が終わるまで10秒くらいかかってます. で,そのあとの処理はさくさくと. bogomips が500を切るNASでやってるのが悪いのですが, import を早く済ませるテクニックとかあるんでしょうか. そりゃ絶対的に必要な時間はしかたないですが・・・ ちゃんと pyc もできてるし,打つ手はないかなぁ
515 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 23:07:16 ] importのコストのうち、pycで削減できるのはコンパイル時間のみ。 10秒もかかるってことは、どれかのモジュールのグローバルに重い処理があるんじゃない?
516 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 00:46:19 ] >>514 ある
517 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 02:47:03 ] >>514 テストした環境がVM?
518 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 11:09:27 ] (´・ω・`) God knows
519 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 02:12:48 ] 質問です。 8時間悩んだバグが単なる変数の再初期化のし忘れでした。 このやりきれない気持ちをどうすればよいですか。
520 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 02:26:18 ] >>519 自動テストを書く。
521 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 02:52:14 ] 再初期化をする必要がないスコープで書く方法を学ぶ
522 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 06:20:03 ] ∧∧ (´・ω・) おやすみ・・・ _| ⊃/(___ / └-(____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄
523 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 08:54:40 ] ∧∧ (´・ω・) おはヨーグルト! _| ⊃/(___ / └-(____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄
524 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 09:28:29 ] >>519 変数名の使い回しなんて最悪だ
525 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 10:30:42 ] おまえら発火損逝った?
526 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 11:27:27 ] はっかそんいった?
527 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 14:20:39 ] 同じモジュールでも、複数のファイルからimportするとその分だけメモリ消費しますか? from hoge import *だとそのファイルの物になって、複数ファイルでfromするとメモリ消費しますか?
528 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 14:29:54 ] >>527 消費しない。 あるモジュールがはじめてimportされるとき、モジュールオブジェクトが作られて、 sys.modulesに保存される。 #a.py print 'hello, I'm a' #b.py print "hello" import a a.foo = 'bar' import c #c.py import a print 'hello, I'm c' print a.foo $python b.py してみて。 次に、 c の import a を、 import sys; a = sys.modules['a'] で置き換えてみて。
529 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 16:32:27 ] 白化村征かなかったのか。駄目だなあ。
530 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 18:11:11 ] 予想してみたけど分りません(>_<) 薄荷無羊駝(シソ科ハッカ属)、咲かなかったのか。 白化村(色素が抜けて全身真っ白の人しかいない伝説の村)、まさか無かったのか。
531 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 18:25:14 ] ハッカービレッジとかそんなのか?知らんけど
532 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 22:23:57 ] GAEあほだろ
533 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 22:46:28 ] 3.1.1で大分マシになったようだが、まだまだ遅いな。 www.gtsystem.eu/blog/2009/08/improved-performance-of-python-31/
534 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 08:52:01 ] >>526 ttp://image.blog.livedoor.jp/insidears/imgs/7/a/7a713e87-s.jpg こんな風だった
535 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:20:32 ] >>534 アンチ自民キモイな。
536 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 15:16:56 ] つまらない質問で悪いんだが、 タプル同士をベクトルみたいに足し算するのはどうやるの? ab = (1, 2) ac = (3, 4) abc = (ab[0]+ac[0], ab[1]+ac[1])
537 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 15:25:34 ] map(sum,zip(ab,ac))
538 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 15:51:31 ] numpy
539 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 15:53:23 ] タプルはベクトルでも行列でもねーぞ
540 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 15:53:48 ] ab = 1 + 2j ac = 3 + 4j abc = ab + ac
541 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 15:57:38 ] >>540
542 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 15:59:04 ] つまらない質問で悪いんだが、 タプルを複素数にするのはどうやるの?
543 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 15:59:25 ] >>536 tuple(ai + bi for ai, bi in zip(a, b)) おまけ:2ノルム math.sqrt(sum(ai * bi for ai, bi in zip(a, b)))
544 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 16:03:02 ] >>542 tup = (1, 2) complex(*tup)
545 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 16:12:47 ] >>542 complex(*ab)+complex(*ac)
546 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 16:13:35 ] >>544 thx! つまらない質問で悪いんだが、 複素数をタプルにするのはどうやるの?
547 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 16:16:44 ] >>546 ((complex(*ab)+complex(*ac)).real, (complex(*ab)+complex(*ac)).imag)
548 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 16:56:39 ] とりあえず吉川と布袋に囲まれたら泣いて謝ると思う
549 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 17:32:01 ] なんのこっちゃわからんが、みんなすごいね
550 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 21:57:23 ] ぬのぶくろは弱いぞ
551 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 05:00:02 ] ヘタれ布袋
552 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 15:14:20 ] パイヤング
553 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 17:20:30 ] matplotlibのbounding box調節関数のサンプルが見つからない
554 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:08:06 ] 文字列 % 辞書 はなんの為に使うんでしょうか? def gettext_noop(string, **kwargs): retval = string if kwargs: retval %= kwargs return retval
555 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:54:29 ] www.python.jp/doc/release/lib/typesseq-strings.html
556 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:55:56 ] sprintfみたいなもんや
557 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 20:02:25 ] マンモスありがとうございます
558 名前:デフォルトの名無しさん [2009/08/26(水) 20:24:36 ] "abc%sdef" % "hoge" みたいなフォーマット文字列の書き方とはもうサヨナラ? 悲しすぎる.
559 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 20:57:35 ] "abc{}def".format("hoge")のほうが読みやすい %sdefとかだと文字とフォーマット表記が混じって読みにくい
560 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 21:06:58 ] 長いこと%sやら%dな変換指定子に慣れてるから 他の書式にされると覚えにくくて困る ええC#のことです
561 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 23:53:37 ] 正規表現も読みにくいな
562 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 01:08:25 ] LINK = "<%(tag)s %(attr)s>%(name)s</%(tag)s>" dict_ = {} dict_["tag"] = "a" dict_["attr"] = 'href="localhost:8080/ "' dict_["name"] = "hack you" LINK % dict_ MENU = "<menu>\n%(item)s</menu>" ITEM = "<li>%(content)s</li>\n" print MENU % {"item" :"".join([ITEM % {"content": LINK % dict_}]*10)}
563 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 01:55:17 ] LINK = "<{tag} {attr}>{name}</{tag}>".format(tag = "a", attr = 'href="localhost:8080/ "', name = "hack you") ITEM = ("<li>{content}</li>\n"*10).format(content = LINK) MENU = "<menu>\n{item}</menu>".format(item = ITEM) print(MENU)
564 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 01:57:03 ] インデントずれた LINK = "<{tag} {attr}>{name}</{tag}>".format(tag = "a", attr = 'href="localhost:8080/ "', name = "hack you") ITEM = ("<li>{content}</li>\n"*10).format(content = LINK) MENU = "<menu>\n{item}</menu>".format(item = ITEM) print(MENU)
565 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 05:37:11 ] LINK = "<{tag} {attr}>{name}</{tag}>".format( {tag: "a", attr: 'href="localhost:8080/ "', name: "hack you"})
566 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 06:19:49 ] ぶっちゃけ、変数展開型言語も色んなテンプレも別に見やすいわけじゃないんだよな。 なんか良い方法あればいいんだけど。
567 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 16:09:07 ] sqlite3でテーブルが作成されてなかったり、 データベースファイルがないのを検出する方法ってありますか?
568 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 18:25:50 ] >>567 > sqlite3でテーブルが作成されてなかったり、 SELECT * FROM sqlite_master; > データベースファイルがないのを検出する方法ってありますか? os.path.exists
569 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 01:00:08 ] 10 Ways To Let People Know You're A Bad Python Programmer ttp://artificialcode.blogspot.com/2009/08/10-ways-to-let-people-know-your-bad.html
570 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 02:06:58 ] 1. Write "God" functions hundred lines of code 2. Never return anything in a function, especially not some type of value that could demonstrate your function succeeded or failed. 3. Never write a test...EVER. 4. Call Perl from Python 5. Screw Control Flow import os if os.path.exists("/tmp"): def myfunc(): x = 4 return x class Foo(object): y = 1 f = Foo() print f.y + myfunc() 6. Abuse conditional logic to the point that you double or even triple an "unmaintainable" Cyclomatic Complexity Score of 50. 7. Use sleep statements like Holy Water. 8. Initiate the same logic more then once, "just to be sure". count = 0 for i in range(5): if os.path.exists("/tmp"): print "bingo" def foo(): print "stuff" if os.path.exists("/tmp"): import sys sys.exit(1) 9. Write Library Code that does a sys.exit(0) on an exception. 10. Reimplement the Python Standard Library in every piece of code you write. Summary If you can do just a couple of these things in every piece of code you write, you are well on your way to writing bad python code! Stay tuned for part II.
571 名前:デフォルトの名無しさん [2009/08/29(土) 05:31:37 ] PyDev 便利に使っているけど、やっぱり餅は餅屋というか、 Eclipse で Java している時のような至れり尽くせり感がないなぁ・・ もっと、こう、至れり尽くせりなPython用IDEって何があるんでしょうか。
572 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 05:35:24 ] eric4
573 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 07:47:42 ] emacs
574 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 08:41:35 ] emacs+rope
575 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 09:16:35 ] emacs+rope+auto-complete+anything
576 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 10:30:38 ] おまえらがEclipseをろくに使ったことがないということはよくわかった
577 名前:デフォルトの名無しさん [2009/08/29(土) 10:39:21 ] ううむ・・ericも含めて、それだったら PyDev でいいや・・・
578 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 13:07:55 ] 実際 Eclipse 使ったことないんだが、至れり尽くせりって具体的にどんなことが出来るのかね?
579 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 13:47:20 ] eclipseを使ったら彼女が出来ました
580 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 13:48:22 ] >>578 ファイルを保存する段階でコンパイルエラーを指摘してくれるのを最初に見たときは感動したな。 Visual Stdio 2008でも同じことが出来るけど。 環境がIronPythonになるが、Visual StudioでPythonのスクリプトを動かすことが出来るよ。
581 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 14:05:37 ] なんだ、ドザか。
582 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 14:07:15 ] w
583 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 15:03:03 ] >>582
584 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 16:06:16 ] >>578 イタレリのキットが抽選で当たります。
585 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 16:29:36 ] 見事に外したな
586 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 21:24:22 ] 並列実行用のモジュールにMultiProcessingというのがあるようなんですが、 メモリ共有型の場合でも対応できるんでしょうか? 例えば大きな行列があって、並列処理で別々の部分を処理したりしたいんですが。。。 threadingでは実際には並列効果がないというのを知ってショックを受けてます・・・
587 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 21:26:11 ] yes you can
588 名前:デフォルトの名無しさん [2009/08/29(土) 22:16:41 ] 【JAVA質問スレより】 940 :デフォルトの名無しさん:2009/08/29(土) 22:08:40 >>937 一番もてるのはperl。 もっとも嫌われるのはpython。 C,C++は、相性とテクニック次第。 なんで?
589 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 22:18:57 ] なんでそいつに聞かないの?
590 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 22:19:07 ] モテる相手がバグだからさ
591 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 22:29:02 ] うまいな
592 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 22:31:09 ] >>586 docs.python.org/library/multiprocessing.html#sharing-state-between-processes 俺は使ったことない。共有メモリマシンでうまく並列効果が出たら是非教えて。
593 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 00:34:25 ] >>588 なんでか知らんが、俺の周りでもpyてょnは変態呼ばわり。
594 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 00:42:05 ] 凡人には使えない言語だ
595 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 00:44:18 ] 言語じゃなくて使ってる人が変態(ry
596 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 00:45:57 ] 変態専用か
597 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 00:48:05 ] 変態じゃないよ 仮に変態だったとしても変態という名の紳士だよ
598 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 09:38:36 ] 俺もうんこ喰うけど別に変態ってわけじゃないな
599 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 10:57:11 ] 凡人は使わない言語だ
600 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 13:28:05 ] またruby厨の荒らしっすか
601 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 13:31:27 ] ruby厨は使わない言語だ
602 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 13:50:15 ] そりゃそうだ
603 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 14:12:06 ] これは良いマイキースレ
604 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 23:27:50 ] >569,570 他はともかく 4. Call Perl from Python これはあり得ないだろ…
605 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 23:44:40 ] 大学の時の教授は os.system 呼びまくりだったから あり得ない話ではない。
606 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 12:29:07 ] > 4. Call Perl from Python いま仕事で使ってるスクリプトがまさにそれだ……
607 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 12:36:15 ] CentOSってPython2.4なんだけど、2.5とか2.6で動かすメリットって大きい? 用途としてはDjangoでWebアプリ
608 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 13:04:28 ] >>607 困ってないなら何もいじる必要ないのでは? 特にスピードが速くなるとかは感じない. でも自分でコード書くなら 2.6 使っておくとよいのではとおもう. 3.x 系は自分としては使いたい拡張モジュールが 対応していないのでNG.標準モジュールだけならありかと.
609 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 13:22:37 ] >>608 サンクス 実行速度とかは特に差が出ないのね Javaなんかだとバージョンあげると明らかにパフォーマンスあがるもので気になっていたので。 モジュールとかはおおむね2.4以降なら動くみたいだしそのままでいくわ
610 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 17:41:42 ] 2.4はkuso
611 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:14:33 ] 理由は?
612 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:30:47 ] ttp://www.shido.info/py/python10.html ttp://ml.zope.jp/pipermail/zope-users/2009-January/006160.html
613 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 00:35:36 ] システムのバージョンを上げるのはトラブルの元 ローカルに入れるのならおk