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/
2 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:26:33 ] ┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
3 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:26:46 ] 乙
4 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:33:07 ] 32bit整数の範囲で nとn^2+2がともに素数となるnを求めてください 素数テーブル ビッグエンディアン ttp://www.opendogs.org/pub/pn_be.dat.gz リトルエンディアン ttp://www.opendogs.org/pub/pn_le.dat.gz
5 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 23:05:03 ] 宿題は自分で
6 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 00:03:27 ] 宿題スレって他所だったような
7 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 09:39:49 ] しかも既出だった気がする
8 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:45:36 ] >>1 乙.py
9 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:47:51 ] SpringのパワーをPythonへ−SpringPython 1.0登場〔07/03〕 pc11.2ch.net/test/read.cgi/pcnews/1246584319/ 1 (^o^)ノ<進めーψ ★ [] Date:2009/07/03(金) 10:25:19 ID:??? Be:90679695-2BP(1200) 1日(米国時間)、Spring Pythonの最新安定版にして初のメジャーリリースとなるSpring Python 1.0.0 GAが 発表された。Spring PythonはSpring Frameworkで実装されたコンセプトをPythonで実現するというもの。 Javaで開発されているSpring Frameworkの機能やフレームワークをPythonに提供する。 すでにオーバービューやコンセプト、実装内容などをまとめた参照ドキュメントがSpring Python - Reference Documentationとして公開されているほか、開発に使えるAPIマニュアルがPython: package springpythonにおいて公開されている。 PythonはGoogle App Engineの対応言語として最初に対応されるなど、活躍の場を広げている。 Spring Pythonを使うことでIoCやアスペクト指向プログラミング、トランザクション管理などが可能に なる。またデータアクセス機能の強化やセキュリティの強化、リモート操作の強化なども実現されると 説明されている。 journal.mycom.co.jp/news/2009/07/03/007/images/001.jpg journal.mycom.co.jp/news/2009/07/03/007/index.html
10 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 20:05:03 ] >>1 Z
11 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 03:43:09 ] おい!前スレで初めて1000とっちゃった... しかしあんなレスでとるなんて...なんかごめん...
12 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 03:47:39 ] いやらしいお茶目言語Python
13 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 03:58:02 ] 前スレにあった_mssqlを使ってみたんだけど、これ簡単でいいなぁ。 ADO.NETでも、自分ユーティリティでmyDataSet as DataSet=mySQLLib.GetDS(クエリー文字列) とか1行で取れるようにはしているけど。 こういう、実務的?なもののお勉強をもっとしたいものですわ。 Windows2003のイベントログとか、タスクスケジューラとかをPythonで扱えるのか見てみようかな。
14 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 06:07:52 ] >>13 それはIronPythonなのですか?
15 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 12:28:45 ] Windows専用になるなら、IronPythonでも普通のPythonでも良い気がするよ。
16 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:06:07 ] >>15 なるほど。 .NETが関係してるものと勘違いしてました。
17 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:58:49 ] 微妙にスレ違いすまんが wscript/cscriptでイベントログ読むと ログが頻繁に出力されるときは 取りこぼしが発生するんだよな EventLogAPI叩けば大丈夫らしいんだけど Pythonはどうなってるのかな
18 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 21:31:02 ] >>17 それはMSDNのフォーラムで聞くべき内容だな。
19 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 22:43:36 ] 女子も中学生も使う みんなのPython
20 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 22:51:23 ] www.python.com
21 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 23:14:07 ] アッー!な人たちも忘れないで。。。
22 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 03:54:43 ] そういえば、日本のPythonコミュニティをどうこうするとか息巻いて玉砕してた人たちがいたよな 元気にしてるのかな?
23 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 03:58:56 ] ついでだから教えて欲しいんですが日本のPythonサイトにはど うして/Zope/がくっついてるのでしょうか?
24 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 08:25:52 ] クスクス。
25 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 09:06:47 ] 今見てみたけど、内容が古いなぁ>python.jp
26 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 23:18:15 ] >>22 どんなことがあったの?
27 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 23:23:43 ] ところで、みんなのPythonっての、ここでの評判はどうなの? 回りにPythonはじめるのにいい本ないかって聞かれて、本屋にあったしアマゾンでも前の版は結構評判いいみたいなんでその名前出しておいたんだけど。 その後責任感じて自分でもちゃんと目を通してみたら、なんだかなぁって感じ。 細かい間違いやページ稼ぎの埋め草かと思えるような部分結構多いよね。
28 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 23:27:58 ] もう飽きたよ
29 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 23:28:53 ] >>27 前スレで散々間違いとか指摘されてたはず
30 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 23:46:35 ] そうなんだ。すまん。 やっぱここの評判は良くないんだ。 ひとにすすめる(ってほどじゃないけど)前にここ見ればよかった。 アマゾンのレビューって結構あてにならないよね。
31 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:18:32 ] かといってそんなこと聞いてくるような奴に、初めてのPythonやチュートリアル勧めるわけにもいかないし 入門としてはあのくらいでしょうがないんじゃないかなぁ
32 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:26:51 ] 女子も中学生も使う みんなのPython
33 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:39:41 ] >>27 恥ぱいより100倍マシだから安心していいよ 不満なら自分で書いてみれば?
34 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:40:38 ] >>31 最近は代替になりそうなのが他にあるんだけどね 既に使ってる人はわざわざ初心者本を読まないので お勧めされるまでは至らない状況
35 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:51:33 ] >>34 >最近は代替になりそうなのが他にあるんだけどね たとえば?
36 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:52:04 ] 恥じらいのぱいそん、 もしくは 恥じらいのおっぱい、 か。
37 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:55:19 ] >>35 AmazonでPythonで検索して出てくるようなやつ どれもこれもダメっていうのなら話は別だけど
38 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:56:01 ] そういえば python.jp/Zope/ なサイトには 恥ぱいも みんぱいも 載ってるんだよなぁ
39 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:57:11 ] >>37 みんなのPython改訂版というのが先頭に来ましたです。
40 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:58:08 ] きっと3つめを勧めたいんだろうな 2つめは初めての〜だしw
41 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:59:01 ] >>40 そうなの。クスクス。
42 名前:デフォルトの名無しさん [2009/07/09(木) 01:21:08 ] 推奨スレ pc12.2ch.net/test/read.cgi/tech/1244882261/
43 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 01:24:29 ] >>40 三番目はないわ(wwwwwwwwWwwWwwwWwwwwWWwww 勧めるの著者くらいだろ(wwWwWWwwwwwwWWWwwWwWwWWW
44 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 02:16:08 ] いきなりPython クックブック、というのはどうだろう。
45 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 02:39:10 ] ないわー
46 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 02:56:18 ] でも、みんPyとかはじPyとか読んでいて「こまけぇことは(ry」となる人には 良いと思われる>いきなりクックブック
47 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 08:59:32 ] クックブックはありだろ。ネットで読めるし。 三番目は、絶対ない(W
48 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 09:25:39 ] 初めてのPythonって評判悪いのか。 勉強用に読んだけどそんなに悪いとは思わなかったけどなあ。 10日で覚えるとかはちょっと。。
49 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 09:34:15 ] www.amazon.com/Beginning-Python-Novice-Professional/dp/159059519X/ これ読んだ人いる?
50 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 09:35:12 ] 鈍器としては最高の出来>初めての 10日で覚える〜は鈍器としてすらありえない。
51 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 09:44:21 ] >>48 はじめてのPython と初めてのPython は別のもの
52 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 09:44:46 ] The Quick Python Book 第2版待ち
53 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:10:37 ] 「Whats3onLP さらに新しいバージョンのPythonについて 」 ttp://python.is-a-geek.org/wiki/index.cgi?Whats3onLP を読みたいんだけど、Wikiが改竄されている。(´・ω・`)
54 名前:デフォルトの名無しさん [2009/07/09(木) 16:53:53 ] Christian Tismerがpsycoプロジェクトを復活させるらしい
55 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:21:40 ] Psyco x64を切に希望します
56 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:28:32 ] PyPyまだー?
57 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 19:14:44 ] はじめてのPyPy
58 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 20:38:15 ] PyPyクックブック
59 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 20:53:05 ] PyPy待てど暮らせど
60 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 21:06:37 ] ゙'. ,ト `i、 `i、 .、″ | .,.:/"" ゙‐,. ` / ` .,-''ヽ"` ヽ,,,、 ! 、,、‐'゙l‐、 .丿 : ':、 、/ヽヽ‐ヽ、;,,,,,,,,,-.ッ:''` .,"-、 ,r"ツぃ丶 `````` ../ `i、 ,.イ:、ヽ/ー`-、-ヽヽヽ、−´ .l゙`-、 _,,l゙-:ヽ,;、、 、、丶 ゙i、,,、 ,<_ l_ヽ冫`'`-、;,,,、、、、.............,,,,、.-`": │ `i、 、、::|、、、ヽ,、、. ```: : : ``` 、.、'` .|丶、 .l","ヽ、,"、,"'、ぃ、、,、、、、.、、、.、、、_、.,,.ヽ´ l゙ ゙).._ ,、':゙l:、、`:ヽ、`:、 : `"```¬——'''"`゙^` : ..、丶 .l゙ `ヽ ,i´.、ヽ".、".、"'ヽヽ;,:、........、 、、...,,,、−‘` 、‐ |゙゙:‐, ,.-l,i´.、".`ヽ,,,.".` `゙゙'"`'-ー"``"``r-ー`'": _.‐′ 丿 ,! j".、'ヽ,".、".、"`''`ー、._、、、 、._,、..-‐:'''′ .、,:" 丿 ゙l,"`"`''ヽヽ"`"` ```゙'''"ヽ∠、、、、ぃ-`''''": ` 、._./` ._/` `'i`ヽヽヽ`''ーi、、、: : 、.,-‐'` 、/` ``ヽン'`"` : `~``—ヽ::,,,,,,,,,,.....................,,,,.ー'``^ ,、‐'"` `"'゙—-、,,,,..、、 : ..,、ー'"'` : `‘"`—---------‐ヽ``"''''''""
61 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 22:44:25 ] PyPyワロスワロス
62 名前:デフォルトの名無しさん [2009/07/10(金) 03:26:27 ] m = re.match("(.*?) = (.*?)",text) foo[m.group(1)] = m.group(2) これを m を介さずに一行で書くにはどうすれば良いですか?
63 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 03:31:12 ] (lambda m: foo.__setitem__(m.group(1), m.group(2)))(re.match("(.*?) = (.*?)",text))
64 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 03:32:19 ] foo.__setitem__(*re.match("(.*?) = (.*)", text).groups()) 難読化して何が楽しいんだか
65 名前:デフォルトの名無しさん [2009/07/10(金) 03:37:35 ] foo[m.group(2)] = m.group(1) だったときでも使える?
66 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 03:38:58 ] そんなの関係ねぇし
67 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 03:44:26 ] s = re.match("(.*?) = (.*?)",text); foo[s.group(1)] = s.group(2)
68 名前:62 mailto:sage [2009/07/10(金) 05:36:03 ] きれい書く方法ないんですね。あきらめます。
69 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 09:14:40 ] そもそも m が None (ぬるぽ) のときはどうするつもりなんだ exception 書くと結局数行付け足す羽目になるぜ
70 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 10:26:05 ] まぁ、質問の答えとしては、だいたいそもそもの構造自体が悪いってことはあるね。 質問に正確に答えるなら、その方法を答えるのが正解だけど。
71 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 11:45:17 ] そういえば昔のスレが荒れる基本パターンに デザインパターンがあったけど、こんな記事があるみたいです: Design Patterns in Real Python Projects by Michael Schneider pymag.phparch.com/c/issue/view/87
72 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 23:33:21 ] >>71 ふむ・・・名前からしてドイツ人?
73 名前:デフォルトの名無しさん [2009/07/11(土) 01:28:38 ] >>71 も大切だけど、 Pythonのバイブルを読むべきだと思いますよ。 www.amazon.co.jp/dp/4839922829
74 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 01:33:51 ] まずチュートリアルだべ
75 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 01:42:23 ] >>73 宣伝乙
76 名前:75 [2009/07/11(土) 01:43:58 ] >>73 明日書店行って立ち見してくるわ
77 名前:デフォルトの名無しさん mailto:75 [2009/07/11(土) 03:29:09 ] 見るだけな。絶対買わない。
78 名前:デフォルトの名無しさん [2009/07/11(土) 04:10:38 ] うちに余ってるからあげようか?
79 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 21:19:42 ] PythonTシャツを試作してみてるんだけど、 買うとしたらどのくらいの人間が買う?ということが気になっている。
80 名前:デフォルトの名無しさん [2009/07/11(土) 21:30:33 ] t-shirts.cafepress.com/item/wxpython-grey-tshirt/6587976
81 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 21:39:38 ] www.python.org/community/merchandise/
82 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 07:41:09 ] 標準出力を変数に代入することは出来ますか? 変数に代入するときは標準出力に吐き出されず、 以降は print などで普通に出力される動作を期待しています。
83 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 08:09:59 ] できますよ
84 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 09:31:52 ] どうすればできるでしょうか?
85 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 09:59:08 ] 回答まだでしょうか?
86 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 13:26:10 ] from cStringIO import StringIO stdout = sys.stdout sys.stdout = StringIO() print "test" test = sys.stdout.getvalue() sys.stdout.close() sys.stdout = stdout これで、できました。失礼します。 あと、>>85 は自分ではありません。
87 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 11:27:36 ] >かなり厳しいstrictな規格 strictって”厳しい”って意味ですよね 意味が重複してますよね
88 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 12:56:10 ] 人に使わせるプログラムをPythonで書いて,とりあえずコンソールプログラムとしては完成したので, 今度はそれをEasyGuiでGUI化しようとしてるんだけど,コンソール(コマンドプロンプト)ウィンドウが 邪魔くさいので非表示にしたいんです。 ググってもわからなかったので,どうすればいいのかエラい人教えてください。 環境はWindows XPでPython 2.6.2動かしてます。 起動は.pyファイルをダブルクリックするようにしてるので,コマンドプロンプトを開いて 起動しているわけではありません。
89 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 13:03:27 ] >>88 拡張子を .pyw にする。 もしくは ctypes で FreeConsole() を呼ぶ。
90 名前:88 mailto:sage [2009/07/13(月) 13:10:58 ] >>89 > 拡張子を .pyw にする。 うわー,そんなんでよかったのか! > もしくは ctypes で FreeConsole() を呼ぶ。 こっちも調べてみます。 速攻レスサンクス。
91 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 17:38:58 ] 俺も知らんかった、.pywってそういう意味だったのか・・・
92 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 17:40:26 ] でも.pywはpythonw.exeに関連付けされてるだけだよ
93 名前:88 mailto:sage [2009/07/13(月) 18:50:03 ] うん。後から気がついた。
94 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 22:29:01 ] tyowww
95 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 16:26:04 ] import hashlib とすると、 >>> import hashlib Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.5/hashlib.py", line 133, in <module> md5 = __get_builtin_constructor('md5') File "/usr/lib/python2.5/hashlib.py", line 60, in __get_builtin_constructor import _md5 ImportError: No module named _md5 と怒られます。解決策を教えてください。 cygwinでpython2.5.2です。
96 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 17:03:41 ] >>95 エラーを再現できない。 /usr/lib/python2.5/lib-dynload/_hashlib.dll があるかどうか確かめてくれ。
97 名前:95 mailto:sage [2009/07/14(火) 17:15:55 ] >>96 お返事ありがとうございます。 存在します。
98 名前:95 mailto:sage [2009/07/14(火) 17:23:09 ] code.krypto.org/python/hashlib/hashlib-20081119.tar.gz から、hashlibのソースコードを持ってきてビルドしようとすると $ python setup.py build running build running build_py running build_ext building '_sha' extension gcc -shared -Wl,--enable-auto-image-base build/temp.cygwin-1.5.25-i686-2.5/Modul es/shamodule.o -L. -lpython2.5 -o build/lib.cygwin-1.5.25-i686-2.5/_sha.dll /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lpython2.5 collect2: ld returned 1 exit status error: command 'gcc' failed with exit status 1 というエラーでできないのですが、関係ありますか?
99 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 17:25:01 ] wget code.krypto.org/python/hashlib/hashlib-20081119.tar.gz setup.pyを編集 # 113 # The _hashlib module wraps optimized implementations # 114 # of hash functions from the OpenSSL library. # 115 exts.append( Extension('_hashlib', ['_hashopenssl.c'], # 116 include_dirs = [ ssl_inc_dir ], # 117 library_dirs = [ os.path.dirname(ssl_lib) ], # 118 libraries = osNameLibsMap[os.name]) ) # 119 exts.append( Extension('_sha', ['shamodule.c']) ) # 120 exts.append( Extension('_md5', # 121 sources = ['md5module.c', 'md5.c'], # 122 depends = ['md5.h']) ) inforno.net/articles/2009/01/25/using-any-version-of-python-on-xrea-servers-part2
100 名前:デフォルトの名無しさん [2009/07/15(水) 13:32:46 ] cpythonで作ったメインのプログラムからJythonで作ったモジュールを呼び出すことは可能ですか?
101 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:38:57 ] Unladen Swallowの更新が来たな
102 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 17:56:39 ] Neatxって凄い名前だな・・・
103 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 16:09:59 ] psyco v2の最初のリリースがきた codespeak.net/pipermail/pypy-dev/2009q3/005288.html
104 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:07:58 ] Psyco is not supporting 64 bit, yet. But it is well being considered. 期待して良いのか?
105 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:29:42 ] yahooの知恵袋っていつから珍回答で質問者をからかう場所になってんだ
106 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:31:34 ] なんでいきなりそんな話が出てくるの?
107 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:21:29 ] うー!2chには誤爆という文化があるのですよ!はうぅー!
108 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:19:57 ] ↑これ、書き込んでんの30過ぎのおっさんだよ
109 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 15:05:03 ] ようつべでモンティパイソン見たら、結構酷いネタ多いなw
110 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:19:48 ] >>108 40過ぎだよ。
111 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:35:32 ] しかし、心はヤング
112 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 01:48:56 ] 40過ぎてもせんずりしますか
113 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 03:15:30 ] はうぅー!Python 3.1で遊ぶのですぅ!うーうー!
114 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 15:41:25 ] >>112 俺らにゃpython.comがある
115 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:50:13 ] VPythonってなんかすごいですお 俺のようなVTKとかインストールすら出来ずに挫折した人にはナイスであります。
116 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:58:00 ] ビタミンのVか
117 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 03:21:32 ] D:にインスコすると死ねる
118 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:51:15 ] なんだか頭の悪そうな書き込みが豊満してますね
119 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:52:57 ] いつものruby厨が荒らしてるんだろう
120 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:48:56 ] VPythonマジ強力っていうか馬鹿な俺でも使えるのでした。 ローレンツアトラクタを書かせたら、20行くらいでくるくる回って感動ww
121 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:16:11 ] データが文字列であることを確認するには isinstance(obj, (str, unicode)) # 2.x isinstance(obj, (str, bytes)) # 3.x となりますが、ひとつのファイルで2と3の両方をサポートしたい場合はどうかけばいいでしょうか。
122 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:24:20 ] 前スレより転載 >docs.python.org/3.0/whatsnew/3.0.html >>It is not recommended to try to write source code that runs unchanged under both Python 2.6 and 3.0; sys.version_infoを見れば一応はできる
123 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:27:48 ] 両方をサポートしたいなんて考えをやめるべきだ!
124 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:56:56 ] >>123 え、なんでだめなんですか?
125 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:03:36 ] docs.python.org/3.1/whatsnew/3.0.html#porting-to-python-3-0 ドキュメントにはこう書いてあるけど、 書けないことはないから、やってみれば
126 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 23:07:45 ] っ basestring
127 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 01:09:26 ] NameError: name 'basestring' is not defined
128 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 11:20:51 ] >>> basestring <type 'basestring'>
129 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 14:36:46 ] The builtin basestring abstract type was removed.
130 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 14:39:35 ] > sys.version_infoを見れば一応はできる
131 名前:初めてのPy [2009/07/21(火) 23:06:41 ] importで2回目の実行からエラーがでるんですが コンパイルの設定とかあるんでしょうか UnicodeDecodeError: 'utf8' codec can't decode byte 0x83 in position 24: unexpected code byte Eclipse Classic (SDK) 3.4.2 (clean) python-3.0.1
132 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 00:29:08 ] こーど
133 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 01:09:59 ] VPython、いまいち分かりにくかったけど、 ・XY平面のグリッドをcurveで書く ・Zを上にするよう、scene.up=(0,0,1)を指定 ・X,Y,Z軸をcurveで書く ・物体の影をXY平面に書く したらすごく分かりやすくなった!
134 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 01:17:51 ] UnicodeDecodeErrorって3になってからでもでるの?
135 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 01:19:17 ] >>133 GJ!! kwsk
136 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 01:21:23 ] >>134 そりゃ、Shift-JISで書かれたファイルをencode='utf-8'とかを指定して 読み込もうとしたらDecodeErrorになるよ。
137 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 01:35:27 ] >>134 b'\x82\xa0'.decode("ascii") とかでも UnicodeDecodeError
138 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 01:56:25 ] b'\x82\xa0'.decode("cp932")
139 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 02:49:31 ] >>135 おk、事務所に置いて来たので、10時頃まで待ってください。
140 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 11:11:02 ] まず、sceneを作るところ。 import math #==============Set up scene=============== scene.title='Lorenz Attractor' axr=50 #Max Range of Axis scene.width = 800 scene.height = 800 scene.center = (0, 0, 0) #center, where camera looks always. scene.forward = (-axr, axr, -axr) #where camera views at initial. scene.up = (0,0,1) #z is up. scene.range = axr*1.25 # zoom out a little, to get all axis in sight #draw x-y plane grid for i in range(-axr, axr+1, axr/20): curve(pos=[(i, -axr,0),(i,axr,0)],color = (0.3,0.3,0.4)) #parallel to Y curve(pos=[(axr, i,0),(-axr,i,0)],color = (0.3,0.4,0.3)) #parallel to X #axis (x,y,z), and small arrow xaxis = curve(pos=[(-axr,0,0), (axr,0,0)], color=color.red) curve(pos=[(axr,0,0), (axr*0.95,axr*0.05,0)], color=color.red) curve(pos=[(axr,0,0), (axr*0.95,-axr*0.05,0)], color=color.red) yaxis = curve(pos=[(0,-axr,0), (0,axr,0)], color=color.green) curve(pos=[(0,axr,0), (-axr*0.05,axr*0.95,0)], color=color.green) curve(pos=[(0,axr,0), (axr*0.05,axr*0.95,0)], color=color.green) zaxis = curve(pos=[(0,0,-axr), (0,0,axr)], color=color.yellow) curve(pos=[(0,0,axr), (-axr*0.05,0,axr*0.95)], color=color.yellow) curve(pos=[(0,0,axr), (axr*0.05,0,axr*0.95)], color=color.yellow) xlabel = label(pos=(axr,axr/10,0), box=0, opacity=0.25, text = 'x') ylabel = label(pos=(-axr/10,axr,0),box=0, opacity=0.25, text = 'y') zlabel = label(pos=(-axr/10,0,axr),box=0, opacity=0.25, text = 'z') #===========end setting up scene============
141 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 11:14:42 ] あ。貼り付けるとスペースは消えちゃうのか。forの次はindentしてください。 sceneの中心が原点、xy平面を見下ろし、z軸が上向き、ちょっとズームアウト。 軸のレンジ÷20で、XY平面にグリッドを書く。 X軸、ちょこっと矢印、Y軸、ちょこっと矢印、Z軸、ちょこっと矢印、「X」とかラベル付け。
142 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 11:17:32 ] #=====Objects to show===== ball = sphere(pos=(0,0,0), radius=1, color=color.red, opacity=0.8) shadow = cylinder(pos=(0,0,0), axis=(0,0,1), radius = 1, color=color.white, opacity=0.2) trail = curve() x, y, z = 0.1, 0,0 count = 0 pointslist = [] while(count < 10000): #animation maximum rate per second rate(1000) # do the lorenz attractor dx = 10.0 * (y - x) dy = x * (28.0 - z) - y dz = x * y - (2.666666 * z) x = x + dx * 0.005 y = y + dy * 0.005 z = z + dz * 0.005 pointslist.append((x, y, z)) #do not "print" every time. it can be very slow. if math.fmod(count,500)==0: print count, x,y,z ball.pos = (x,y,z) shadow.pos = (x, y, 0) #shadow is drawn to X-Y plane trail.append(pos=ball.pos, retain=100) # last some points count = count + 1 points(pos=pointslist, size = 2, color=(1,0.5,0))
143 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 11:24:51 ] ボールを用意、陰(円盤)を用意、しっぽを用意。 ローレンツアトラクタを10000回計算。 結果の座標をListに足し、ボールと影と尻尾の座標をセット。 終わったらpointsで軌跡を描画です。 up2.viploader.net/pic3/src/vl2_161237.png 実行するとボールがくるくる動いた後、こうなります。
144 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 12:12:02 ] >>133 tt
145 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 12:17:16 ] これはおもろいすなぁ。 up2.viploader.net/pic3/src/vl2_161264.png こんなブキミな物体(Torus Knot)も簡単に書ける。描画部分を下のように変えます。 pointslist = [] A = 3.0 B = 8.0 drawcount = 1000 for i in range(drawcount): theta = 2 * math.pi * i * A / drawcount x = ( 2 + math.cos(B*theta/A))*math.cos(theta) * 20 y = ( 2 + math.cos(B*theta/A))*math.sin(theta) * 20 z = math.sin(B*theta/A) * 20 pointslist.append((x, y, z)) for i, p in enumerate(pointslist): c_hsv=(i/float(drawcount),1,1) sphere(pos=p, radius=6, color=color.hsv_to_rgb(c_hsv), opacity=0.7)
146 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 12:25:42 ] フレンチクルーラーを思い出した
147 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 12:36:30 ] >>146 あれはさっくりして美味しいですよな。 up2.viploader.net/pic3/src/vl2_161267.png (A,B)=(9,19)にしたら全然違うものが出来てしまったよorz
148 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 13:41:37 ] up2.viploader.net/pic3/src/vl2_161279.png sphereで、opacity=0.12、material=material.emissive、追加でlocal_light(pos=p,color=color.white) としたら結構綺麗なのが出来ました。こんなんが数行で書けるんだから時代の 進歩というのはすごいものでありますなぁ… さて次はNumpyで遊んだ結果をVPythonで表示してみようかな?
149 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 15:32:47 ] 負荷の大きい鯖のプログラムはperlなところが多い気がするのですが pythonも高負荷に耐えれるのでしょうか
150 名前:デフォルトの名無しさん [2009/07/22(水) 15:38:28 ] むしろPerlよりも軽い
151 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 15:54:38 ] phpよりも軽い?
152 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:23:51 ] >>149 「pythonも高負荷に耐えれるのでしょうか」じゃなくて 「pythonが高負荷を発生するのでしょうか」だろ。
153 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:25:40 ] Python電磁波クラブ
154 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:25:56 ] >負荷の大きい鯖のプログラムはperl かなり曖昧だな
155 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:20:12 ] このページによると、 速度だけなら python > perl > php > ruby な感じ。 perlはメモリ消費優秀。 phpはメモリ消費大杉。
156 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:23:45 ] ページ張り忘れた。 shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=php&lang2=yarv&box=1
157 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:35:17 ] つーか、PHPって別に速くないんかいw
158 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 00:12:16 ] 良くある色が変わっていく表示は、RGBじゃなくてHSVで作ればいいのか。 良く分かったよ感謝
159 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 00:14:04 ] PHPの速さはapacheのSAPI経由から開始される高速な起動と、(他のmod_***より明らかに早い) 負荷のかかる処理をC言語の拡張に任せるというスタイルによるレスポンスのよさだからな。 オブジェクト指向を気取ってコードをたくさん書けば書くほど遅くなる罠。 まあそれはLWLではみな同じことが言えるわけだが。
160 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 00:36:57 ] PyCUDAとか使ってみたいですな 100倍速い!!とか言ってみたい。
161 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 06:39:44 ] > 負荷のかかる処理をC言語の拡張に任せる それってどれも同じなんじゃね?
162 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 07:26:55 ] 失敗した… おれもVPython入れてみようと思って、Ubuntu9.0.4のsynapticで「あるじゃん」と思って入れたら、 これバージョン3だよ。opacityとか無いよ。
163 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:20:00 ] >>161 pythonがcgi.pyでやっているような処理を、phpではCで書かれた関数で行なっている。 測定してみればわかるけど、これはけっこう性能に効く。
164 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:29:04 ] wsgi
165 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:45:53 ] 今どきcgiなんて使わないだろ。
166 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:50:58 ] PHPで数値計算と文字列処理のベンチを取ると激遅なんだよな。 まぁWebで数値計算はしないが。 ソースを忘れたけど
167 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:57:17 ] こんな感じでデータが入ったファイルを -50,-28,13,0.66 : こんな風に読んで、VisualPythonの玉に入れてみたら from visual import * f = open("test.dat") for oneline in f.readlines(): plist = oneline.strip().split(',') p = [int(s) for s in plist[:3]] c_hsv = [float(plist[3]),1,1] sphere(pos=p, radius=2, color=color.hsv_to_rgb(c_hsv), opacity=0.7) いきなり可視化できてしまったぞ。ちょwwマジかwwいいのかこれでww
168 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:17:57 ] なぜ、PythonはRubyの # -*- coding:utf-8 -*- をパクってるのでしょうか?文字コード指定は楽なのはわかりますが。
169 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:20:25 ] >>168 emacs や vim の文字コード指定方法をソースコードの文字コード指定方法に 一致させると楽だから。
170 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:26:48 ] >>168 去年からPythonで導入された方法。
171 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:26:53 ] >>168 ていうか、それRuby1.9からだよな。 Pythonのほうが古い。 てか、釣りだろ。
172 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:31:12 ] ┐(´д`)┌
173 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:58:09 ] >>170 Python 2.3 からだから、5年くらい前じゃね?
174 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:07:38 ] 乞食のruby厨にレス付けたら負けだよ
175 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:34:23 ] Rubyを使うとどこかの国のような思考回路になるってことですね。
176 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:37:40 ] Why do you stay in wrong thread?
177 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:37:49 ] Ruby書かされると脳みそが痒くなるんですよ。
178 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:04:47 ] ubuntuのaptでいれたpylabがバージョン古いから 最新版をsetup.py で上書きインストールしてしまうかと思う しかし、何か不具合おこないか心配 aptで入れたパッケージを消してからpython setup.py install したほうがいいんだろうか
179 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:34:02 ] >>168 >なぜ、PythonはRubyの ># -*- coding:utf-8 -*- >をパクってるのでしょうか?文字コード指定は楽なのはわかりますが。 これは恥ずかしい マネしたのはRubyのほう
180 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:56:30 ] www.python.jp/doc/release/ref/encodings.html
181 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:04:55 ] Python信者必死杉 いいじゃんパクったならパクったで
182 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:10:16 ] いつもRuby厨からケンカ売ってくるもんで^^
183 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:11:28 ] 180の先にemacsの形式って書いてあるじゃん...
184 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:26:53 ] OSSじゃパクりパクられはむしろいいことだぞ?なにいってんだ?
185 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:33:53 ] 出典は明記するべきだよね
186 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 01:36:05 ] てか、Emacs時代から無かったかそれ? Ruby厨はなんでもRuby一番にしたがるから困る
187 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 07:01:48 ] Scipyってどうですか? 有限要素法とかあったりしますか?
188 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 08:26:07 ] なぜ、PythonはRubyの 変数とか代入とかハッシュとかの概念を をパクってるのでしょうか?スクリプト作成は楽なのはわかりますが。
189 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 09:08:08 ] 自演乙
190 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 10:12:31 ] 現在のファイル名、関数名、行番号をlogするのに os.path.basename(__file__) , (__name__).replace('__','')+'()' , inspect.getlineno(inspect.currentframe()) spam.py main() 19 こんなことしてるんですが、俺ダサ杉ですよね。華麗な表示方法をご教示くださいですよ。
191 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 10:32:23 ] Rubyだともっと簡素にかける
192 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 10:52:39 ] >>191 おれもそう感じた
193 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 11:03:43 ] >>190 logging モジュール www.python.jp/doc/release/lib/node423.html
194 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 11:50:03 ] $:.unshift "./hoge/hoge/hoge/hoge/hoge/hoge" require "hage.rb" 見たいなことはPythonで出来ませんか?
195 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 12:09:12 ] >>193 なるほど! %(module)s モジュール名 (ファイル名の名前部分) %(funcName)s ログ記録の呼び出しを含む関数の名前 %(lineno)d ログ記録の呼び出しが行われたソース行番号 (取得できる場合)
196 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 14:21:43 ] >>194 import sys sys.path.append('./hoge/hoge/hoge') import hage でどうでしょう?
197 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 17:36:51 ] import os hogedir = os.path._getfullpathname("./hoge/hoge/hoge/hoge/hoge/hoge") os.sys.append(hogedir) import hage
198 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 18:23:13 ] >>195 これ3.0に移行してstr.formatを使うようになっても%書式のままでいくのかなぁ 今見たけど変わってなかった
199 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 19:38:00 ] ┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
200 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 13:56:37 ] ftpでファイルをローカルにコピーするのはこれでできたんですが session.retrbinary('RETR '+file, open(file, 'wb').write) 標準出力にファイルの中身を吐き出すにはどう書けば良いんでしょうか?
201 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 14:10:11 ] >>198 どうするか悩みどころだよね。 将来的に % によるフォーマティングは廃止される予定だけど、 デフォルトのFormatterはどうしようも・・・ logging.basicConfig(newstyle_formatter=True) とかでお手軽に新フォーマッターに移行できないかな・・・
202 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 15:08:13 ] >>200 session.retrlines('RETR foo.txt')
203 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 15:49:11 ] >>202 できました! ありがとうございます。
204 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 00:30:35 ] (⌒,,⌒)〜っ (⌒,_, ,⌒て ,,_,) ! ノ U。`yヘ_,、_ノ ! し|~〜〜 。 ヘ⌒iヽフ |! ゚o 。.゚(・ω|・ ) びーるきたよー |! 。o゚ ⊂ ゚ とノ |i 。゚ ゚ o .゚|.。|. | |i、..゜。。゚ ゚し|'J . |,,._二二二_,! 。゚o
205 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 07:45:15 ] a = ["abb","acc","add"] print map(lambda x:x.replace("a",""), a) これと同じ処理でもっといい方法ありますか?
206 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:40:07 ] >>205 lambda + map 使うくらいなら内包表記を使う print [x.replace('a', '') for x in a] lambda も map も悪いものではないけど、map+lambdaは推奨されない。
207 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:44:50 ] >>206 内包表記なんていうのがあるんですね。ありがとうございます。 LISP畑から来てるので map に lambda が推奨されないって変な感じですが Pythonではあまり使わないようにします。
208 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:50:32 ] > LISP畑から来てるので map に lambda が推奨されないって変な感じですが schemeのinternal defineのように関数内で関数定義して名前を与えて使うのがいいみたい
209 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:32:17 ] >>208 それは >>206 とはちょっと違う話で、少しでも複雑な関数を作るときは ちゃんと名前を付けましょうねという意味で、lambda が単文しか実行 できなくなってる。 map + lambda が推奨されないのは、 1) 単純に map(lambda x: と書くタイプ数 が for x に削減される 2) map はリストが不要なときも一時リストを生成してしまう。 (>>206 ではリストが必要だったけど、必要ないときはジェネレータ内包が使える) 3) map 内で繰り返し関数呼び出しが発生する。内包だと式の評価なので lambda より速い 4) Lisp脳ではない人間にとっては、 map(lambda x: を読むときに頭の中で分解再構築が必要になる。 内包表記の方がやりたいことをすっきりと書き下せる。
210 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:37:19 ] とりあえずIDLEでimport thisしようぜ
211 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:41:13 ] >>209 頭大丈夫? 自分が何を主張するために何を持ち出しているのか読み直した方がいいよ。
212 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:21:42 ] >>211 オレは>209の入ってる事がよく分かったが、何か問題でもあるのか?
213 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:44:48 ] >>209 1)については、そもそもlambdaとか6文字も必要なsyntaxにしたのが間違いだったんだと思う Haskellみたいに記号使っとけば…… 2)はpython3000ではmapもイテレータ作るし まぁ内包のほうが速いし、そっち使ったほうがいいんだけど
214 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:18:29 ] -> だったっけ
215 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 14:19:08 ] >>213 Pythonにとって、lambdaは便利で強力だけど一つの文が複雑になるし遅いので あまり推奨できないから、記号を導入してまでみんなに使ってもらおうとは 思ってないんだろう。
216 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 15:22:31 ] Pythonの場合、lambdaとインデントの相性が悪いのもあるんじゃない? でも、他の言語使ってても複雑な式ならどのみち関数定義するから、 そのために何かして欲しいとは思わないけど。
217 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 15:50:27 ] f = λ x:a*x+b これでいくか。
218 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:12:54 ] Perl my $f = sub { $_[0]+1 } $f->(42) Ruby1.8 f = lambda { |x| x+1 } f[42] f.call 42 Ruby1.9 f = ->(x) { x+1 } f[42] f.call 42 Python f = lambda x: x+1 f(42) Haskell f = \x -> x+1 f 42
219 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:27:54 ] どれも、これだ!ってのがないな。
220 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:45:23 ] というかλ記法って^が変化してλになったんだから ^記号をつかえばいいやんとか思う ビット演算とまぎらわしいなら$で
221 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:46:13 ] Python def f(x): return x+1 f(42)
222 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:47:28 ] $があるとperlみたいで汚いから嫌だ
223 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 18:47:47 ] >>192 いくのかなあ、って変わってないんだからそうに決まってるでしょ。 docs.python.org/3.1/library/logging.html#formatter-objects
224 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 19:24:26 ] 逆に>>221 でなにが不都合があるんだろ。 名前を考えないといけないから思考が停止しちゃうとか?
225 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 19:37:45 ] >>224 内包表記のときはやっぱりラムダがあった方がいい。 名前も、じゃあ全てのfor文に名前を付けるか?みたいな話だと思われ。 それくらい気楽な関数。
226 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:31:36 ] 俺が恵まれていないだけかも知れんが、俺の周りで 関数名つけるの面倒くさいっていうやつは、98%の確率で ろくなプログラマではない だいたい、面倒って言ったって、xxx2yyy くらいを考えれば十分だし、 一言で表せないような関数を渡すのは構造的に失敗してると思うし
227 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:38:30 ] >>226 どっちかというと、かぶらないか失敗っていう心配だな。 Pythonならあんまり気にしなくてもいいんだけどw
228 名前:デフォルトの名無しさん [2009/07/26(日) 22:30:21 ] Python3に対応したpygame出てないのかよ Python使いからの不満も多いみたいだし、こんなので3は普及するのかねぇ
229 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:33:35 ] pgreloaded はまだ開発中か
230 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 23:45:40 ] >>225 > 内包表記のときはやっぱりラムダがあった方がいい。 ラムダが内包表記で便利な経験が無いんだけど、 ラムダ+内包表記のcoolな例あったら挙げてみて。
231 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 02:30:48 ] 可読性と内包表記、 やっぱり、[fnc(x) for x in a if check(x)==0] のようにして、[ ]内はごちゃごちゃしないようにしたほうがイイすよね?
232 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 08:38:42 ] www.djangoproject.jp まだ落ちてるよ 日本人でDjangoをやっているひとたちは サイトが長時間落ちてもオッケー的な感覚の持ち主なんだろうな
233 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 12:54:32 ] 東京で停電があったとき以来 復活してないサーバと比べりゃ(ry
234 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 13:16:15 ] >>231 読む人が「えーとこれは」と考え込まずに済むように書きたい。 したがってその位に留める(長くなるなら外に出す)という習慣は 良いことだと思われます。
235 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 13:33:44 ] def abc(): hoge=fuga hage=moge def func(x): return x+1 vwx=[fnc(x) for x in a if check(x)==0] return xyz
236 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 14:24:49 ] >>235 さすがにそれは内包表記の中で直接 x + 1 した方が良いだろ。
237 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 14:58:17 ] 「長くなるなら」外に出す、なのに「x+1なのに外に出す」って何だよw
238 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 15:31:23 ] Pythonで無料レンタル鯖のいいとこ&有名なとこあります?
239 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 15:40:56 ] ドジャンゴが使っているところはやめたほうが良さそうだな。
240 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 16:20:11 ] レンタル鯖だと、Pythonはいまだに2.3や2.4ばかりで悲しい。
241 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 16:21:44 ] >>238 国内無料鯖は2.4どころか2.3、Python自体ないとかあってかなりの不遇で、自信を持っておすすめできるものはない。色々探してみるといい ただSSHなどシェルアクセスできれば自力で導入できるとこもある(xreaとか。まあSSH使える無料鯖はほとんどないが…) 低価格鯖なら最近2.6が導入されたさくらがおすすめかな。
242 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 16:50:15 ] どうせ他にもいろいろしたくなるから、 まるまる仮想OS使えるところでいいんじゃないの。
243 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 17:14:51 ] 月3000円も出せばVPS借りられるんだからそのくらい出せよ それも出せないなら自宅鯖でも作れ いやならPHPでも使ってろ
244 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 19:41:54 ] 釣りか? 70 名前: デフォルトの名無しさん Mail: sage 投稿日: 2009/07/27(月) 15:02:19 PHPで無料レンタル鯖のいいとこ&有名なとこあります?
245 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:38:51 ] Pythonスレの方がレスが多くて みんなやさしくて好きです
246 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:42:32 ] >>238 つpc12.2ch.net/test/read.cgi/tech/1243160751/4-10
247 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:43:01 ] 表向きは永久凍土な連中ということで通ってるんだから そういうこと言っちゃいけません
248 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:47:20 ] >>238 Google App Engine 2アプ目 pc11.2ch.net/test/read.cgi/php/1243654802/
249 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:51:55 ] GAE はないわなぁw
250 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:37:18 ] @pagesとか言うところが2.5.1みたいだ
251 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:42:47 ] 実際に sys.version 出力させてみたら 2.5.2 だったよ。
252 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 07:48:58 ] 関数の中から実引数の数を調べることはできますか。 def f(a, b=1, c=None): print (a, b, c) とあって、f(0) という呼び出し方をした時に、f() の中で実引数の数がいくつなのかを調べる方法があれば教えてください。
253 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 08:07:59 ] バイトコード調べれば何とか… じゃなくて def f(*args): defaults = (None, 1, None, ) len(args) で調べる args = tuple(args) + defaults[len(args):] とかした方がいい
254 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 08:59:52 ] >>252 www.python.jp/doc/2.4/lib/inspect-classes-functions.html 標準モジュールも知らない低レベルプログラマは 今すぐPythonやめてPHPに戻れよ
255 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 09:04:44 ] found = None for x in L: if something(x) == expected: found = x break という処理をもっと簡潔にかけますか。 Ruby なら found = L.find {|x| something(x) == expected } という処理です。 内包表記で頑張ろうと思ったのですがbreakの仕方がわからず断念しました。 #Rubyは説明のために出したのであり、PythonとRubyとの比較をするつもりではないのでご了承下さい。
256 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 09:54:57 ] [i for i in xrange(10) if i >= 7][0]
257 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 10:15:34 ] >256 だといったん完全リストにしちゃうから 元が xrange(一億) とかだった場合にすげー重くならない? イテレータ使ってても,リスト内包表記で一旦 リスト化しちゃうと遅延評価はされなくなっちゃうよね?
258 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:37:56 ] >>239 なんで? おすすめは zope web.py なの?
259 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:00:59 ] (i for i in xrange(10) if i >= 7).next()
260 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:12:43 ] >>259 スゲー 面白い書き方だなw
261 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:54:59 ] >>254 牛乳飲めよ
262 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:12:03 ] >>261 PHPに戻れよドカタ
263 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:18:20 ] >>258 Django自体は問題ナッシング むしろすばらしい 問題は日本のヤツら
264 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 14:54:13 ] Djangoの中に遅延評価関数とか入ってるからwebやらなくても使ってみたい気はする
265 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 15:14:13 ] Formがもうちょっとイカしてくれてればなぁ っていうか web 板の django スレが寂しすぎる件
266 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 18:01:09 ] Djangoのutilsには,便利なクラスや関数がたくさんあるので utilsだけで使うことが良くあるよ
267 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:28:19 ] >>259 ありがとうございます! でもPython3で動かない。。。。 Python2と3の両方で動く書き方はありませんか? 聞いてばかりですみません。
268 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:47:03 ] >>267 python3の場合 (x for x in range(10) if x>=7).__next__()
269 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:10:51 ] >>268 next(x for x in range(10) if x>=7) だろ
270 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:18:40 ] ごめん
271 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 01:56:49 ] Don't mind.
272 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 06:29:23 ] >>255 found変数をどう使いたいのか判らないけど、Pythonのfor文には else 節があるので、後で if found is None: return とかするのであれば その for 文を for found in L: if something(found) == expected: break; else: return みたいにはできるよ。 あと、 >>269 みたいなやり方をするなら、 found = next(x for x in L if somethong(x) == expected, None) って二つ目に default を入れないと、見つからなかったときに next が StopIteration 例外を出すよ。
273 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 06:34:35 ] sunkus
274 名前:デフォルトの名無しさん [2009/07/29(水) 09:54:00 ] >>252 f() の中で実引数の数がいくつなのかを調べる方法があれば教えてください。 無理。デフォルト引数処理は関数呼び出しの直前に行われるから、f(..) の中ではデフォルト引数値が使われたか否かは判別できない。253 さんの示したように、関数の呼び出し方を変えて自分で調べるしかない。 ここらの Python の内部処理を知りたかったら www.nasuinfo.or.jp/FreeSpace/kenji/sf/python/virtualMachine/PyVM.htm を読め。少しマニアックだが。
275 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 11:49:53 ] class foo: def __init__(self): self.bar = range(5) def __call__(self): self.bar.reverse() class hoge: def __init__(self): self.hage = foo() self.foobar = self.hage.bar self.hage() cls = hoge() print cls.foobar == cls.hage.bar .foobarには、.hage.barの値をコピーしているだけですか? それともポインタ的なものが入ってるんでしょうか?
276 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 12:10:48 ] barの型次第 上の場合はリストだから参照になるね
277 名前:252 mailto:sage [2009/07/30(木) 07:00:23 ] >>254 >標準モジュールも知らない低レベルプログラマは >今すぐPythonやめてPHPに戻れよ みなさんの怒りを買うような質問をしてしまい、申し訳ありませでした。
278 名前:252の母 mailto:sage [2009/07/30(木) 10:17:41 ] 息子がご迷惑をおかけして申し訳ありませんでした。
279 名前:252の父 mailto:sage [2009/07/30(木) 11:06:55 ] 息子にはPythonをあきらめてPHPに戻るようによく言い聞かせました
280 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 13:21:43 ] いやいや、誰もが最初はそんなもんですから。
281 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 13:35:18 ] 話がまとまったところで、あとは若い人たちに任せるとしましょう。
282 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:24:22 ] おまえら表面は凍ってるのに中身は生暖かいのな。
283 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 23:55:49 ] 今からpython勉強するなら、2.6.2と3.01どっちがおすすめ?
284 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:15:39 ] 仕事で必要なら、必要な方なのは置いといて。 私は、stringが完全Unicodeになってる3をすすめます。
285 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:50:07 ] 初めてPYTHONをやり、最初、2.4入れて setが使えないので、1ヶ月で2.5に移行 その後、文字化けが面倒なので2ヶ月で3に移行 最初から3にすれば良かった てかemacsで文字化けする しかもWindowsのエラーで、プロンプトからemacs起動出来ないから直し方わかんね 結局UTF-8使ってない
286 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:58:21 ] なるほど、こういう人たちがいるがために今の状況があるわけか
287 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:07:20 ] ライブラリが全然ついて来ないから 未だに 2.x だけどな。
288 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:13:02 ] 3.1は失敗作だったねえ。Python5.0に期待。 対するRubyは1.9.2でだいぶ動作がマシになった。 完全に抜かれちゃったなあ
289 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 06:29:42 ] pass
290 名前:283 mailto:sage [2009/07/31(金) 07:11:16 ] ありがとうございました 参考にします
291 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 11:55:24 ] >>283 用途次第だけど2.5がライブラリ豊富で一番良いよ
292 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 12:43:59 ] 2.6 でなく 2.5 を勧める理由が意味不明
293 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 12:45:54 ] 2.5 でなく 2.6 を勧める理由が意味不明
294 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 13:42:38 ] ダンジョーも動かない2.6を勧める理由が意味不明
295 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 14:29:15 ] 2.5.2で間違いない
296 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 17:29:14 ] >>294 サーバが止まりまくりのDjangoなんて使えたって意味ないだろ
297 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 18:04:01 ] ジャンゴが止まりまくるってどんな環境よ
298 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 18:23:07 ] デベロップ用のサーバで公開したのかなw
299 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 22:28:32 ] ttp://djangoproject.jp/ どうして止まるんだろう...。
300 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 22:34:20 ] >>299 デベロップ用のサーバで公開したのかなw
301 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 22:46:12 ] マルチコアのCPUで並列実行させたいんですが、 Pythonのthreadやthreadingモジュールだと 実際には同時平行で複数のスレッドが実行されないって本当ですか? 並列化するのにお勧めのモジュールってありませんか?
302 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 23:03:13 ] >>301 ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF%E3%83%AD%E3%83%83%E3%82%AF docs.python.org/library/multiprocessing.html
303 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 01:35:18 ] >>302 すみません、わかりません。答えを教えてください。
304 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 02:47:30 ] >>303 ja.wikipedia.org/wiki/CPython#.E4.B8.A6.E5.88.97.E6.80.A7.E3.81.AB.E9.96.A2.E3.81.99.E3.82.8B.E5.95.8F.E9.A1.8C
305 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 06:49:35 ] GILが問題になるようなプログラムにPythonは向いてないよ
306 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 07:33:59 ] >>301 multiprocessing モジュールがお勧め。並列性のある問題を解くのに使えば 複数プロセスが同時に並列実行されてちゃんと台数効果が出ます。
307 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 07:42:54 ] >>299 まだ止まってんのかwwwwww
308 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 09:01:10 ] 僕たちサーバ管理よりイベントが大好きなんです アッーー!
309 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 10:37:07 ] >>302 >>306 ありがとうございます。 GILがあって今一つ並列実行しにくいのでプロセスをフォークするんですね。 スレッドのタスクが重ければフォークのコストは大したことないですが、 リソースの共有が大変になるんでしょうか。 Core i7で8コアもあるのでそろそろ並列化をまじめに考えなくちゃと思っているので、とりあえずいじってみます。 それから>>303 は私じゃないです。
310 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 11:04:31 ] ドジャンゴもマルチプロセス使えば落ちないんじゃねえのwwwwww
311 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 12:08:53 ] 件のページはdjangoじゃなくてサーバ自体が落ちてんだろ 煽ってるバカ何なの
312 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 13:42:23 ] Djangoがサーバを落としたの??? なんたるマルウエア!!
313 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 14:34:43 ] またruby厨の荒らしっすか
314 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 14:47:37 ] >>311 >件のページはdjangoじゃなくてサーバ自体が落ちてんだろ Apacheは応答してるっぽいから、サーバ自体が落ちているという事はないのでは? Dangoの人は適当で信用ならない
315 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 16:28:33 ] djangoはジャンゴって読むんじゃないの? 昔の有名なギタリストにいるよね
316 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 16:35:36 ] アンガールズ「ハイ! ジャンゴジャンゴジャンゴジャンゴ」
317 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 17:30:33 ] そう、djangoは"ジャンゴ"と読みます 一方日本でdjangoを使っている人は"ドジャンゴ"や"ダンジョー"と呼ばれています
318 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 19:33:53 ] そう、djangoは"ジャンゴ"と読みます 一方日本でdjangoを使っている人は"ドジャンゴ"や"ダンジョー"とruby厨は呼びます
319 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 02:03:59 ] 日本語でおk
320 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 02:11:46 ] 民間人に送られる最高の爵位・ダショー。 ちなみに我らがPython神のGuido van Rossumは、BDFLと呼ばれる。
321 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 03:53:30 ] Djangoは1.1出てたのか・・・
322 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 08:35:11 ] 318はイタいが、320はもっとイタいな(wwWwwWwwwwWwwWWww
323 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 10:52:39 ] ジャンゴといったらジャンゴ・フェット。
324 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 13:03:55 ] pass
325 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:25:09 ] ジャンゴジャンジャンゴジャンゴ
326 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 04:07:02 ] pat = re.compile(r'.*¥.html$') としたときに、patからもとの文字列('.*¥¥.html$')を取り出すことはできますか。 よろしくおねがいします。
327 名前:デフォルトの名無しさん [2009/08/03(月) 04:14:09 ] pat.pattern
328 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 04:47:12 ] >>327 ありがとうございました。 ところで dir(pat) としても pattern というのは出てこないのですが、どういうことでしょうか。
329 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 05:12:00 ] ttp://djangoproject.jp/ 復活したみたい
330 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 08:26:53 ] >>328 (´・ω・`)知らんがな
331 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 09:44:20 ] >>329 (´・ω・`)知らんがな
332 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 10:48:23 ] 静的htmlに必要最低限のcgiだけつけたいのだけど どのフレームワークがお勧めよ
333 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 14:22:49 ] CGIHTTPServer
334 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 14:23:59 ] >>332 民間人に送られる最高の爵位・ダショー。
335 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 15:25:06 ] ダショー >>> ダンジョー >>> ドジャンゴの順で偉いのだが ダショーレベルでも鯖運営に支障をきたすくらいの低スキル
336 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 18:29:06 ] 意味わからん ジャンゴの話題になるとどこからともなく湧いてくるな
337 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 19:31:03 ] >>328 不思議だね。
338 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 20:04:54 ] >>328 help(re) でも出てこない
339 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 20:09:03 ] >>328 ttp://www.python.jp/doc/release/lib/re-objects.html ここの一番下には書いてある
340 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:26:11 ] _sre.cのpattern_getattrが処理してるみたい
341 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:13:09 ] www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=2304 コメントを取得するコードを参考にして、拡張子を.cgiで実行しましたがスクリプトエラーになってしまいます。 どこが問題でしょうか?
342 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:19:23 ] >>341 人に尋ねる前に自分でデバッグしてご覧。 Webにアップするスクリプトも最初はローカルで動かして様子を見るものなんだよ。
343 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:22:02 ] >>342 ありがとうございます。 出直してきます。
344 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:24:23 ] >>341 そのコードのコピー元と思われるブログには続きがある d.hatena.ne.jp/imakami/20081224/1230130732
345 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 18:45:37 ] def hello(): """コメント""" print "hello" Python では上のように関数定義の最初の文字列リテラルが関数のドキュメントになるそうですが、 これの呼び名ってありますか。 「関数コメント」とか「関数ドキュメント」で通じるでしょうか。
346 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 18:57:12 ] >>345 ほい。 www.python.jp/doc/release/ref/types.html
347 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 18:59:31 ] ドキュメンテーション文字列
348 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 19:14:09 ] AndroidでPython使えるんだね。 一気にGoogleケータイ欲しくなった・・・ 三月に変えたばかりなんだが。
349 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 03:39:03 ] >>348 ほほう。といっても何に使えばいいのか思い付かない俺ww
350 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 15:06:43 ] Launchpadがdojangoじゃなくてzopeなのは何か理由があるの?
351 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 13:19:04 ] 作り始めた時期の問題じゃないかな。 Launchpad作り始めた時は、まだDjangoがマイナーだったとか。想像だけど。
352 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 08:11:08 ] www.python.org つながんないんだけど、なんかあった? Python ダウンロードしたいんだけど、どこかミラーない? ftp.python.jp は 2.5 までしかないみたいだし。
353 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 09:00:56 ] >>352 sunsite.informatik.rwth-aachen.de/python/ftp/python/ とかどう? www.freebsd.org/cgi/pds.cgi?ports/lang/python26 で見つけた。
354 名前:352 mailto:sage [2009/08/08(土) 09:47:13 ] >>353 助かりました。ありがとうございます。
355 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 19:41:22 ] BeautifulSoupって死んだんか・・・
356 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 21:44:16 ] おれも>>352 とまったく同じ状況でした。 ><>353 感謝ですっ
357 名前:353 mailto:sage [2009/08/08(土) 22:44:09 ] >>354 >>356 いえいえ。感謝はミラーを提供してくれている方たちにどうぞ。
358 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 01:40:12 ] >>355 lxmlでどうにか
359 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 02:03:21 ] >>355 何の話だw
360 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 14:53:36 ] >>359 知らないのか? Python3.0でSGMLParserがなくなったんでBeautifulSoup3.1.0以降では SGMLParserの代わりにHTMLParserを使うようになったんで、 これまでパースできたちょっと崩れたHTMLがパースできなくなってる。 開発者は、もうツマンネーからこれ以上の対応をする気はねーよ、らしい。 www.crummy.com/software/BeautifulSoup/3.1-problems.html
361 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 15:20:46 ] 最後のほう生々しいこと書いてあるね BS使ってるモジュールがどれほどあるのか知らないけど Py3.0への移行の支障になったりして
362 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 15:47:52 ] 3.Xへの移行は年単位でかかるだろ… Zopeなんてどんだけかかるんだか
363 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 17:07:26 ] Pythonで万人に分かりやすいスマートなコメント文を書きたいんだが、どう書いたらいいだろうか。javadocのような指標みたいなの無い?
364 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 17:54:18 ] >>363 PEP 257
365 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 18:11:09 ] doxygenが喰えるように書く
366 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 18:40:44 ] ううむ、BSは巷のちょっと 不作法なHTMLをパースさせるのに 役立っていたんだがのう elemental treeって今のバージョンは その辺耐性あるのかしら。
367 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 19:13:04 ] ElementTreeはXMLパーサですよ
368 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 07:49:28 ] >ちょっと崩れたHTMLがパースできなく それはツマンネーな
369 名前:デフォルトの名無しさん [2009/08/10(月) 09:26:40 ] まあ、HTMLのパーザなんて、泥縄の塊だしな。
370 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 09:50:49 ] pc12.2ch.net/test/read.cgi/tech/1231570128/ ここでopy2on(別名おっぱい)というのをやってます
371 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 00:38:42 ] Pythonのお勉強をしようと思って 2chに書き込むスクリプトをPython 3.0.1(Windowsです)で書いてみたのですが urllib.parse.urlencode()でShift-JISの文字列を 期待通りにURLエンコード(パーセントエンコーディング)できません。 {"s":"あ"}をurlencode()して"s=%82%A0"がほしいのですが 普通にやると下のようになります。。 何か良い解決策はないでしょうか? >>> import urllib.parse >>> s = "あ".encode("shift-jis") >>> print(urllib.parse.urlencode({"s":s})) s=b%27%5Cx82%5Cxa0%27 いろいろ試してみたところ、quote()やquote_plus()では 期待通りの値(%82%A0)が返ってきましたが urlencode()は中でdict内のstr以外の値にstr()をあててquote_plus()しているので 期待通りの値が返ってこないことがわかりました。 …2.6とかにしたほうがいいでしょうか><
372 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 00:54:04 ] なんかバグっぽいな・・・ 報告されてた bugs.python.org/issue5468
373 名前:371 mailto:sage [2009/08/11(火) 02:11:52 ] >>372 ありがとうございます!バグですか。。 3.0.1での解決策って 必要なところだけquote_plus()して自分で文字列連結するくらいですかね?
374 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 04:25:55 ] ですね
375 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 06:32:45 ] import _socket from _socket import * (socket.py 45) こういうふうに一つのモジュールで二つの方法でインポートするのは どういう意図があってのことなんでしょうか?
376 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 06:56:37 ] _socket の名前空間をそのまま使いたいとき 普通はこういうこと考えなくていいよ
377 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 08:17:34 ] 初心者なら、from は使うべきではないと思う俺だぜ 自分が何やっているのかわからなくなるぜ
378 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 09:53:52 ] 言いたい事は理解できるが、無闇に記述量を増やすとLL使う意義そのものが怪しくならんか?
379 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 10:06:27 ] とはいえ名前空間の中がごちゃごちゃしてると後で困る from/importの使い分けはいざ説明しようとなると面倒だな…
380 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 10:19:43 ] >>378 記述を減らす分には置換を掛ければ一発さ。 でも記述をフル識別子化するのはそうもいかない。
381 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:30:41 ] >379 それもわかる。記述量・速度と可読性のトレードオフなんだよね。 >380 タイプ量が多い事自体がまず問題じゃね? IDEの入力支援がある前提なら、問答無用でfrom禁止でも良いと思うけど。
382 名前:371 mailto:sage [2009/08/11(火) 12:42:58 ] >>374 ですかー 自分でquote_plus()してやるようにします。 ありがとうございました!
383 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 15:14:04 ] >>7 Я шестьдесят лет.
384 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 21:52:40 ] っas
385 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 22:09:10 ] 臨機応変に対応できてこそパイソニアンだ! Javaみたいなのはうんざりだよ。
386 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 22:10:15 ] パイソニアンとかパイソニスタとかどれも今ひとつなんだけど なんかいいのないの
387 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 22:45:37 ] 蛇遣い
388 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 22:55:07 ] パイソンマン パイソナー パイン
389 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 23:17:57 ] 「パイソン」さんが作ったんだから、元々人の名前なんだけどね。
390 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 23:51:01 ] >>388 ×パイソンマン ○パイソンパーソン どこかの怖いヒスおばさんに怒られるぉw
391 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 05:57:45 ] おpy星人でいいお
392 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 07:20:28 ] >>387 すごく、厨二くさいです…
393 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 10:10:33 ] アボリションオブルビー
394 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 10:14:22 ] へびんちゅ
395 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 10:55:57 ] >>378 1) import longlonglongnamemodule longlonglongnamemodule.hogehoge() 2) from longlonglongnamemodule import hoge hoge() 3) import longlonglongnamemodule as m m.hoge()
396 名前:388 mailto:sage [2009/08/12(水) 12:25:50 ] >>390 それ一瞬考えたけど、 バイキンマンがOKなんだから 乙パイソンより問題ないだろw
397 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 12:35:31 ] バイバイキン
398 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 12:59:45 ] パイパイソン
399 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 13:19:59 ] タオパイパイ
400 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 15:40:12 ] >> hoge(5, 2) 3 >> hoge(-5, 3) -2 こういう関数ってありますか?
401 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 16:23:03 ] hogeじゃわからんw
402 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 16:44:16 ] 釣られるなよ
403 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 16:57:04 ] hoge = lambda x,y:(abs(x) - y) * x / abs(x)
404 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 17:29:04 ] hage
405 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 17:32:47 ] 中華なパイパイ
406 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 17:35:36 ] hoge = lambda x,y: - (y * x / abs(x))
407 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 17:36:52 ] hoge = lambda x,y: x - (y * x / abs(x))
408 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 17:58:53 ] hoge = lambda x,y: 3 if x==5 and y==2 else -2
409 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 23:29:10 ] >>400 ゆとりだなあ
410 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 00:31:35 ] その関数で一体何がしたいんだろう
411 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 09:57:16 ] 草民が沸いてるね
412 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 10:06:21 ] 床でも天井でもない
413 名前:デフォルトの名無しさん mailto:hage [2009/08/13(木) 15:57:55 ] ttp://www.moongift.jp/2009/08/jobboard_beproud_200908_2/ 即日ってすでに炎上してるっぽいんだが こういうのに手を出したがるおめでたいヤツって今時居るのかね
414 名前:デフォルトの名無しさん [2009/08/14(金) 09:35:04 ] >現在、既に動いている案件に対する人員追加の募集になります。渋谷、恵比寿周辺で活動されている技術者の方、ご応募お待ちしています!応募は Death march
415 名前:デフォルトの名無しさん [2009/08/14(金) 21:42:05 ] >>413 naze django wo tsukattanoni enjou surunokana ?
416 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 00:42:42 ] >>415 black dakara
417 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 01:41:50 ] 即日だからってデスマって言ってたら 世の中デスマだらけだな いや、事実デスマだらけなのか・・・
418 名前:デフォルトの名無しさん [2009/08/15(土) 02:52:34 ] 手を出してみる
419 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 07:11:30 ] >>418 報告ヨロ
420 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 08:00:54 ] Open JDK見てたら、timsortってのがコミットされてた。 どっかで見たような気がしたから調べたら、Tim Petersのアルゴリズムだった。 意外とすごいぞPython
421 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 09:03:18 ] >>418 仕事のない駄目プログラマ乙www
422 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 09:08:09 ] TDN駄目プログラマオッー!!!
423 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 09:10:03 ] Web+DB Pressとか未だに恥ずかしくてレジに持って行けない
424 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 09:17:06 ] 没落
425 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 10:30:46 ] >>418 キミはなにやってもムリだと思う。 コンビニのバイトとかもムリ。肉体労働はもっとムリ。
426 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 10:33:35 ] 充実した人生を送っている者は、みずからを世界の一部と認識する。
427 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 11:21:38 ] 送れてない者は自分より1mmでも惨めなものを必死こいて探す
428 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 11:37:00 ] そもそもジャンゴを業務でやってたって人間自体がほとんどいないんじゃw そんなに使われてるん? 日本で。
429 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 11:58:17 ] ドジャンゴを使っている人々 - ブラック企業 - 低脳開発者(たいていはもとPHP使い) - ITドカタ 厨房 / ブラック御用達フレームワークということですかね
430 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 12:16:46 ] おった!
431 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 12:56:08 ] みんな幸せになれると良いねえ
432 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 13:08:05 ] >>429 -サーバが落ちていることより角電池が気になるひとびと これ追加。
433 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 13:18:57 ] 直列四本はDanger! High Voltageだからやめろ
434 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 19:24:18 ] 僕はほんたうにつらいなあ
435 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:19:01 ] >>429 つまりGoogleはブラック、と
436 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 10:42:48 ] >>435 揚げ足とれてない
437 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 11:44:58 ] ググルは黒だもんね
438 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 14:33:21 ] どうやら435はブラック 逃げたりバックれたりするレベル
439 名前:デフォルトの名無しさん [2009/08/16(日) 16:22:35 ] py2exeをLinux上で使ってWindowsでも動くようにしたいんですが可能ですか? ググっても情報がないので何か情報をお願いします
440 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:29:07 ] >>413 >こういうのに手を出したがるおめでたいヤツって今時居るのかね ストックオプションという言葉に釣られる人が未だにいるくらいだから、居るんじゃね?
441 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:39:56 ] >>439 バイナリの実行プログラムをLinuxでもWindowsでも 実行可能にするのがどれだけ大変なことか考えたことはあるのか? ただし、Linux上でWindows上で実行可能なexeを作る「だけ」なら環境を構築してあげれば可能かもしれない。 当然Linux上ではそのexeは動作しないが。
442 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 17:56:00 ] >>435 はグーグルだろ
443 名前:デフォルトの名無しさん [2009/08/16(日) 19:11:44 ] >>441 申し訳ない どうやら私の書き方が悪かったみたいですね 書き直します Linux上で作ったソフトをLinux上のpy2exeでバイナリ作成して その作成したバイナリをWindowsで動かすことは可能ですか? とりあえず今知りたいことは ・そもそもLinux上でpy2exeは利用可能なのか? ・それはWineなどを経由しなくても可能なのか? ・Linuxで作成が可能ならそういった情報が載ったサイトなどを知りたい よろしくお願いします
444 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 19:18:29 ] まだDebianにはPython2.6もPython3のパッケージもない?
445 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 19:21:31 ] >>443 そもそもスクリプトでLinuxに依存するような機能を使ってたり、 Linuxに依存するようなことをやってたらどっちにしろ動かない。
446 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 19:21:37 ] クロスコンパイラは無いんじゃまい?
447 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 19:22:14 ] >>443 人の話を聞けよ。 >ただし、Linux上でWindows上で実行可能なexeを作る「だけ」なら環境を構築してあげれば可能かもしれない。 >当然Linux上ではそのexeは動作しないが。 って先に答えを書いてるじゃないか。 py2exeがやってることはpycをzipで固めて1exe化した pythonインタプリタにくっつけているだけなので、やろうと思えば他のOS上でもできる。
448 名前:デフォルトの名無しさん [2009/08/16(日) 19:29:05 ] >>444 ・lenny packages.debian.org/ja/lenny/python ・squeeze packages.debian.org/ja/squeeze/python ・sed packages.debian.org/ja/sid/python ・experimental デフォルト packages.debian.org/experimental/python etc... packages.debian.org/experimental/python2.6 packages.debian.org/experimental/python3 packages.debian.org/experimental/python3.1
449 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 20:03:11 ] >>448 すんません、aptラインの書き方わかんないす・・・orz
450 名前:デフォルトの名無しさん [2009/08/16(日) 20:08:25 ] >>449 experimentalパッケージでも入れると申すか! 悪いことは言わんまだ使うな
451 名前:デフォルトの名無しさん [2009/08/16(日) 20:10:26 ] >>447 おまえも人の話聞けよ
452 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 20:31:47 ] GTKの人かw
453 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:26:19 ] >452 あ〜、なるほど なんかもやもやしてたのがすっきりした!
454 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 17:01:57 ] cmake
455 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 17:28:58 ] numpy関連のバージョンをlinuxのデフォルトバージョンから手動で上げようとしたら めんどくさすぎて死んだ asdfみたいな簡単な仕組みはないの?
456 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 17:50:09 ] 「make」と鬱と「負け」って読んじゃうんだよな
457 名前:デフォルトの名無しさん [2009/08/17(月) 18:34:23 ] 3.x 系列でも type(hoge) == types.DictType とかで 型を判定することができますか?
458 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 18:41:59 ] それってisinstanceじゃダメなの?
459 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 19:12:45 ] >>443 Linux上でPy2Exeは動かない WineでWinのPython実行環境を構築すれば、 Python作ソフトをPy2ExeでExe化可能かもしれない (やったことはないので確証は無い) 元よりWin上でPyhtonスクリプトをExe化する ものだから(どこの説明でもそう書いて あるのだが…)、WinでのPython実行環境が無いと Exe化した際の不具合の特定が面倒だよ。
460 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 23:51:13 ] Pythonのオブジェクトインスペクト関数「see()」 ttp://coreblog.org/ats/see-the-object-inspector ttp://inky.github.com/see/ 高機能なdir()って感じでなかなかよさげ
461 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 00:45:58 ] >>459 XP (note) で作った exe が他の XP (note) では動くのに XP (netbook) で動かなくて焦ったことはある
462 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 00:47:21 ] vista でも動かない orz
463 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 09:13:06 ] 動かないというだけじゃなくて、そのときの症状を具体的に言うのが、 初心者を抜け出す第一歩だよ。 とりあえず、VC++ Runtime Library の 2005 か 2008 の再頒布可能パッケージを インストールしてみな。
464 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 10:30:43 ] こんな話か? ttp://d.hatena.ne.jp/gunyara-python/20090531/hello_py2exe
465 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 10:39:09 ] DLL地獄ようこそようこ
466 名前:デフォルトの名無しさん [2009/08/18(火) 11:02:09 ] 俺のアイドル天使はいずこに?
467 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 11:07:16 ] 角電池とかよっきゅんとかここは相変わらずカオスなスレですね
468 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 16:23:58 ] イケメンハッカーも忘れないで! アッー!
469 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 16:26:12 ] またruby厨降臨?
470 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 18:29:59 ] >>464 のリンク見て不思議に思ったんだが cx_FreezeはなんでVC++ランタイムライブラリを 配布できるんだ? PSFライセンスの絡みであの手のライブラリは勝手に 配布しちゃいかんのじゃないの? そのためPy2Exeはわざと除外してんだろう
471 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 19:01:57 ] >>468 顔写真貼ればもっと盛り上がるよ
472 名前:デフォルトの名無しさん [2009/08/18(火) 20:56:04 ] pythonをsakuraエディタで使えるようにしたいんですが、 ちゃんとした色設定ファイルがありません。 原理的にどこかにあると思うんですけど、 (IDLEと同じくらいの) keyword(演算子、組み込み変数、組み込み関数、予約語等)をまとめたファイルって どこかにないのでしょうか?
473 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 22:09:04 ] > 原理的にどこかにあると思うんですけど ? 「原理的」の意味が分からない というかサクラエディタのスレで聞いた方がいいのでは?
474 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 22:16:06 ] import sys, os, itertools, keyword def importable(name): try: __import__(name) except Exception: return False return True def toplevel_modules(path): for root, dirs, files in os.walk(path): names = itertools.chain(dirs, (os.path.splitext(i)[0] for i in files)) for name in names: if importable(name): yield name break if __name__ == '__main__': words = set(keyword.kwlist) words.update(dir(__builtins__)) for i in dir(__builtins__): words.update(dir(getattr(__builtins__, i))) stdout = sys.stdout for path in sys.path: words.update(i for i in toplevel_modules(path)) sys.stdout = stdout for i in sorted(words): print i 自前で作ればいいんだよ
475 名前:デフォルトの名無しさん [2009/08/18(火) 23:28:28 ] Python 3.1 で書き始めて MySQLdbがPython 2.6どまりなことに気づいた・・ どうしよ SQLite用に書いていたソフトを MySQL用にしたいだけなんだけど 既に本体は Python 3.x にべったりで書いてる 死にたい
476 名前:デフォルトの名無しさん [2009/08/18(火) 23:40:06 ] もしかしてpyodbcでなんとかしろと? と思ったけど 3.x 系はリリースされてなかった code.google.com/p/pyodbc/downloads/list
477 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 23:42:02 ] シリーズ3作目はフラグ
478 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:10:02 ] MySQL の c ライブラリを直接呼べ
479 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:28:14 ] ctypes大作戦
480 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 08:31:36 ] ctypesっていいよね。
481 名前:デフォルトの名無しさん [2009/08/19(水) 18:20:43 ] WebARENAのsuitexが「Python の最新バージョンに対応w」らしいのですが 実際にどのバージョンが入っているかご存知の方はいらっしゃいますか?
482 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 18:28:33 ] 文字通り「Python の最新バージョンに対応w」なら 3.0 なんて有り得ん罠 良くて 2.4 と予想
483 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 19:20:42 ] 3.1.1
484 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 19:21:14 ] >>482 言ってる事おかしくね?
485 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 22:16:30 ] >>480 #include <ctypes.h> こうですか?わかりません><
486 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 22:27:30 ] 3.x系列への移行はあんまり上手くいってないのか
487 名前:472 mailto:sage [2009/08/20(木) 05:43:09 ] >>474 どうもありがとう。ようやくできた。。
488 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 12:10:46 ] 最新版にアップしてくれるのはありがたいんだけど こんな風にころころ変えられるのも困るかも ttp://php-sql-gdgd.jugem.jp/?eid=66 ttp://php-sql-gdgd.jugem.jp/?eid=67
489 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 12:31:43 ] >>488 これで3.0系にアップデートされたら阿鼻叫喚になるなw
490 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 13:01:44 ] >>481 ご存知の方はいらっしゃいますか?
491 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 22:08:58 ] 「Python 3.1.1」リリース pc11.2ch.net/test/read.cgi/pcnews/1250773470/
492 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 22:25:42 ] [ "a" for x in range (10)] と [ "a" ] * 10 は下の方が早い?
493 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 22:26:29 ] 自分でベンチマークすればいいだろうが
494 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 22:29:33 ] 下の方が10倍以上速かった
495 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 02:24:43 ] []の中がImmutableだったら*のほうがいいってことかな
496 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 07:45:47 ] [ chr(ord('a') + x) for x in range (10) ] を [ "a" ] * 10 みたいな書き方できますか?
497 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 08:33:54 ] ttp://www.pyside.org/ pyqtは使わないほうがいいのか?
498 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 09:54:31 ] pc12.2ch.net/test/read.cgi/tech/1239996587/
499 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 11:07:03 ] ジェネレータの中でエラーが発生すると、 エラーメッセージ中のスタックトレースが ジェネレータ呼び出しまでの部分しか出力されません。 ジェネレータの内部以降のスタックトレースも 出力されるようにするにはどうすればいいのでしょうか。 処理系はIronPythonです。
500 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 13:19:35 ] >>492 下は1つを参照してるんじゃないかな?
501 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 13:23:51 ] >>500 文字列はimmutableだから、ひとつのオブジェクトへの参照のリストになって問題なし。 実際、上のも (CPythonの実装では) 全部同一オブジェクトを参照するよ。 リストのリストを作りたいときは、 [[] for x in xrange(10)] の方が良いね。
502 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 22:16:40 ] >>499 ジェネレータの内部で try except print traceback
503 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 12:58:44 ] 人生の敗北者はもうPython使っちゃだめですか?
504 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 15:12:30 ] >>502 どもども。 手元で追試してみたら、499で書いた制限がCPythonでもIronPythonでも発生しない。 (それぞれ標準コンソールでテスト) 実はPythonインタプリタはC#プログラムから自前で呼び出してるんだが、 そこの初期化なりトラップ法なりが間違っているような気がしてきた。
505 名前:デフォルトの名無しさん [2009/08/22(土) 17:02:41 ] モジュールの先頭に """あれこれ""" とか クラスの先頭に """のれそれ""" 書いてドキュメントとしています. pydoc にかけるとそれらはただ単なる文字列として表示されるだけ なんですが,なんかこう,定められたフォーマットとかあるんでしょうか? それとは別にどっかで見たので __author__ とか __licence__ とか 設定してみたんですが,pydoc はそういうのはガン無視らしいです. いままで覚書をコメント文で書いていたんですが, ドキュメントのこともそろそろちゃんと考えないと 自分的に破たんする(先月の自分は自分じゃない)とおもって Python使いの方はどうやってるのかと.
506 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:11:24 ] >>505 EpydocとかPydoctorとか調べてみて。
507 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:39:33 ] 公開する気がないんならautherとかlicenceとかいらんような気もするけど このあたりを参考にして書けばいいんじゃないの? www.python.jp/doc/contrib/peps/pep-0257.txt
508 名前:365 mailto:sage [2009/08/22(土) 19:09:34 ] っ
509 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 20:43:56 ] なんでpythonってlist.rindex()ないの?
510 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 21:18:16 ] 需要が無いんだろ。 rangeのようにパラメータの与え方で 逆に動くかとも思って試したが出来なかった。 ソース(Ver2.6,Ver3.1)を見るとこうなってる。 for (i = start; i < stop && i < Py_SIZE(self); i++) { start>stopでデクリメントされればな〜とでも MLに投げればそのうち実装されるんじゃねw
511 名前:デフォルトの名無しさん [2009/08/22(土) 21:48:01 ] 一連の処理の開始から,要所要所までにかかる時間を できれば高精度で(1/100秒くらいで)計測したいと思っています. datetime を使って現在時刻を取得するのではとても精度が 悪いのですが,Pythonの中だけで完結できる方法としては ほかにどのような方法があるでしょうか? timeit は上のような用途には適してないと思います. ある関数内での処理時間を計測するには使えると思いますが, 複数のチェックポイントで次々とというのには不向きかと
512 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 21:55:11 ] どうしてdatetimeが出てきたのかよくわからないのだけれども time.time()かtime.clock()じゃ不十分なのかな
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
614 名前:!omikuji!dama mailto:sage [2009/09/01(火) 05:35:25 ] test
615 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 11:02:02 ] 無責任に逃げ出すゴミ虫はなにやっても駄目だけどな
616 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 11:05:07 ] 自虐すか(笑)
617 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 11:20:44 ] 誰か逃げたの?
618 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 11:27:09 ] >>617 俺知ってる(w
619 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 12:05:09 ] 仕事しろ、あとTwitterでやれw
620 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 12:08:06 ] ゴミ虫はゾンビ化するとやっかいだから、煽らない方がいいよ...
621 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 12:09:11 ] よくみんな黙ってるよ みんな大人だ
622 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 12:24:48 ] 逃げちゃう人ってそいつが存在しなくたってまったく問題ナッシングなことを証明するチャレンジャーだよね
623 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 13:23:43 ] レッドソックス松坂のことか
624 名前:デフォルトの名無しさん [2009/09/01(火) 14:30:36 ] FreeBSDで checking for python libraries... not found って言われたのですが /usr/local/lib/python2.6 じゃないんですか?
625 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 14:36:54 ] Makefileもよめないの?
626 名前:デフォルトの名無しさん [2009/09/01(火) 17:22:32 ] ぴーひゃらりんこだぷー
627 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 17:23:35 ] あんなの読むのは土方とマニアだけでいいと思うんだ
628 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 17:29:31 ] そうだね、フリーライダーは読まなくていいね
629 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 17:35:18 ] matplotlibの最新版でグラフにアノテーションつける機能が使いたかった 古いシステムではnumpyが古くて入らなかった numpy関連全部バージョン上げるの大変だからOSのバージョンごと上げたらいろいろ大変になった
630 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 17:59:01 ] 人間性から見て一生底辺だね どんな仕事についても駄目っぽいね
631 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 18:05:29 ] おまいらPythonの話をしろよ たとえばだな ドジャンゴ・イン・アクション www.manning.com/geewax/
632 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 18:12:42 ] >>624 よくわからんけど upgrade-site-packages やってないとかいうオチ?
633 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 00:11:04 ] Pythonってopensslライブラリが標準ではついてこないのか。 くそ。
634 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 00:36:26 ] pythonとは関係ないからな
635 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 01:02:40 ] ssl
636 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 01:24:29 ] OpenSSLがついてこないから、標準ではRSAとかの暗号関連ができないのか。ざんねん。 >>635 SSLができてもなあ・・・
637 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 03:31:18 ] twisted
638 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 09:49:43 ] twisted標準化してくれよ
639 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 09:57:04 ] >>633 , >>636 paramikoがお勧め。
640 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 10:14:19 ] >>638 やだ
641 名前:デフォルトの名無しさん [2009/09/02(水) 10:43:23 ] >>607 Cent OS は使用した事が無いですが? OS version default の directory を残して python support Link の patch を当てるのが無難だと思います… python support Link の patch を取っていれば問題ない様です… version up をするので在ればですが…
642 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 12:55:41 ] ドカタかフリーライダーか、とかそういう対立軸以前に 余裕があるのかないのか、という人間としての質の差が重要な気がしている
643 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 13:12:17 ] <⌒/ヽ-、___ /<_/____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄
644 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 14:39:21 ] | |/(-_-)\| | | ∩∩ | |  ̄ ̄ ̄ ̄ ̄ (-_-) … (∩∩)──────────────── / / / むかしはぱいそんができればぐーぐるにいけるとしんじていました でもいまはかんがえをかえました ttp://promotion.yahoo.co.jp/charger/bokoboko/r47/r47_02.php
645 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 15:09:10 ] 口をきいてもつまらなく、得るモンもなきゃ、しゃべる意味ないやろ。
646 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 15:15:00 ] お前がひとりぼっちなのはよくわかったからPythonのことを書けよ。
647 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 15:15:50 ] 社会のために、 そのまま引きこもっとけや。
648 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 15:16:30 ] もちろん靴下装備で
649 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 17:00:24 ] 社会の為にいろいろ活動します
650 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 17:54:02 ] 自宅を警備します
651 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 18:06:53 ] 二次元世界との架け橋を作ります。
652 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 05:49:55 ] \ \
653 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 09:38:46 ] 口
654 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 13:53:35 ] python2.5でプロセス操作が可能なライブラリってありますか?
655 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:34:36 ] subprocess
656 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:08:56 ] >>651 うpろだの事かー!
657 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:31:49 ] 何番? ttp://long.2chan.tv/jlab-long/s/long1252027171807.jpg
658 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:48:32 ] d = dict としたあとで key in d が出来る様にするにはどうすればいいんだろう?
659 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:37:06 ] >>658 d = d()
660 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:08:03 ] d = d.keys()
661 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 12:07:43 ] いつもdictでfor文まわすのってどうやるんだったっけって調べてしまうぜ。 いちいち言語の文法をそらんじなくなって久しい。
662 名前:デフォルトの名無しさん [2009/09/05(土) 12:21:13 ] >>660 なんでわざわざdictのkeyを取り出す必要があるんだ?
663 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 13:28:02 ] >>662 keyの文字列自体を何かに使いたいとき
664 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 13:50:23 ] 入門書嫁。
665 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 15:33:28 ] リファレンス嫁。
666 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 23:55:21 ] Python + C# 最強説あらわる。これでR**yを殲滅できるぞ! ttp://d.hatena.ne.jp/wasisan/20090905
667 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:01:46 ] またRuby厨があらしてるのか
668 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:33:49 ] C#イラネ ヘジのクラスライブラリは勘弁
669 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 01:11:00 ] どうみてもPythonもC#も被害者じゃないか
670 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 02:35:09 ] いや、普通にPython+C#で商用プログラム書いてるところですが何か。
671 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 10:12:46 ] >>666 変な主観で語られてもなぁw
672 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 11:30:55 ] それと比べたらたとえ揚げ足取りであったとしても、ちゃんと文章を細かく読んでくれて、理由もつけられて、 その文章内容自体について説教・罵倒される方がはるかにましだということにあの人たちはなぜか気づかない (多分、リアルがそれなりに充実した幸せな人たちだからだろう)。今の時代、話を聞いてくれて、まともな ことを言ってくれる近所の頑固親父的な人なんて絶滅危惧種なのに。 まあ、普通の大人の現代(近代)社会を考えると仕方がないのかもしれないけど。よく言われることだが、社会人は 自分の利益になるケース以外では他人(特にいわゆる「バカ」)に対して注意なんてすることはないのだ。 そんなの時間がもったいない、「時は金なり」ということ(まったくいやなことだが)。 それにしても、「「バカ」であることを自己認識し自重する人たち」にとっては、現代とはなんと寂しい・辛い世界 であることか。その人たちは相手にされること、馴れ合うことすらできないのだから。
673 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 13:10:50 ] αブロガーっぽいコピペだな
674 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 13:13:06 ] 最初の二行を読むだけで目が回ったが
675 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 13:29:13 ] 括弧が多すぎる。統合失調症の臭いがする。
676 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 14:05:16 ] 単にLISP使いなんだろ
677 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:18:57 ] >>657 まいんちゃん一択
678 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:40:01 ] 真のLisperは括弧を省略しない
679 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:04:58 ] Python使いからすると 閉じ括弧を省略できると最高なんだが
680 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:08:22 ] かつて、対応する括弧までを一気に閉じるスーパー括弧というのがあってだな
681 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:09:27 ] haskellの$演算子はカッコを減らすのにいい
682 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:22:28 ] Python使いの口癖 オフサイド!
683 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 01:14:27 ] 「M式というのもある」と発言してうそつき呼ばわりされた屈辱の日々
684 名前:デフォルトの名無しさん [2009/09/07(月) 06:57:21 ] 最近C++一辺倒でもなと思ってPythonを使い始めたやつですが, Pythonってのは本質的に関数言語であって,クラスシステムは 後付けっつーことですか? self とか cls があらわになっているをの見て, そういうもんなのかなと. なぜPythonに手を出したかというと 普段使わなくても多重継承がないと不安だからとか そういう理由だとまた叩かれるのかな.
685 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 07:17:35 ] ドMの癖に いやらしいねえこの男は
686 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 07:19:35 ] >>684 OOP機能は最初から装備されていたそうなので、あとづけではないらしい。 そこかしこに不自然さが残るのは確か(superとか)なんだけど、許容範囲だから我慢してる。 あとPythonの作者は関数型言語をあまりよく知らないらしいから、「本質的に関数型」ではなくて「偶発的に関数型」じゃないかな。 > self とか cls があらわになっているをの見て, > そういうもんなのかなと. そういうもんです。違和感あるだろうけど、我慢できる範囲だと思うので、我慢して使ってください。そのうち慣れます。
687 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 08:28:42 ] >>684 個人的にはselfとかどの名前空間なのか明示する方が分かりやすい 省略しまくる言語とか訳分からん記号使いまくる言語は氏ねとか思う
688 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 08:48:25 ] >>687 そうじゃない。self.method()は別に構わない。 def method(self): がちょっと嫌いなだけ。
689 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 08:55:11 ] > self とか cls があらわになっているをの見て, > そういうもんなのかなと. そういうもんです。 どの名前空間なのか明示する方が分かりやすいです。 慣れないうちは __init__() に self 入れ忘れて、 "引数の数があわない" という一見変なエラーに悩まされますが、 そのうち気にならなくなります。 どちらかというとわたしは unicode/str の encode/decode でよく悩まされました。 こちらももうすっかり慣れましたけど。 どちらも今となっては良い思い出です。
690 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 09:12:47 ] >>688 俺も前から第一引数のselfに疑問を持っているんだが、Guidoがimplicit selfを 絶対に導入しない理由は何なの? ちょっとググってみたが良く分からんかった。
691 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 09:15:08 ] >>688 selfまで省略されるとお前どっから来たんだよッて俺がキレる
692 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 09:31:39 ] 書くときは冗長に思えるけど読むときには便利、と思えるかな?>self
693 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 09:53:30 ] >>690 これは既出? www.python.org/doc/faq/general/#why-must-self-be-used-explicitly-in-method-definitions-and-calls
694 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:01:34 ] >>693 和訳。 coreblog.org/ats/translation-of-why-explicit-self-has-to-stay どのくらい正確なのかはわからんが。
695 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:39:14 ] >>693 それは読んで知ってたけど、論拠としては弱いと思ってた。 >>694 サンクス。これを読んで一応納得した。デコレータを使った時に困るのは分かるが、 半分以上はGuidoの思想上の問題のような気がする。本人が絶対にexplicit self を無くさないと言っているのだから仕方ないが。
696 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:50:10 ] Pythonのメソッドって関数みたいなもんでしょ? 逆にいつでもselfを使える前提にするほうが変だと思う。 引数とって値を返す、関数らしい構造で良いと思う。 逆にRubyでは関数はメソッドの亜種だから、関数でもわざわざselfが設定されてる。 Javaではそもそも裸の関数が無いのだからselfがあるのは納得。
697 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:50:53 ] って、Javaはthisだった、ごめ
698 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:51:49 ] >>695 >デコレータを使った時に困るのは分かるが、 自分はここがよくわからないんだけど、だれか解説たのむ。 以下引用: > メソッドがデコレートされたときに,self引数が渡されるかどうかを知ることはできない。 > というのは,デコレータはメソッドをスタティックメソッドに変えることもあるし(この場合selfはない), > クラスメソッドに変えることもあるし(この場合は,selfの変わりにクラスオブジェクトが渡される), > まったく違ったことをすることもできる > (@staticmethodや@classmethodと同じ働きをするデコレータをPythonで書くことは希だと思うが)。 > つまり,デコレータが何をするかを知り得なければ,メソッドに明示的にselfが定義されているかどうかを知ることができないのである。
699 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:55:19 ] >>696 > 逆にいつでもselfを使える前提にするほうが変だと思う。 >>694 のリンク先を読めば分かるが、そんなことは誰も主張してない。
700 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:08:55 ] >699 しってるよw 俺の感想を言っただけ。
701 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:13:11 ] 見苦しい言い訳だな。妄想は自分の脳内で完結させろ
702 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:13:57 ] >>698 デコレータは関数を引数にとって「何か」を返す関数。 クラス宣言の中でデコレータを使うと、デコレータの返したモノがクラスのメンバになる。 そうするとコンパイル時に「何か」を決定できないので暗黙の引数を追加できない。
703 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:30:51 ] >>701 それ自体が>>699 の誤読の見苦しい言い訳であり 脳内からはみ出たお前の妄想じゃんw
704 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:10:27 ] >>696 classと無関係なただの関数はself書かなくていいよ
705 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:13:24 ] お前は何が言いたいんだ
706 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:15:07 ] 基地外が暴れだしたか
707 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:22:47 ] 今更selfがなくなると違和感ありまくり。
708 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:44:13 ] 解説ありがとうございます。でもやっぱりわからない。 >>702 >デコレータは関数を引数にとって「何か」を返す関数。 >クラス宣言の中でデコレータを使うと、デコレータの返したモノがクラスのメンバになる。 ↑これはわかる。↓これがわかんない。 >そうするとコンパイル時に「何か」を決定できないので暗黙の引数を追加できない。
・コンパイル時に「何か」を決定することと、暗黙の引数を追加することに、どういう関係がありますか? ・コンパイル時ではなく実行時に決定するのではだめでしょうか。 ・暗黙の引数を、追加するのではなく最初から追加しておけばいいように思うけど、それだとまずいでしょうか。 だれか時間のある人教えてください!
709 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:45:54 ] オナニー言語やね
710 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 14:42:38 ] 低脳はPHPがRubyをやればいいよね
711 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 14:54:08 ] またRuby厨が荒らしてるのか まったく・・・
712 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:04:02 ] >>698 デコレータは関数を関数に変換するもの(最近はクラスもできるが)。 self必須にすることで関数とメソッドはほぼ互換になる >foo.meth(arg) == C.meth(foo, arg) ここで、C.methは関数扱いできる。 メソッドが関数として扱えるので、 メソッドのデコレータは関数のデコレータを作るのと同じやり方でできる。 逆にself省略できるようにしたらメソッドのデコレータを作るのが難しくなると思う。
713 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:20:37 ] >>712 若干の冗長性が柔軟性を生むいい例だね。 Pythonは仕様の簡潔性が特徴のスクリプト言語なわけで。 (予約語や特殊な文法が少ない)
714 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:33:22 ] >>712 厳密に言うと、デコレータの出力は関数とは限らないよね。 @property def foo(self):... みたいにすると、 foo は foo.__get__() というメソッドが定義されたオブジェクトになる。
715 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:37:47 ] すげー今更だけどこれって紹介されてたっけ? Python 3.0開発者ガイド:コア言語の変更点 Python 3.0の主要な言語機能 codezine.jp/article/detail/4051 Python 3.0開発者ガイド:数値、文字列、データ codezine.jp/article/detail/4052
716 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:41:09 ] >>714 いや、まぁそこら辺は厳密性を犠牲にして説明しやすくしたということで(ry
717 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 19:08:14 ] codezineの翻訳はクソ
718 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 02:33:13 ] >>717 神降臨 書き換えてこい
719 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 09:37:04 ] reportlabでpdfを作ると 同じものを作っても作るたびに 出来るファイルのサイズが違うのですが こんなもんなのでしょうか? pdfデータに日時が入ってるのかな
720 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 10:24:59 ] 帝国ピストンはMLで質問しろよ
721 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:47:07 ] 動的に渡す関数(メソッド内で関数を定義して戻り値で返すような)って、 自由変数の束縛はいったいどうやるんだ? そういうことをやりたいときはグローバル変数使うかクラス使うかしかないんだろうか……。
722 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 12:31:53 ] やってからいえ 関数の呼び出し->local名前空間の生成->関数オブジェクト生成->local名前空間の解放->関数オブジェクト返る 関数オブジェクトから参照してる変数は上位の名前空間が消えてもクロージャな参照が残ってるからGCに回収されずに使える
723 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:21:31 ] >>やってからいえ その言葉をそのまま返そう。 外側のメソッド[A]で定義した関数内関数[B]で[A]のローカル変数aを[B]内で使用しようとしたとき、 [B]内でそのままaと書くと未定義参照エラーになる。 かといって[B]の引数で与えても値渡しなのでa自体を書き換えることはできないよね。
724 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:32:29 ] python3 nonlocal
725 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:38:48 ] >>> def fa(): ... a=3 ... def fb(): ... a=5 ... print a ... print a ... return fb ... >>> b=fa() 3 >>> b() 5
726 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:42:35 ] nonlocalをpython2.xで模倣するときは ・L=[x]みたいにリストにして、L[0]に対する操作にする ・f.x = xのように関数の属性にして、f.xに対する操作にする
727 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:53:18 ] >>725 >>> def fa(): ... a=3 ... def fb(): ... a+=5 ... print a ... print a ... return fb ... >>> b=fa() 3 >>> b() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 4, in fb UnboundLocalError: local variable 'a' referenced before assignment >>>
728 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 16:05:07 ] >>726 ですよねー。 ふと調べてみたらそれについて記述したページを見つけたよ。 www.shido.info/py/py1_comment.html 実際にやってみたら 関数内関数[B]の中だけじゃなくて、 外側のメソッド[A]の側でも配列参照してあげないと 変更後の値にアクセスできないね。 実用にはなるんだけど不便だ……。 ともあれ、やり方がわかったよ。ありがとう。
729 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 18:11:51 ] >>726 >>> def fa(): ... a=3 ... def fb(): ... fa.a+=5 ... print fa.a ... print a ... return fb ... >>> b=fa() 3 >>> b() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 4, in fb AttributeError: 'function' object has no attribute 'a'
730 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 18:14:10 ] >>728-729 >>> def fa(): ... fa.a=3 ... def fb(): ... fa.a+=5 ... print fa.a ... print fa.a ... return fb ... >>> b=fa() 3 >>> b() 8 >>>
731 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 18:40:00 ] >>727 >>729-730 Pythonのニシキヘビ共が、タチコマみたいな会話してるみたいで萌えたw
732 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 03:07:25 ] pprintを使ってて、読めなくなった日本語をそのまま、読めるようにしたい。 >>> k=dict(hoge=u"欝") >>> k {'hoge': u'\u6b1d'} >>> r=pprint.pformat(k) >>> r "{'hoge': u'\\u6b1d'}" >>> これを、pprintのフォーマットを保持したまま "{'hoge': u'欝'}" みたいに人が読める形に、出来ませんか?
733 名前:732 mailto:sage [2009/09/09(水) 03:22:29 ] 自己レス 一旦unicode化して、"unicode-escape"を使えば行けた。 #!/usr/bin/env python # -*- coding:utf-8 -*- import pprint d=dict(hoge=u'欝') k=pprint.pformat(d) print k >>>{'hoge': u'\u6b1d'} u=unicode(k,'utf-8') print u.decode('unicode-escape') >>>{'hoge': u'欝'} 配列の中に入った日本語とかも効くようだ。
734 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 07:20:56 ] 関係ないけど /usr/bin/env を使うのは環境依存でハマる事があるからあまり良くない気が。
735 名前:デフォルトの名無しさん [2009/09/09(水) 12:17:23 ] 環境依存ではまらないように設けた仕組みだろうに、 環境依存で動かないなんて本末転倒だな。
736 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:20:34 ] > /usr/bin/env を使うのは環境依存でハマる 具体的に詳しく。 /usr/bin/env が無くて /bin/env とか、 PATHの設定に問題が、とか?
737 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:30:11 ] /usr/local/bin/env
738 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:07:17 ] >>734 おれも詳しく知りたい。 #!/usr/bin/python #!/usr/local/bin/python はよくなくて #!/usr/bin/env python とするほうがいいとずっと思ってたんだけど、違うの?
739 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:17:43 ] 734は相当劣悪な環境を使っているに違いない。激しく同情する。
740 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:20:49 ] レンタルサーバで使えない
741 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:21:17 ] HOME以下に自分でビルドしたPythonをインストールしてパスを通してるとき、 /usr/bin/meld とかディストリビューションのアプリが #!/usr/bin/env 使ってて 軒並み動かなくなったなぁ。
742 名前:デフォルトの名無しさん [2009/09/09(水) 15:49:53 ] ターミナルから起動して使うと、なぜか出力が最後にまとめて行われてしまいます。 バッファリング周りを自分なりに調べて試してみたのですが、改善しません。 教えていただけるとうれしいです _ _ #!/usr/bin/env python -u import sys for line in sys.stdin: line = line.rstrip() if line: print "true" else: print "false" sys.stdout.flush()
743 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 15:54:45 ] >>741 どうでもいいところでハマってそれを自慢したがるド変態のM夫君っているものですね。
744 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 16:07:48 ] 質問の本題とは関係ないのだが、 > #!/usr/bin/env python -u shebang で複数の引数を渡そうとした場合の動作は移植性がない。
745 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 16:36:04 ] >>743 でもこの場合は、単に君が、どうでもいいところで「こいつは自慢してるんだろう」と誤読する キチガイなだけでは?
746 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 16:45:37 ] #!/usr/bin/python にすればいいじゃん?
747 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:06:46 ] python2.6.2/python3.1.1 ○バッファされない ×バッファされる × py2 sys.stdin ○ py2 sys.iter(stdin.readline, None) ○ py3 sys.stdin ○ py3 sys.iter(stdin.readline, None) ファイルのf.next()は効率のために先読みするんだけど、それが原因かな。 py3でどこが変更されたかはよくわからなかった
748 名前:747 mailto:sage [2009/09/09(水) 17:07:36 ] 訂正。 × py2 sys.stdin ○ py2 iter(sys.stdin.readline, None) ○ py3 sys.stdin ○ py3 iter(sys.stdin.readline, None)
749 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:08:49 ] 出力がバッファリングされてるんじゃなくて、 > for line in sys.stdin: これのために、入力が終わるまで実行が止まってる。 for line in iter(sys.stdin.readline, ""): こうする。
750 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:21:07 ] ああpy3kのf.__next__は単純にf.readlineを呼び出すだけみたいだ。 ドキュメントには先読みすると書いてあるけど、たぶんこれはドキュメントのバグ。
751 名前:742 mailto:sage [2009/09/09(水) 17:36:41 ] >>744 ありがとうございます、勉強になります! >>747-750 ありがとうございます、出来ました! バッファリングの問題じゃなかったんですね、お恥ずかしい。
752 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:49:21 ] >>745 変態のくせにプライドだけ高いなんてどんだけひとりぼっち君。
753 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 18:00:03 ] >>752 今度の設定はプライドか。ってか俺は>>741 ではないし。 なんか君のキャラ設定って、鏡に映った君自身っぽい。
754 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:31:14 ] >>753 >なんか君のキャラ設定って、鏡に映った君自身っぽい。
755 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:52:00 ] 自分のキャラ設定は鏡に映った自分自身という、再帰的新感覚キャラ「なんか君」
756 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:06:07 ] てっきりスルーされると思ったらそうでもなかった。 env の話はこのへん分かりやすかったです。 ya.maya.st/d/200606c.html#d20060625
757 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:23:02 ] 情けないようで逞しくもある
758 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:45:56 ] 俺はUnix系の環境持ってないから分からんけど #!python だとダメなの?
759 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:48:18 ] 堂々巡り開始
760 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 12:56:13 ] >>758 #!./python
761 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 13:48:03 ] emacsでpython編集してたら、なんか嫌になった netbeansにしようかなあ
762 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 14:44:37 ] >>760 えーと、どゆこと? パスが必須ってこと? それとも、そういう意味に解釈されてしまうってこと?
763 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:35:12 ] >>761 バイナリをテキストエディタで編集しちゃダメですよ。
764 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:40:31 ] slimeだったらタグファイル作らなくてもタグジャンプしてくれたり、 何も設定しないデフォルトでほとんど何でもできちゃうのに python.elが貧弱すぎる
765 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:44:17 ] うちのCentOSのPythonは /usr/bin/python 2.3 (プレインストール) /usr/local/bin/python 2.5 (自分でコンパイル) が入ってる ちなみに /usr/bin/python を 2.5 で上書きしてしまうと yum が動かなくなるのでこうしてる 自分の shell の path は /usr/local/bin/python が先なので #!/usr/bin/env python と書いても大丈夫なような気がするけど 自前のスクリプトは #!/usr/local/bin/python で作ってるよ
766 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 17:51:22 ] stow使ってる
767 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 03:05:13 ] >>761 kondoはどうよ?emacsキーバインディングもある www.activestate.com/komodo_edit/
768 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 03:35:09 ] >>767 もちつけw
769 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 11:01:20 ] こども? 近藤さん?
770 名前:デフォルトの名無しさん [2009/09/11(金) 11:35:07 ] Python 3 シリーズを将来使うために 今 2.3 とかで動かしているスクリプトを メンテのたびに 2.6 に移し始めてます. 以降のためのガイドライン(from future importとか) のページってありませんか? 出来れば日本語だとうれしい・・
771 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 12:02:29 ] >>770 >出来れば日本語だとうれしい・・ Rubyなら日本語の情報が盛りだくさん!
772 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 12:13:59 ] >>761 Editraはどうよ?viキーバインディングもある editra.org/
773 名前:デフォルトの名無しさん [2009/09/11(金) 13:21:08 ] eggファイルってWindowsのPythonでも使える?
774 名前:デフォルトの名無しさん [2009/09/11(金) 16:07:04 ] つかえましたすまそ
775 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:18:07 ] eggファイルといえば、site-packageにはいったeggが 展開もされずにそのまま動いてて、どうしてコレで動くんだろ? って思ったことはあるな。
776 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:26:28 ] Pythonのimportは拡張することが出来て、zipファイルからimportする拡張がデフォルトで入っている。 非圧縮zipだとファイルシステムからstatする時間が要らなくなるので通常ファイルのモジュールよりも 高速にロードできる。
777 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:30:00 ] 777
778 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:16:23 ] Windows版2.5.1で試したことあるが python.exeとpython25.dllだけあれば 後は全部zipに入れても動くよw zipの中身適当に絞り込んだやつと、exeとdllを、未だUSBに入れてあるわ〜
779 名前:デフォルトの名無しさん [2009/09/11(金) 18:38:46 ] Python でメモリがつがつ使うプログラム書くと, 当然ながら仮想メモリまで食いつぶしていきますよね? せめて自分がどれくらいメモリを使っているかくらいは 知りたいのですが,OSに依存しないメモリ使用量の 取得方法ってあるでしょうか? メモリ上にデータをキャッシュするようなアプリを書いていて 最終的にはスラッシングが起こりだしたらキャッシュの量を 減らすというような処理を行いたいと思っています. 最終的には.
780 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:06:40 ] >>OSに依存しないメモリ使用量の取得方法 ざっと探してみたけどないので君が作るといい
781 名前:デフォルトの名無しさん [2009/09/11(金) 20:26:46 ] easy_install は便利だけど同じパッケージの新しいバージョンをインストールしても 上書きしていくだけなんだよね?古いバージョンのアンインストールをきれいにやってから 新しいバージョンのパッケージをインストールしてくれないものだろうか?
782 名前:デフォルトの名無しさん [2009/09/11(金) 20:32:06 ] 俺もピートン勉強すっかな
783 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:29:18 ] >>772 日本語を入力するまでは満足してました。
784 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 23:09:59 ] >>779 どれぐらいのメモリを使ったらスラッシングが始まるのかがOSに依存すると思うのですが。
785 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 23:18:02 ] >>784 それは別にOS依存しててもいいのでは? 大事なのはスラッシングが起こったことが検知できるかどうかでしょ。
786 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 00:09:53 ] ああいえばじょうゆう。 んなことできる訳ねーダロカス
787 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 00:18:06 ] むしろスラッシングが起こったことをアプリ側に分からないようにするのが近代的なOS設計だと思うんだが。 それに逆らってどうする。
788 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 05:36:22 ] >>787 スラッシングがおこってもプロセスが実行しつづけられるようにするのは近代的なOSの設計だといえるけど、 スラッシングが起こったことを検出できない、検出させないのは、別に近代的でもなんでもない。 検出できるような設計にしたら近代的でなくなるのか?そんなわけない。
789 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 08:34:37 ] 今年はじょうゆう14年か
790 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 11:30:03 ] >>788 で? Pythonのプログラムが書きにくいからってOSの開発者に文句を言うつもりか?
791 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 11:31:32 ] >>788 は気にくわないことすべてに文句つけそうで怖い。
792 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:21:38 ] 788の方がまっとうな考えだな。 にちゃんは半可通が多数決で正しい答を出すから恐いw
793 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:31:19 ] >>790 間違いを指摘されたからといって怒るなよ。 なんで > Pythonのプログラムが書きにくいからってOSの開発者に文句を言うつもりか? ということになるんだ?意味わかんねー。 別に間違っててもいいじゃんか。指摘されたら修正すればいいだけ。 間違いを認めようとせず、ごまかすためにキレるほうが格好悪いぞ。
794 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:39:55 ] まぁ、かと言って、全く非の打ち所のない言語もまだないからな。 その中でPythonはかなり使いやすい部類だと思う。
795 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:42:47 ] 摩訶不思議なコードを書いて俺SUGEEEしてる人が少ないのが良い
796 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:02:05 ] つか当初の質問のレベルが低すぎるだけじゃね。
797 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:04:38 ] >>795 摩訶不思議なコードを書くのは そうでもしないと今流行りの機能が実装できない(C++の謎なテンプレートとか)か、 変なコードのほうが高速だったり(末尾再帰とか) ミスが起こりにくかったりする(if(0==x){〜とか) とか、そんな事情がある。 Pythonはそもそもそういうのが起こらないように設計されてるからなー
798 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:06:36 ] 最初はメモリ使用量とスラッシングの話だったのに 気づかないまま別の方向に向かっているおまいらがすき
799 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 15:38:21 ] zope.interfaceが"要らない"ことに気付くまで1年かかった
800 名前:デフォルトの名無しさん [2009/09/12(土) 17:07:43 ] Windows で IDLE を起動してただ exit() と打つと Python IDLE "The program is still running! Do you want to kill it? っていうダイアログボックスがでてくるんだけどこれはバグ? Windows Vista Business 上で Python 2.5, 2.6, 3.1 で確認しました
801 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:30:00 ] ばかじゃないのおまえ
802 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:54:01 ] >>792 x 半可通が多数決で正しい答を出す o 半可通が多数決で出した答を正しいと思い込む
803 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:56:27 ] >>792 の意図するところはこっちだろう o 半可通が多数決で「正しい」答を出す
804 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:56:50 ] 何をもってしてバグとするんだ?
805 名前:デフォルトの名無しさん [2009/09/12(土) 20:04:53 ] print __builtins__ の結果と import __main__ print __main__.__builtins__ の結果が違うのはなぜでしょうか? たとえば __builtins__.__dict__ はありますが __main__.__builtins__.__dict__ はありません
806 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:20:47 ] >>805 処理系のソースコード調べて考えろ。
807 名前:デフォルトの名無しさん [2009/09/12(土) 20:32:48 ] >>806 アドバイスありがとうございます CPythonのコードはまだ読んでいませんがIDLEのコードを読んでいます。 lib\idlelib\AutoComple.py の中に import __main__ 中略 namespace = __main__.__dict__.copy() namespace.update(__main__.__builtins__.__dict__) というコードがあって、__main__.__builtins__.__dict__ の意味が分からず悩んでいます。
808 名前:805=807 [2009/09/12(土) 20:52:19 ] >>806 たびたびすみません,原因が分かりました. EclipseのPyDevで開発しているのですが, デバッグモードで動かすと __builtins__ は dict です. 通常モードで動かすと __builtins__ は module です. デバッグモードではこのような違いが随所にあったのが原因でした. なお,PyDev のソースを読んだところたしかに pydevd.py で そのような違いが表れていることが分かりました. eclipse-pydev.sourcearchive.com/documentation/1.0.3-1ubuntu1/pydevd_8py-source.html
809 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 21:19:57 ] なんかあさってだな
810 名前:805=807 mailto:sage [2009/09/12(土) 21:50:14 ] >>809 スレを汚してしまってすみませんでした
811 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 22:05:33 ] そういう意味ではない
812 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 07:39:27 ] python2.6でpy2exeを使いmechanizeをimportしたスクリプトをexe化したいのですが なにやら色んな物がないといわれます。で色んなもを入れたり、パス変更したりして 対応したのですが dummy.Processというモジュールだけ見つかりません。 (python2.6/Lib/multipurocessingの中にprocess.pyがあったので/Lib/dummy/process.py と置いてみましたがダメでした) easy_installを試しましたがダメでした。 対処法もしくはdummy.Processがどこにあるかわかる方いますか?
813 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 08:09:46 ] /Lib/dummy/process.py -> /Lib/dummy/Process.py
814 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 08:17:23 ] from multiprocessing.dummy import Process
815 名前:812 mailto:sage [2009/09/13(日) 09:27:34 ] >>813 それでやってみましたがダメでした >>814 自作スクリプト内ではdummy.processをimportしておらず、mechanize内でもimportされていなかったので どのスクリプトのimportをそのように書き換えるのかわかりません で、なぜかLib/multiprocessing/dummy/processとするとdummy.processは通りました しかし、また新たにmultiprocessingが必要(?)でて easy_installすると こんどはmultiprocessing._mmap25とwin32processが必要といわれ。。。 なんだかきりがないように感じられたので諦めます すいませんでした
816 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:03:24 ] なんでPythonはRubyの文法を盗んでるのでしょうか
817 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:04:32 ] 具体例を挙げてください。
818 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:00:45 ] defなんてそうだよね
819 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:02:40 ] Rubyのが先に世に出たのに後からでたPythonが元祖語ってるという皮肉
820 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:11:03 ] ttp://ja.wikipedia.org/wiki/Python 登場時期 1990年 ttp://ja.wikipedia.org/wiki/Ruby 登場時期 1995年
821 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:11:18 ] >>819 アホか。Pythonの初出が1991年でRubyが1993年だろ。調べてから言え。 それから、RubyとPythonがどっちが優れてるかなんてフレームの元なのでやめたほうがいい。 用途によって使いやすいほうを使えば十分。
822 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:14:59 ] >>818 いまだとBooとかScalaとかあるけど PythonやRubyの前って関数定義にdef使ってるのってないのかな
823 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:32:01 ] Assembly BASIC C ... O Python Q Ruby S ... Z
824 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:36:47 ] スルー
825 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:01:43 ] >>822 BASIC
826 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:38:10 ] procedure hogehoge function hogehoge
827 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:50:59 ] >>825 DEF FN……懐かしい。
828 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:25:01 ] Python2.5.2ですが、ユニコードって内部的には一律一文字2バイトで表現されていると思って良いのでしょうか? C拡張でユニコードを扱う関数を作りたいんですが、Cでどのようにユニコード文字のバイト区切りを判断すれば良いのか分からなくて。
829 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:41:21 ] ユニコード文字のバイト区切り?
830 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:09:04 ] たぶん、Pythonでの扱い以前にUnicodeの基礎知識が不足していると思われ
831 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:15:39 ] UnicodeとUTF-8の違いは? pc12.2ch.net/test/read.cgi/tech/1177930957/
832 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:22:32 ] 欠けている部分があるので分からないわけですが、 基本知識はあると思ってるのですが... そもそもUTF-8なんて話してません、ユニコードそのものの話です。 pythonにおいてunicode()で生成したユニコードのインスタンスをCレベルで操作したいという話です。 初期のUnicodeが16ビット固定長だった事は知っています。 しかし現在は21ビットにまで拡張されています。 ということは16ビットでは不足するケースがあるわけで、 原理的に固定長決め打ちというわけにはいかないはずです。 また、pythonのレベルからはunicode文字列の実バイト数を知るメソッドが見付けられませんでした。
833 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:23:50 ] あ、>>832 は、コードポイントをそのまま二進数で表現していると推測しています。
834 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:28:16 ] また、BMPだけならば16ビット固定でも良いのでしょうが、 Pythonのunicodeobject.hやunicodectype.cには UCS2、UCS4という文字列が両方とも含まれているので、 16ビット固定なのか32ビット固定なのか良く分かりません。
835 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:30:07 ] 2バイト固定や4バイト固定と知っているならそうと、どちらかなら判別方法を教えてくれればいいのに、わざわざUTF-8を持ち出して混乱させようとするなんて、ほんとににちゃんねるってのは根性悪いですね。 さようなら。
836 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:34:52 ] さようなら
837 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:10:56 ] >>> u=u'日本語' >>> u u'\u65e5\u672c\u8a9e' >>> s=u.str() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'unicode' object has no attribute 'str' >>> s=str(u) Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) >>> l=u.split() >>> l [u'\u65e5\u672c\u8a9e'] >>> l=u.split(u'') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: empty separator uを s='\x65\xe5\x67\x2c\x8a\x9e' または l=[0x65,0xe5,0x67,0x2c,0x8a,0x9e] というバイト列にしたいのですが どのような方法があるでしょうか?
838 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:16:32 ] >>> u=u'日本語' >>> u u'\u65e5\u672c\u8a9e' >>> l = [] >>> for i in u: ... n = ord(i) ... l.extend((n >> 8, n & 0xff)) ... >>> l [101, 229, 103, 44, 138, 158] >>> map(hex, l) ['0x65', '0xe5', '0x67', '0x2c', '0x8a', '0x9e']
839 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:26:59 ] >>834 len(u'\U00010000')
840 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:49:25 ] >>838 thx! >>> u=u'日本語' >>> map(hex, reduce(lambda x, y: x + [ord(y) >> 8, ord(y) & 0xff], u, [])) ['0x65', '0xe5', '0x67', '0x2c', '0x8a', '0x9e']
841 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:51:27 ] おいおい。 sys.setdefaultencoding()で文字コードを再設定してやるのが先だろ? むちゃくちゃやってやがるな……。
842 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:55:33 ] >>828
843 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 15:54:14 ] もう手遅れかもしれんが、Pythonとunicodeについて。 Pythonのビルドオプションで、unicodeはUTF-16とUCS4が選択できる。 デフォルトではUTF-16になっていて、これはWindowsでUnicodeファイル名を そのまま扱えたり、.NET や JVM のUTF-16文字列と互換性があったりと、 相互運用性が求められるときに便利。 でも、一文字を1カウントで扱いたいという要求もよくあり、 .NET/JVM/WindowsAPI などとの 相互運用性が求められない分野ではUCS4が使われることもある。 たとえばFedoraやUbuntuなんかのPythonはUCS4でビルドされている。
844 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 20:02:10 ] import sys sys.argv.append("-n") from idlelib.PyShell import main main() スクリプトの最後にこう書けばIDLEのインターフェイスを 立ち上げることができるんだけど,その時 Tk の メニューを隠すとかできないもんかなぁ. PyShell のコード自体に手を入れることはしたくない.
845 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:22:58 ] しかし、ほんとユニコードってうんこ仕様だな。 まさに誰得だよ、これ。
846 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:32:35 ] >>845 まあ欠点も色々あるが、結局Unicodeほど便利な文字コードも無いからな。 特にWebアプリはUTF-8で統一してしまうのが一番簡単。
847 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:08:02 ] UTF-8はBOMをつけてはいけないという仕様にしてくれてれば殆ど困らなかったのになぁ。
848 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:26:21 ] むしろ日本人ならBOMに理解を示そうよ。 一番BOMの恩恵受けるのは日本なんだし。
849 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:42:04 ] UTF-16ならBELEあるからBOMの必要性がわかるが、 なんでUTF-8にBOMが必要なんだ? いやとあるスレで、SJISやEUCテキストとの識別を容易にするために BOM付きUTF-8を提案したのは俺だったりするのだが。
850 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:52:04 ] BOMはトラブルの元って認識なんだが。
851 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:12:02 ] Pythonやっぱつかえねーなー
852 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:20:26 ] BOMはPython関係ねー
853 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:37:51 ] やっぱRubyだなー
854 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:38:04 ] UTF-8でソース書くときは いつも付けてるが。
855 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:45:08 ] >>850 BOM のせいで shebang がどうさしないとか
856 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:49:52 ] PythonやPerl、Lispはやってて面白いし使える言語だがRubyだけは使いたくないな 存在価値も無いし
857 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 02:53:36 ] Rubyしかありえねえだろ。日本だぞここは
858 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 03:19:11 ] 俺にとって四国は海外なので無問題。
859 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 03:20:32 ] 四国と何の関係があるの?
860 名前:858 mailto:sage [2009/09/15(火) 04:05:24 ] 松江って四国にあると勘違いしちゃった。テヘ
861 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 05:39:33 ] 松山と間違えたわけか
862 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 07:48:27 ] >>843 ありがとうございます、助かります。 ヘッダやライブラリの何かの変数でどちらか判定できそうかと思ったんですが、 そこまでは分かりませんでした。 でも、debian sid x86_64ですが、UCS2っぽいです。 UCS2だとwchar_tを使っているみたいなのでなんとかなりそうです。 ctypes.c_wchar_pも使えそう。
863 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 08:12:56 ] withステートメントの意義が分からない
864 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 08:36:39 ] スレッドの同期オブジェクトをwithで使えるクラスを書いておくと、めーっちゃ便利。 def something(self): 通常の処理 with SynqObj(self.lock): クリティカルセクションな作業 通常の処理
865 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 09:12:14 ] >>862 関係ないかもしれないけど gcc で wchar_t って UCS-4 相当というか4バイトじゃなかったっけ?
866 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 10:39:39 ] >>862 pyconfig.hに Py_UNICODE_SIZEってのがある
867 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 10:48:49 ] >>860-861 中国はパスポートが必要
868 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 10:50:14 ] >>864 thx!
869 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 11:40:05 ] あれ、with lock: ... って書けるよね。threadingでもthreadでも
870 名前:デフォルトの名無しさん [2009/09/15(火) 12:00:28 ] with 構文の as は何のため?
871 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:33:02 ] reStructuredTextをはがしてPlain Textにするモジュールってありますか?
872 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 13:18:30 ] >>869 ああ、864は複数のスレッドの呼び分けをログで確認するためにラッパーを介しているだけだから。キニスンナ。 普通はlockオブジェクトを直にwith呼び出ししてかまわない。 >>870 Python 2.6のリリースノート読め!
873 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 13:44:36 ] >>871 ttp://stackoverflow.com/questions/1192632/how-to-convert-restructuredtext-to-plain-text
874 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 14:08:01 ] >>873 サンキュー。 でもドキュメント無いからソースよめってことね…。
875 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 14:29:11 ] shebangのこと忘れてたよ
876 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 14:38:22 ] rst2xxx -> xxx2txt みたいな経路でいけないかな?
877 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 16:39:11 ] Pyhton3.0以降の言語仕様を日本語で解説してるサイトや書籍ってある? 3.0以降の資料が少なすぎて、勉強がさっぱり進まない やはり英語を覚えるのが先なのか・・・
878 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 17:24:52 ] 腐るほどあるような気が Python3.0でググるよりPython3000のほうが多いかも
879 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 18:29:18 ] オライリーの第3版初めてのPythonの中でちょっとだけ触れられている
880 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 18:37:56 ] >>878 うーん、一部を解説したものしか見つからない できたら3.1までの仕様変更点を全て網羅している 解説が欲しいんだけど
881 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 18:56:31 ] >>880 Python 3.0/3.1のリリースノートを読むのが結局一番早いよ。 Pythonはこの辺とても丁寧。 ところで、 IronPythonに向いた軽量なO/Rマッパーが見当たらなかったので 『100行ちょっとのやる気のないPython製O/Rマッパー』をベースに 実装してみたんだけど、試してみたい人います? 一応、Python/IronPython両用です。
882 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 19:25:58 ] >>877 読んでみたけど ttp://docs.python.org/3.1/whatsnew/3.0.html ttp://docs.python.org/3.1/whatsnew/3.1.html これくらいのボリュームなら自動翻訳でもかなり役立つと思うが。 # この先、仕事でプログラムするなら英語は何れ必要となるだろうからガンバレ # 最近の翻訳は中国語から順に整備される傾向があるからな・・・
883 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 19:35:40 ] >>866 確かにありました。 4になっていました。 >>865 sizeofで確認したところ確かに4バイトでした。 pyconfig.hの記述と一致してます。 UCS2って2バイトだと思ってましたが、 実装上はwchar_tで表現するので4バイトになってるってことなんでしょうか。 UCS4は元が4バイトですよね。 とりあえずPythonではunicode一文字は4バイトと思って良いのかな。 ほんとunicodeとその周辺のエンコーディングはよく分かりません。
884 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 19:40:43 ] >>881 柴田さん乙
885 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 19:47:36 ] pyconfig.hはautoconfなんかで出力してんじゃないの
886 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 20:37:03 ] >>883 ucs4を使うかutf-16を使うかはconfigureオプションで指定して、 sizeof(wchar_t) == 4 && ucs4 の場合か、 sizeof(wchar_t) == 2 && utf-16 の場合にのみ wchar_t を使う・・・という仕様だった気がする。 Pythonの拡張モジュールを作るときには、wchar_tを直接使うんじゃなくて、 Py_UNICODE を使う。 docs.python.org/c-api/unicode.html#Py_UNICODE
887 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:00:25 ] >>886 あー、なるほど・・・ とりあえずLinux(gcc)ではi686でもamd64でもwchar_tがあり、 >>865 さんの指摘どおり両方とも4バイトでした。 UCS4の場合にはどちらもwchar_tで4バイトですが、 UCS2(UTF-16)の場合にはwchar_tと不一致なので unsigned shortが使われるようです。 これも両方共2バイトでした。 ということで、Linux(gcc)ではUCS2ならばunsigned shortで2バイト、 UCS4ならばwchar_tで4バイトということですね。 最近のLinuxディストリビューションではUCS4が多いらしいです。 Debian sidでもそうです。 Py_UNICODEを使った方が良いのだと思いますが、 Cで書く部分はできるだけPython独立にしておいて ctypesからそれを利用したいので、 とりあえずwchar_tを使うことにします。 でもimmutableだからなのか、unicodeをそのまま渡して 中身を変更するような事はすぐにはできないっぽいです。 create_unicode_bufferを使うしかなさそうです。
888 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:08:01 ] boostPython
889 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:13:28 ] >>881 プププ、クソ本の著者乙(wwWwwwwWWWwwwWwWwww
890 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:15:28 ] >>884 ,889 いや、当の著者の再配布許可が出たところなんだけど。 別に信じないならいいけどさ。
891 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:37:33 ] 884と889は低脳。 みんぱいの人に嫉妬するクソ本作者。
892 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:52:06 ] またruby房の嫌がらせか
893 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 09:03:24 ] 大抵の謎の書き込みは >892 で納得できちゃうね
894 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 09:47:25 ] Pythonスレはスルー力が有って良いと思う
895 名前:デフォルトの名無しさん [2009/09/16(水) 10:48:56 ] 何か書こうと思ったんだけど忘れた
896 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 12:09:33 ] 逃げるなよ。
897 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 12:27:59 ] 逃げるが勝ちだな
898 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 12:41:43 ] 逃げちゃだめだ
899 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 18:05:00 ] >>888 ひょっとしてctypesよりboost.pythonの方が良いっていう意味のレスですか? そうでないとしても、それをきっかけにしてboost.pythonも検討してみました。 boost.pythonとしては、まだunicode文字列を引数としてどう受け渡すのか 方式が定まってないっぽいんですが、とりあえずPyObject* opとして受け取って PyUnicode_AS_DATA(op)でconst char*として実際のデータバッファのアドレスを取り出して、 それをwchar_t*にキャストして自作のC++関数などに渡せば良さそうです。 C++ではwchar_t*として扱うPython独立なプログラムとして作成して、 引数を渡すところだけはこの変換をするために一枚かぶせる感じです。 unicodeの実装がwchar_tではない場合には困るんすが、C++だし、 とりあえずテンプレート使っておけば後々それほど困らないでしょうし。 これでunicode文字列をC++の中で書き換えることもできました。 boost.pythonって、ほんとに楽にC++とやりとりできますね。
900 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 18:42:02 ] >>897 働いたら負けだよな。
901 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 19:30:48 ] 俺が逃げるまで逃げるなよ
902 名前:デフォルトの名無しさん [2009/09/17(木) 06:49:55 ] はやくにげてえーーーー
903 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 11:18:04 ] boost.python前提になると他の言語からも使えるdllにならない
904 名前:デフォルトの名無しさん [2009/09/17(木) 11:28:50 ] Eclipse で Java 開発環境と mingw による C言語での開発 環境をスタンドアロンで持ち歩いてるんですが, PyDev と Python 実行環境もそんなことができればなぁ と思ってます.Windows 環境です. Windows の Python はレジストリに何か登録しているよう なんで,そういうポータブルなことは難しいでしょうか?
905 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 11:54:05 ] portablepython.com/ 公式からもリンクされてるからそんなに怪しいものでは無いと思う。 公式からのリンク:python.org/download/
906 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 20:32:24 ] >>903 まずはC++で(Pythonその他から)独立したクラスを作っておけばいいんじゃないですか?
907 名前:デフォルトの名無しさん [2009/09/17(木) 21:24:45 ] unittest.TextTestRunner で複数のテストを次々と実行するトキ, 最初に発生した例外でストップしてほしいんですが,できますか?
908 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 05:57:29 ] emacsのpython-mode.elで、ユニコードリテラル中にエスケープせずに文字を書くのと、 エスケープコードを書くのとで、py-execute-bufferの際に別物にされてしまう。 (素のバイトストリング扱いになるらしい) C-x C-f foo.py #!/usr/bin/python # -*- mode: python-mode; coding: utf-8 -*- print u'あ' == u'\u3042' C-c C-c => False $ python foo.py True どうしたものか。
909 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 08:15:29 ] sys.getdefaultencoding()
910 名前:908 mailto:sage [2009/09/19(土) 04:44:02 ] sys.getdefaultencoding() は環境によらず ascii を返すので原因は違うところにあるようだ。 ちなみに locale.getdefaultlocale() はいつでも ('en_US', 'UTF8') が帰る。 C-c ! で ipython を出しておいて C-c C-cすれば普通にターミナルからやるのと同じ挙動に なったので、それでいいことにしたわ。
911 名前:デフォルトの名無しさん [2009/09/19(土) 09:48:33 ] 循環参照してしまうとそのオブジェクトはプロセスの 終了まで解放されない? class ClassA(object): def __init__(self): import sys sys.stderr.write("ClassA.__init__(...) %s\n" % str(self)) def __del__(self): import sys sys.stderr.write("ClassA.__del__(...) %s\n" % str(self)) class ClassC(object): def __init__(self): import sys sys.stderr.write("ClassC.__init__(...) %s\n" % str(self)) self.a1 = ClassA() self.a2 = ClassA() self.a1.a2 = self.a2 self.a2.a1 = self.a1 def __del__(self): import sys sys.stderr.write("ClassC.__del__(...) %s\n" % str(self)) これで ClassC のインスタンスを作ると, ClassA.__del__ は永遠に呼び出されない. せめてプロセスの終了時には呼び出されると思ってた.
912 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 09:57:26 ] ふうむ,ガベージコレクタが __del__ の 呼び出し順を決定できないからか. そもそもデストラクタがあるのに循環参照が 起きるような設計をするなということだよな.
913 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:45:10 ] >>908 C-x C-f foo.py #!/usr/bin/python # -*- mode: python-mode; coding: utf-8 -*- print u'あ' == u'\u3042', hex(ord(u'あ')), u'あ'.encode('utf8') C-c C-c => False (どうなりますか?)
914 名前:908 mailto:sage [2009/09/19(土) 17:52:16 ] >>913 C-c C-c => False 0x20 と出ます。u'あ'.encode('utf8') はエラーも出さずに飲み込まれてしまっているみたい。ちなみに print u'あ’ -> なにも表示されない、 print u'\u3042' -> UnicodeEncodeError: 'ascii' codec can't encode character u'\u3042'... となる。あらかじめC-c ! でipythonのバッファを出しておけばこれらの問題は起きない。
915 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 19:40:27 ] >>911 そういうのって明示的に循環参照削除するメソッド作って呼び出すもんじゃないの? と最近Pythonに興味もったPerl使いが言ってみる。 Perlだと参照を弱める(リファレンスカウント減らす)方法あるけど、 Pythonだと似たような方法有るのかな。
916 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 19:57:07 ] del
917 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 19:58:55 ] boost だと weak_ref とかの弱参照なスマートポインタがあるよな
918 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 20:00:17 ] Pythonにもweak_refあるけど、やっぱり明示的に参照切るほうが多いかな。 weak_refは余計なコストかかるし。
919 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 20:08:20 ] >>915 www.python.jp/doc/2.4/ext/refcounts.html これ、絶対入ってるよね。 (文中の『デフォルトでは入っています』に対するレス)
920 名前:デフォルトの名無しさん mailto:sae [2009/09/19(土) 22:27:55 ] infopile思ったより本格的だった 朝から使ってたけど普通に常用メーラで行けそう
921 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:40:02 ] C++は元々が自前でメモリ管理しなきゃいけないから余計にああいうの欲しくなるけど 最低限で済むPythonではやはり最低限で良いと思うやね
922 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:54:52 ] >>920 宣伝乙
923 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 23:47:44 ] >>920 Windowsだけなんだっけ?
924 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:35:03 ] >>> L=[] >>> L[:] [] >>> L[:]=[1,2,3] >>> L [1, 2, 3] リストの初期化がなんか違和感が… 納得できん
925 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:43:30 ] 2つのクラス同士でクラスオブジェクト同士を相互参照したい場合、 class Topic: child = Reply class Reply: parent = Topic なんて書いてたら、当然2行目で未定義識別子の参照でエラーになる。 これって、2つの定義を相互参照なしに定義した後で、classmethodを明示的に呼び出して 動的に結びつけるしか方法がないよね? 用途としては自作の軽量ORMライブラリを作ってるところで、 オブジェクト化したテーブル同士の親子関係を表現しようとしている。 で、例えばTopicから連結されてるReplyのインスタンスが欲しいので何らかの形で事前に教えておく必要がある、と。
926 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:51:30 ] class Topic: pass class Reply: pass Topic.child = Reply Reply.parent = Topic
927 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 00:01:17 ] >>924 それ、初期化じゃなくて代入だから・・・
928 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 00:38:33 ] ?
929 名前:デフォルトの名無しさん [2009/09/21(月) 01:38:05 ] >>924 の思考に違和感が
930 名前:デフォルトの名無しさん [2009/09/21(月) 01:40:50 ] class Topic: children = [] class Reply: parent = Topic Topic.children.append(Reply)
931 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 09:21:42 ] >>924 入門書嫁。
932 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 09:34:48 ] >>924 は何に対して違和感を感じているんだろう 配列が伸び縮みすることになのか 要素の範囲を指定して代入することになのか L[:] ってなんかきんもー、なのか
933 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 10:42:30 ] >>> l=[9,8,7,6] >>> l [9, 8, 7, 6] <- 普通 >>> l[1:]=[3,4,5] >>> l [9, 3, 4, 5] <- 普通 >>> l[1:]=[2,1] >>> l [9, 2, 1] <- きもい >>> l[:]=0 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only assign an iterable <- 微妙 >>> l[:]=[0,0] >>> l [0, 0] <- きもい
934 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 10:47:29 ] [1:]=の結果に違和感覚えないのに[:]の結果に違和感覚える理由が解らん
935 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 11:08:09 ] >>933 スライスの代入で左辺と右辺のリストの要素数が 一致していなくても構わない(右辺にあわせて伸び縮みする)のが気持ち悪いってこと? だったらリンクリストでも勉強すれば違和感なくなるんじゃないかね
936 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 13:53:54 ] >>934 >>> l[1:]=[2,1] >>> l [9, 2, 1] <- きもい
937 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 14:02:18 ] だから入門書読めよ低脳。
938 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 14:14:12 ] バカだなあ。
939 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 14:31:56 ] つーか、それがキモイならスライスの意味ないだろとw
940 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:05:35 ] >>> l[1:]=[3,4,5] >>> l [9, 3, 4, 5] <- 普通 >>> l[1:]=[2,1] >>> l [9, 2, 1] <- きもい このきもいと普通の違いがわからん 要素が1個減ったらきもい?何か見落としてるんだろうか・・・
941 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:42:29 ] C言語の配列かなんかと勘違いしてるんじゃね? 抽象度の高い操作を理解できないとか
942 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 18:08:31 ] スライスの代入ってあんまりやんないからどうでもいいや
943 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 20:57:09 ] python の配列って中身はリストなんですか? と思ったら L=[] で L に代入してるな orz
944 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 21:06:25 ] 変数名がL,M,Nではじまる場合にはリストなんだよ。
945 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 21:12:52 ] >>941 あぁ。3要素のときはreplaceに見えるからきもくないのか よくわかったありがとう
946 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 21:13:33 ] Pythonのお勉強 Part35 pc12.2ch.net/test/read.cgi/tech/1253535109/
947 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 21:30:13 ] >>943 質問の意味がよくわからないが、 Pythonのリストはメモリ上の連続領域を利用した配列型のリスト (C++のstd::vectorやJavaのArrayListの類) いわゆる連結リストではないので途中に挿入する操作には弱い。
948 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 23:45:44 ] >>942 直感的に思えないから、俺もあまり使わないな。 冗長でも、新しいリストを作ってしまうな
949 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 02:10:54 ] >>948 >>947 の言う通りなら新しく作りなおしてもそんなに速度は変わらなさそうですね
950 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:35:41 ] 実装は連続メモリ型かも知れんが 表向きリストのような動作をするように設計されてんだろうな
951 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 12:59:51 ] from VideoCapture import Device cam = Device() cam.saveSnapshot('image.jpg')