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


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

くだすれPython(超初心者用) その5



1 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 11:20:45 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>950 辺りで

前スレ
くだすれPython(超初心者用) その4
pc12.2ch.net/test/read.cgi/tech/1243160751/

関連スレ
Pythonのお勉強 Part35
pc12.2ch.net/test/read.cgi/tech/1253535109/

776 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 15:27:35 ]
コンパイル時にできるだけ多くのエラーを拾いたいってことなら
どう書いても大差ないと思う

777 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 15:34:52 ]
>>775
" ".join(リスト) は、" ".glue(リスト) だったほうが分かりやすいと思うんだよな
スペース文字のjoinメソッドというか、スペース文字が糊になって接着するメソッド

778 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 17:23:50 ]
自分にとって分かりやすいことが、万人にとって分かりやすいこととは限らない。

779 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 20:59:53 ]
phpのarray_mapみたいなのってpythonでどの関数使えばいいのでしょうか?

780 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 21:13:04 ]
>>779
すでに定義されている関数を使うなら map、
y = map(func, x) # リストxの各要素に func を適用した結果のリストをyに代入する

専用に関数を定義するくらいなら 内包表記、
y = [z * 2 for z in x] # xの各要素に対して x * 2 した結果のリストを y に代入する

781 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 22:56:38 ]
>>780
ありがとうございます

782 名前:770 mailto:sage [2010/01/12(火) 23:52:40 ]
>>772
クラスの方が見た目的に他言語と共通してますしね

>>773
タプルはインデックスアクセスしか出来ないので・・・

>>774
>コンパイル時/実行時は例がないとちょっとわかんない
>>776さんの言ってることです。

>>776
やはりそうですか。

いろいろと意見ありがとうございました。
クラスを使えば構造体のメンバ一覧も明記できるので、辞書ではなくクラスを使うようにします。

783 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:41:54 ]
>>782
既出だが、 Python 2.6 以上なら namedtuple がある。
namedtuple だと作成と同時に値が固定されてしまうけどね。

784 名前:760 [2010/01/13(水) 04:41:01 ]
同じく「集合知プログラミング」で今度は10章をやっていますが、
p259の
weights,feat.nmf.factorize(v,pc=20,iter=50)
でNaNが出ます。

その上の
w,h= nmf.factorize(m1*m2,pc=3,iter=100)
は、21.99999822 とか多少誤差が出ることはありますがぴったりの時もあり
うまくいっています。

一応p247のfeedlistは吟味してp250の
>>>wordvec[0:10]が空になるものは、URL変わったのかなと思ってコメントアウトしました。
またp251のdrawdendrogramでascii以外が混ざってるっぽいエラーがでてたので、
そのフィードもコメントアウトしてデンドログラムは描画できました。

他にどこを確認すればいいでしょうか?





785 名前:760 [2010/01/13(水) 08:33:26 ]
追記です。問題の非負値行列遠視分解ですが、変数で割り算をしてるのはここだけ↓です。
h=matrix(array(h)*array(hn)/array(hd))

w=matrix(array(w)*array(wn)/array(wd))

hdとwdをprintするようにしてみましたが、
[[ 0.02011069 0.02977744 0.02906954 ..., 0.02407994 0.02889659
0.02915037]
[ 0.01446606 0.02134596 0.02148551 ..., 0.01774882 0.02021706
0.02054283]
[ 0.01723484 0.02917753 0.02718492 ..., 0.02231427 0.02644232
0.0300849 ]
...,
[ 0.01144608 0.01790515 0.01683023 ..., 0.01426036 0.01676002
0.01819174]
[ 0.00750103 0.01223539 0.01129087 ..., 0.00934213 0.01090586
0.01224102]
[ 0.00230905 0.00371431 0.00355478 ..., 0.00290677 0.00371496
0.00378571]]
[[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]
...,
[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]]
と言う感じです。もとの行列に0が多すぎるのがいけないのかもしれませんが、
解こうとしている問題の性格上変えようがありません。どうにかならないでしょうか?

786 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 09:31:01 ]
その程度の数の割り算でNaNになるはずはない

どっかでsqrtに負数を突っ込んでないか?

787 名前:デフォルトの名無しさん [2010/01/13(水) 18:24:53 ]
>>786
レスありがとうございます。>>764さんのURLから落とせる
nmf.pyを使っているだけなのですが、sqrtは見た目にはありません。

NumPyというパッケージを使っているのですが、それが問題でしょうか?
「集合知プログラミング」以外pythonの本は持ってなくてデバッグの
やり方とかも分かりません。Windows XP SP2 pythonのバージョンは2.6.4ですが、
なにかいい方法ありますでしょうか?

788 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 18:37:58 ]
みんPyを読んだのだが…
簡単なツールでも作りたいな
なにかお題を出してくれる人いないっすか?
もち回答とだめだし希望

789 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:05:30 ]
>>788
Editraの日本語入力を修正するパッチを作ってください

790 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:06:53 ]
>>788
RDB(MS)
SQL文で管理するコレクション型みたいなもの(SQLiteみたいな)

理由>俺が欲しい。わりとマジで

791 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:13:09 ]
>>788
ttp://pc12.2ch.net/test/read.cgi/tech/1258320456
ここに行ってみれば?
きっと喜ぶよ。


792 名前:デフォルトの名無しさん [2010/01/14(木) 00:34:45 ]
>>787
にもレスくだしあ;;

793 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:58:35 ]
>>788
ふ、ふりぃおのどらいばを・・・

794 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 01:05:24 ]
宿題スレ池ってレス以外みんなネタじゃないか



795 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 10:59:43 ]
>>794
Editraはネタじゃないです

796 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:33:12 ]
>>788
解答はしらないけど、
2つのディレクトリのパスを受け取って、
フォルダ構成やら中身のファイルやらが完全に一致しているかを
調べるPythonScript作ってください。



797 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 19:00:21 ]
from filecmp import dircmp
import sys

d = dircmp(sys.argv[1], sys.argv[2])
d.report()

798 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 19:32:27 ]
>>797
>〜.py aaa aaa
diff aaa aaa
って

799 名前:760 [2010/01/14(木) 19:35:22 ]
>>787 もよろしくお願いします。


800 名前:797 mailto:sage [2010/01/14(木) 19:45:48 ]
>>798
.report() じゃなくて、 .report_full_closure() ならどう?

801 名前:798 mailto:sage [2010/01/14(木) 19:59:10 ]
中身にファイルを入れないと
>dircmp.py aaa bbb
diff aaa bbb
Only in aaa : 〜
Only in bbb : 〜
Identical files : 〜
Differing files : 〜
とかの詳細って表示されないってことを今 分かりました。

これで、全部が全く等しい時に
ディレクトリとして等しいよ!って表示してくれる機能はありませんでしょうか。


802 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:05:01 ]
>>797
そんなのあるんだ
でもファイルの中身がちょっとだけ違ってて
サイズと日時が同じだったりしたらどうなんだろ

803 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:08:19 ]
>全部が全く等しい

ディレクトリ(サブディレクトリ含)単位でhash値出すとか?

804 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:10:40 ]
>>803
ファイルのhashは計算できるのですが、
ディレクトリのhashって計算できますか?




805 名前:801 mailto:sage [2010/01/14(木) 20:15:09 ]
>>802
ファイル名が同じで日時はことなり、内容を1バイトだけ変えたファイルは
別のファイルだと検出されました。


806 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:45:05 ]
>>805
それだと日時を見てるのか1バイトで引っかかったのか分からんがな

807 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:46:19 ]
ディレクトリのhashはファイルのhashから求めればいいんじゃないかな

808 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:07:57 ]
['a', 'b'] と [10, 20]から
{'a' : 10, 'b' : 20}を生成するみたいな方法ってありませんか?


809 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:11:30 ]
dict(zip(['a', 'b'],[10, 20]))

810 名前:760 [2010/01/15(金) 05:55:20 ]
くりかえしになりますが >>787 もホントによろしくお願いします。

811 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 06:23:26 ]
口あけて待ってるだけじゃ誰も助けてくれん罠

812 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 08:35:58 ]
>>809
ありがとう

813 名前:デフォルトの名無しさん [2010/01/15(金) 12:48:24 ]
Python3.1.1をWindows7 ultimate 64bitにインストールしたんだけど、
Fatal Python error: Py_Initialize: can't initialize sys standard streams
ImportError: No module named encodings.utf_8

とかいわれて機動出来ない。

どうすればいいか教えて!


814 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 16:14:00 ]
>>810
numpy使ってる人少ないんだよな。
matplotlibスレのやつなら知ってるかもしれない。



815 名前:760 mailto:sage [2010/01/15(金) 16:38:30 ]
>>814
スレをのぞきましたがたしかにnumpy の話題が出てますね。
ありがとうございます。逝ってきまつ。

816 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 22:52:19 ]
文字列があって2文字列処理をしていくのですが、なにか素敵な書き方はありますか?
for c in s:
 としてフラグを使い2文字たまったら処理していくようにする

StringIOとread(2)を使う

re.splitで2文字の文字列のリストにしてfor文に突っ込む

がとりあえず思いつきました

817 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:04:27 ]
for c1, c2 in zip(s[::2], s[1::2]) しか思いつかない

818 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:25:49 ]
for c1, c2 in map(None, s[::2], s[1::2])

819 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:26:35 ]
it = iter(s)
for c1, c2 in zip(it, it)

820 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:29:02 ]
for x in range(0, len(s), 2)

とすると、s[x], s[x+1]で取り出せる。

821 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:32:36 ]
for i in xrange(len(s) / 2):
c1, c2 = s[i*2], s[i*2 + 1]

822 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:33:45 ]
おまえらみんなsの文字長が奇数だったときのこと考えてるか?

823 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:35:56 ]
>>822
質問の条件には何も言われてないから
未定義で医院ジャマイカ

824 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:44:16 ]
>>822
たしかsが奇数のときは
>>817は最後の文字を無視
>>818が最後の文字とNoneのペアを作る、だったかと。



825 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:48:04 ]
>>819は無視。
>>820, >>821は例外だな。

826 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:48:33 ]
みなさんありがとうございます
いろいろ方法があるんですね
参考になりました

>>820が私的に直感的なのでこれにしておこうと思います
文字列は偶数が保証されていたのでその点も問題無かったので






827 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:53:00 ]
忘れた頃に何故か奇数のデータが混ざってて
例外が出て嵌ると

828 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:53:59 ]
スライス使えばみんな幸せ♪

829 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 02:14:39 ]
>>819
これいいね

>>> s = '0123456789'
>>> list(zip(*[iter(s), ] * 2))
[('0', '1'), ('2', '3'), ('4', '5'), ('6', '7'), ('8', '9')]
>>> s = '01234567890'
>>> list(zip(*[iter(s), ] * 2))
[('0', '1'), ('2', '3'), ('4', '5'), ('6', '7'), ('8', '9')]

しかし短くしようとするとどんどん直感的じゃなくなるんだよな

830 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 02:27:31 ]
直感性を切ってまで短くするのはPython的じゃないね。
遊びでやるのは別かもしれんが

831 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:53:08 ]
>>830
> 直感性を切ってまで短くするのはPython的じゃないね。
それは同意。
短いor早いのが好きならC/C++を使えと。


832 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:33:21 ]
perlerがこっちを見ている
仲間にしますか?[Y/N]

833 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 16:47:37 ]
こっち見んな

834 名前:デフォルトの名無しさん [2010/01/19(火) 01:22:05 ]
#!/usr/bin/env python
# coding: utf-8

import threading
import time

class hoge(threading.Thread):
def run(self):
for i in range(0, 10) :
print i
time.sleep(0.1)


for i in range(0, 10):
fuga = hoge()
fuga.start()


以前こんな感じにインスタンス生成しているのを見たことがあるんですが
同じ変数fugaを何度も使用してインスタンス生成しています
結果は予想を反して正常に動作をするんですが
こういう使い方をして問題とかは無いのでしょうか?




835 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:26:45 ]
( ´ ▽ ` )問題ないよ。本当だよ。

836 名前:デフォルトの名無しさん [2010/01/19(火) 01:31:31 ]
delete fuga はしないほうがいい?

837 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:33:02 ]
>>835
そうなんですか?
できればなぜ問題ないのか、
解説か説明しているサイトへ誘導してもらえないでしょうか?

調べ方が悪いのかググっても
見つからないのでおねがいします

838 名前:デフォルトの名無しさん [2010/01/19(火) 01:54:36 ]
>>837
ヒント: gbkr

839 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 02:16:24 ]
>>834です
あれからデストラクタを使って、インスタンスが廃棄されるタイミングを調べたらシックリすることができました。
同じ変数にインスタンス生成しても、重複したインスタンスはループを抜けると自動的に消滅して最後に生成した
インスタンスだけが残ることがわかりました。
(ただしループ内で実効した処理がループを抜けた後も残っている場合は、処理が終了するまで廃棄しない)

#!/usr/bin/env python
# coding: utf-8

import threading
import time

class hoge(threading.Thread):
def __del__(self):
print 'destructor'

def run(self):
for i in range(0, 10) :
print i
time.sleep(0.1)

for i in range(0, 10):
fuga = hoge()
fuga.start()

time.sleep(4)
print 'piyo'

>>838
すみません。ヒントの意味が分かりません

レスに答えてくれてどうもありがとうございました

840 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 02:26:56 ]
>>834です
>(ただしループ内で実効した処理がループを抜けた後も残っている場合は、処理が終了するまで廃棄しない)

これはスレッドを使用したときだけのようですね
失礼しました

841 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 03:50:23 ]
ふとした疑問なのですが
map型に対しkeys()とvalues()を実行した際、その並び順は同じと考えて大丈夫でしょうか
(もちろん両者を実行する間に変更はありません)

items()でとってzipするべきでしょうか?

842 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 04:21:14 ]
def func(**keys):
def func2(**keys):

って二つあって
funcが受け取った引数をそのままfunc2へと流したいんだがどう書いたらいい?

def func(**keys):
 func(keys)
みたいなこと




843 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 08:23:27 ]
関数を別の変数に流し込んで
x = ....
func(x)
func2(x)
じゃダメなのか?

844 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 09:27:31 ]
>>842
それで何か問題が?
名前無し引数にも対応するなら、
def func(*args, **kwargs):
  func2(*args, **kwargs)



845 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:44:50 ]
>>843,844
自分で試してだめだったので質問したつもりだったのですが、ご指摘の通りやり直したらきちんと動きました
前回自分で試したときなにか別の理由で動かなかったものを勘違いしていたようです
どうもすいませんでした



846 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:56:02 ]
class X():
 def func(self, **keys):
  print keys
 def func2(self, **keys):
  self.func(keys)

X().func2(x=10, y=20)

連投すいません
上の例だと上手くいかないのですが, どうやって渡したらいいのでしょうか?

847 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:58:02 ]
self.func(**keys)

848 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:59:09 ]
>>847
ありがとうございます

849 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 17:06:43 ]
最近みんなのPythonを購入して遊んでいるのですが、PyScripterで実行したプログラムのPython Trutle Graphics
のウィンドウをマウスで動かそうとするとフリーズしてしまいます。かるくググってみてもWindows環境では昔からある症状と
あり解決手段を見つけられませんでした。そこで質問なのですがフリーズ回避の方法はありますか?

850 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 17:12:34 ]
コマンド・プロンプトから実行する

851 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:45:29 ]
>>849
とりあえず外部実行でやってみろ
Alt + F9 な


852 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:34:44 ]
>>850
できれば軽量IDEのPyScripterを使いたかったものですから。

>>851
ありがとうございます。実行してみたところプログラムが終わるとウィンドウも閉じてしまうようで、期待した動作ではありませんでした。
設定項目も見つけられなかったので、素直にシェルを使おうと思います。

853 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:53:22 ]
PyScripter は RPyC を利用したリモートデバッグができる。
セットアップが少々面倒だけど、一度セットアップしたら普通の
デバッグと同じ感じに使えるはず。
ttp://plaza.rakuten.co.jp/kugutsushi/diary/200710290000/

854 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 13:16:46 ]
>>851
ウィンドウが閉じてしまうのが嫌なら、最後に
raw_input("")
でも付けたら?



855 名前:849です mailto:sage [2010/01/20(水) 15:47:57 ]
>>853
私宛てですか?正直よく分からなかったです。

>>854
標準の実行をするとTurtle Graphicsのウィンドウは消えないのですが、IDEと被って見にくいので横にずらしたい。
→マウスで動かそうとするとフリーズ。
外部実行だと図形を書きおわったらTurtle Graphicsのウィンドウが消える。
→orz
raw_input("")は外部実行では効果がなかったです。

たんに from tutle import * で簡単なサンプル動かしてるだけなので、そこまで深刻な問題ではないのですが、
みなさんありがとうございます。


856 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 17:41:34 ]
>>855
それフリーズしてるんじゃなくて
WM_PAINTが呼ばれていない
(あるいはメッセージループが回っていない)
だけだと思う
IDEのバグだろ

857 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 21:47:58 ]
>>856
詳しくはわかりませんが、Win環境のPythonとPyScripterの相性のようです。

Python標準シェルとIPythonの挙動が違う意味がわからないので質問します。

Python IPython

>>>str = u"あ" >>>str = u"あ"

>>>type(str) >>>type(str)
<type 'unicode'> <type 'unicode'>

>>>str >>>str
u'\u3042 u'\x82\xa0'

>>>print str >>>print str
あ UnicodeEncodeError:'cp932'〜〜

1.u"あ"を代入した時点で、strはUnicode文字列型になっている
2.IPythonはstr参照時にUnicode文字列型を文字列型にエンコードしなおしている

と言う理解であってますか?そしてこれはバグですか?
ttp://dsas.blog.klab.org/archives/51390187.htmlの方法で解決するみたいなんですが
正当なやりかたなのか気になります。

858 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 21:55:37 ]
すみません、体裁が…。

Python
>>>str = u"あ"
>>>type(str)
<type 'unicode'>
>>>str
u'\u3042
>>>print str


IPython
>>>str = u"あ"
>>>type(str)
<type 'unicode'>
>>>str
u'\x82\xa0'
>>>print str
UnicodeEncodeError:'cp932'〜〜



859 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 22:09:12 ]
とりあえずstrという名前の変数に代入するセンスを疑う

860 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 22:12:30 ]
>>857
IPythonのバグだと思う
リンク先の解決方法は
間違っては居ないが場当たり的だと思う

861 名前:methane mailto:sage [2010/01/20(水) 23:37:58 ]
>>857 のBlogの著者です。
Python本体のインタプリタはCで書かれていて、Python製のPythonインタプリタは
compile() 関数を通しているのが根本的な違いです。
compile() 関数にエンコーディングを渡す良い方法が無いので、ハックで対策するしかありません。
Pythonに付属のIDLEも同じ問題を抱えています。

Blogに書いているよりも良い挙動になるハックが、
https://bugs.launchpad.net/ipython/+bug/339642/comments/8
にあります。

また、この問題は Python3 になるとcompile()の仕様を変えなくても自動消滅します。
実際、Python3 の IDLE も大丈夫です。早くPython3の時代になると良いですね。

862 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 00:16:23 ]
>>861
すばらしい!!
次版のiPythonリリースには取り込まれていて欲しいですね


863 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 02:27:33 ]
>>859
確かに予約語やそれに近しい略語は使うべきではありませんでした、すみません。

>>860,>>861
ありがとうございます。このコードはIPython/iplib.pyのcompile_command()以下

source=source.encode(self.stdin_encoding)
if source[:1] in [' ', '\t']:
  source = 'if 1:\n%s' % source
if source[:1] in [u' ', u'\t']:
  source = u'if 1:\n%s' % source
source = '# coding: %s\n%s' % (self.stdin_encoding, source)

であってますか?リンク先の
+ source = '# coding: %s\n%s' % (self.stdin_encoding, source)
の+は追加の意味で、コードではないですよね?

864 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 02:40:33 ]
diff の出力だから patch に喰わせるのが吉



865 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 02:42:34 ]
compileに渡すユニコード文字列に
文字コード指定を追加してるんで
それであってる

866 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 02:46:15 ]
っつーか 「-」 の部分を追加するな www

867 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 07:31:15 ]
そこはわかっていると信じたい

868 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 12:34:09 ]
dS/dt=-βSI
dI/dt=βSI-γI
dR/dt=γI

という連立微分方程式があってβとγ求めたいんですがPythonで書くとどうなりますか?


869 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 12:59:59 ]
えっ βとγを変えて数値シミュレーションするとかじゃなくてか。

870 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 13:18:53 ]
記号微分?

871 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 14:58:55 ]
ラプラス変換してから逆行列か

872 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 17:17:05 ]
空を飛べ〜

873 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 17:25:59 ]
それはロプロス

874 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 17:44:59 ]
863です。
IPythonでもきちんとUnicodeが扱えるようになりました。
みなさま、ありがとうございました。



875 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 19:12:03 ]
失礼します。若干スレ違いかもしれませんが、質問よろしいでしょうか?

Windows で Python2.6.4&Pygame1.9.1 を使用してプログラムを組もうとしています。
その際の参考サイトとして、
ttp://www.halb-katze.jp/pygt/
ttp://pygame.skr.jp/
などを利用させていただいているのですが、どちらのサイトのスクリプトをそのまま利用しても、うまくウィンドウを開くことができません。
正確にはウィンドウは開くのですが、前者のスクリプトだと一瞬、後者でも半秒も経たないうちにプログラムが終了してしまいます。
解説を読む限りだと、能動的に終了処理をしない限りはウィンドウは開いたままのような気がするのですが、
原因おわかりであればご教授いただけませんでしょうか。

876 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:20:30 ]
質問が不親切だな

きっとダブルクリックでもしてるんだろ
コマンドで実行してみろ






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

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

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