[表示 : 全て 最新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/

756 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:11:54 ]
>>746
中学生とか高校生かあんたは
大人がそんなこと言ってるなら終わってるな

757 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:12:31 ]
>>756
質問北からもうやめれ

758 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:18:00 ]
こんにちは
おはようございます
こんばんは
おやすみなさい


これらも著作権が発生するんですね、笑えます

759 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:46:56 ]
>>756
人のことはいいから、自分の痛さに敏感な人生を送ろうぜ。

760 名前:デフォルトの名無しさん [2010/01/12(火) 10:01:12 ]
集合知プログラミングのp39あたりを打ち込んでp40の

>>> clust=clusters.hcluster(data) を打つと

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "clusters.py", line 114, in hcluster
closest=distance(clust[0].vec,clust[1].vec)
TypeError: 'dict' object is not callable

とエラーが返ります。拾い読みで全部のコードを打ち込んでないのが
悪いのかもしれませんが、

closest=distance(clust[0].vec,clust[1].vec)

のclust

clust=[bicluster(rows[i],id=i) for i in range(len(rows))]
の biclusterは

class bicluster:
def __init__(self,vec,left=None,right=None,distance=0.0,id=None):
self.left=left
self.right=right
self.vec=vec
self.id=id
self.distance=distance
と打ち込んでいます。何が悪いんでしょうか教えてくだしあ。

761 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 10:18:55 ]
>>760
> closest=distance(clust[0].vec,clust[1].vec)
のdistanceが関数名やクラス名等のcallableであることを期待してるんだろう
なのに辞書だから怒られてる
あと手打ちしなくてもオライリーからソースコード落とせるはずだよ

762 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 10:21:58 ]
>>758
すばらしいポエムだ、感動した!!!
著作権をください!!!

763 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 10:44:04 ]
distance と distances が混ざっていたのが原因でした。

ところでソースコードは
d.hatena.ne.jp/shohu33/20080811/1218456689
で書かれてるところから落とせたんでしょうか、404です…
まぁ打ち込むのも勉強と思えばいいんですが。



764 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 10:54:50 ]
>>763
英語版でよければ
ttp://examples.oreilly.com/9780596529321/



765 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 11:15:28 ]
>>764
おお、ありがとうやっぱり楽な方がいいやw

766 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 11:33:58 ]
>>753
ありがとうございます
後で張ります
待っててください

767 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 12:40:47 ]
>>759
ガキはスグ反応してくれるね、フイタ

768 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 13:33:53 ]
Python 3が後方互換性を捨ててでも求めたもの
ttp://www.atmarkit.co.jp/fcoding/articles/python3/01/python301a.html

↑これ読んだら、Python2が気持ち悪くてしょうがない。
Python2.6初めてまだ3日目、2.5のチュートリアル4章まで読んだんだけど、
>>688読んで、3からやった方がいいかな?

「誰もが正しいと考える、たった1つの方法をできる限り採用する
 (There should be one―and preferably only one―obvious way to do it)」
が今や、2系と3系で2つの方法が存在してるじゃんwww
アホの子なの?まじ、きめえええwwww

769 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 13:42:13 ]
きめえならTIMTOWTDIでも驚き最小限でも好きな言語やったらいいよ
んでネタとしては本スレ向きだからそっちに書き込んでくれ

770 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 14:44:24 ]
質問です。
他の言語で言うところの「構造体」をエミュレートする場合
辞書とクラスのどちらがいいのでしょうか?
静的言語ならクラスにしとけばコンパイル時エラーになりますが
Pythonだとどちらも実行時エラーになりますし・・・

771 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 14:50:00 ]
僕はカッターナイフの形が気持ち悪くて仕方がありません。
だからいつも髪を切るときは包丁を使います。

772 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 14:54:19 ]
辞書で構造体… myunionA1['Key01'] = 33.05 みたいにするのかな。
myUnionA1.var01 = 12  みたいなほうがやっぱり構造体っぽいんじゃないかな。
作り方や使い方にしても、「変数持ってるだけのクラス」でいいと思うし。

773 名前:768 mailto:sage [2010/01/12(火) 15:01:00 ]
>>769
本スレいくわ

>>770
3日目の俺が答えてやろう。
構造体 → タプル でおk
ja.wikipedia.org/wiki/%E3%82%BF%E3%83%97%E3%83%AB

774 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 15:05:12 ]
>>770
単にデータの集合体に名前でアクセスできればいいのなら辞書かクラス
そのうち使い捨てで構わないのなら辞書、そうでないのならクラス

Cの構造体のように順序も保持したいのならnamed tuple
それか配列かタプルをクラスでラップして名前でアクセス

コンパイル時/実行時は例がないとちょっとわかんない



775 名前:752 mailto:sage [2010/01/12(火) 15:27:29 ]
>>>add_tax("Good 1000 2009/1/11)
とやっても駄目だったので

の"が足りないところは気にしないでください
これがエラーの原因ではありません
もう一度自分で関数を定義したらできました

あと>>753さん
そんな記述の仕方もあるんですね
文字列フォーマットを使って指定した文字列を挿入する処理はこれから学ぶつもりですが、大変参考になります
コッチのほうが処理が解りやすいし短いですね
join()が何をするのかはわかってはいたんですけど、スペースを埋め込んで連結した文字を作るというのが
なかなかイメージが掴めなくて苦労してました
エラーは多分タイプミスのシンタックスエラーです
ありがとうございます

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のバグだろ






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

前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