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


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

Pythonのお勉強 Part37



1 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:59:28 ]
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/1264924208/

641 名前:628 mailto:sage [2010/04/18(日) 18:03:39 ]
>>639
チュートリアルでなくクックブックの方です。

beebee2see.appspot.com/i/agpiZWViZWUyc2VlchQLEgxJbWFnZUFuZFRleHQYl5NlDA.jpg

p117
beebee2see.appspot.com/i/agpiZWViZWUyc2VlchQLEgxJbWFnZUFuZFRleHQYoONsDA.jpg



642 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 21:10:09 ]
Decimal.quantizeのオプションで指定すれば四捨五入してくれる

643 名前:628 mailto:sage [2010/04/18(日) 22:51:21 ]
>>641
2枚目の写真横向きで撮ればよかった。こういうセンスが足りないんだよなぁ

644 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 22:56:22 ]
は?

645 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 22:59:58 ]
pythonの公式オフ会に参加した奴いる?

646 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 01:54:45 ]
単三電池の方なら参加されたのではないでしょうか

647 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 03:10:40 ]
彼は単二電池を入れることができるまでに成長しました

648 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 15:14:02 ]
質問です
Pythonではglobal変数を関数内では更新できない
らしいことをようやくながらおぼろげに理解しました

複数の関数内にて更新すべきglobal変数を多く抱えている場合
これらの全てにglobal宣言していくしかないのでしょうか?

649 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 15:15:50 ]
うん



650 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 15:23:31 ]
>>649
そすか
こりゃ1から書き直した方が良いのかもしれん…

651 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 15:37:00 ]
module にするだけでも楽になるよ

652 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 16:12:17 ]
そういう場合は自分はまとめてクラスにしてしまう。

けど何か負けたような気がするのも確か。


653 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:14:00 ]
辞書にすればいいんじゃね?
辞書をグローバルに置くと、辞書そのものは変更できないけど
要素は(グローバル宣言しなくても)好き勝手に変更出来る。

654 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:24:03 ]
なんのためのクラスだよ
静的クラス使えばよし

655 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:44:47 ]
静的クラスってなんだよ
monostateパターンのことか?

656 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:49:08 ]
クラス変数と静的メソッドを併用しろってことでhそ

657 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:55:22 ]
で、そのクラス変数をglobalに置いて(ry

658 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:57:05 ]
マジレスすると
globals.py
とかを作ってそこに全部global変数書く

他のコードから使うときは
import globalsして、
全部
globals.foo
でいい
global文要らなくなる

659 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:10:40 ]
今は角電池くらいがちょうどいいです。



660 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:16:07 ]
>>658
正解

661 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:25:21 ]
昔は電池と言っただけでこのスレがあっというまに埋まったのに

662 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:46:19 ]
突拍子もないセンスもないので廃れました

663 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:49:42 ]
ぼるたんの電池おっきいです。

664 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 00:12:00 ]
ぼるたん?

665 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 00:17:13 ]
>>658
別ファイルに隔離することも目的の一つならいいんだけど、そうでないなら
globals()['foo']
でよくね?

666 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 00:33:45 ]
>>665
毎回そんな風にタイプしたくないべ

667 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 01:03:14 ]
>>666
g = globals()
g['foo'] = 'foooo'
print foo
# ==> foooo

668 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 02:03:10 ]
>>658
pylonsのg.(グローバル変数),h.(ヘルパー関数),c.(コンテキスト)みたいな使い方だろ。
こんな感じだったっけ。

globals.py:
class Globals: a = 1
g = Globals()


app.py:
from globals import g

g.b = 2

def hoge():
    print g.a, g.b
    g.c = g.a + g.b
    g.a = 4

hoge()
print g.a, g.b, g.c

グローバル変数を余所で書き換えたり、定義するのはアレだが例なので。
実際のg.はグローバル定数として使って、リクエスト毎にc.(コンテキスト)を処理していく感じ。

669 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 10:48:27 ]
XMLを処理するには何がお勧めでしょうか? 色々と選択肢があって
迷います。 使い方としてはデータモデルを定義したXML(たぶんW3C XML Schema)を
読み込み、そのツリーを辿りながらテンプレートエンジンCheetahを使って
コード生成するという考えでいます。

選択肢としてはlxmlとElementTreeがあるように思えますが、他にもありますでしょうか? 
使っているのはPython 2.4なのですが、ElementTreeは2.5で標準装備になったという事で、
これがベストだと判断されたという事でしょうか?



670 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 11:01:50 ]
せやで!

671 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 11:24:00 ]
ElementTree は小さすぎるので、自分は全部 lxml だけれど、
ElementTree で処理がすむならそれでいいと思う。
速度や機能が不足したら lxml を入れれば、移行は大して
手間がかからないし。


672 名前:669 mailto:sage [2010/04/20(火) 11:33:08 ]
>>671
なるほど。 ということはElementTreeはlxmlのサブセットという理解で
いいのですね。 

673 名前:669 mailto:sage [2010/04/20(火) 11:53:32 ]
>>671
ちなみにRPMパッケージでもないかなと探し始めたらlibxml2ライブラリに付属するPython
バインディングでlibxml2-pythonというパッケージがインスコされている事に気づきました。

これはあまり主流ではないのでしょうか? 

674 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 12:41:25 ]
yaml使えや

675 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 15:43:32 ]
Yaml知りませんでした。 参考にさせていただきます。

676 名前:デフォルトの名無しさん [2010/04/20(火) 16:08:02 ]
>>669
amara Gnosis_Util

Cheetahは今時ありえない。spitfireなりchameleon.genshiなり使ったほうがいいかと

677 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 16:48:54 ]
>>676
>amara
っげ、また選択肢が(汗)

> Gnosis_Util
あの、ググったら3ヒットだったんですがw これ全部ネタじゃないでしょうね?

>Cheetahは今時ありえない。spitfireなりchameleon.genshiなり使ったほうがいいかと

そうだったんですか! いや、それぞれのサイトを見てると流行り廃りの実感は良く分かりませんね.
Cheetahは今でもある程度頻繁にアップデートされているので廃っているとは感じませんでした。
テンプレートの文法のコンパクトさが気に入ってたのですが。

薦められた他のも検討してみます。

678 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 17:21:51 ]
日本語のみ検索でググるとは言わんだろ

679 名前:677 mailto:sage [2010/04/20(火) 17:44:41 ]
>>677
あ、Gnosis-utilsで沢山ヒットしましたw。 英語環境でwww.google.comで
ググってますがgnosis_utilは本当に3ヒット。 



680 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 17:54:05 ]
アンダーバーの意味はモジュール名だろ
というかそれをスペースで区切って検索するのが普通だろ

681 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 18:36:06 ]
648です。一応事後報告だけ
モジュールでどうにかしようとするもダメ
リストや辞書なら行けそうとあたりを付けたがダメ
モジュールに辞書置いてどうにか動きましたとさ

もっと早くここに戻ってれば良かったorz
参考意見を見ながらもうちょっと色々試してみます
どもでした

682 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 18:49:25 ]
>>681
クラス使えって散々いわれてるだろ。

class Foo: pass
Foo.bar = 1
Foo.baz = 2

これなら用途ごとに分けられるし、スタティックメソッドで処理書けたりと便利。

683 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 23:25:46 ]
過去のスレも見てればわかるが
時期によっては変なレスつける奴が多い
グローバル変数にglobalsだとか辞書だとかなんて初めて聞いたわ

684 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 23:30:10 ]
誰にでも初めてはあるさ
少しずつ成長していこう

685 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 23:42:37 ]
>>683
class使えってのはもう出てたから、別のを出したまでだ。

686 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 01:49:38 ]
There's more than one way to do it!


687 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 06:51:25 ]
more than one way ということは 1 つとは限らないから
There's じゃなくて There are じゃないのかな

688 名前:669 mailto:sage [2010/04/21(水) 08:31:56 ]
>>676
結論としてはお勧め頂いたパッケージはどれも2年ほどアップデートがされておらず、
半死亡状態と判断しました。 今のところドキュメントも整っており、最近もリリースが
行われているlxml+Cheetahで行こうと思います.

689 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 09:52:30 ]
過去のスレ読んでない奴は初心者スレ行けってことですね



690 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 20:54:04 ]
>>687
ttp://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_do_it

691 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 21:05:54 ]
There's なのは知ってるんだけど
文法上なんでそうなるのってことだろう

>>687
q.hatena.ne.jp/1183288572
www.biseisha.co.jp/lab/lab1/24.html

692 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 21:08:21 ]
不可算名詞じゃね?

693 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:47:36 ]
one way って数えてるんですけど

694 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:49:53 ]
one wayは色んな道って意味だろ
まさかoneを1と解釈してる訳じゃないだろうな?

695 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:50:44 ]
en.wikipedia.org/wiki/There's_more_than_one_way_to_do_it


696 名前:695 mailto:sage [2010/04/21(水) 22:51:57 ]
すまん、既出だったな

697 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:57:44 ]
>>691
勉強になりました
ありがとうございました

698 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 23:01:26 ]
academy6.2ch.net/english/

699 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:06:43 ]
組込言語として使う場合なんだけど、
C++のクラスとかをPython側
に公開するのに
オススメなバインダーとかありますか?



700 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:36:05 ]
ctypes
swig
cython

701 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:47:43 ]
>>699
boost.python

702 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:49:11 ]
ExtensionじゃなくてEmbeddingだよね
boost.pythonがいいんじゃないの
ttp://wiki.python.org/moin/boost.python/EmbeddingPython


703 名前:702 mailto:sage [2010/04/24(土) 10:50:06 ]
かぶった

704 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 12:26:44 ]
>>700-702
さんくす
boost.pythonすごいですね これ使ってみます

705 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 12:58:17 ]
みんなのPythonのWebアプリ編って2.6でも大丈夫でしょうか?


706 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 14:17:44 ]
ok

707 名前:デフォルトの名無しさん [2010/04/24(土) 22:50:02 ]
www.python.org/dev/peps/pep-3146/
これCPythonが大量にメモリーを食うようになるということ?

708 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 22:52:25 ]
今時メモリ使用量を気にするようなやつはクソか鯖缶のヘタレ野郎だけだ。

709 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 22:58:19 ]
なるほど、おれがメモリ使用量を気にする理由がわかった



710 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 23:28:08 ]
バイナリでかすぎだろ>>Unladen Swallow

711 名前:デフォルトの名無しさん [2010/04/24(土) 23:34:26 ]
>>710
LLVMがでかいんじゃないの?

712 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 00:25:42 ]
>>711
そうらしいけどpy2exeとかで配布しにくくなるなあ

713 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 00:29:02 ]
今時ファイル容量を気にするような

714 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 11:00:55 ]
なんか実行速度が1.N倍程度のオーダーなのに
バイナリが10倍オーダー、起動時間も遅くなるってシロモノに見えるのは
気のせいか

715 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 12:01:47 ]
ベイジアンフィルタが酷いことになってるなww

将来性はあるのかもしれないが、少なくとも現状では入れる価値があるようには見えない。

716 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 12:28:50 ]
PyPyの方が速いね
speed.pypy.org/overview/






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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