[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 09/12 00:16 / Filesize : 189 KB / Number-of Response : 952
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part34



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






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<189KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef