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/
2 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 11:21:29 ] ┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
3 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 11:22:33 ] 2get これはどう見てもおかしいだろ。 まず、主語が2。で動詞がget。 2が単数形だとしたら、getsにしないとおかしい上に、目的語がない。 直訳すると「2が得る」 何を得るんだよ!!!いいかげんにしろ。 それを言うなら I get 2. だろ。しかも現在形だし。 過去形、いや現在完了形ぐらいまともに使ってくれよ。 I've got 2. 少しはましになって来たが、まだ気に入らない。その2だ。 いったいお前は何を手に入れたんだ?2という数字か? 違うだろ、手に入れたのは2番目のレスだろ。 どうも日本人は数詞と序数詞の区別がよく分かっていない節がある。 これらを踏まえて、正しくは I've got the second responce of this thread. ここでtheにも注目してもらいたい。このスレの2ってのは 特定の、このレスだけなんだから。だからaでも無冠詞でも なく、the second responceなんだ。 もう一度おさらいしてやる。 I've got the second responce of this thread.
4 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 11:23:14 ] ◆関連リンク Python の Home Page www.python.org/ Python 日本語ドキュメント - Pythonistaのお友達 www.python.jp/doc/release/ 最新版直リン - 2.Xが推奨。3.Xはライブラリやドキュメントが使えないことも www.python.org/download/ Python のコーディングガイド PEP8 www.python.org/dev/peps/pep-0008/ Python のコーディングガイド PEP8 - 日本語訳 www.oldriver.org/python/pep-0008j.html 日本語文字列コード問題まとめ python.matrix.jp/tips/string/encoding.html インタラクティブモードのエンコード python.matrix.jp/tips/compatibility/interact_encoding.html
5 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 11:40:28 ] got 5
6 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 12:23:07 ] pychinko
7 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 15:01:53 ] 前から思ってたんだけど、スレタイの くだすれってどういう意味?
8 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 19:06:26 ] 「くだらない質問スレ」の略では? ところで、質問よろしいでしょうか Fortranの実数(0.158073523876293e-2とか)を出力したファイルを Pythonから浮動小数点実数として読み込むコードを書いているのですが、 次のようなエラーが出てしまいます。 Traceback (most recent call last): File "./read.py", line 14, in <module> numbers = [ float(item) for item in itemList ] ValueError: invalid literal for float(): 0.1000000E+00 0.4225156E+01 0.1327376E-01 0.2886351E-01 正しく読み込むためには、どう書けば良いか教えてください。自分が書いたのは↓のとおりです。 import re myRegExp = re.compile('^\s*#') fname = open('loss.tl-dat', 'r') for lines in fname: if myRegExp.match(lines): print 'match!' else: itemList = lines.split('\t') numbers = [ float(item) for item in itemList ] print numbers
9 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 19:10:32 ] \t で区切られてないんじゃね
10 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 19:17:11 ] ホワイトスペースで豚切るだけならこれでいい itemList = lines.split()
11 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 19:35:19 ] おお!うまく読めました!>>9-10 さんのいう通りでした。 ありがとうございました!
12 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 19:40:53 ] 0.1000000E+00 ↓ 0.10000000000000001 これはどうすればいいのでしょうか?
13 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 20:02:05 ] 学部1年レベル B. 浮動小数点演算、その問題と制限 www.python.jp/doc/nightly/tut/node16.html 11. 標準ライブラリミニツアー - その 2 www.python.jp/doc/nightly/tut/node13.html#SECTION0013800000000000000000
14 名前:デフォルトの名無しさん [2009/10/24(土) 23:29:22 ] pygameをインポートして実行したウインドウを閉じると一緒に pyscripterまで閉じちまうんだが・・・ だれかこんな漏れを救ってくれ
15 名前:デフォルトの名無しさん [2009/10/24(土) 23:32:48 ] ギブです。プログラムを始めたばかりの初心者です。ご教授願います。 ファイル処理を勉強中で、試しにやろうとしたこと(下記)ができません。 ・一日の為替の変動を表示する。 ・usdjp.txt内には以下の内容が記載されております。 日付 高値 安値の順に記載されております。 2009年10月23日 92.13 91.28 2009年10月22日 91.70 90.77 2009年10月21日 91.28 90.49 ・高値-安値を表示させたい。 試しに書いたのがエラーで実行できない。 #! /usr/bin/python #codein:utf-8 f=open("usdjp.txt","r") for i in f.readlines(): a=i.split() print i b=int(a[1]) - int(a[2]) print b ※インデントがうまく表示されていないかもしれませんが、やってます。 b=int(a[1]) - int(a[2]) でエラー発生 ValueError: invalid literal for int() with base 10: '92.13'
16 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 23:40:24 ] float
17 名前:デフォルトの名無しさん [2009/10/24(土) 23:51:25 ] 質問が2つあります 1.pythonで実行ファイルを作るときにVBみたいにランタイムとかそういうのって必要ですか? 2.負荷が高い処理を作るとき、HSPとどちらが実行速度が早いですか?
18 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 23:58:28 ] 1. いらない 2. 変わらない
19 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 00:01:57 ] >>> int('78') 78 >>> int('78.9') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '78.9' >>> float('78.9') 78.900000000000006 >>> float('78') 78.0 >>> isinstance('78', int) False >>> isinstance('78.9', float) False >>> '78'.isdigit() True >>> '78.9'.isdigit() False intかfloatかわからないものを intはint floatはfloatで取得したいのですが
20 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 00:06:01 ] >>17-18 msvcrのランタイムはいるだろ
21 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 00:11:23 ] >>19 intに変換、ValueErrorならfloat
22 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 00:15:19 ] >>21 最初に int または float のときに int に変換してみるということだと思うのですが isdigit が int のときしか True にならないので >>> float('0.789e+2') 78.900000000000006 >>> float('0.789g+2') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for float(): 0.789g+2 の ValueError のときと区別したいのです
23 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 00:20:54 ] >>> s = ['78', '78.9', '0.789e+2', '0.789g+2'] >>> for n in s: ... try: ... r = int(n) ... print 'integer', r ... except ValueError: ... try: ... r = float(n) ... print 'float', r ... except ValueError: ... print 'not a number', n ... integer 78 float 78.9 float 78.9 not a number 0.789g+2
24 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 00:25:15 ] >>> s = ['78', '78.9', '0.789e+2', '0.789g+2'] >>> f = [('integer', int), ('float', float)] >>> for n in s: ... for c in f: ... try: ... r = c[1](n) ... print c[0], r ... break ... except ValueError: ... continue ... else: ... print 'not a number', n ... integer 78 float 78.9 float 78.9 not a number 0.789g+2
25 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 01:23:16 ] >>8 1行目、ありがとう
26 名前:デフォルトの名無しさん [2009/10/26(月) 01:45:29 ] みんpy改訂版にのっていた問題なんですが、 Pythonで10から100までの最小の素数を求めようと思い、以 下のようなコードを書き始めました。20まで書いたところで力 尽きて、関数を使えば簡単に書けることを思いつきました。 以下のコードを参考に、最小公倍数を求める関数を作り、10か ら100までの最小公倍数を表示してください。 >>> n = 10 >>> for c in range(2, n): ... if n%c == 0: ... break ... if c == n: ... print 1 ... else: ... print c ... 2 >>> n = 11 >>> for c in range(2, n): ... if n%c == 0: : この問題に対して質問です まず、何をするプログラムですか? 問題文の意味から分かりません。何をするプログラムかわかれば わかる気もするのですが、初心者なもので 問題読解からつまってしまう初心者ですがご教示お願いします
27 名前:デフォルトの名無しさん [2009/10/26(月) 01:51:22 ] 続けてレスすみません インデントがうまく表示されていないみたいですが 本当はインデントされています それと、解答例はこんなかんじです >>> def leastcommon(n): ... for c in range(2, n): ... if n%c == 0: ... break ... if c == n-1: ... return 1 ... else: ... return c ... >>> for n in range(10, 100): ... print leastcommon(n)
28 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 02:01:10 ] 日本語でどうぞ
29 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 02:40:04 ] >>26 素数でググレ あと引用するならアレンジしないでそのまま書き写してくれ コードも間違いが無いかチェックして
30 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 03:22:14 ] 問題文は完璧です コードのほうはLinuxからだとインデントがうまく表示 できないみたいなので、Winから書き込みます 以下、そのコードです <参考コード> >>> n = 10 >>> for c in range(2, n): ... if n%c == 0: ... break ... if c == n: ... print 1 ... else: ... print c ... 2 >>> n = 11 >>> for c in range(2, n): ... if n%c == 0: : <解答例> >>> def leastcommon(n): ... for c in range(2, n): ... if n%c == 0: ... break ... if c == n-1: ... return 1 ... else: ... return c ... >>> for n in range(10, 100): ... print leastcommon(n)
31 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 03:26:39 ] あああああ またインデントささってませんね すみませんもうこれでお願いします
32 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 03:51:50 ] 専ブラ使え
33 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 03:56:53 ] >>26 >まず、何をするプログラムですか? >問題文の意味から分かりません。何をするプログラムかわかれば >わかる気もするのですが、初心者なもので その本初心者向けじゃないから今すぐ窓から投げ捨てろw っつーか問題文の意味を聞くならこんなところで聞かずに 本人に聞けよ LL温泉の紹介ページを作ったら煩悩丸出しの内容になったでござるの巻 ttp://coreblog.org/ats
34 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 04:23:37 ] 引用ミスであると信じたい でなければ酷過ぎる
35 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 05:11:31 ] 血から尽きて、っていうのも問題に書いてある本文なの? 問題文もひどければ解答例もひどいなあ 解答例からみると10から99までの数字のそれぞれの割り切れる最小の数を表示する何か
36 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 08:44:53 ] Pythonでプログラミングを始めようとする人向けの本がないよね。
37 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 12:59:15 ] 文字列の連結でidはstring、yearはint型としたときに "私のIDは" + id + "です。年は" + year + "です。" みたいにしてやると思うのですが、正しい、書き方はどうなのでしょうか?
38 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:05:58 ] +で文字の結合をするのは効率が悪いので速度が落ちます ''.join("私のIDは", id, "です。年は", str(year), "です。"] または "私のIDは%sです。年は%sです。" % (id, year)
39 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:32:12 ] 少なくとも >>37 の状況で効率が悪くなる件は直ってるはず
40 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:32:55 ] >>38 ''.join(["私のIDは", id, "です。年は", str(year), "です。"])
41 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:33:45 ] >>38 効率が悪くなるのも初めて知りましたw さんくすです
42 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:37:39 ] shiftjisの文字列をutf-8に変換する関数ありますか?
43 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 21:01:39 ] >>42 docs.python.org/library/stdtypes.html?highlight=str.encode#str.encode
44 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 21:02:34 ] >>43 の前にこれ docs.python.org/library/stdtypes.html?highlight=str.decode#str.decode
45 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 21:09:06 ] if文でフォルダが無いときにtrueになる条件式は if os.path.isdir(path1)=='False': 処理〜 でいいのでしょうか?うまく動いてないので。
46 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 21:14:14 ] >>45 isdirの戻り値は True か False 。 'True' や 'False' などの文字列ではない。
47 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 21:15:24 ] >>43 ,44 ありがとうございます
48 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:28:00 ] if not os.path.isdir(path1):
49 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 18:52:00 ] コーディングの質問じゃないんですが… 当方昔少しだけperlをかじったようなものです (文法はほとんど忘れていてアルゴリズムなら多少見れば思い出すかもしれないっていうほとんど0からと変わらないレベルです) 趣味でunix系OS上でこまごまとしたアプリを作っていきたいのですが いきなりpythonから入って大丈夫ですか? なんだか今見ると、今からperlをはじめるには欠点ばかり目立ってしまう感じがして… pythonのコードを見たらすっきりしていて気に入りました
50 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 18:58:38 ] 大丈夫v
51 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 20:13:35 ] って言ってほしいんやろ?
52 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 20:53:53 ] 初心者を虐めるな _, ,_ パーン ( ‘д‘) ⊂彡☆))Д´) >>51
53 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 00:26:44 ] 虐めるな言ってもな… 例えばはじめるのに100万入会金払わないと行けないんやったら、そりゃ慎重にもなるわ んでも、これだけ無料でばら撒かれてるんだから、自分で始めてみりゃいいじゃん ましてや、過去に経験あるんやったらインストールだって楽勝だろ?
54 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 01:57:12 ] perlに関わるとろくなことにならんな
55 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 06:38:18 ] というか、いきなり入って大丈夫かどうかという指標は、 実際にいきなり入ってみた人の結果を集めて成り立ってるわけで、 コミュニティ側からすれば、>>49 にはその2009年度版の一データになる役目が 与えられている。データを使う側ではなく。 だから答は「大丈夫かどうかを確かめたいから、さっさとやれ」。
56 名前:デフォルトの名無しさん [2009/11/02(月) 12:59:22 ] PHP使ってた奴は総じてダメだな
57 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 15:11:48 ] お勉強スレが始まった頃は perler移民ばっかりだった。
58 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:07:59 ] lineという文字列の変数に正規表現にマッチする部分があれば、 指定した形に置き換えて、もとのlineとしたいのですが、 どう書けばいいのでしょうか?
59 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:13:15 ] Pythonの文字列はイミュータブル。 lineという変数に、新しい文字列を代入することはできるが、 元の文字列を変えることはできない。
60 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:30:38 ] >>59 ありがとうございます。 置き換えたものをline_replaceとした場合、どのように書くのでしょうか?
61 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:46:28 ] import re line = '適当な文字列' line_replace = re.sub('パターン', '置き換える文字列', line) 複数の正規表現を同時に使う時は、 キャッシュが追いつかなくなるかもしれないので 事前にコンパイルしたほうがいい。 あと、第二引数には関数も指定可。
62 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:48:07 ] >>61 サンクスです。
63 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 21:04:21 ] 関連して質問します。 re.sub() と pat = re.complie(); pat.sub() の違いについてなんですが、 re.sub() は毎回正規表現がコンパイルされますか?内部でキャッシュとかしてるんでしょうか。 pat = re.compile(); pat.sub() のほうが望ましいのは分かるんですが、正直面倒なので、 re.sub() のほうでキャッシュしてくれるんなら re.sub() で済まそうと思ってるんですが、どうでしょうか。
64 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 22:22:12 ] キャッシュするよ re.purge()とか参照
65 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 11:48:33 ] 要素数が range である空のリスト a を作る方法は? range = 3 のとき a = [空,空,空] のようなリストがほしい。 できますか? 後、Pythonでは空をどう表現するのですか?
66 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 11:55:20 ] r = 3 l = [ "" for i in range(r)] print l
67 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 12:03:49 ] 初心者スレで変数名に小文字のLは勘弁してたも >>65 a = [None] * 3 とか 他の言語における空をPythonでどう表現するのか知りたいのなら その言語の名前を挙げたほうがいいかも
68 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 12:35:11 ] まぎらわしいので range じゃなくて r を使うけど、 (range という関数があるため) [None for a in xrange(r)]
69 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 18:59:32 ] すごくどうでもいいことかもしれませんが エンコードの指定するときに、 # coding: utf-8 # -*- coding: utf-8 -*- どちらの書き方でもOKなんですよね? 2つの書き方の意味の違いとか、こちらの書き方のほうが望ましい、 みたいなのって何かありますか?
70 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 19:01:52 ] >>69 2.1.4 エンコード宣言 (encoding declaration) www.python.jp/doc/release/ref/encodings.html
71 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 19:15:01 ] l = [] * 3
72 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 02:32:29 ] >>71 それだと長さ0の空リストが1つしかできない
73 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 06:47:41 ] >>71 www.python.org/dev/peps/pep-0008/ > Names to Avoid > > Never use the characters `l' (lowercase letter el), `O' (uppercase > letter oh), or `I' (uppercase letter eye) as single character variable > names. > > In some fonts, these characters are indistinguishable from the numerals > one and zero. When tempted to use `l', use `L' instead.
74 名前:66 mailto:sage [2009/11/04(水) 18:15:47 ] >>73 かたいこというなよ・・・。
75 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 16:46:44 ] 質問です 受け取ったファイルを CRC32 値にリネームするスクリプトを作りたいのですが、 反復処理でスクリプト自身を除くにはどうすればいいのでしょうか 現在↓のような状況です(とりあえずサンプルが見つかった MD5 でやってます) import os import sys import hashlib def getMD5(file): try: m = hashlib.md5(); f = open(file,'rb') except IOError: print ("Unable to open the file",file) return for line in file: m.update(line) f.close() return m.hexdigest() argvs = sys.argv for x in argvs: ext = x.split('.')[-1] oldName = x newName = getMD5(x) + "." + ext os.rename(oldName,newName)
76 名前:75 mailto:sage [2009/11/06(金) 16:50:03 ] うぉ、ごめんなさい。インデント入ってねぇ orz &nbsp; は無視されるのか
77 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 18:09:43 ] うちはちゃんと見えてるから問題なし
78 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 19:51:18 ] >>75 for x in argvs: ↓ for x in argvs[1:]:
79 名前:75 mailto:sage [2009/11/06(金) 20:36:32 ] >>78 サンクス、恐ろしく簡単な事だったんだな 大雑把に [start:end] ってことか
80 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:44:06 ] MD5sumの計算がしたいのなら 行単位じゃなくて固定長で数KBとか数MB単位で読んだほうがいいかもね 行毎でも結果がおかしくなることはない筈だけど やりたいことに行が関係ないし効率はよくない
81 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:47:38 ] 処理速度も桁違いに速くなるだろうね
82 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:48:11 ] >>80 ごめん、凄く非効率なのは分かってるんだけど、 見つけたサンプル適当に組み合わせて作ってる段階だから、そこまで直せない CRC32 の求め方もまだ分かってないぐらいだし
83 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:53:44 ] zlib.crc32
84 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:54:49 ] >>82 ttp://d.hatena.ne.jp/Fio/20081027/p2
85 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:58:36 ] print binascii.crc32("hello world") # Or, in two pieces: crc = binascii.crc32("hello") crc = binascii.crc32(" world", crc) & 0xffffffff print 'crc32 = 0x%08x' % crc
86 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 21:01:41 ] 真っ当なサンプルGJ
87 名前:75 mailto:sage [2009/11/06(金) 21:04:26 ] みんな優しいなぁ ありがとう、参考にさせて頂きます
88 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 21:08:36 ] 前は 俺は crc16 を求めたいんだよ プギャー っつー変なのもいたけどな
89 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 17:52:19 ] リストの長さを得るのになぜ len(list) なんですか? オブジェクト指向なら list.len() なのでは?
90 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 17:54:45 ] lenは関数指向だから無問題
91 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 18:05:24 ] obj.__len__()
92 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 18:10:43 ] len が py3k でも 関数のままである理由 d.hatena.ne.jp/methane/20090721/1248195293
93 名前:デフォルトの名無しさん [2009/11/07(土) 18:59:26 ] SGMLパーサーで分解したデータを外部から読むにはどうすればいいのでしょうか
94 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 19:07:34 ] どのSGMLパーサーを使ってるの? 外部ってのは具体的にどういう意味?
95 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 21:16:05 ] www.xxx.com/index.html のようなhtmlファイルを(変数).htmlのような感じで名前を変えてコピーしたいのですが どのように書けばいいでしょうか?
96 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 21:27:19 ] import os os.system(r'wget www.xxx.com/index.html -O \(%d\).html' % n)
97 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:39:11 ] >>95 import urllib var = 'abc' urllib.urlretrieve('www.example.com/index.html ', '%s.html' % var)
98 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:56:56 ] >>96 .,97 遅れました。 ありがとうございます。
99 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:14:21 ] path1="test" path2="/test/tmp/" if not os.path.isdir(path1): os.mkdir(path1,0777) if not os.path.isdir(path2): os.mkdir(path2,0777) testというディレクトリの下にtmpというディレクトリを作りたいです。 path2の指定が間違ってるようなのですが正しい書き方は何でしょうか?
100 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:41:44 ] path2 = "test/tmp/" or path2 = "./test/tmp/" www.tohoho-web.com/wwwunix.htm#AbsolutePathName
101 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 01:58:38 ] >>100 さんくす
102 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 03:56:08 ] MySQLからselect文でデータを取り出しているのですが、日本語のデータだと、 name undefined, r = ('japan', 'tokyo', '??????') IndexError: tuple index out of range みたいになってしまいます con.execute("SELECT * FROM table WHERE city = \"tokyo\" ") rs = con.fetchall() for r in rs: nation = r[1] city = r[2] name = r[3] これで取り出しているのですが、どうしたらいいですか
103 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 07:58:43 ] それで取り出せているなら問題ないんじゃないの? なにがまずいのか、さっぱりわからない。
104 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 08:38:28 ] None
105 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:58:44 ] >>103 r = ('england', 'london', 'becky')みたいな英字のみのデータは取り出せるのですが、 r = ('japan', 'tokyo', '??????')のように日本語が入っているとそこが???となって name undefined, r = ('japan', 'tokyo', '??????') IndexError: tuple index out of range というエラー文がでて止まってしまいます
106 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:54:23 ] name = r[3] ↓ name = r[3] if len(r) >=3 else None
107 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 19:41:00 ] >>106 多大の配列番号のミスでした すいません
108 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:21:43 ] エンコードを意識しようぜ サーバのデフォルトのエンコードは? クライアントのデフォルトのエンコードは?
109 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 18:23:57 ] loggingではき出されるログファイルのタイムスタンプってlogging作動中は 更新されないみたいなんだけどこのへんてこ仕様は何とかならないのかな?
110 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:35:34 ] >>108 エンコードの指定を間違えると例外を吐く仕様もどうかと思うけどな
111 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:54:50 ] Explicit is better than implicit.
112 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:00:49 ] DB、プログラムはutf8で、 shiftjisのファイルを開いて正規表現で抜いているんですが、 l[1].decode("Shift_JIS").encode("UTF-8") みたいな感じではダメなのでしょうか?うまくいかないので。 またDBから抽出したのをまたDBにinsertしたいとき title = r[1].encode("UTF-8") としているのですが、まずいですか?
113 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:02:00 ] ??
114 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:25:49 ] DBにinsertしたいとき自分指いいすかまで読んだ
115 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:40:25 ] >>111 そういう事はいい加減きわまりないリファレンスマニュアルを改善してから言えw
116 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:15:11 ] リファレンスのマニュアルの不備を指摘する前に、己の技術力不足を改善しろw
117 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:22:18 ] >>116 ( ゚Д゚)ポカーン・・・頭大丈夫?
118 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:23:33 ] ┐(´ー`)┌
119 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:25:48 ] またruby厨の荒らしですか
120 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:27:29 ] どこからRubyが出てくるんだよwww
121 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:30:44 ] >>112 > またDBから抽出したのをまたDBにinsertしたいとき 言ってることがよくわからんが、 UTF-8に変換してからDBに入れたんだろう? DBからはunicodeで戻ってくるの?
122 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:34:05 ] >>110 例外を吐くのは、変換できなかった時だろ。 そうでなくとも知らないうちに、 他の文字に変換されるよりはましだと思うのだが。
123 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:40:34 ] >>115 どこが「いい加減きわまりない」ないんだろう? ドキュメントの記述が間違っていることは見たことがないし、 もし見つけたのなら、こんな所で管を巻いてないで報告すればいい。 www.python.org/dev/contributing/
124 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:49:04 ] UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 113: ordinal not in range(128) args = ('ascii', 'INSERT IGNORE INTO test(name,event,mysy...\xa8\xe3\x82\xb5\xe3\x83\xb3\xe3\x82\xb0\xe3\x83\xa9\xe3\x82\xb9\xe3\x81\xa7\xe5\xa4\x89\xe8\xa3\x85 [11/10])', 113, 114, 'ordinal not in range(128)') encoding = 'ascii' end = 114 object = 'INSERT IGNORE INTO みたいな感じで帰ってきます。
125 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 22:32:39 ] title = r[1].decode("cp932").encode("UTF-8")
126 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:21:18 ] サングラスで変装?
127 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:21:56 ] >>123 1.exsampleが非常に少ない 2.表記が抽象的な所がある たとえば文字列操作あたりで見てみると Python - 3.6.1 文字列メソッド www.python.jp/doc/release/lib/string-methods.html C# - String メンバ msdn.microsoft.com/ja-jp/library/system.string_members (VS.80).aspx Pythonのドキュメントの表記って抽象的だったり表記が統一されていないところが随所にある オブジェクト指向の言語なのだからオブジェクト名で書くのが普通だと思うが 文字列?単語?"文字列=単語"で良いの?数って何?int?long? C#に限らずリファレンスマニュアルならば暗黙の了解がある内容でも明文化するのが 普通だぜ?
128 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:24:23 ] >>127 > 1.exsampleが非常に少ない >>116 > 2.表記が抽象的な所がある 静的型言語が好きならPython使うな
129 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:27:14 ] >>125 ありがとうございます。。 エラーが止まらないのですが、基本的に、文字型が違うので連結が出来ていない。 という認識でいいのでしょうか
130 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:33:39 ] >>127 君が >>1 にもあるような wiki かなんかで exsample を作っていけば勉強になるよ ^ ^
131 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:33:55 ] >>127 日本語訳の批判はこちらへどうぞ Pythonドキュメント翻訳プロジェクト www.python.jp/Zope/pythondoc_jp/
132 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:34:56 ] >>129 DBの種類も言わない DBの文字コードの設定がどうなってるかも言わないし調べようともしていない ソースも貼らない どしろうと?
133 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:38:04 ] 1つ言えることは、unicodeとstrを混ぜると高確率でエラーになる。 混ぜるな危険。
134 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:39:15 ] >>132 すいません。。 >>133 print type() してみるとunicodeとstrが混在してました。。 出直してきます
135 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:50:14 ] >>131 日本語訳の問題じゃないよ。 あえて「文字列」としているのは、原文でも string といって str, unicode その他 basestring を継承した 文字列型を区別しないで書いているから。 厳密な型を書かないのは動的型付けだから。
136 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 05:09:37 ] >>128 ドキュメントの記載が不明瞭である事と技術云々は全く関係ないだろ 組み込みスクリプト最大手のPythonで >静的型言語が好きならPython使うな はWindowsが嫌いなら使うなと言っているのと同義だなw >>135 ちゃんと分けられるじゃん。それをそのまま文書化すれば良いだけなのに 何でわざわざごちゃ混ぜにしたような書き方になっているのか理解に苦しむ basestringが〜 basestringを継承するstrが〜 basestringを継承するunicodeが〜 って書けば良いだけだろ。クラスが判る奴ならそれだけで通じる
137 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 08:27:12 ] 言ってることは正しいと思うけどOSSだと言い出しっぺの法則で終わるだけだぞ
138 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 09:27:54 ] >>136 ちゃんと分けられないよ。 誰かが勝手に追加した新しい文字列型も「文字列」に含まれるんだぜ? duck typingな動的型付け言語に慣れろ。
139 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 09:34:20 ] 公式ドキュメントは、CPythonの特定のバージョンのドキュメントだけじゃなくて、 他のPythonの処理系も含めた「Python標準ライブラリ仕様」を定めてるだけだからな。 CPythonの現在の仕様を詳しく書き下すんじゃなくて、近い将来のPythonや他のPython処理系が 満たすべき一般化された仕様を書いているから、あまり具体的な話はできない。 逆に、Pythonのドキュメントに書かれていない詳細な実装依存の仕様に依存したらいけない。
140 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 12:02:11 ] >>138 , 139 つっこみどころ多すぎだろw 多分>>136 の言っている意味をあんたらは汲み取っていないね たとえば 組み込み型には 6 つのシーケンス型があります: 文字列、ユニコード文字列、リスト、タプル、バッファ、そして xrange オブジェクトです。 この場合の「文字列」がstrで、「ユニコード文字列」がunicodeであるのは明白だ 「組み込み型」で「6つ」まで限定してる「CPythonの」ドキュメントなんだから ちなみにこれは和訳が悪いというわけでもない 原文はこう There are six sequence types: strings, Unicode strings, lists, tuples, buffers, and xrange objects. (For other containers see the built in dict, list, set, and tuple classes, and the collections module.) >>139 ご冗談を。 ならたとえばcStringIOなんて実装バリバリ意識したものについて書く必要がないし 書いてはいけない 仕様だけならStringIOだけ見せればよいだろ どう見てもあれはCPythonのドキュメントです
141 名前:140 mailto:sage [2009/11/11(水) 12:13:49 ] まあ以上を指摘した上で、俺は>>137 に同意なわけだがw オプソにMS並みのドキュメントの質を期待しても無駄だぜ 質が不満なら自分でやれやという話だ
142 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 12:15:33 ] MSのドキュメントがそんなに良いとは思えない 変なのお手本にする必要はない
143 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 12:24:30 ] 日本語しか見てないひとだね
144 名前:140 mailto:sage [2009/11/11(水) 12:30:04 ] 原文では確かにbuiltinだとは言ってないね しかし"six"と限定しているだろう basestringを意識しているのなら、なおその列挙の仕方はあいまいだし 一般名詞の"strings"と、"xrange"のような明白な特定の型を並列で混用しているのも 良い技術文書のやりかたではないね
145 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 12:30:19 ] 一般のソフトのドキュメントに比べると開発環境のはかなりいいけどね。
146 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 14:06:26 ] >>140 >>127 でstringメソッドの例を出していて、 >>138 , 139 は string メソッドで具体的な クラス名を使わない理由を説明しているのに、なんでいきなり別のドキュメントに飛ぶの?
147 名前:140 mailto:sage [2009/11/11(水) 14:41:46 ] >>146 ああすまん、別のところを見ていたみたいだね。 俺は>>127 とかとは別人だが。 つっても同じPythonスタンダードライブラリのドキュメントの話で ドキュメントの質を問う話をしてるんだから、引用箇所なんてどこでもよくね? 俺が引用したのはBuilt-in Typesのドキュメントだけど、本当にひどいよ。 Buit-in Typesというくくりの Sequence Types ― str, unicode, list, tuple, buffer, xrange というタイトルの文書なのに、 いきなり先ほどに引用したような書き出しになる。 型名がstrで、それがいわゆる文字列のための型であるとすら書かれず、strとか stringsとかいう書き方が混用されている。非常にあいまいで不親切だ。 正確性、一覧性や網羅性とった点についても不満がある。 basestringに関しても触れられていないしね。
148 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 15:18:46 ] 最新版でない、しかも有志による日本語訳に基づいた批判はフェアじゃない
149 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:35:16 ] >>36 みんなのPython とかいうのがあったような気がするが。
150 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:39:25 ] >>148 最新版の日本語訳されたドキュメントってどれさ ttp://www.python.jp/doc/release/index.html じゃないのか?
151 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:41:58 ] ( ´,_ゝ`)プッ
152 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:46:32 ] >>149 別にチュートリアルで問題ないだろ。 あれが難しいなら、ウェブに転がってる文書読んでからでもいいし。
153 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 20:44:45 ] 畑も耕さず、種も蒔かず、雑草も抜かず、肥料も巻かず、 水もやらず、添え木もせず、収穫もせず、金も払わず、 ただ実を食う。 そんな人間にも育て方が下手だと 批判をする権利はあります。
154 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 23:03:30 ] 糞本の著者はどうしてみんぱいに粘着するの?
155 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 07:46:11 ] 海外だとこれに凄い数のレビューがついてるけどどんな本なんだろ www.amazon.com/Python-Programming-Absolute-Beginner-Michael/dp/1435455002/ref=sr_1_1?ie=UTF8&s=books&qid=1257979488&sr=1-1
156 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:51:53 ] 97 of 99 people found the following review helpful: 5.0 out of 5 stars Painless way to learn programming, September 4, 2003 75 of 76 people found the following review helpful: 5.0 out of 5 stars Best first Python Book (and not just for beginners), October 12, 2003 25 of 25 people found the following review helpful: 5.0 out of 5 stars Wow! What a refreshing approach to python!, October 2, 2003 俺は遠慮しとく
157 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:54:41 ] >>154 ダメな奴ほど暇なんだよ。
158 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 13:56:04 ] 俺がダメなのは全部アイツのせい。
159 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 16:36:14 ] 日本語訳の最新版ってこれじゃないの? pythonjp.sourceforge.jp/dev/
160 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 18:51:06 ] >>159 ちょw英語だらけだぞw 確かに2.6.x対応版みたいだが
161 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 19:25:21 ] Pythonスクリプトをタスクトレイに常駐させることはできますか?
162 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 19:33:06 ] >>161 タスクトレイを操作できるライブラリとGUIツールキットがあれば出来るかもね
163 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 19:34:59 ] ctypesを使えばできる APIはShell_NorifyIcon ツールキットに関してはシラネ
164 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 19:46:07 ] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8861.txt
165 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 20:43:01 ] not enough arguments for format string って具体的にいうとどんな感じのエラーでしょうか?
166 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 20:50:31 ] 書式化文字列の引数が足りません
167 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 21:55:40 ] 2.6と3.0が入ってる環境でPyScripterをインストールしてしまいました PyScripterを使うと3.0で認識されます 2.6を利用して書きたいのですが、どうすればいいですか
168 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:12:23 ] mysqlのテーブルの照合順序をutf8_unicode_ci insert文に日本語が含まれる場合、insert文をunicode型にする必要がありますか?
169 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:43:55 ] プログラムって何?の俺が始めるからお勧め本教えて。 まじで全然知識無い人が始める。
170 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:53:02 ] >>167 PyScripter.exe --python26
171 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:55:34 ] >>169 ありません
172 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:59:17 ] >>170 なぜかそのコメントからヒントを得て解決しました くだらない質問して申し訳なかったです
173 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:08:55 ] >>169 具体的な目標を言ってください
174 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:26:20 ] プログラムの勉強をするに当たって本を読んでも学習効果は望めない。 脳と神経でつながっている指を動かし、 キーボードを打つのが至上の勉強法。 こういってもいいだろう。 「プログラミング=キーボード叩き」 ブラインドタッチが出来ると学習曲線が格段に良くなる。 タイプが無意識行動となるので、プログラミングに意識を集中できる。 よって、君が一番最初になすべきことは、 北斗の拳で全員ぶっ飛ばすことだ。
175 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:38:27 ] 北斗の拳でシンに勝つところまで逝ったけど 最後だけクリアできないまま数年放置プレイ中
176 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:39:45 ] 今の状況で、日本語の本をメインにpythonからプログラミングに入門するのが得策といえるか。 pythonの出版物となるとかなり限られているぞ。 rails関係を除いてもまだrubyの本の方が多い まずは入門書の入門書みたいなのがたくさん出ているjavascriptとかperl、Cあたりで プログラミングの基礎を学んでから来たほうがいいと思う そのレベルになればいきなり初めてのpythonを読んで問題ないし(面倒ならpythonチュートリアルでおk)
177 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:40:32 ] まあ昔に比べたら天国みたいなもんなので 何でもいいんじゃないすか ネットなんてなかったし
178 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:42:22 ] 皆さんの意見をまとめるとruby最強ということですね なるほど
179 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:44:18 ] rubyで入門書が多いのは 一冊ですっきりわかる良本が無いことの裏返しだろw
180 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:46:19 ] いや、ruby は仕様がころころ変わってしまうから、まともな本が出せない。
181 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:47:29 ] なおゲームは有料のものを購入すること。 せめて元を取らねばという気持ちが ゲームクリアする方向に作用する。 さらに金は、お小遣いなどではなく自分で稼ぐべき。理由は先と同様。 これによって君は一段ずつ確実にピラミッドを登っていくだろう。 まるでシュウのように。
182 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:58:59 ] 初心者にRubyとPerlはない。絶対にない
183 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:12:04 ] さて、もう一月ぐらい経っただろうか? 手が慣れたところで先に進もう。 ひょっとしたらプログラムをしたいという気持ちが 無くなっているかもしれない。 しかし、それでもいい。それでもOK。下を見てくれ。 書籍を買う(資金減少) → 読む(時間消費) → 飽きた → 脳みそ磨耗 激打を買う(資金減少) → 打つ(時間消費) → 飽きた → タイプ能力上昇 つまりタイプゲームを買うのは、本を買うよりずっとお得なのだ。
184 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:21:34 ] みんなのPythonはおすすめだよ
185 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:59:04 ] 飽きてないならプログラミングに進みたいが、 残念ながら私にも勧めることの出来る本が無い。 ちなみに私の考える初心者向け良書とは、 読んで理解しなくてもよい本だ。 よって他の方に良さそうなものを聞くことにする。 ぐぐーる先生にお伺いしたところ、次のサイトを教えていただいた。
186 名前:検索ワードは"Python ゲーム" mailto:sage [2009/11/13(金) 01:00:44 ] ttp://pygame.skr.jp/ ツ 許 P / ,、r'";;;;;;;;;;;;;;;;;;;;;;;;;;;;;`';,、 ,r';;r" _ノ 何 | さ .H L_ /;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\ ,';;/ ) と ル れ P //;;/´ `' 、;;;;;;;;,,l;;' /ヽ と Pu 使 る. が /.,';/ ヽ;;;;,l;L_ .,,、,--ュ、 ';;;;;;;;;i な ki い の l |;|┌--‐フ ┌----、、 |;ヾr''‐ヽ, ,、ィ'r-‐''''''‐ヽ ';;;;;;く !! Wi ま は i |l ~~__´ 、 ``'__''''┘ |;;;;;l rO:、; ´ ィ○ヽ 'i;;;;;厶, ki で l _|. <,,O,> 〉 <,,O,,> |;;;;;| `'''"/ `'''''"´ !;;;;;;;;ヽ じ ._ゝ'|. / 、 |; ,' / 、 |;;;;;;;;;;;;;レ、⌒Y⌒ヽ ゃ 「 | | ( ) .ソ l ,:' _ ヽ .|;;;;;;;//-'ノ ぞ ヽヽ | _,ニ ニ,,,,,_ ', ゞ,' '"'` '" i;;;;;i, `' / ⌒レ'⌒ヽ厂 ̄ `| ,、ィ-‐''__'''‐-`,、 '' ', i、-----.、 `''"i`'''l 人_,、ノL_,iノ! ', :i゙''''''''''`l' ` _人__人ノ_ヽ ヾ゙゙゙゙ニニ'\ ,' ト、, / ヽ. L__」 「 止 笑 L_ ヽ〈 i| Vi゙、 ハ ワ {. ヽ. -、、、、 ' ノ ま い 了゙, ,ヽ===-'゙ ,' , // ヽ ハ ハ ヽ. ハ ) ら が | ',.' ,  ̄ , ' ノ /./ ヽ, ハ ハ > /|ヽヽ、___,,,,、 'く ん > ヽ.  ̄´ / ,、 ' / / \ ハ ハ / ノ. | ヽ フ / ノ:lゝt-,-‐''" / ,.ィ゙ /
187 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 01:07:53 ] python 2.5 以上で作られた wiki ってどんなのがありますか? SQLite とかどんな環境でも動きますか? インストールは簡単ですか?
188 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 02:31:42 ] Python製で一番有名なのはMoinMoinWikiってやつ。 データベース不要。 インストールはpukiwikiよりはめんどい
189 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 03:32:59 ] >>182 初心者にとってRubyの「日本語の資料が充実している」というのはかなり重要だよ >>183 必死にググるのに疲れたw Pythonの標準クラスリファレンス何処ー(・∀・ )っ/凵 ⌒☆チン
190 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 08:06:18 ] >>185 >ちなみに私の考える初心者向け良書とは、 >読んで理解しなくてもよい本だ。 絵本より長い本読んだことないとか? どんだけゆとりだよ(wwwwwwwwww
191 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 08:50:58 ] 畑も耕さず、種も蒔かず、雑草も抜かず、肥料も巻かず、 水もやらず、添え木もせず、収穫もせず、金も払わず、 ただ実を食う。 そんな人間にも育て方が下手だと 批判をする権利はあります。
192 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 08:53:14 ] >>188 ありがとうございました MoinMoinちょっとみてみます
193 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 10:44:06 ] PythonスレでRuby薦めんなアホ
194 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 11:30:45 ] >>191 出典あんの? 自作ポエム?
195 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 11:39:10 ] 最近ほかのスレで見たからコピペ
196 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 13:58:56 ] おや、またruby厨の荒らしですか
197 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 14:56:41 ] >>169 初めてのPython。オライリーが出してるやつ。 英語読めるならLearning Python。
198 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 15:06:02 ] 基地害は全部厨房用言語(ruby)にいってくれってこった
199 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 15:10:25 ] そういう煽りするとPythonも使ってないんだろうなって思われちゃうよw
200 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 15:18:18 ] >>198 そう言うんならBlenderにRubyを組み込んでくれw
201 名前:デフォルトの名無しさん [2009/11/13(金) 16:26:28 ] Pythonを使ってXMLをDOMで処理したいのですが、 xml.dom とpyxml.sourceforge.net/topics/ とは違うものなのでしょうか? またこれらはExpatのPythonバインディングとも違うものなのでしょうか? Python 2.4 しか使えない環境で使いたいツールを 作ろうとしているのですが、どのライブラリを使うと ポータビリティが最も高いのでしょうか? 10KB程度のそれほど大きくないXML文書を 読み込んで異なる表現のXML文書に変換するツールです。 XSLTでは処理できないような変換なので Python を使うことを考えています。 Python は twisted でネットワークがらみの 小規模のツールを書いたことがある程度です。
202 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 16:28:34 ] >>199 いいんだよ。他人からどう思われようが、被害が少なければそれでいい。
203 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 16:44:07 ] lxmlって2.4で使えるっけ?
204 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 17:26:32 ] 使える Python Package Index : lxml 2.2.4 pypi.python.org/pypi/lxml/2.2.4
205 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 17:37:38 ] ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\xe3\x80\x90\xe7\xb5\x8c\xe6\xb8\x88\xe3\x80\x91\xe4\xb8\xad\xe9\x96\x93\xe' at line 1") このエラーは具体的にはどんなエラーなんでしょうか?
206 名前:デフォルトの名無しさん [2009/11/13(金) 17:46:36 ] near の後は 【経済】中間 の UTF-8 表現
207 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 17:54:00 ] >>206 ありがとうございます。 MySqlに日本語をinsertする場合はunicode型でないといけないのでしょうか
208 名前:デフォルトの名無しさん [2009/11/13(金) 18:02:43 ] >>207 それはもはやPythonの話ではなくMySQLの話だな。 it.kndb.jp/entry/show/id/15 クライアントから送られるSQL文の文字コードを 指定するためにデータのベースへの接続後すぐに set names utf8; を発行するのがいいんじゃね?
209 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 18:04:34 ] って、UTF-8でMySQLとやりとりしたということじゃなかったのか。 インターフェイスで使う文字コードがあってさえいれば 別に他の文字コードでもいいと思うけど。
210 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 18:09:30 ] >>207 show variables like '%char%'; で表示される円コーディングにあわせるのが正しい方法
211 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 18:12:18 ] >>208-210 たくさんありがとうございます。 試してみます。
212 名前:210 mailto:sage [2009/11/13(金) 18:26:15 ] あ、 >>208 見ないでレスした [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 character_set_server=utf8 skip-character-set-client-handshake
213 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:29:46 ] turtleモジュールは図形描写に誤差があるのですか? 三角形、四角形、五角形…を順番に描かせるとずれてしまいます 命令が間違っているのかもしれません・・・ from turtle import* reset() clear() h=3 while h<10: a=h b=(a-2)*180 c=b/a d=180-c for i in range(a): forward(100) right(d) h=h+1
214 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:46:33 ] >>213 正七角形の時に角度が整数の範囲に収まらなくなるが、 int 同士の演算なので、小数点が切り捨てられている。 from __future__ import division をコードの先頭に置くか、 c の計算を、 c = float(b) / a に置き換える。
215 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:50:09 ] >>213 ついでに h = 3 while h < 10: ... は、for i in range(3, 10): でOK
216 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:59:52 ] >>213 です 助かりました、ありがとうございます。
217 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 22:18:33 ] 【科学】道路に軍手が落ちているワケ、名城大研究チームが突き止める[09/11/05] namidame.2ch.net/test/read.cgi/hidari/1257990721/
218 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 07:53:24 ] emacsのpythonモードなんですが、 a = 3 だとaをハイライトしてくれるのですが、 a,b = 1, 2 だとaを(bも)ハイライトしてくれません。 理由が知りたいです。
219 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 08:56:36 ] (a, b) = 1, 2 (a, b) = (1, 2)
220 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:13:53 ] Class内で 最前方に二重アンダーバー __ が付いている変数やメソッドはどういう意味なのですか?
221 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:27:08 ] 上手く説明できた人には座布団2枚
222 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:33:24 ] 触るなよ絶対触るなよの略
223 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:37:25 ] >>220 継承したときに、たまたま同じ変数名を使ってしまったために不幸な事故が起こるのを防ぐために、 変数名に暗黙にクラス名をつける。 継承を使わないなら、 _ は一個で良い。 あと、 __ が先頭と最後両方についているメソッドは特殊メソッド。
224 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:39:36 ] ttp://www.python.jp/doc/release/tut/node11.html#SECTION0011600000000000000000
225 名前:220 mailto:sage [2009/11/14(土) 16:52:54 ] とりあえず、C++などでいうところのprivateなインスタンス変数、と理解しておきます。
226 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 18:20:12 ] >>225 アンダースコア1つは、C++のprivateメンバみたいなものを作るときに使う(厳密には、ネームマンぐりングされる) 前後にアンダースコア2つは、特殊メソッドを表すっていう慣例になってる。 特殊メソッドは、自分が呼び出すんじゃなくて、Pythonインタプリタによって間接的に呼び出されるメソッド。 C++のコンストラクタみたいなもの --> __init__ +演算子のオーバーロード --> __add__ JavaのtoStringみたいなもの -> __str__ len(myobj)したときの値 --> __len__ その他大量
227 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 18:26:30 ] アンダーラインひとつはマングルされないだろう from foo import * で取り込まれないだけ ふたつだとマングルされる
228 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:15:43 ] 文字列のPythonコードをPythonから別プロセスで実行させる方法ってありますか? ファイルにしてインタプリタを起動し直せば可能ですが出来ればファイルにしたくないので メモリ上で処理できる方法がないか探しています
229 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:37:20 ] あります
230 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 05:01:31 ] UnicodeError: Shift_JIS decoding error: invalid character 0x878a args = ('Shift_JIS decoding error: invalid character 0x878a',) 具体的にどんなエラーでしょうか?
231 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:15:45 ] >>230 文字コードの指定を間違えてるか、入力ファイルに不正な文字が含まれていてデコードに失敗
232 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:20:51 ] 不正な文字じゃなくても 「〜」が入ってるとだめだったりするな
233 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:24:15 ] >>> '〜'.decode('mbcs') u'\uff5e' >>> '〜'.decode('shift_jis') u'\u301c' >>> '〜'.decode('cp932') u'\uff5e' >>> '〜'.decode('cp932').encode('utf-8') '\xef\xbd\x9e' >>> '〜'.decode('shift_jis').encode('utf-8') '\xe3\x80\x9c'
234 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:25:04 ] >>230 WindowsのShift_JISは、厳密にはCP932っていうShift_JISの拡張になってるから 文字コードの指定で"cp932"を与えないと一部の特殊文字とかが読めない。 鰍チて字が読めてない。
235 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:40:33 ] >>231-234 本格的なアプリを作るならともかく使い捨て程度のコードですら文字コードでトラブルというのは 良い仕様とは言えないよな・・・仕様に文句言ってもしょうがないんだけどさ 1Byte圏発のブツだとこういう事が良くあるんだよなぁ
236 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:49:33 ] >>235 なんか根本的なところが間違ってる、とまではいわないまでも、考え違いをしているような気がする。 もういちどスタートラインに戻って考え直してみてはいかが?
237 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 07:36:54 ] >>236 日本で使う言語として print "こんにちは" が動かないのはどうかと思うのよ
238 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 07:49:24 ] 一行目にshebangがあるとして ソースはUTF-8で保存した上で 二行目に # -*- coding: utf-8 -*- すると幸せになる
239 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 09:37:53 ] >>238 幸せになれるというかこれしないと タイプ数アホみたいに増えるから必須だと思う
240 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:07:15 ] >>235 たしかにPythonの文字コードまわりの面倒くささは尋常じゃないね 俺は一旦すべてユニコードにしてから必要なときにエンコードする ようにしてるけど、ここまで徹底する必要あるのか?と度々思う
241 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:18:40 ] そんなんじゃPython3000についてけねーぞ 標準ライブラリですら内部でstrに変換しやがるのがあるくらいだし別に徹底してない
242 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:36:05 ] >>240 そこまで徹底するのが、文字化け対策として一番楽なんだよ。 >>237 動かないわけ無いだろ。 Python3では問題ないし、Python2でもソースエンコーディングとターミナルのエンコーディングが一致 していれば動く。 Python2 でターミナルのエンコーディングと違うソースエンコーディング使いたいなら、最初に from __future__ import unicode_literals とするか、 u"こんにちは" と書けば良い。
243 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:37:02 ] >>240 正解
244 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 14:38:49 ] >>234 ありがとうございます。。 うまくいきましたが、こんどはMS932というので引っかかってしまいました。 .decode('cp932','ignore')ってやるとあとあと困ったりしますか?
245 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 15:00:02 ] 困るかもって思うなら www.python.jp/doc/release/lib/codec-base-classes.html#codec-base-classes ここ見て置換させるとか 2chのdatなんてcp932/shift_jis/shift_jis_2004/shift_jisx0213のどれ使ってもエラー吐くときあるし
246 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 15:14:09 ] >>244 これ便利 => chardet.detect() 別途インストールしないと使えない(多分)のが玉に瑕
247 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 16:29:09 ] chardetはある程度の長さがないと役に立たんのがなあ まあ仕組上当たり前の事なんだが ID3タグみたいなエンコーディングどころかロケール情報もないクソフォーマット触った時は頭抱えたわ
248 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 16:38:42 ] def decorder(u): if isinstance(u, unicode): return u for cd in ['utf-8', 'euc-jp', 'cp932', 'iso-2022-jp', 'latin-1', 'ascii']: try: u = u.decode(cd) break except UnicodeDecodeError: continue else: u = u.decode('latin-1', 'replace') return u
249 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:54:33 ] >>238 それを強要する仕様を初心者向けと謳うのはどうかと思うわけだが 今時のメインシステムはWindowsでSJISだし
250 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:56:40 ] とりあえずUTF-8で書いとけってのにはまだ賛同できるが Emacsスタイルのコメントがむかつく
251 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:12:10 ] >>249 なんか今日の変な発言はみんなあんたなのかも知れんが Pythonには初心者に優しい仕組みを提供するみたいな理念はないぞ 読みやすく、バランス良くって結果がたまたま初心者にもそこそこ使いやすいって状況になっただけ
252 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:49:58 ] 簡単なものを複雑であるかのように見せかけてはいけない。 複雑なものを簡単であるかのように見せかけてはいけない。
253 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:55:57 ] thisってんじゃねーぞ
254 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:23:54 ] >>249 いや、コードページがCP932だからといって、スクリプトのエンコーディングまで 勝手にCP932だと仮定されてしまうようだとまずいだろ スクリプトを書くのは自分だけじゃないんだぞ 日本語Windowsで実行しているからと言ってブラウザがHTMLを 全部CP932だと考えるようではまずいのと同じだ エンコーディングなんて書いた奴しか分からない(推定はできるが)ので 指定させるのが確実で手っ取り速い、HTMLと同じだろ? >>250 > Emacsスタイルのコメントがむかつく 別にEmacsスタイルである必要は無いよ #coding: utf-8 とかでいい 実際には coding[=:]\s*([-\w.]+) という正規表現で エンコーディング指定らしきものとパターンマッチしている
255 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:31:28 ] そういうことじゃなくて幸せになれるのは誰かってこと Windowsでそこらのエディタ使ってる初心者が幸せになれるわけじゃないよね あとPEPから正規表現抜いてくるんなら 引用元書いたほうが勉強してる人が幸せになれるよ
256 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:35:15 ] WindowsっていつまでSJIS使うんだろうなwww
257 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:40:43 ] C の初心者は #include <stdio.h> を #include <studio.h> と平気で書いたりするからな python でも # code: shift_jis とか書いて動かないとか言い出す香具師が出てきてもおかしくない 「初心者」と「アホ」は区別して良いと思う
258 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:54:56 ] >>254 ブラウザは実用に支障のないレベルで文字コードを自動判別してくれるぞ そこまでは行かなくてもWindows向けインタプリタのデフォルト文字コードは mbcsでも良いはずだ
259 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:00:38 ] どうですか? boost.cppll.jp/HEAD/libs/date_time/doc/BuildInfo.html
260 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:02:39 ] スレ的にはこっちが良かったかな boost.cppll.jp/HEAD/libs/python/doc/index.html
261 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:10:44 ] >>258 > そこまでは行かなくてもWindows向けインタプリタのデフォルト文字コードは > mbcsでも良いはずだ それじゃ全然ダメなんだよ 他人が書いたモジュールやスクリプトのことも考えろ mbcsの意味がCP932なのは日本語ウィンドウズの話であって 外国ではWindows-1252だったりするわけだ Windows-1252な環境の連中の書いたモジュールやスクリプトを CP932でデコードして動くとでも思うのか?
262 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:36:33 ] >>258 誤爆する可能性のある判別法を自動適用するとかアホすぎるぞ
263 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:44:40 ] ブラウザにhtmlの文字コード自動判定する機能があるからといって、それに依存して きちんとヘッダを書かないのは間違い。 ブラウザは自動判定ミスっても間違って表示するだけだけど、 プログラムが自動判定ミスって間違って動作するとマズイだろ。
264 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:45:38 ] 曲がりなりにもプログラミング言語なのに まともにHTMLすら書けないレベルの奴はさすがに相手にしてないだろw #coding: cp932のようにソースエンコーディングを指定するのも #include <stdio.h>とか書くのも 何かを足すときに+と書くのも 全部言語仕様であり決まりごとに過ぎんと思うが
265 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:50:54 ] >>261 配布されているコードは文字コードが書いてあるんだからデフォルトの文字コードが 何になっていようが問題ないのではないかい?
266 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:59:59 ] > 配布されているコードは文字コードが書いてあるんだから 運用ルールで済ませるのではなく、「確実に」強制する方法を Pythonが選んだというだけだろ それ以外に「確実に」強制する方法は存在しないわけだし 1byte圏の人間がどんだけ文字エンコーディングに関心を持たないかなんて 知ってるだろ こんだけやってくれてるのはむしろ有難いと思ったほうがいいぞ
267 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:27:30 ] そうだな、これだけ厳密にやってくれてるから、Python製で日本語でも問題起きない アプリが多いんだよな。
268 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:45:24 ] >>260 そこヘッダにエンコードも書いてあるのに なんで化けるんだろう?
269 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:50:10 ] エラーは明示的に、という設計思想だから一見文字コードのエラー(UnicodeEncode/DecodeEroor)が多いように見えるが、 どこがまずいのかを明確に指摘してくれるから俺のような初心者には逆にありがたい。
270 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:56:46 ] >>269 の2行目は「それはどこがまずいのか明確に指摘してくれるってことだから〜」にしてくれ >>268 レスポンスヘッダがUTF-8になってるから
271 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:59:30 ] HTTPサーバのレスポンスヘッダの方が優先されるのね。不思議
272 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:03:30 ] >>271 ttp://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/charset.html HTML4.0仕様の5.2.2に優先順位が書いてある サーバレスポンスが一番優先順位が高い
273 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:32:09 ] >>270 なるほどd Apacheのバージョン変えたときに AddDefaultCharset UTF-8 のままにしちゃってるパターンか 中のひと分かってるのかなぁ
274 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:33:50 ] 馬鹿よけのためにわざとやってるサイトがあるという話を聞いたことがある
275 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:44:02 ] 「原則unicodeで必要なときだけstrに変換すべき」 理想ではあるけど現実的じゃないよね
276 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:46:10 ] utf-8派がutf-8化の強制を目的としてわざとやることはある。
277 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:46:14 ] そう、従わない奴が多いからPython3はああいう仕様になった そういう意味では現実的ではない
278 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:17:28 ] 最近はUTF-8が増えてきたとは言え文字コードの扱いなんてそれぞれの言語圏で 育った文化の上に成り立っている物だし、それをガン無視して「仕様なんだから、こうしろ」とか 言っても不満が噴出して当然だよな 日本なんかいまだにJIS、SJIS、EUC-JP、UTF-8やらが入り乱れている状態だしなw
279 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:21:38 ] 意味が分からん 少なくともプログラマが吐くセリフじゃない
280 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:26:17 ] Unicodeには言語学者とかも係わってくるから騒ぎが大きいけど、 Pythonには不満が噴出するほど人がいない。
281 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:42:07 ] プログラマなら UTF-8 一択だろ JK
282 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:48:08 ] >>281 バカか?w 扱う文字コードをすべてUTF-8に統一できるわけがないだろうjk
283 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:55:05 ] それはお前がおかしい。
284 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 02:14:35 ] >>281 みたいなのがプログラマだったら大変だな 「仕様書が悪い」とか言い出しそうだw
285 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 08:59:32 ] >>282 扱う文字コードではなく、ソースコードのエンコーディングの話をしてるんだぞ?
286 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 09:00:43 ] 意味が分からん 少なくともプログラマが吐くセリフじゃない
287 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 18:28:36 ] SQLインジェクションやXSSの対策ですが、 XSSはGET引数を query = cgi.escape(f.getfirst("q", "0")) で対応しているのですが完璧でしょうか? また、SQLインジェクションもこれでいけますか? SQLやXSSのほかに対策すべきことはあるのでしょうか?
288 名前:デフォルトの名無しさん [2009/11/18(水) 19:27:11 ] 初心者過ぎてお恥ずかしいですが、助けてくださいorz OSはwindowsXPです。 code.google.com/intl/ja/appengine/docs/python/gettingstarted/helloworld.html これをやろうとしていますが、「アプリケーションのテスト」のところで、 「次のコマンドで helloworld ディレクトリまでのパスを指定し、Web サーバーを起動します。 google_appengine/dev_appserver.py helloworld/」 からわからなくなりました。 コマンドプロンプトで実行するんでしょうか。 helloworldフォルダをどこにおくべきでしょうか。どう指定するのでしょうか。 code.google.com/intl/ja/appengine/docs/python/tools/devserver.html#Running_the_Development_Web_Server 「Python 開発用サーバー」ページにある「dev_appserver.py myapp 」をcmdで打ったら「dev_appserver_main.py:410] Application configuration file not found in myapp.」のエラーになりました。 よろしくお願いいたしますorz
289 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 19:35:24 ] >>288 >コマンドプロンプトで実行するんでしょうか。
そのとおりです。 > helloworldフォルダをどこにおくべきでしょうか。 ディレクトリ構成は + google_appengine/ - dev_appserver.py + helloworld/ - app.yaml - helloworld.py > どう指定するのでしょうか。 まずコマンドプロンプトで「python -V」と入力したら Python 2.5.4 みたいなのが出ることを確かめましょう。 そのあと「python google_appengine¥dev_appserver.py -p 8080 helloworld」を実行すればおけ。
290 名前:デフォルトの名無しさん [2009/11/18(水) 19:39:43 ] >>289 ご回答どうもありがとうございます。 Python2.6.4ですが、バージョンが違うからエラーになるのでしょうかorz
291 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 19:57:29 ] エラーメッセージをよくみようぜ。 Application configuration file not found in myapp とあるんだから、app.yaml が myapp の下にないんじゃないの?
292 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:33:46 ] >>288 さっきからマルチポストしているお馬鹿さんへ あなたがポストするべき場所はこちらです pc11.2ch.net/test/read.cgi/php/1243654802/ さようなら
293 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 23:25:18 ] docs.python.org/ 公式では無かったようなのですが、2.4とか2.5とかのライブラリのソースが ハイライトされてるページが有ったと思います。 2,3年前に見た記憶がありますがどこか忘れてしまいました。 誰か知りませんか?
294 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:22:14 ] コストの大きい関数、largefunctionがあったとして if largefunction(arg): otherfunction(largefunction(arg)) と同じようなことを、関数呼び出しが重複しないように書くにはどうすればいいですか。 ローカルな一時変数を作成するのもおかしな話だと思うので。
295 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:36:00 ] >>ローカルな一時変数を作成するのもおかしな話だと思うので。 おかしくないよ
296 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:46:06 ] largefunctionを実行するコストよりローカル変数作るコストの方が小さいことが多い っていうか副作用を起こす関数もあるのでlargefunctionじゃなくても普通ローカル変数作る
297 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:49:01 ] おかしくないよな… ローカル変数に一旦取るのが普通だと思ってた。 そんな風に考える人も居るんだという勉強になりました。
298 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:50:23 ] otherfunction(v) if (v = largefunction(arg)) or v else pass
299 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:52:56 ] 代入文は式じゃありません
300 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:59:43 ] >>295-297 本人じゃないけど二行になるのが嫌って言ってるように感じる
301 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:59:44 ] (lambda v: otherfunction(v) if v)(largefunction(arg))
302 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 03:01:24 ] ダメじゃん (lambda v: otherfunction(v) if v else None)(largefunction(arg))
303 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 03:02:05 ] >>301 SyntaxError: invalid syntax
304 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 03:04:14 ] lambda のコストってどんなもんなん?
305 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 04:00:20 ] 素直に3行で書きましょう
306 名前:293 mailto:sage [2009/11/19(木) 04:12:55 ] 誰か教えてくれよ!
307 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 05:06:09 ] 見たことあるよ でも忘れたよw
308 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 05:13:24 ] 辞書でd3 = d1 + d2見たいな操作できないの? 今は以下のようにやってるんですが、不便です。 pyhotnを触り始めてまだ日が浅いので、足りない知識が多いかと思いますが、よろしくお願いします。 tmp = d1 tmp.update(d2) d3 = tmp
309 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 05:17:35 ] ttp://www.koders.com/python/fid90CE0CDD808CCE258E869074C8C9B17E002A531E.aspx?s=email.Message#L10
310 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 05:19:08 ] >>308 過去スレにあったと思う
311 名前:308 mailto:sage [2009/11/19(木) 05:24:34 ] ありがとうございます。探してみます。
312 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 05:27:00 ] 過去スレの結論は d3 = d1 d3.update(d2) だったような気がするw
313 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 09:43:53 ] もしくは、 d3 = dict(d1, **d2) だっけかな。
314 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:29:32 ] feedparserでパースしたtitle要素をwxpythonのListbox内に挿入したいのですが どうすればいいのでしょうか?
315 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:46:18 ] システムのパスデリミタを気にせずに、ディレクトリ名やファイル名を結合する方法はありますか? 分割する方は割りと簡単にできたのですが、結合がよくわかりません。
316 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:55:02 ] os.path.append
317 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 09:01:37 ] できました。ありがとうございます。
318 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 17:19:47 ] os.path.join ?
319 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 22:39:04 ] >>294 if largefunction(arg): otherfunction(0)
320 名前:320 [2009/11/20(金) 23:01:19 ] wxPythonを使ってGUIツールを作っています。 自分の開発環境PCでは問題なく動作しているのですが、 wxPythonをインストールしていないPCで実行すると、 「ImportError: No module named wx」が出ます。 プログラムを実行させるには、 PCにwxPythonをインストールするしかないのでしょうか?
321 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:16:11 ] そうだね。 ImportErrorをキャッチして メッセージを出すのもありかも。
322 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:32:20 ] py2exe
323 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 00:49:33 ] def Plus(args): 〜 def Hoge(cmd = 'Plus'): globals()[cmd](〜) は出来るのですが、Plus関数をHogeの内部に記述するとキーが見つからないと起こられてしまいます。 globals()をlocals()に変えてもダメでした。 関数内関数を文字列で指定して実行するにはどうすればよいのでしょうか?
324 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 00:59:36 ] 駄目な方のソースも載っけてみ
325 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 01:04:15 ] 駄目な例 def Hoge(cmd = 'Plus'): globals()[cmd](〜) def Plus(args): 〜 もしかしたらと思い、以下のようにしたらエラーになりませんでした。 def Hoge(cmd = 'Plus'): def Plus(args): 〜 globals()[cmd](〜) 先に定義しておかないとダメってことでしょうか?
326 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 01:24:31 ] Yes 上から下に向かって実行されるから。 > def Plus(args): > 〜 の意味は、〜を解析してPlusという名前の関数で登録しろという意味の実行文。 実行されなければ、存在することが出来ない。
327 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 01:37:18 ] なんか前も見た流れだな C はコンパイラはとにかくコンパイルして リンカが頑張って名前解決してるから 順序とかどうでも良くなってる 一方で Python の def/class は代入式だと思っていい
328 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 07:39:23 ] >C はコンパイラはとにかくコンパイルして >リンカが頑張って名前解決してるから >順序とかどうでも良くなってる いや ヘッダがあるから大丈夫なだけで Cも順序が逆だと プロトタイプが無いエラーになるか 暗黙の型定義で代用される
329 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 11:29:03 ] あるプログラム(A)の出力をpythonプログラム(B)で読み込みたいのですが import sys if __name__=='__main__': while True: l = sys.stdin.readline() if len(l) == 0: break print '>', l, print 'fin' とした場合、(B)だけで実行すると望んだ結果が得られるのですが、 > (A) | (B) とすると fin close failed in file object destructor: Error in sys.excepthook: Original exception was: 最後のfinだけが表示されてエラーが出てしまいます。 パイプで繋げた標準入力から1行ずつ読み込むにはどうすればいいでしょうか?
330 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 11:41:57 ] Windowsだとパイプで変な挙動をすることがあったような 環境書いたほうがいいよ で、もしWindowsなら > A | python B で試してみる
331 名前:329 mailto:sage [2009/11/21(土) 11:49:50 ] 環境はWindowsXP SP3です。 >>330 の方法で試したら望んだ結果になりました。 ありがとうございました。
332 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 13:16:25 ] float返すC++の関数があり、それをあるPythonのラッパーが呼び出します。 この返り値をunittestのassertEqualでテストしたいのですが、 assertEqual(3.141592, その関数()) とやると、第1引数は倍精度、第2引数は単精度になり、比較結果が一致しません。 assertAlmostEqualを使わないで、第1引数を単精度にする方法はあるでしょうか。
333 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 14:48:17 ] それ精度の問題じゃないよ
334 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 14:52:51 ] じゃあ何の問題なんだよ…はっきり言え
335 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 14:55:45 ] numpyあたり単精度も扱ってくれたりしないのかな 使ったことはまったくないが
336 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:30:01 ] 浮動小数点数でassertEqualするのが間違いだろ
337 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:02:51 ] 間違いってことはあるまい。 浮動小数点数なんてCPUが違うと結果違うのは当たり前だし、 x86なんかFPUを使うかSSEを使うかで結果違ってくるし、 言語によっても浮動小数点数の扱いが広げ方や丸め方が違うし、 最適化のかけ方によっても結果が変わってくるし、 そういうのをテストで弾きたいって意味でしょ? となると、弾かれたのはまさに期待通りなわけだが。
338 名前:デフォルトの名無しさん [2009/11/21(土) 19:02:29 ] ahoが湧いてる
339 名前:デフォルトの名無しさん [2009/11/21(土) 19:06:19 ] assertEqual('3.141592', '%8.6f' % その関数())
340 名前:332 mailto:sage [2009/11/22(日) 08:21:04 ] ありがとうございます。 書き方が悪かったですが、第2引数は3.141592を計算した結果返すのではなく、 単精度で与えられた3.141592をそのまま単精度で返すだけです。 getterとsetterのテストをしています。 極端には、 float func(float val){ return val;} みたいなのがあって、 assertEqual(3.141592, func(3.141592)) とやると弾かれるというわけです。
341 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 08:27:40 ] assertEqual(func2(3.141592), func(3.141592))
342 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:58:31 ] www.atmarkit.co.jp/fcoding/articles/tengoku/04/shibata_a.html
343 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:52:08 ] URLから嫌な悪寒が
344 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 00:32:32 ] 本人乙
345 名前:332 mailto:sage [2009/11/23(月) 10:41:09 ] >>341 func2のユニットテストはどうやるのでしょうか。
346 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 12:07:09 ] 今までの経緯を見ると 必ずしもリップサービスではなくて 本当にそのつもりで頑張っているような気もする。 目標10割、達成6割でOKというのが アメリカ人の感覚なのかな。
347 名前:デフォルトの名無しさん [2009/11/23(月) 15:07:15 ] 正規表現使ってレクサ書こうとして def lex(input): if re.match(r'\d+', input): return "digit" elif re.match(r'\w+', input): return "ident" elif re.match(r'[+\-*/=@&|^~]+', input): return "operator" else: return "error" みたいにしようと思ったけどこれだとマッチした結果が使えない こんなとき普通はどうするもん?
348 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 15:10:48 ] def lex(input): pat = ( (r'\d+', 'digit'), (r'\w+', 'ident'), (r'[+\-*/=@&|^~]+', 'operator'), ) for p in pat: m = re.match(p[0], input) if m: return p[1], m else: return "error"
349 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 15:11:49 ] インデント消えたけど最後の else: は if じゃなくて for の else なので注意してね
350 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 17:04:38 ] >>348 サンクス参考にしてみる
351 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 19:06:50 ] 誰かが書いたPythonのコード読んでいいところをマネしたいので 参考になるコードを知っている方いましたら教えてください 一通り入門書を読み終えた程度のものなのであまり大規模ではないものを まずは見たいと思っています。バージョンは2でも3でも読めます よろしくお願いします
352 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 19:21:11 ] 標準ライブラリ
353 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 19:21:50 ] >>351 SourcrForgeで、関心がある分野(画像処理、とか)のプロジェクトのソースをダウンロード。 その次は、プロジェクトにパッチを送ってみる。 ttp://sourceforge.net/search/?type_of_search=soft&words=python
354 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 21:29:15 ] def FeedBtn(self, event): feedlist=[line for line in file("feedlist.txt")] tlist = [] for feedurl in feedlist: feed=feedparser.parse(feedurl) for e in feed.entries: feed.append(e.title, e.summary, e.enclosures[0].url, e.enclosures[0].type, e.enclosures[0].length) return tlist self.Frame.titlelist.Clear() self.Frame.titlelist.Appned(tlist(e.title)) 何とかしてtitle一覧作りたいのですがGUIのListBoxにtitle一覧が表示されないです ボタン押してもエラーが出ないので何が間違ってるか分からないです。
355 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 21:48:45 ] >>351 俺も標準ライブラリ読むのがいいと思う。良くないのも多いが あと先に言っておくけどtwistedとZopeは参考にするな
356 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 21:59:13 ] ワープアは大変だな。
357 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 22:05:14 ] >>354 ・GUI無しで、単純にtitle一覧リストデータは得られるか? ・ListBox以外のコントロールに表示は出来るか? ・title一覧でなくて、単純なリストの項目をListBoxに追加表示できるか? これくらい調べてきてくれ
358 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 22:05:55 ] >>342 普通に面白かった
359 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 23:01:18 ] なにも言ってないに等しいな
360 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 23:55:46 ] 変数の存在確認をする関数ってありますか?(phpで言うisset)
361 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 00:24:23 ] try: hoge == "PHPの仕様がおかしい" except NameError: pass
362 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 00:30:08 ] 方法1 初期化しとけ 方法2 例外を捕らえる>>361 方法3 'hoge' in locals()
363 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 00:56:19 ] >>362 >>361 方法1,2は知っていたのですが、 毎回書くのは面倒くさいのでべつの方法を探していました。 3を採用してみます
364 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 02:01:27 ] 何か知らないけどPythonのコードは例外の補足を必要とする率が極めて高い
365 名前:デフォルトの名無しさん [2009/11/24(火) 04:11:22 ] 100%と思ってた方がいい
366 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 15:13:29 ] みんぱいの人は中学から雑誌に原稿書いているのかぁ それに比べておれたちときたら...orz...
367 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 16:23:41 ] みんなのおっぱい乙
368 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 22:56:54 ] >>352 ,>>353 ,>>355 ありがとうございます。参考にさせていただきます
369 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 11:53:41 ] Editraで日本語入力ができないのですが これはpythonのライブラリが原因だからでしょうか? 日本語を扱うソフトを作りたいのですがこれはプログラミング側でどうにもできないですよね?
370 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 13:36:31 ] for(int i = 10; i >=0; i--) をpythonではどう書くんでしょうか?
371 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 13:54:34 ] >>370 for i in xrange(10, -1, -1): >>369 Pythonライブラリというか、その下のC言語で書かれた部分の問題だと思う。
372 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 15:18:49 ] >>371 ありがとう
373 名前:デフォルトの名無しさん [2009/11/26(木) 17:41:52 ] パイソンって強そうな名前ですが、本当につおいのですか? でもちょっとHでもありますが。。
374 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 17:45:57 ] けっこうつおい。
375 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 17:46:24 ] 750 デフォルトの名無しさん [] 2009/11/26(木) 17:39:38 ID: Be: まったくズブの素人です。 これからブイバ初めても間に合いますか? プログライミングをでけるようになりたいから 手始めにVBAから勉強するのか迷い中です。 何か時代は.NETでブイビーも.NET それじゃ〜ブイバももう手遅れなんでしょうか?
376 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 17:49:52 ] >>375 バイブだのズブズブだの初めてだの、エロいレスだな。
377 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 18:41:17 ] >>376 375のこいつ暇すぎて変なことばかりしとる
378 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 19:40:12 ] >>373 パイロンって読むんじゃないの?
379 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 19:42:32 ] またruby厨の荒らしっすか
380 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 20:42:05 ] パイソンはタイソンよりつおいから自信もってw
381 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 20:48:07 ] 972 デフォルトの名無しさん [sage] Date:2009/11/23(月) 17:09:32 ID: Be: ID強制になるだけで静かになるよ 973 デフォルトの名無しさん [] Date:2009/11/23(月) 18:02:02 ID: Be: その変更はキミに任せるから提案してくれ。 974 デフォルトの名無しさん [] Date:2009/11/23(月) 18:18:58 ID: Be: 反対するのは荒らしたい奴だけだから強行しちゃって良いよ
382 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 15:52:29 ] クラスの初期化と同時にプロパティをセットするにはどうやったらいいんでしょうか? 例えばC#なら A a = new A(){ Property = xxxx } みたいなかんじで書きたいんですが
383 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 16:06:08 ] 自分で作ったクラスなら__init__で引数取ってプロパティをセット そうじゃないなら諦めろ
384 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 16:19:50 ] **kwargs
385 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 00:36:27 ] functools.partial
386 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 19:40:12 ] def setprop(obj, **kw): for propname in kw: setattr(obj, propname, kw[propname]) return obj
387 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 10:01:30 ] 集合知プログラミング6章のtrain関数にMeCabで分かち書きした名詞の辞書渡そうとすると TypeError: 'dict' object is not callableで怒られる。 どうすればいいんだorz
388 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 10:17:58 ] ソース
389 名前:デフォルトの名無しさん [2009/11/30(月) 18:04:57 ] 作成したあるライブラリを python setup.py install でインストールし、無事に使用できています。 しかし新しいバージョンのライブラリを同様の手順で インストールすると古いバージョンのファイル (もはや使っていないモジュール)が残ってしまいます。 これは手動で削除するしかないのでしょうか? 旧バージョンのアンインストール+新バージョンのインストール という作業を自動化する方法はないのでしょうか?
390 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 18:27:37 ] easy_installでもuninstallは出来ないよね。なんでだろ。 手動でもいいのでuninstallの方法が知りたい。
391 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 18:58:10 ] setuptools を捨てて、 distribute + pip を使うんだ。 pip uninstall がある。
392 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 19:32:28 ] setuptoolsは俺も正直どうかと思う いちゃもんみたいなもんだがいつまでもバージョン1にならんし コードも汚い
393 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 19:48:59 ] パッケージのアンインストールは easy_install -m packagenameして登録解除?した後 lib/site-packagesからeggまたはディレクトリを手動で削除、らしい ほんとなんでこんなのがデファクトスタンダードになってしまったのだろうか
394 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 19:52:28 ] インストールがイージーだから
395 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 20:24:51 ] >>393 そんな簡単な手順なら easy_uninstall を作って配布してください
396 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 14:57:43 ] >>393 ナイス情報ださんくす
397 名前:デフォルトの名無しさん [2009/12/01(火) 18:14:17 ] 透明なウィンドウを作り、その上に文字を表示する方法が分かりません。 pygameでもwxでもそれ以外でも何でもいいです。 OSはXPで、pythonのバージョンは2.6です。 一応PILを使い myfont = ImageFont.truetype(font,size) wsize = myfont.getsize(text) img = Img.new('RGBA',wsize,(0,0,0,0)) draw = ImageDraw.Draw(img) draw.text((0,0),text,fill=color,font=myfont) img.save('temp.png')で文字画像を保存し wxPythonで style = wx.FRAME_NO_TASKBAR | wx.FRAME_SHAPED | wx.NO_BORDERのウィンドウを作成して bmp = wx.BitmapFromImage(wx.Image('temp.png')) self.SetClientSize(bmp.GetSize()) self.SetShape(wx.RegionFromBitmap(bmp))のようにしてやろうとしたのですが 背景が透明にならず、灰色になってしまいました。 画像ビューアではちゃんと背景は透明になっているのですが…。 あと、GIMPで作成した画像だとちゃんと背景が透明になります。 何が駄目なのでしょうか? この解決方法もしくは他の良い方法があれば教えて欲しいです。 よろしくお願いします。
398 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 18:39:08 ] アルファ付きの画像を表示しただけでウインドウまで透明になったら苦労しないよ。
399 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 19:30:45 ] >>397 やりかた知らないけどwxPythonのサンプルにヘビ画像のウィンドウサンプルがあったから、それで出来ないかな?
400 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:27:00 ] RegionFromBitmapColourで透過色指定するのは?
401 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:55:28 ] >>397 この質問どこかで見たぞ?
402 名前:>>397 mailto:sage [2009/12/01(火) 20:58:11 ] >>400 の方法で出来ました。 ありがとうございました。
403 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 23:12:44 ] >>396 ちょっとぐぐったらこんなのがあった ttp://d.hatena.ne.jp/TaoPyPI/20090118/1232277995
404 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 06:09:26 ] re.compile(ur'(\d*)?') が nothing to repeatと言われます 確かに無意味な部分がある正規表現ですが、意味を解釈できないというわけでもないと思えます wshなんかでは通りますし それでふとした疑問なんですが "この正規表現が間違っている" と "Pythonが気を利かせせてくれている" ではどちらがより適切な理解だと思われますか?
405 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:35:16 ] エラーになるからには、Python(の正規表現ライブラリ)的には、間違ってる、 と解釈するのが妥当だろう。 解釈が一意に決まらない、というのは、場合によってはエラー扱いされて おかしくない状況。
406 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 18:00:22 ] Pythonはいろいろとワガママすぎる
407 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 18:45:46 ] Rubyはすばらしい本当に素晴らしいですよ
408 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:13:02 ] Pythonと違って懐の深い言語だしな
409 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 20:13:57 ] すみません。教えてください。 呼び出されたdefの中で、誰(widget)から呼び出されたか を知る方法って無いでしょうか。
410 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:03:26 ] esp
411 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 00:30:09 ] [[]] * n とすると中のリストの実体は一つでそれの参照がn個外のリストに入るんだな おかげで小一時間なやんだ
412 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:07:34 ] そうやって初心者はオブジェクトと参照の概念を学んでいくのさ・・・
413 名前:デフォルトの名無しさん [2009/12/04(金) 09:31:51 ] 概念は分かってても 言語によって挙動が違うからなぁ
414 名前:デフォルトの名無しさん [2009/12/04(金) 10:54:02 ] モジュールレベルの __author__ とか __copyright__ とかって 何がどのようなドキュメンテーションシステムで使われているのか どこで決められているんでしょうか? PEP で docstring その他のコードの書き方、スタイルについての ガイドラインって有りますか? 自分としては 1)PyDev (Eclipse) の補完時に追加情報として表示して欲しい 2)あとで Sphinx でドキュメント生成するかもしれない と思っていますが、とにかく何か取り決めがあるなら それに従っておこうと思っています。
415 名前:デフォルトの名無しさん [2009/12/04(金) 10:58:31 ] www.python.org/dev/peps/pep-0257/ docstring conventions というのは見つけましたが、 モジュールレベルの他の属性?(__author__とか) についての記述はありませんでした。
416 名前:デフォルトの名無しさん [2009/12/04(金) 11:02:40 ] __version__ だけは www.python.org/dev/peps/pep-0008/ で見つけました。あと、同様の質問を www.velocityreviews.com/forums/t336433-__author__.html で見つけたんですが、__version__ 以外は標準的なものじゃない ってことのようです。でもいろんなライブラリで__author__ なんかは使われていて、何らかのガイドラインがあるのかと思っているのですが・・
417 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 11:06:44 ] jaynes.colorado.edu/PythonGuidelines.html こういうガイドラインもあるようですが、 特定のプロジェクトでのコード規約ではなく Python界で広く用いられている (そしてドキュメント生成ツールなどでも理解される) 物は何だろうと探し続けて早一時間。
418 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 11:13:17 ] stackoverflow.com/questions/1523427/python-what-is-the-common-header-format でも同様の質問が出てましたが、結局上に書いた How do I organize my modules (source files)? jaynes.colorado.edu/PythonGuidelines.html#module_formatting をミロってことでした。 疲れ果てて心が折れそうなので__author__くらいは書いておきます。
419 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 15:47:53 ] テキストの特定の文字をフィルタリングして表示したい時って正規表現使えばいいんですか?
420 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 20:12:30 ] フィルタリングがどういう処理を意味するのかわからない
421 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 20:27:47 ] 伏字ってことじゃない? password: ***** や /home/***/ みたいな というわけで文字列メソッドの replace か 正規表現が使いたければ re.replace
422 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 20:56:16 ] >>420 説明不足でした。 テキスト内の特定の文字だけ表示させないで残りを表示したいという意味です。
423 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 22:09:51 ] エイホ・コラシックを実装
424 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 22:12:00 ] >>422 正規表現置換あるんだからそれでいいじゃない
425 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 00:00:44 ] >>424 なるほど置き換え使えば簡単に消せるんですね ありがとうございます
426 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 22:31:52 ] 文字列の型は<str>で数値の型は<int>ですよね Noneの型を記述するときの上のような書き方はないのでしょうか? 今はtype(None)で代用しています
427 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 22:44:50 ] import types types.NoneType でもhoge is Noneでいいんじゃないの?
428 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 23:04:36 ] ['aaaaa'] -> リスト ('aaaaa') -> 文字列 ('aaaaa',) -> タプル なんかきもちわるい。 書き換えしたくない場合でもリストを使ったほうが見通しがいいと思うのは俺だけ? タプルって辞書のキーとかイミュータブルが必要なときだけ使うという考えでもおk?
429 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 23:15:52 ] return(foo)って書きたくなるときがあるんだ。
430 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 23:50:27 ] >>427 型をリストに入れて変数の型検査を行っているので、Noneの型が必要なのです。 from types import NoneType とすることにしました。ありがとうございました。
431 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 00:09:19 ] {'・ω・'}ショボーン
432 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 03:53:56 ] デバッグ時のみモジュール名を行頭に付けたうえで出力する関数を作ろうと考えたのですが DDEBUG = True def debug_print(obj): if DDEBUG == True: print '[', __name__ ,']', obj これをdebug.pyとした場合importして使っても当然ながらつねに[ debug ]としか表示されません コピペすれば期待通りに動くんですけれどコピペするってのもどうなんだという気がしまして なんかうまい方法ありませんか? 自分で思いつくのはdebug_printにモジュール名用の引数を取る方法ぐらいしかありません
433 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 04:40:26 ] logger logging
434 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 05:30:40 ] >>433 おぉこんなものが 期待した以上のことができそうです ありがとうございました
435 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 08:48:48 ] newcamel.logos.ic.i.u-tokyo.ac.jp/~s1s5/pukiwiki/index.php?programming%2Fpython%2Flogging %(pathname)s ログ記録の呼び出しが行われたソースファイルの 全パス名 (取得できる場合) %(filename)s パス名中のファイル名部分 %(module)s モジュール名 (ファイル名の名前部分)
436 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 10:01:16 ] >>428 統一したいだけなら list('aaaaa') tuple('aaaaa') あと、リストとタプルはCでいう配列と構造体くらいには別物。
437 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 14:32:03 ] wxpythonを使い、 GUIの操作用ボタンと結果表示用のラベルがあり データ処理を行うようなソフトを作っています データ処理は時間がかかり、メインのプロセスでやってしまうとその間GUIのパネルが固まってしまうので、 データ処理はmultiprocessingを使ってサブプロセスで行うことにしました それ自体はうまくいき、multiprocessing.Queue()を使いデータのやり取りもできたんですが, メインプロセス側がキューのget()を呼び出して待機するわけにもいかないので(パネルが固まってしまい本末転倒) wxPythonのTimerを使ってget(False) を呼び出すメソッドを作り、一定時間ごとにそのメソッドを呼び出しデータが来ていないか確認して、 データが来たらラベルに表示するようにしました。一応完成はしたんですが、一定時間ごとに結果がないか確認、という動作が なんだか気持ちわるいとうか サブプロセスのデータ処理が終わったら、それを通知するというか、終わったことをきっかけにメインプロセス側の表示処理を稼働させるというか そういうのって出来ないもんです?
438 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 20:51:51 ] 出来るんじゃない?
439 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 21:34:58 ] mainloopの中身を見てみな。
440 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 22:33:18 ] >>439 C++で作られた関数を呼び出すだけでした C++を理解できないとどうにもならないという意味だったのでしょうか?
441 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 22:50:33 ] 非同期でqueueなりpipeでメッセージ飛ばしてidleで処理するしかないんじゃない? まあタイマーでやってるのと大差ないけど
442 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 07:42:23 ] >>440 >>441 すいません Demoみてたら、GUIが固まるのを防ぐ方法がありました ご返答ありがとうございました
443 名前:デフォルトの名無しさん [2009/12/07(月) 13:33:54 ] <main.py> def proc(): 非デバッグ時のコード def run(): proc() if __name__=='__main__': run() <debug.py> from main import * def proc(): デバッグ用のコード if __name__=='__main__': run() デバッグ時のみdebug.pyでデバッグ用のコードを実行させたい のですが、 main.py、debug.pyどちらから起動してもmain.pyの方が実行さ れてしまいます。 importしたモジュールの関数の上書きは出来ないのでしょうか ?
444 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 14:07:23 ] import main if __name__=='__main__': main.proc = proc main.run() 名前空間に対する理解が不十分
445 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 14:30:05 ] 入門書嫁
446 名前:デフォルトの名無しさん [2009/12/08(火) 21:25:42 ] wxPython付属のxrcedでGUIの作成を行っているんですが wxListCtrlを設置するとError creating test view といわれどうしても設置してプレビューできません どなたかこうなってしまう原因に心当たりのある方はいらっしゃらないでしょうか そして、もしよろしければwxListCtrlを配置したxrcファイルをいただけないでしょうか
447 名前:デフォルトの名無しさん [2009/12/08(火) 22:15:25 ] psycoの読み方ってなに? ピーサイコ?
448 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 22:19:47 ] psychologyがサイコロジーだからサイコだと思う
449 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 22:22:46 ] pは発音しないでサイコでいんじゃね?
450 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 23:02:10 ] なるほど、ありがとう
451 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 00:24:49 ] >>446 ListCtrlのStyleの設定でLC_REPORT, LC_ICONとかにチェック?
452 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 01:01:16 ] ぷさいこ
453 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 09:10:00 ] パイチンコだろ
454 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 13:02:54 ] サイコガンダムで読み方を覚えた
455 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 23:10:09 ] >>451 やってみたのですがやっぱりエラーが出ます これはもうxrecd投げ捨てるしかないのか・・・・・・・
456 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 00:06:08 ] pythonのことをブログに書くと ツネヤマとかいうトラックバックスパムが酷くて悩んでいます どうすればいいでしょうか?
457 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 00:28:07 ] Rubyについて書けばいいと思います
458 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 00:30:30 ] ヤツはスパムって程でもあるまい 俺の備忘録ブログにも来るくらいだしw 嫌ならトラックバック閉じるかブログやめればおk
459 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 04:31:46 ] そもそもブログって媒体は辞めておけ
460 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 07:49:32 ] ツネヤマなのか? トコヤマだと思ってたぜw
461 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 09:47:12 ] 確実に捕捉されるよね
462 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 10:06:59 ] トコヤマは情弱の情報源
463 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 23:32:13 ] ジョウザンじゃないのか。 あとMoinMoin 1.9.0 Finalも取り上げておいてくれ。>中の人
464 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 00:11:21 ] けつまんこぼるんたす
465 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 06:13:46 ] 結局どう読むんだよw
466 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 06:18:14 ] プロフィール johzan 収集する男 Error : RSSが取得できませんでした。 カレンダー << 2009/12 >> 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 最新タイトル
467 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 06:24:10 ] アルェー トコヤマだと思ってたYO
468 名前: ◆R9u5o717Q6 [2009/12/15(火) 21:51:18 ] 2.6をしようしています python標準のsqlite3を使っているのですが データの整合性のためselect使用時にはテーブルをロックさせるためにBEGINしたいのですが select時に自動的にさせる、もしくは自分でbeginするにはどうしたらいいのでしょうか? commitメソッドはあってもbeginはないのでよくわかりません isolation_level=・・・・ というのかと最初思ったんですがこれはロックがかかるときにどういうロックがかかるかの話で 自動的にトランザクションが始まるのはあいかわらずINSERT/UPDATE/DELETE/REPLACEだけみたいで どうしたらいいのかわかりません
469 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:06:04 ] あるよ
470 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:06:51 ] BEGINはロックのための機構じゃないぞ トランジャクソンのためだぞ
471 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:52:10 ] トランザクション
472 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:04:44 ] Pythonのコメントでメソッドの引数とか戻り値について決まった書き方ってあるんですか? 探しても無さそうなんですが。
473 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:04:51 ] ここが本スレだったら延々脱線するとこだ >>468 Cursorオブジェクトに execute メソッドがあるから それで begin transaction すればいけるかも 使ってるマニュアルに載ってなかったら最新版見て あとSQLiteはスレが別にあるからここで解決しなければそっちで
474 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:16:22 ] >>472 PEP 8
475 名前:472 mailto:sage [2009/12/16(水) 00:32:42 ] >>474 ありがとうございます。 メソッドの各引数や戻り値の型を、Javadocの @param や @return のように、決まった書き方で書けといったことは無いみたいですね。 人のソースを見た時など、理解するのが面倒な気はしますが。
476 名前:デフォルトの名無しさん [2009/12/16(水) 00:48:20 ] あるよ
477 名前:472 mailto:sage [2009/12/16(水) 01:05:39 ] >>476 えっ!?
478 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 05:37:59 ] Python3だと関数アノテーションってのがあるな
479 名前:472 mailto:sage [2009/12/16(水) 07:18:48 ] >>478 ttp://www.python.org/dev/peps/pep-3107/ これですね。よさそうですね。 やっぱり、型が何かって記述はそれ程重要視されてない感じですね。
480 名前:468 ◆R9u5o717Q6 mailto:sage [2009/12/16(水) 20:51:09 ] >>473 executeにbegin transactionの文を送っていいのか調べてたらそもそも勘違いをしていたようです 実のところ ttp://www.python.jp/doc/2.5/lib/sqlite3-Controlling-Transactions.html sqlite モジュールがトランザクション状態を把握する必要があるので、 SQL の中で OR ROLLBACK や ON CONFLICT ROLLBACK を使ってはなりません。 というのを馬鹿な勘違い起こして、BEGINもダメみたいに解釈してました。 そのためbeginの代替方法ありませんかという質問に至っていました executeにbegin transaction投げてみます ご迷惑おかけしました
481 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 21:28:23 ] 誰も必要とはしないけど一応結果を Connection オブジェクトで execute(u'begin exclusive') すればいいだけでした
482 名前:デフォルトの名無しさん [2009/12/18(金) 04:04:03 ] みんなのPythonを半分以上(7割くらいかな)読んだが これってソフトを作成できるスキルが身に付いたとは思えない… 最後まで読め?
483 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 04:38:03 ] no
484 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 04:38:15 ] >>482 最後まで読まなくてもいいよ ただページをパラパラめくって何が書いてあったか程度には把握しておくこと あとで必要になったら読み返せばいい で、実際に何か役に立つものを作ろうと思ったら周辺知識が必要 どんな周辺知識が必要かは作りたいソフトによる どういうソフトを作りたいか具体的に言えば あれを勉強しろだのこれを読めだのこのライブラリ使えだの答えが返ってくると思うよ
485 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 10:39:28 ] だったら読まない
486 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 11:25:04 ] そもそも、あの本は初歩的なことしか書いてない
487 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 13:41:41 ] 基礎は大切ですよ
488 名前:482 [2009/12/18(金) 20:57:03 ] >>484 ありがとうございます。 為替のメールソフト(設定のレートになったらメールを送信する) を作りたいと思っております。 メールを送るのは調べれば大丈夫だと思います。 わからないのは為替レートを別ページなどから参照?するような工程です。 なにかアドバイスがあればお願い致します。
489 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 00:55:33 ] ログイン付きページから参照サンプル。 ドメイン名称ってのはログインダイアログのタイトルとかに出てくる import urllib2 auth_handler = urllib2.HTTPBasicAuthHandler() auth_handler.add_password('ドメイン名称', 'ホスト名', 'ユーザ', 'パス') opener = urllib2.build_opener(auth_handler) urllib2.install_opener(opener) data = opener.open('http://ホスト/ページ').read(100000) あとはがんばってHTMLを解析するがよろし。
490 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 02:01:01 ] >>488 > わからないのは為替レートを別ページなどから参照?するような工程です。 例えば自分のWebページやBlogなんかに為替レートを埋め込んで 表示したい、とかそういうこと? そういうパーツならたくさん配布されてるからそれを使う 自前で作るのならまずは為替レートを取得するところまでやってみては 為替レート API でぐぐるといい
491 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 02:44:19 ] 本気なら ttp://www.xignite.com/Products/Catalog.aspx 軽くなら、自分の使ってるFX業者のページを解析していればいいんじゃね?
492 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 17:58:47 ] cursesが詳しく紹介されている日本語のサイトありませんか?
493 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:44:47 ] unicode(s, 'shift-jis') のsに丸囲み数字 -> @ が入ってるとエラーになるみたいなのですが、変換させる方法はないのでしょうか? unicodeにも丸囲み数字はあるらしいのですが・・・・・・ sが「あいうえお@」のときのエラー内容 UnicodeDecodeError: 'shift_jis' codec can't decode bytes in position 10-11: ille gal multibyte sequence
494 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:47:08 ] 何度も出てる話題だけど、 shift_jis には@なんて文字は無いからエラーになってるだけ。 お前が使っているのは Shift-JISに Microsoft の拡張が入ったもので、 cp932 とか Windows-31J とかいう名前の文字コード。
495 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:58:42 ] www.nicovideo.jp/watch/sm9127380
496 名前:493 mailto:sage [2009/12/21(月) 01:00:49 ] >>494 cp932にしたところ上手くいきました。 ありがとうございました。
497 名前:デフォルトの名無しさん [2009/12/21(月) 07:35:23 ] Windows上でPythonで書いたスクリプトを、PythonがインストールされていないWindows PCでも動くように実行ファイル.exeにすることは可能ですか?
498 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 07:41:27 ] py2exeとか有るよ。
499 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 07:44:07 ] P言語 【プログラミング】 ・本格的な汎用プログラミング言語には馴染めない連中が好んで使うPerl、Python、PHPあたりのあたまに「P」がつくスクリプト言語のこと。
500 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 08:37:41 ] 本スレでどうぞ
501 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 09:36:52 ] 「本物のプログラマーはパスカルを使わない」ってことだな
502 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 14:23:59 ] ウィンドウ内外でマウスのクリックが押されている状態かどうかを取得する方法はありますか? 押された時と離された時に実行されるものでもいいです。 pyautoというものを見つけたのですがキーボードのタイピングはフック出来たのですが マウスのクリックは出来なさそうなので(僕が理解してないだけかもしれないですが)。 よろしくお願いします。
503 名前:497 [2009/12/21(月) 18:47:45 ] >>498 ありがとうございます。 そちらを勉強してきます。
504 名前:502 mailto:sage [2009/12/21(月) 19:40:05 ] すいません、自己解決しました。 pyHookってモジュールで出来ました。
505 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 06:56:24 ] C/C++の知識はあるのですが、今までインタプリタ言語を使ったことがありません。 この度新しくインタプリタ言語としてPythonを(日々の作業のお供としても役立ちそうなので)学ぼうとしているのですが、何で勉強するのがいいでしょうか。 書籍やウェブなどありそうですが、最近Pythonのメジャーバージョンアップがあったとも聞いています。 オススメを教えてください。お願いします。
506 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 07:17:46 ] >>505 公式チュートリアルをどうぞ www.python.jp/doc/release/tut/tut.html わかんなかったらここで聞けば誰かが優しく教えてくれます Pythonには2.x系列と最近出た3.x系列があるけれど、 3.xはまだ殆どの人が使ってないので安心して2.x系列を勉強してください バージョンは2.5以上(最新版は2.6.4)なら多分間違いないです
507 名前:505 [2009/12/22(火) 11:43:01 ] >>506 ありがとうございます。 現状につきまして Pythonには便利なモジュールが多くあるが、まだPython 3.x系列には対応しているものが少ない という認識でよろしいでしょうか?
508 名前:デフォルトの名無しさん [2009/12/22(火) 14:31:56 ] www.gizmodo.jp/2009/12/post_6513.html
509 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 14:46:57 ] 新手のナンパだな
510 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 23:23:29 ] c言語を軽くさわった程度の者です。 x = 'abcde' x[1] → 'b' (インデクシング) x[1:3] → 'bc' (スライス) x[1:-1] → 'bcd' (スライス) これの法則性がわかりません。
511 名前:510 mailto:sage [2009/12/22(火) 23:25:23 ] のでどなたか教えていただけませんでしょうか。 よろしくお願い申し上げます。
512 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 23:37:16 ] >510 の質問の意図がわかりません。 のでどなたか教えていただけませんでしょうか。 よろしくお願い申し上げます。
513 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 23:39:08 ] >>508 ttp://www.youtube.com/watch?v=ihXtbB-4GWw すげーな
514 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 23:49:27 ] >>512 …死ねばいいのに
515 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:01:08 ] x[1:-1]=x[1:len(x)-1] こんな感じでいいか?
516 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:20:58 ] >>510 x[1]はCとあんまり変わらない。これはわかるとおもう。 x[1:3]みたいにコロンで区切られてた場合はスライスといって、 文字列の(正確にはシーケンスの)一部を取得できる。 x[1:3]だと、x[1]からx[3]の手前までだから"bc"。 あと、マイナスを使えば反対から数えられるから、x[1]から最後の一つ手前までで"bcd"。 リスト関係の処理はほんとに便利にできてるので勉強して損はない。 あとインデクシングって、「インデックスをつけること」だから意味がぜんぜん違うぞ。
517 名前:デフォルトの名無しさん [2009/12/23(水) 00:23:34 ] x[:]
518 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:26:26 ] ちなみに x[:] → 'abcde' x[-1] → 'e' x[:-1] → 'abcd' x[-1:] → 'e'
519 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:30:15 ] 要するに、x[a:b]のときはx[a]からx[b]の一つ手前(x[b-1])までになる。 ついでに、x[a:]はx[a]から最後までで、x[:b]は最初からx[b-1]まで。
520 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 01:06:53 ] >>110 分かりにくいだろうから、説明画像をぱぱっと作った。 ttp://up.mugitya.com/img/Lv.1_up108952.png というか、こういう画像はどっかにもあった気がするが…。
521 名前:デフォルトの名無しさん [2009/12/23(水) 01:10:33 ] x[n] はcとか同様n+1番目の要素 x[a:b] は要素の区切り位置でa〜bの範囲の要素集合 と考えるとラク "qwerty"なら | q | w | e | r | t | y | 0 1 2 3 4 5 6
522 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 03:57:06 ] x[]
523 名前:512 mailto:sage [2009/12/23(水) 08:24:17 ] >>515-522 大変分かりやすい解説をいただき、 皆様ありがとうございます。 インデクシングという用語につきましては > Python入門第2回 Pythonの文法 > ttp://www.f7.ems.okayama-u.ac.jp/~yan/python/python02.html ここからのコピペでした。。。
524 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 09:33:21 ] インデクシング indexing で別に間違ってないよ 印を付けるのと添え字で参照する、どちらの意味かは文脈から明らかだし docs.python.org/tutorial/datastructures.html#tuples-and-sequences > 5.3. Tuples and Sequences > We saw that lists and strings have many common properties, > such as indexing and slicing operations. あと推薦図書スレからコピペ Python 3 プログラミング徹底入門 著:マーク・サマーフィールド(Mark Summerfield
525 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 13:01:23 ] >>524 ありがとうございます。
526 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:20:09 ] >>> x='abcd' >>> x.split() ['abcd'] >>> x[:] 'abcd' >>> x.split('') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: empty separator >>> ['a', 'b', 'c', 'd'] というリストにしたいときはどうすればいいでしょうか?
527 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:24:46 ] >>526 list(x)
528 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:32:46 ] >>527 ありがとうございます なんかオブジェクト指向っぽくないですね
529 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:42:07 ] perl に毒されすぎワロス wwww
530 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:43:15 ] listオブジェクトのコンストラクタにイテレータブルなオブジェクト入れたらlistに変換できる、 って話だから思いっきりオブジェクト指向だぜ。 なんでもメソッド主義ってわけじゃないのは確かだが。
531 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:48:16 ] >>> x[:]='abcd' >>> x ['a', 'b', 'c', 'd']
532 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:49:57 ] そんな黒魔術いらんがな
533 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:50:12 ] >>530 len(x) 4 これはlenオブジェクトのコンストラクタにカウンタブルなオブジェクトを入れたんですね わかります
534 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:50:38 ] ていうか動きすらしないよなw 引っかかった漏れ乙
535 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:53:38 ] >>534 >>> x=[] >>> x[:]='abcd' >>> x ['a', 'b', 'c', 'd'] スマソ
536 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:55:34 ] >>533 lenはオブジェクトじゃねえよw
537 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:58:02 ] >>536 オブジェクト指向に毒されてる人を皮肉ったんだろう というか>>535 が動いて悔しい リファレンス読んでくる
538 名前:デフォルトの名無しさん [2009/12/23(水) 14:58:48 ] wxWizardで次のページに進ませるにはどうしたらよいのでしょうか? def Process(self): e = wx.wizard.WizardEvent(wx.wizard.EVT_WIZARD_PAGE_CHANGING) self.wizard.ProcessEvent(e) # wxWizardEventオブジェクトを生成してwxWizardオブジェクトのProcessEventメソッドに 渡していますが上手くいきません。 Traceback (most recent call last): File "C:\Documents and Settings\user\My Documents\python\testwizard.py", line 169, in Process self.wizard.ProcessEvent( wx.wizard.EVT_WIZARD_PAGE_CHANGING ) File "C:\Program Files\python\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 3863, in ProcessEvent return _core_.EvtHandler_ProcessEvent(*args, **kwargs) TypeError: in method 'EvtHandler_ProcessEvent', expected argument 2 of type 'wxEvent &'
539 名前:538 mailto:sage [2009/12/23(水) 15:04:17 ] ごめんなさい。エラーメッセージが別のものでした。 Traceback (most recent call last): File "C:\Documents and Settings\user\My Documents\python\testwizard.py", line 167, in Process e = wx.wizard.WizardEvent(wx.wizard.EVT_WIZARD_PAGE_CHANGING) File "C:\Program Files\python\lib\site-packages\wx-2.8-msw-unicode\wx\wizard.py", line 84, in __init__ _wizard.WizardEvent_swiginit(self,_wizard.new_WizardEvent(*args, **kwargs)) TypeError: in method 'new_WizardEvent', expected argument 1 of type 'wxEventType'
540 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:04:56 ] >>537 >>536 は結局 x[:]=list('abcd') ってことでは? perl っぽいが
541 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:18:30 ] なにがperlっぽいのかよく分からない
542 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:19:11 ] lenが嫌ならいちいち__len__呼んでろよ。
543 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:52:50 ] >>540 www.python.org/doc/2.6/reference/simple_stmts.html#assignment-statements "If the target is a slicing:" での説明からすると、>>540 の文や >>> x = ['a'] >>> x[:] = ['a', 'b', 'c'] >>> x ['a', 'b', 'c'] はまだ理解できるんだけど、>>535 の >>> x=[] >>> x[:]='abcd' >>> x ['a', 'b', 'c', 'd'] は左辺と右辺の型が list と str で異なってるから > The assigned object should be a sequence object of the same type. に違反してエラーになりそうな気がするんだけど、そうはならない 気味悪いから誰か説明してくださいお願いします
544 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 16:08:09 ] スライシングの右側はイテレータならなんでも良かったはず。
545 名前:544 mailto:sage [2009/12/23(水) 16:16:02 ] 日本語がおかしかった。 リストのスライシングの代入文では、右辺にイテレータブルなオブジェクトをとる。 >>> x = [] >>> x[:] = {1: 'a', 2: 'b'} >>> x [1, 2]
546 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 16:16:38 ] >>544 >>> L = [] >>> L[:] = open('c:/python26/license.txt') >>> L[:5] ['A. HISTORY OF THE SOFTWARE\n', '==========================\n', '\n', 'Python w as created in the early 1990s by Guido van Rossum at Stichting\n', 'Mathematisch Centrum (CWI, see www.cwi.nl ) in the Netherlands\n'] 本当だ。見なかったことにしよう
547 名前:544 mailto:sage [2009/12/23(水) 16:25:02 ] なぜ見なかったことにするんだw ストリングを一文字ずつリストに入れるには list('abcd') が一番いいと思うよ。
548 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 16:30:52 ] 可読性を最大にするなら [x for x in 'abcd'] どうみたって1文字ずつ分解してる
549 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:00:29 ] TOOWTDIはどこいった...
550 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:06:20 ] >>544 を信じますか? 信じる → 信じない よしこれで俺のPythonは清いままだ
551 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:42:50 ] >>> x=(1,2,3) >>> y=[0,2,4,6,8] >>> y[1:4] = x >>> y [0, 1, 2, 3, 8] これでエラーが出て欲しいと申すか
552 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:44:32 ] そんなこというなら*argsだってそうだ from __future__ import print_function print(*open('C:\\Python26\\LICENSE.txt')) **kwargsだってdictっぽければいい class Kwargs(object): def __init__(self, **kwargs): self.kw = dict(kwargs) def __getitem__(self, name): return self.kw[name] def keys(self): return self.kw.keys() def dump(**kwargs): print kwargs dump(**Kwargs(a=1))
553 名前:デフォルトの名無しさん [2009/12/23(水) 23:14:04 ] Windows XP上で、 標準入力から入力されたパスを調べて、 1.実在するディレクトリだったらそのディレクトリとサブディレクトリの中のファイルのフルパスの一覧を標準出力に出力する。 2.実在するファイルだったらそのフルパスを標準出力に出力する。 3.実在しないパスだったらエラーを標準出力に出力する。 こんなPythonスクリプトをどなたか書いて下さいませんか?
554 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 23:44:25 ] Python の宿題ここで答えます Part 2 pc12.2ch.net/test/read.cgi/tech/1258320456/
555 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 23:56:58 ] >>554 ありがとうございます。 行ってきます。
556 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 06:44:33 ] >>551 めっそうもございません お許しください メモ >>> a = [0, 1, 2] >>> a[1:2] = 'abcde' >>> a [0, 'a', 'b', 'c', 'd', 'e', 2]
557 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 12:05:17 ] 空飛ぶモンティパイソンを見ようと思うんだが 40thアニバーサリーBOX買っとけばいいのか?
558 名前:デフォルトの名無しさん [2009/12/24(木) 14:28:39 ] >>538-539 おながいします
559 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 16:55:54 ] >>538-539 おなにいします
560 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 20:24:26 ] test
561 名前:デフォルトの名無しさん [2009/12/26(土) 14:54:36 ] リストaに対して a[len(a)] や a[len(a):] を参照したり、代入したらエラーになりますか? それともC系みたいに未定義の動作になりますか?
562 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 14:57:37 ] >>561 全く問題ない Cで未定義だというのも引っかかるものがあるんだが・・・・ 未定義になる例を書いてCスレで一度質問した方がいいぞ
563 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 14:58:41 ] んなわけないだろ俺死ね 忘れて下さい
564 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 15:09:24 ] >>561 >>> a = [1, 2, 3] >>> a[len(a)] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range >>> a[len(a):] = ['a', 'b', 'c'] >>> a [1, 2, 3, 'a', 'b', 'c'] >>> a[100:] = [1] >>> a [1, 2, 3, 'a', 'b', 'c', 1] スライスへの代入はちと特殊 >>544 あたりでやってるからそっち読んでね
565 名前:561 mailto:sage [2009/12/26(土) 17:11:26 ] >>562-564 ありがとうございます。 > >>> a = [1, 2, 3] > >>> a[len(a)] や > >>> a[len(a):] = ['a', 'b', 'c'] > >>> a > [1, 2, 3, 'a', 'b', 'c'] はわりとすんなり納得しましたが > >>> a[100:] = [1] > >>> a > [1, 2, 3, 'a', 'b', 'c', 1] はびっくりしました。 こういう仕様なんですね。
566 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:53:10 ] ここでいいのかどうか分かりませんが教えてください python で imap でメールを読んだものを html に出力すると ヘッダ中のメールアドレスなどが <hoge@fuga.hage> になっている部分だけが 表示されません たぶん <〜> で囲まれた部分が html のタグだとブラウザが解釈してしまうからだと思うのですが python でこれを escape するにはどうするのが一般的でしょうか?
567 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:58:45 ] >>566 str.replace str.translate cgi.escape xml.sax.saxutils.escape
568 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:42:24 ] >>> 2**10**4 19950631168807583848837421626835850838234968318861924548520089498529438830221946 63191996168403619459789933112942320912427155649134941378111759378593209632395785 とても長いので中略 70029097668650568557157505516727518899194129711337690149916181315171544007728650 57318955745092033018530484711381831540732405331903846208403642176370391155063978 90007428536721962809034779745333204683687958685802379522186291200807428195513179 48157624448298518461509704888027274721574688131594750409732115080498190455803416 826949787141316063210686391511681774304792596709376L と表示されました。 2も10も4も普通の整数型だと思うのですが、 演算結果が自動的にlongな整数になっています。 これはどうしてでしょうか? オーバーフローしそうになったら自動的にこうしてくれるのでしょうか?
569 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:47:23 ] そうです
570 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:48:01 ] >>569 ありがとうございます。 あと、 # coding: shift-jis って書いてあるプログラムを見かけるのですが、 これはShift-JISで書いている場合は常に付けた方がよいものでしょうか?
571 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:55:11 ] >>570 u'そうですね' をつねに使ってるなら無意味 'そうですね' とかやってるなら書いといた方がいい
572 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:57:43 ] >>570 2.x系はデフォルトエンコーディングがASCIIなので、ソースコードに非ASCIIな文字を使ってるなら付ける必要あり。 >>571 はダウト
573 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:57:48 ] >>571 なるほど。 お世話になり、ありがとうございました。
574 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:58:47 ] >>572 # coding: shift-jis の記述じゃデフォルトエンコーディングはかわんねーだろ
575 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:59:01 ] >>572 自分が常にこれからもShift-JISで書き続けるとして、 # coding: shift-jis と付けている分には悪いことはありませんか?
576 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:04:47 ] >>574 ソースコードのデフォルトエンコーディング。という意味でした。
577 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:19:29 ] print文の後ろに,が付くか付かないかで改行されるかどうかが決まるのでしょうか? 付けると改行されず、付けないと改行される、でよろしいですか?
578 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:21:19 ] >>577 はい。リファレンスマニュアルのprint文の箇所も参照してね。
579 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:27:25 ] >>578 ありがとうございます。 print 文がカンマで終了していない限り、末尾には文字 "\n" が書き出されます。この仕様は、文に予約語 print がある場合のみの動作です。
580 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:33:07 ] このようにprint文は特殊なので 3.0からは関数になります。
581 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:34:08 ] import math と from math import * とでは、 伝統や文化的な理由で どちらが推奨されるとかありますか?
582 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:55:00 ] >>581 一般的には前者推奨。 後者は小規模スクリプトかインタラクティブシェルで使うぐらい。
583 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 18:09:16 ] >>582 ありがとうございます。
584 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:26:49 ] Windowsで 〜.py(ttp://codepad.org/tXDoThvC)をダブルクリックした場合 これを実行すると、コマンドプロンプトが一瞬で閉じてしまいます。 (コマンドラインからpython 〜.pyとする文には大丈夫ですが。) 最後に何かキー入力を受けるまで画面を閉じないようにする 1文などありませんでしょうか?
585 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:28:32 ] import os os.system('pause')
586 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:44:31 ] >>585 ありがとうございます! まさにこれがしたかったです。
587 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:48:30 ] codepadでは通るこのコード ttp://codepad.org/6ggvcFhC が Python 2.6.4で、エラーになります。 エラーメッセージは ttp://codepad.org/3o9Vqzu4 です。 どうしてでしょうか。。。
588 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:20:43 ] >>587 同じディレクトリに random.py があるんじゃね?
589 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:48:06 ] >>588 それでした。 どうもありがとうございます。
590 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:21:37 ] a=[3,7] b=a a=a+[2] を実行すると b は [3,7] a は [3,7,2] となる。他方 a=[3,7] b=a a.append(2) を実行した場合には a も b も [3,7,2] である。 この違いにびっくりしました。 Pythonは基本的には参照を渡すのか、コピーを渡すのか、 どっちが多いですか?
591 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:34:32 ] >>590 まず、Pythonの変数は全部参照だから、「渡す」のは全部参照。 コピーを作ってそのコピーの参照を渡すのか、元の参照を渡すのかの違いでしかない。 a = [3,7] # [3,7] というリスト (A) を作って、その参照を a に入れる b = a # a に入っている (A) への参照を b に入れる a = a + [2] # a + [2] で、 (A) と [2] を連結した新しいリスト (B) を作る。そしてそれを a に代入する。 a.append(2) # a が参照しているリスト (A) に、 2 という値のオブジェクトへの参照を追加する。 + という演算子が「新しいオブジェクトを作る」という動作をしている。 # immutable な型なら、+ 演算子で新しいオブジェクトを作らずに既存のオブジェクトを使いまわすのもアリ
592 名前:>590 >505 mailto:sage [2009/12/27(日) 23:39:21 ] >>591 あー、なるほど! 非常に分かりやすい解説ありがとうございます。 どうにもC++で型宣言を意識していたため、よく分かっておりませんでした、 ありがとうございました。
593 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 08:08:06 ] ばっさばっさとさばいておりますな。初心者スレにふさわしい。
594 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:17:58 ] ttp://codepad.org/tdwJTVZ8 この挙動も > この不自然な結果は、Pythonが a=[[0]*3]*3 を処理するのに (内部で) > t=[0]*3 > a=[t]*3 > とやった為に発生したと考えられる。 > この問題は次のようにすれば回避できる。 > a=[0]*3 > a[0]=[0]*3 > a[1]=[0]*3 > a[2]=[0]*3 こう説明がありました。 うーん。 つまり[0]*3は新しく別のリストを作っており、一方 a=[t]*3は[t, t, t]だから その場に存在しているリストは a==[t, t, t]とt==[0, 0, 0]の2つだということですか?
595 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:22:35 ] [0] * 3 は [0, 0, 0] という新しいリストを作る [t] * 3 は [t, t, t] という新しいリストを作る 0 は immutable だから、同じオブジェクトの参照がたくさんあっても問題にならないけど、 リストは mutable だから、同じオブジェクトの参照がたくさんあると、一つを書き換えると他からの 参照にも影響を与える。
596 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:44:34 ] >>595 ありがとうございます。 ttp://codepad.org/KWHJEbWb これでxの値を7から-5に変更したら、 tは[x, x, x]で aは[t, t, t]なので t, aが共に変更されるのではないかと思うのですが、 実際は変更されません。 これは何故でしょうか。
597 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 11:15:04 ] >>596 これで納得してくれるかは怪しいけど a = 1 # 名前 a は 1 を指す a # 名前 a を評価する。評価して得られた値は 1 b = [a, a] # 名前 b は [a, a] を評価して得たリスト [1, 1] を指す a = 2 # 名前 a は 2 を指す b # 名前 b は相変わらず [1, 1] を指したまま あと a = 1 は「名前は a を指す」って代入文であって数学の等式じゃないから気をつけて a = 1; a = 2 なんてのも Python では成立する
598 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 11:29:24 ] >>596 リストはオブジェクトへの参照のリスト。 他の言語で参照というと変数への参照の場合があるけど、Pythonの場合は変数への参照は無い。 x = 7 # 7 という値のオブジェクト (A) を用意して、x が (A) を参照するようにする。 [x] # x が参照している (A) というオブジェクト一つを要素にしたリスト [ (A) ] を作る。このオブジェクトを(B) とする。 t = [x] * 3 # (B) を3回繰り返したリストのオブジェクトを作る。これを (C) とする。 (C) は [(A), (A), (A)] になる。 t に (C) への参照を代入する。 [t] # t が参照している (C) というオブジェクト一つを要素にしたリスト [ (C) ] つまり [ [ (A), (A), (A)] ] を作る。このオブジェクトを (D) とする。 a = [t] * 3 # (D) を3回繰り返したリストのオブジェクト [ (C), (C), (C) ] をつくる。このオブジェクトを (E) とする。 x = -5 # -5 という値のオブジェクト (F) を用意して、 x が (F) を参照するようにする。 (A) の値は変更されない。 結果として、 a が参照しているオブジェクト (E) の値は [(C), (C), (C)], t が参照しているオブジェクトは (C), (C) の値は [(A), (A), (A)]. (A) の値は 7 のまま。
599 名前:591=595=598 mailto:sage [2009/12/28(月) 11:46:52 ] ちなみに、>>590 はどの言語の経験があるの? ベースとなる言語があれば、その言語で言えばどういう意味か説明に使える。 >>596 を Javaで書き換えると、 Integer x = Integer.fromInt(7); // x = 7 ArrayList<Object> t = new ArrayList<Object>(); for (int i = 0; i < 3; i++) t.add(x); // t = [x] * 3 ArrayList<Object> a = new ArrayList<Object>() for (int i = 0; i < 3; ++i) a.add(t); // a = [t] * 3 x = Integer.fromInt(-5); // x = -5 Javaが判れば、xを書き換えてもaやtに影響ないのが判ると思う。
600 名前:599 mailto:sage [2009/12/28(月) 11:52:55 ] ごめん、 Integer.fromInt は Integer.valueOf の間違い。 JavaはPythonのオブジェクトを説明するのには向いているけど、 ここ5年以上マトモに使えてないので、文法エラーやメソッドのミスには目をつぶってくれ。 ちなみに、Pythonのオブジェクトを説明するのにJavaが向いている理由は、 整数と文字列がimmutableだから。 x = 7 y = 7 で x is y の結果が言語で規定されていない理由は、 Integer x = Integer.valueOf(7); Integer y = Integer.valueOf(7); x == y の結果が言語で規定されていない理由と同じ。
601 名前:590 mailto:sage [2009/12/28(月) 11:54:47 ] みなさまありがとうございます。 私はC++プログラマです。 そのため変数の型宣言がないPythonを学び、 ところどころで困惑してお世話になっております。 とても長くなったため私の現在の認識を自分でながめるために書き出してみました。 ttp://codepad.org/MJaNWykh Javaの経験はありませんが、ご教示いただいたJavaコードはC++な見方で 推測して拝見しました。 そことのアナロジーで解釈しても この1.〜3.の解釈は正しいと思うのですが、 そうだとしますと 4.でt, aが変更される理由がまた分からなくなります。 どうして4.だけ変更されるのでしょうか?
602 名前:600=methane mailto:sage [2009/12/28(月) 12:12:25 ] >>601 C++にはJavaのObject型みたいなのがないから、void*で代用するけど、こんな感じになる。 (キャストは省略) x = 7 t = [x]*3 a = [t]*3 は void *x = new int(7); vector<void*> *t = new vector<void*>; for (int i = 0; i < 3; ++i) t->push_back(x); vector<void*> *a = new vector<void*>; for (int i = 0; i < 3; ++i) a->push_back(t); ここまでで初期状態。 じゃぁ、初期状態から t = 3.14 を C++ でいうと、 t = new double(3.14); t が新しく別のオブジェクトをポイントするようになるだけで、 a[0]は、もともとtが指していた [7,7,7] を差し続ける。 つぎに、初期状態から a[0][0] = -5 を C++ でいうと、 (*((*a)[0]))[0] = -5; t というポインタが指している vector オブジェクトの先頭要素を -5 に書き換えている。 で、tもaもポイントしている先は変わらないまま、tがポイントしているvectorオブジェクトの先頭要素だけを書き換えているので、 t と a の両方が影響を受ける。
603 名前:methane mailto:sage [2009/12/28(月) 12:21:08 ] C++プログラマなら、Pythonの変数は全部C++でいうポインタ変数で、オブジェクトは全部 new やその他の手段でヒープ上に取られるという理解をすると良いと思う。 「参照」と呼んでいるのは全部ポインタのことで、 int a = 3; int &x = a; int *y = &a; でいうところの a のような、変数と値が完全に束縛された存在が無い。 あとは、 a[0][0] = -5 がリスト「オブジェクトに対する変更」なのにたいして、 t = -5 がオブジェクトは全く変更されず、「ポインタ変数が別のアドレスを指すようになる」 という違いを把握できれば、一気に壁を突破できるはず。
604 名前:590 mailto:sage [2009/12/28(月) 12:27:42 ] >>602-603 methane氏 C++に例えてくださりありがとうございました。 現在必死に読んでおります。
605 名前:590 [2009/12/28(月) 12:45:51 ] 値は全て無名であると考えてよろしいですか?
606 名前:methane mailto:sage [2009/12/28(月) 12:52:35 ] >>605 コード上に出てきた変数名と密結合しているオブジェクトが存在しないという意味であれば、すべて無名ですね。 def foo(): pass bar = foo del foo したら、foo()できなくてbar()できるし、 class もモジュールもパッケージも、名前とオブジェクトの関係は全部同じです。
607 名前:590 mailto:sage [2009/12/28(月) 13:10:02 ] おかげさまで理解できたと思います。 つまり ttp://uproda.2ch-library.com/lib200590.zip.shtml こんなことになっているんですね。 (Wordファイルをzipで圧縮したもので DLキーはpythonです。) この理解でよろしいでしょうか?
608 名前:methane mailto:sage [2009/12/28(月) 13:31:10 ] >>607 5番が書きかけなのかな・・・ 4番までは完全に正解。Good Job.
609 名前:590 mailto:sage [2009/12/28(月) 13:35:52 ] >>608 5.番は t[0]=−5 以外は4.と相違点ありません。 a[0][0]=-5とt[0]=−5が等価であるという事を言いたかった図です。 どうでしょうか。
610 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:37:57 ] >>571 はダウト
611 名前:methane mailto:sage [2009/12/28(月) 13:42:55 ] >>609 あぁ、4からコピーした後編集するの忘れてると勘違いしてました。 a[0][0] と t[0] は等価で図は完全一致で正解です。 図だと判りやすいですね。
612 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:44:10 ] >>590 a=[3,7] b=a a=a+[2,5] print b print a a=[3,7] b=a a.append([2,5]) print b print a
613 名前:590 mailto:sage [2009/12/28(月) 13:45:22 ] >>611 これでまた一つ壁を越えられた気がします。 methane氏、諸先輩方 どうもありがとうございました。
614 名前:590 mailto:sage [2009/12/28(月) 13:50:02 ] >>612 今となっては>>590 の挙動についても納得しました。 aとbが同一の値(リスト)を指しているので、 ttp://codepad.org/btaagIKq こんな挙動になるわけですね。
615 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:03:43 ] ぬるぽ
616 名前:デフォルトの名無しさん [2009/12/28(月) 18:57:49 ] ファイルのMD5ハッシュやSHA1ハッシュを表示するPythonスクリプト - MoreslowlyWiki ttp://www.moreslowly.jp/mw/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81 %AEMD5%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E3%82%84SHA1%E3%83%8F%E3%83%83%E3 %82%B7%E3%83%A5%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8BPython%E3%82%B9 %E3%82%AF%E3%83%AA%E3%83%97%E3%83%88 このプログラムで、末尾で if __name__ == '__main__': ここで処理 としているのは何故でしょうか? このif文は何を意味するのですか?
617 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 19:07:03 ] モジュールとして他のファイルからimportされたときと それ自身単独で実行されたときの動作を区別出来る テストケース書くなり実行コードにするなり
618 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 19:11:29 ] >>617 おお、 なるほど。 ありがとうございました。
619 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 23:14:44 ] >>618 御礼言われたら照れるなあ
620 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:40:07 ] 他人へのお礼で照れるとは
621 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 11:06:55 ] おなあ
622 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 11:08:59 ] りい
623 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:22:19 ] 殿かよ
624 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 11:02:47 ] 師走ですから
625 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 15:48:43 ] 本年はまことにお世話になりました 来年は初心者スレから卒業したい。
626 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 00:27:24 ] あけましておめでとう 手元の習熟メモを見ると、学んでみようと思い立ったのは2006年らしいのに、 まだまださっぱりだぜ俺…
627 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 20:58:54 ] Python 2.6.4の(reモジュール等の)標準モジュールの中に、 ある文字列が正規表現として文法的に正しいかどうかを調べる 機能があれば教えていただけますでしょうか?
628 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:20:02 ] re.compile()を通せばre.errorが飛んでくるだろ
629 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:44:39 ] >>628 なるほど。 ありがとうございます。
630 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 16:50:58 ] これから1から勉強をはじめたいと思ってます 2.6と3.0と3.1とバージョンがありますが、3.x系は不評であると聞いております 互換性を気にしないのであれば3.x系から始めても問題ないでしょうか?
631 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 16:59:15 ] 問題ないけど、まだ3.xに対応したライブラリ少ないよ
632 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 16:59:46 ] 問題ないでしょう
633 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 17:11:44 ] ありがとうございます PHP4みたいになると困るので3.1から始めたいと思います 英語のドキュメント読みながらやってみます
634 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 17:38:10 ] バカがバカを育てるわけだな
635 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 17:42:51 ] それでも2to3はPHPのバージョンアップよりは楽だと思う…
636 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 22:00:50 ] 初めてのPython 第3版でPython3対応出来ますかね?
637 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 23:15:51 ] これから勉強するのに3からだとダメなの?
638 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 23:30:47 ] だめじゃないよ
639 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 04:47:01 ] だめじゃなくもなくないよ
640 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 05:13:40 ] 外部ライブラリ使うとちと怖い 言語コアのみなら無問題
641 名前:デフォルトの名無しさん [2010/01/10(日) 13:57:23 ] python.exeを起動してprint "hello world"と入力したのですが 以下の線の中の4行が表示されてしまいました ------------------------ File "stdin>", line 1 print "hello world" ^ SyntaxError: invalid syntax ------------------------ どなたか解決方法をご教授お願い致します
642 名前:641 mailto:sage [2010/01/10(日) 13:58:45 ] 自己解決しました print ("hello world")って書かないとダメだったんですね
643 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:11:10 ] Python3の日本語マニュアルってありませんか?
644 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:14:03 ] 英語くらい読めよ 中学生か?
645 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:21:30 ] 小学生です
646 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:41:41 ] ならしょうがない 英語もろくに読めないおっさんにならないように 中学校ではちゃんと英語勉強しろよ
647 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:49:37 ] 釣りや騙りも見分けられるよう 空気も読めるようになった方がいいな
648 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:52:18 ] >>647 いやそれは自分に言えよww 足りない頭で良く読め。 >>646 の書き方はわざわざ嫌みをつけた 書き方をしているうだろ? つまり分かってやっていることだってのが何で分からないの?
649 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:55:31 ] >>648 いやそれは自分に言えよww 足りない頭で良く読め。 >>647 の書き方はわざわざ嫌みをつけた 書き方をしているうだろ? つまり分かってやっていることだってのが何で分からないの?
650 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:14:46 ] RuntimeError: maximum recursion depth exceeded
651 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:27:12 ] >>644 ここプログラム板 英語の板じゃないよ
652 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:38:29 ] >>651 だから何? python3の日本語ドキュメントはあるの? ないなら、英語で読むしかないじゃん 馬鹿か?
653 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:39:10 ] じゃあ翻訳してやればおk
654 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:42:39 ] >>652 >>650 に答えろ
655 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:45:19 ] みんなどんだけストレス溜めてんだよ
656 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:46:10 ] >>646 書き込む所間違えてるよ 君が書き込むべき板は厨房板だと思うよ
657 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:47:45 ] なにこの低能力者板。 所詮P言語ユーザーなんてこんなレベルかwww
658 名前:648 mailto:sage [2010/01/10(日) 16:49:34 ] >>649 悔しいからってオウム返しは自閉症のやることだよw
659 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:53:47 ] ここまで643への回答ゼロ
660 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:00:46 ] まぁあれだよ、需要が無いから供給が無いんじゃないか?
661 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:03:59 ] >>643 まだ翻訳されてません
662 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:13:20 ] >>656 嫌味なやつだけど正論だろ 英語が読めないといろいろ苦労をする 暇な学生時代にもっと勉強しとけばよかった・・・
663 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:15:23 ] >>662 板違い
664 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:21:56 ] 日本製Rubyは英語読めない馬鹿もウェルカムだよー^^ 無理してPythonなんてやってないでみんなRubyにおいで
665 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:24:16 ] pythonのPyPIあたるもは、 Rubyには有るんですか?
666 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:39:39 ] >>665 日本語で
667 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:58:39 ] Ruby Gemsとか?
668 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 18:16:43 ] 差別発言をするような奴にろくな奴はいない
669 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 18:20:39 ] 最近キチガイが1人住み着いてから荒れてるな
670 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 18:21:22 ] >>664 英語日本語以前に、空気読めない人間はPythonに向いてないと思う。 特定の誰かに対した嫌みではなく。
671 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 18:42:34 ] >>668 差別発言?どこに? >>669 のことか?
672 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 18:47:35 ] くだスレを荒らすのはやめれ
673 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:43:22 ] >>672 くだスレが本当にくだらないスレになってる。
674 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:55:20 ] くだすれは'くだらないスレ'であって、 '救いようのないスレ'ではない。
675 名前:> 673 mailto:sage [2010/01/10(日) 19:58:56 ] >>674 いやそもそも、本当は 'くだらないスレ'じゃなくて 'くだらない質問をするためのスレ' じゃないのか? まあいいか。
676 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:00:19 ] Windows XP + Python2.6です。 変数strに文字列が代入されている状態で、 Windows XPのコマンドラインを実行することはできませんか? C言語だと system(str); って言うやつが相当します。
677 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:08:24 ] Cのsystemと完全に一致するかは知らないけど os.system(s)
678 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:09:03 ] あとstrは組み込み関数名なので避けたほうがいいかも
679 名前:676 mailto:sage [2010/01/10(日) 20:35:33 ] >>677-678 strを避けるべきとは知りませんでした。 ありがとうございます。 もう一つ、Windows XP + Python2.6上で。 3つの文字列str1, str2, str3があるとき、 あるプログラムX上から os.system(str1) os.system(str2) os.system(str3) これらを同時に実行し、3つとも終わったら Xを終了する といったことは実現可能でしょうか? 実現するとしたら、どうすればできますでしょうか? よろしくお願いします。
680 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:41:28 ] subprocess を使えばよろしい
681 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:48:02 ] >>679 subprocessモジュールを使う ただしsubprocessモジュールは引数として文字列ではなく argv形式のリストを取るので、もし元が文字列ならshlexあたりで分割汁 こんな感じだ import shlex, subprocess cmds = [shlex.split(s) for s in [str1, str2, str3]] children = [subprocess.Popen(cmd) for cmd in cmds] for p in children: p.wait()
682 名前:679 mailto:sage [2010/01/10(日) 20:57:46 ] >681 ありがとうございます。 教えを頼りに頑張って見ます。
683 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:05:00 ] >>681 ちなみに教えていただいたそのコード のライセンスはどうすれば宜しいでしょうか?
684 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:06:18 ] >>683 ライセンスかw どうでもいいので好きに汁
685 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:07:54 ] どうでもよくないよ 2chに書き込んだら2chの物になる
686 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:50:06 ] >>685 プログラムのソースコードを2chに書き込んだ場合、 そのライセンスは厳密にはどうなるんだろう? ・・・ってのはどこで聞けばいいかな?
687 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:55:43 ] 初めて書き込む前に規約がでただろう。それを嫁
688 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:30:32 ] >>643 ttp://diveintopython3-ja.rdy.jp/ ただし未完成らしい。
689 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:33:04 ] >>688 ありがとうございます
690 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:43:41 ] >>687 > ・投稿者は、投稿に関して発生する責任が全て投稿者に帰すことを承諾します。 > ・投稿者は、話題と無関係な広告の投稿に関して、相応の費用を支払うことを承諾します > ・投稿者は、投稿された内容及びこれに含まれる知的財産権、(著作権法第21条ないし > 第28条に規定される権利も含む)その他の権利につき(第三者に対して再許諾する権利 > を含みます。)、掲示板運営者に対し、無償で譲渡することを承諾します。 > ただし、投稿が別に定める削除ガイドラインに該当する場合、投稿に関する知的財産権 > その他の権利、義務は一定期間投稿者に留保されます。 > ・掲示板運営者は、投稿者に対して日本国内外において無償で非独占的に複製、公衆送信 > 、頒布及び翻訳する権利を投稿者に許諾します。また、投稿者は掲示板運営者が指定する > 第三者に対して、一切の権利(第三者に対して再許諾する権利を含みます) > を許諾しないことを承諾します。 > ・投稿者は、掲示板運営者あるいはその指定する者に対して、著作者人格権を一切行使しないことを承諾します。 一方、2ちゃんねるのトップページには > 2ちゃんねるのデータの利用に関して、原則的に自由ですが、 > 2ちゃんねるのデータ自体を利用して対価を取る行為はご遠慮下さい。 > 要するに、2ちゃんねるをモニターして、お金をとってる > マーケティング会社の方はご相談頂けないと面倒なことになるかもしれません、、、ってことです。 ということで、例えば>>681 が書いたソースコードの著作権は >>681 ではなく2chにあることになる。 また利用者は対価を取らない限り>>681 の意志・意向を無視して勝手にそのソースコードを使っても良いことになる、
691 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:48:54 ] >>688 それマニュアルじゃないだろ(ww
692 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:52:06 ] >>690 てか>>681 に著作権は発生しているのかい
693 名前:690 mailto:sage [2010/01/10(日) 22:54:49 ] >>692 どんなに短いソースコードでも、 いやソースコードですらなくコメントでも 発生しているよ。 しかも日本では著作権が発生することを拒否できないし、 著作権を放棄できない。
694 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:56:18 ] >>692 ちなみに君のその短い1文にすら著作権は発生しているよ。 ただし書き込んだ瞬間からその著作権の大半が2chのものになっているけど。
695 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:59:10 ] >>693 デマ乙 naoシフトを思い出すわ
696 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:59:36 ] >>693 そんなDQNめいたことが法廷であったのか! 実際にあるのなら大問題になるから判例挙げてくれ もちろん根拠となる条文もね
697 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:00:46 ] どっちもウザい。いいかげんにしろ。
698 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:01:07 ] print ("Hello World") 690先生の言うとおりだとこれも著作権になるわなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ひーーーーーーーーーーハーーーーーーーーーーーーーーーwwwwwwwwwwwwwwwwwwwwwwwwwww
699 名前:696 mailto:sage [2010/01/10(日) 23:02:51 ] >>697 それもそうだな。吊ってくる 言うまでも無いがソースコードが著作物として認められるには創作性が必要 サンプル程度では認められない
700 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:05:08 ] 二度と戻ってくるなよ。 ママのオッパイ吸って寝ろ。
701 名前:693 mailto:sage [2010/01/10(日) 23:07:26 ] いやいかなる短さのいかなるものでも著作権は発生するんだよ。 ただ法廷でそれを盾にして戦えるかどうかといえばまあ無理だろうがね。
702 名前:デフォルトの名無しさん [2010/01/10(日) 23:10:30 ] 例えば以下。 >>698 wの数で低能力者の程度が知れると言うが、そのとおりだな。 > print ("Hello World") うん。発生するよ。 もう2chに書いちゃった後だからもうお前には著作権はないけど、 もし書く前だったとすると、 俺が print ("Hello World") というコードを別の所に書いたら お前が俺を訴えることも可能。 ただし俺は当然、そのコードは俺が作った!と言い張るから その短さなら俺が勝つことにはなるが。 要するに立証できないだけ。
703 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:11:19 ] そろそろ法律板でやったほうがいいかも
704 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:12:46 ] 著作権論議をこのスレでやって欲しいとは思わないけど 2chに書き込んだコードに著作権がないと言い張る奴には オープンソースから足を洗って欲しいとも思う。
705 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:15:34 ] すでに権利が他のところにあるものを書き込んだらどうなるの、っと
706 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:16:57 ] 法律版に行けよ、OSSから足を洗ってからな
707 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:19:06 ] 良かったな>>681 よ、 君のソースコード、とても人気があるぞ。
708 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:23:17 ] >>705 あらゆる情報伝達が阻害されるな 常識の無い奴は法律かじらないで欲しいわ
709 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:15:59 ] >>707 >>681 だがびっくりした 要するに皆暇なんだなw
710 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:16:42 ] なんでこんなに殺伐としてるんだ……
711 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:18:33 ] 総当たりで文字列を生成して2chに書き込むシステムを作れば著作権は崩壊する
712 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:36:07 ] >>711 低能乙w もしそれができるんなら 総当たりで文字列を生成して 自身のブログで公開すれば全て自分が著作権を握れてウマー 不可能だろ。バカじゃねぇの?お前。
713 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:40:24 ] 自動生成と著作権は非常に難解で高度な問題だよ
714 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:55:18 ] ニートは引きこもってないで仕事しろって。 たけしが言ってた。
715 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 01:29:52 ] >>714 連休明けたら言われたとおり仕事探すんだぞ
716 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:09:25 ] 連休明けとか思ってるからダメなんだよ。 すぐ行動しろや。
717 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:25:58 ] 仕事を探す前に法律版に行けよ(ww
718 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:02:19 ] >>702 発生しねえよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww お前naoシフト開発した池沼だろwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
719 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:09:21 ] >>718 _, ._ 気持ちはわかるけど ( ・ω・) いくらなんでも生やしすぎだも ○={=}〇, |:::::::::\, ', ´ 、、、、し、、`(.@)wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
720 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:13:51 ] なにこの隔離病棟
721 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:37:24 ] いつからここは隔離病棟になっちまったんだ...
722 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:41:33 ] 質問が来ればまた正常営業に戻るよ
723 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:47:32 ] ニートはしょうがないな。
724 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:56:47 ] ニートは勉強会とか行ってる場合じゃないぞ。 すぐ逃げる癖をまず直さないと。
725 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 11:11:16 ] >>718 無能が草を生やした所で 誰一人の役にも 立たないんだよwww
726 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 11:19:13 ] てかprint ("Hello World")で著作権発生するとかネタ?それともマジで言ってる?
727 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 13:02:41 ] 普通に考えて日本では作ったら発生する。 >>726 むしろそれで発生しないという根拠をしめせ。
728 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 13:14:01 ] 草を刈る準備は万端だぞ
729 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 13:18:04 ] 根拠を求める以前に,脳内にある根拠を外に出す方法を教えてくれ
730 名前:デフォルトの名無しさん [2010/01/11(月) 18:06:24 ] print(1) これは誰の著作権か教えてください
731 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:11:15 ] チャールズ・フロイ
732 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:15:03 ] 著作権は草の数に比例する。
733 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:16:37 ] ふ〜ん・・・で?
734 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:39:46 ] 本スレが荒れるとこっちが平和になる。 逆も然り。
735 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 19:36:29 ] 730の著作権は俺にある。 文句がある奴は、730の著作権が俺にないという根拠を示せよ。
736 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 19:48:56 ] まだやんのかよ?w
737 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:29:48 ] print("こんにちは") print("Hello Kitty") print("こんにちは世界") 全部だれの著作権かよろ
738 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:31:35 ] イラストでもつけて公開しろよ
739 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:35:45 ] 著作権のことだけで終わる連休 なんて生産的で有意義なんだろう!!
740 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:36:28 ] >>737 ちょっとレッシグさんに聞いてくるわ
741 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 21:04:19 ] >>737 737
742 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 23:46:03 ] 独創性の無いものに著作権は発生しませんよ プログラム作ってる人なら常識だと思うんだけど まあネタで騒いでるんだろうな、つられちった
743 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 23:52:49 ] >>690 の盛大な釣り / ヽ >>690 ,/ ヽ . ∧_∧ ,/ ヽ ( ´∀`) ,/ ヽ ( つ@ ヽ .__ | | | ヽ |――| (__)_) ヽ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ヽ /⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~ ⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜 │ │ │ 人人人人人人人 ∧J∧ < > ( / ⌒ヽ < 吊られちゃった > | | | >>○ < > ∪ / ノ ∨∨∨∨∨∨∨ | || ∪∪ >>698 達
744 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 00:02:33 ] >>693 みたいなのを中高生が信じちゃうといけないから >>698 達は覚悟のうえで釣られていったんだよ・・・
745 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 00:07:47 ] ∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵。∴∵ ∴∵∴∵:。∴∵∴∵∴: --─- ∴∵∴∵∴∵∴∵ ∴∵゜∴∵∴∵∴∵ (___ )(___ ) >>698 達 ∵。∴∵∵ ゜ ∴∵∴∵∴:∵∴∵_ i/ = =ヽi ∴∵∴∵。∴∵∴ ∴∵☆彡∴∵∵ //[|| 」 ||] ∴:∵∴∵∴∵:∴∵ ∴∵∴∵∴∵ / ヘ | | ____,ヽ | | ∴:∵∴∵∴∵:∴∵ ∴゚∴∵∴∵ /ヽ ノ ヽ__./ ∴∵∴∵:∴∵∴∵ ∴∵∴∵ く / 三三三∠⌒> ∴:∵∴∵:∴∵ ∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∵∴∵∴∵ ∧∧ ∧∧ ∧∧ ∧∧ ( )ゝ ( )ゝ( )ゝ( )ゝ 無茶しやがって・・・ i⌒ / i⌒ / i⌒ / i⌒ / 三 | 三 | 三 | 三 | ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ 三三 三三 三三 三三
746 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 02:51:38 ] 着地点が見つけられなくて逆上したか? 独創性の定義次第では、print("Hello World")にも著作権が発生するわけだが。
747 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 02:58:55 ] >>746 が裁判官あたりで法律の解釈を自由に決められるんならそうなるかもしれんな。
748 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 03:03:56 ] >>746 なんだ、結局著作権発生するんじゃん アンチは完全否定しろよ くだらないAA張ってる場合じゃないぞ
749 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 03:06:11 ] 747は、746が裁判官でなくて法律の解釈を決められないことを証明する必要があるな。 頑張れ。応援しているぞ。
750 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 06:39:11 ] というかくだらない火種が いつの間にか複数人vs複数人の争いになってきているな。 いいぞ、もっとやれ
751 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 08:14:14 ] 定義次第ではって……そりゃ、殺人の定義次第では、道歩いただけで殺人になるよ。
752 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 08:43:32 ] 質問です 空白で区切った文字列の二番目を分割して、税をかけて文字列を書きだしたいのですが def add_tax(astring): ....item = astring.split() ....price = int(item[1]) * 1.1 ....item[1] = str(int(price)) ....return " ".join(item) >>>add_tax("Good 1000 2009/1/11) とやっても駄目だったので def add_tax(astring): ....item = astring() ....price = int(item[1]) ....item[1] = str(price) ....return item[1] とすると文字列をそのまま返してくるのですが price = int(item[1]) * 1.1 としても税をかけて文字列を返してくれません どうすればいいでしょうか あと、一番上の関数の最後の行 return " ".join(item)は スペースを区切り文字として、シーケンス(()の内容)連結下文字列が出来上がるとなるのですが、 エラーになってしまったのでjoin()メゾットが何をしてるのかも詳しくお願いします Python2.6.4です
753 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:01:28 ] 質問キター >>752 上のadd_taxがどう駄目だったのかわからない 入力と期待する戻り値と実際に返って来た戻り値を書いて 入力チェックとかをせず簡単に書くとすれば >>> def add_tax(s): ... item = s.split() ... return '%s %d %s' % (item[0], int(item[1]) * 1.1, item[2]) >>> add_tax('Good 1000 2009/1/11') 'Good 1100 2009/1/11' joinの説明はそれであってる エラーになるならなんてエラー表示されたのか貼って
754 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:07:17 ] >>748 もう釣りはいいですよ
755 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:08:50 ] print(item) で、 ['GOOD', 1100, '2009/01/11'] joinは失敗する、expected stringなのにintだから ['GOOD', '1100', '2009/01/11'] ならjoin出来る ていうか出来たけどなぁ どこが違うんだろ。 >>> def add_tax(astring): ....item = astring.split() ....print(item) ....price = (int(item[1])*1.1) ....print(price) ....item[1] = str(int(price)) ....print(item) ....return " ".join(item) >>> add_tax("GOOD 1000 2009/01/11") ['GOOD', '1000', '2009/01/11'] 1100.0 ['GOOD', '1100', '2009/01/11'] 'GOOD 1100 2009/01/11' >>>
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のバグだろ
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 ] 質問が不親切だな きっとダブルクリックでもしてるんだろ コマンドで実行してみろ
877 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:39:17 ] 加齢臭がする
878 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:43:46 ] 晩飯はカレーだった
879 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 02:14:03 ] 今、カレーヌードル食ってる
880 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 03:22:26 ] ここは華麗にスルーだろ
881 名前:875 mailto:sage [2010/01/22(金) 05:04:26 ] >>876 言葉足らずでした、失礼。ウィンドウとはコマンドプロンプトの意ではなく、 pygame.display.set_mode で作成される、画像などを描画可能なウィンドウのことです。 具体的には以下のようなプログラムを走らせるのですが、 ttp://www.halb-katze.jp/pygt/pygt0100.html while文で無限ループを作り、たとえば終了ボタンが押されるまでウィンドウは閉じないようになっているはずなのですが、 実際には、上述の通り一瞬だけ開いて終了してしまいます。
882 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 07:06:28 ] うちは大丈夫
883 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 09:01:22 ] python.exe二パスが通ってないとか .pyに関連付けされてないとかではないの? コマンドプロンプトから実行してみたら?
884 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:13:48 ] >>883 長くてURLが貼れないので、お手数ですがこちらのWikiを見て貰えますか? ttp://pygame.skr.jp/ たとえばこれの「基礎>図形を描画する」をそのまま実行した場合、 pygame.display.set_caption(u"蝗ウ蠖「縺ョ謠冗判") UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128) とのエラーは出てきますが、当該部分を"DRAW"などに置き換えれば正常に実行されます。 (UTF-8で保存はしているんですが、これは何がいけないのかな?) 対して「基礎>ウィンドウを表示する」を(日本語部分だけ訂正し)実行した場合、 特にエラー表示もないまま、起動するなり終了してしまいます。ダブルクリックの場合も一緒です。 試しに終了条件をなくしてみるなどしましたが、ループにすら入っていないのか、何の変化もありません。 いろいろと弄くっているのですが、終了してしまう場合の規則性が見えない状況です。 図形を描画するサンプルを削っていっても、どうも突然にループに入らなくなる模様です。 Pygameをインストールしなおしたところ、ループに入らなくなる条件が変わったようですが、詳細はさっぱり……。 他サイトのサンプルスクリプトなども同様です。なんなんでしょうか。
885 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:19:58 ] コマンドプロンプトから実行してみたら?
886 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:39:58 ] 言葉足らず、重ね重ね申し訳ありません。 「ダブルクリックの場合も一緒です。」とあるように、コマンドプロンプトから実行しています。
887 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:41:16 ] 酸っぱいような、苦いような臭い
888 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:47:11 ] >>884 >たとえばこれの「基礎>図形を描画する」をそのまま実行した場合、 >pygame.display.set_caption(u"蝗ウ蠖「縺ョ謠冗判") >UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128) >とのエラーは出てきますが、当該部分を"DRAW"などに置き換えれば正常に実行されます。 >(UTF-8で保存はしているんですが、これは何がいけないのかな?) なんだ pygame が unicode 通さないのか? ソースを utf-8 で保存していて # -*- coding: utf-8 -*- も書いてるんなら 日本語文字列の前の u を取ってしまうか u'日本語文字列'.encode('utf-8') にすれば通る
889 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:58:27 ] >>888 uを取った場合は正常に動作、 明示的にUTF-8に変換した場合は同じエラーとなりました。
890 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:42:53 ] 追伸:確かにUTF-8で保存しています
891 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:43:24 ] >>888 OpenGLの方はcp932しか通さないなwwwwwwww
892 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:45:50 ] >>889-890 sitecustomize.py で sys.setdefaultencoding() を変なのにしてるとか
893 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:47:52 ] >>889-890 うちは大丈夫(日本語文字コードの問題はあるけどそこを直すだけで動く)
894 名前:デフォルトの名無しさん [2010/01/22(金) 12:50:19 ] 解決しました ありがとうございました
895 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:34:26 ] プログラマなら自力で勉強して解決しろよ。それが出来ない奴はいらん。
896 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:38:26 ] プロのプログラマが超初心者用スレに質問に来るんですか?w
897 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:44:35 ] よくあることです
898 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:58:24 ] 長いこと申し訳ありません…… >>892 デフォルトのまま何も弄くっていません。 特に弄くる必要はないとのことでしたが、何か設定した方がいいのでしょうか?
899 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 17:50:37 ] >>875 WindowsVista + Python 2.5.2 + pygame 1.9.1 utf-8 で保存 u が付いてるとエラー(コンソール上で文字化け) u'日本語'.encode('utf-8') ならサンプルすべて正常動作
900 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 18:39:19 ] ttp://boxheadroom.com/2009/05/21/py_anime_gif2
901 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:38:47 ] >>898 884の "draw_figure.py" だったら "import sys"の後に以下の2行を追加して実行してみたらどうなる? reload(sys) sys.setdefaultencoding('shift_jis') これでうまくいくなら sitecustomize.py でググれ
902 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:40:27 ] あ、ごめん reload(sys) sys.setdefaultencoding('utf-8') の間違い
903 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:48:32 ] しかし、"UnicodeEncodeError" なんて Python2.xの定番中の定番FAQで、自分で貼ってるwikiサイトを サイト内検索しても解決方法が載ってるのに ここまでダラダラ引っ張るとは・・・ もしかしてpygameの宣伝?! ・・・アンインストールしよっと
904 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:52:50 ] (^ω^;)
905 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 01:30:50 ] (-_-;)
906 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 03:49:54 ] 上に出てた人と似たような質問なんですが、python2.6.4で # -*- coding: utf-8 -*- a = raw_input(u"何か書く : ") print a input() というファイルを実行すると、動くんだけども"何か書く"の部分が文字化けしてしまいます sys.getdefaultencoding()だと'utf-8'になってるし、対話モードで入力すると正常に表示されます 自分にはこれ以上分からないのですが、原因となることは何か考えられますか
907 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 03:51:33 ] はい
908 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 08:33:30 ] >>906 まず、Pythonを動かしている環境を明示して下さい。 Windowsですか?Linuxですか?Linuxであれば "$ locale" というコマンドの実行結果は どうなっていますか? あと、 defaultencoding は ascii が標準です。 utf-8 にすることで unicode の扱いの ミスによる UnicodeError を回避できますが、回避した部分はすべて utf-8 が 正しいという前提になってしまっているのでその前提が崩れると文字化けします。 文字化けの原因になるようなコードを書かないために、開発や勉強をする環境では defaultencoding は ascii のままにしておくことをおすすめします。
909 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 08:41:39 ] >>906 import sys import codecs sys.stdout = codecs.getwriter('utf-8')(sys.stdout) これでやってみそ。
910 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 15:11:34 ] 超初歩的な質問ですいません。 なんだか初めてのプログラミングで苦戦してます。 奥が深すぎて・・・ 関数やメソッドはたくさんありますが全てを熟知していないと 使えないってわけではないですよね? 参考書を読んでますが、どこから手をつけていいのか・・・ 参考書:(新しい)みんなのPythonです。 アドバイスをお願い致します。
911 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 15:54:53 ] 初めてで奥まで行くのはむりだと開き直れ やりたいこととか自分にとって必要なこととかあるだろ そこからやりゃいんだよ
912 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 17:16:21 ] >>910 プログラミングを始めた動機 その本を何章まで読み終わったか それが分かればアドバイスできるお
913 名前:910 mailto:sage [2010/01/23(土) 17:21:07 ] 動機はpythonを覚えたかったから? 8章ですかね
914 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 17:25:47 ] Pythonを覚えたいためにPythonプログラミングを始める 手段が目的となる… それもまた人の進歩の要因なのだ
915 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 17:49:20 ] >動機はpythonを覚えたかったから? 予想通りでワロス
916 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 18:33:08 ] ぶっちゃけプログラミング覚えるだけでも結構楽しいからそれでええんちゃう……? 試行錯誤するのが楽しい人はさ。 >>910 むしろ全部を知らなくて済むようにリファレンスとhelp関数がある。 使いたいものがあれば調べりゃいい。
917 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 20:43:15 ] >>908-909 環境はwindowsです(defaultencodingはasciiに戻しました) >>909 さんの方法を試しても相変わらず文字化けします そもそもprint u"何か書く"だと正常に表示されるのにinput(u"何か書く")だと化けます もうお手上げです(´〜`;)
918 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 21:05:07 ] >>917 うん、プログラミング初心者は日本語(というか非ASCII)を使うなって金言があるんだ 他のことを勉強するのに時間割いたほうがいいぞ というか化けたのならその化けた文字列を貼ってくれ
919 名前:909 mailto:sage [2010/01/23(土) 21:22:03 ] >>917 これは大変失礼した。 import sys import codecs sys.stdout = codecs.getwriter(ここに端末の文字コード(Windowsならshift-jis(cp932とした方がよいかも)))(sys.stdout) raw_input(u"くわー") print u"ぽいうぃ" としなければならないんだった。 こちらではこれで動いたのでこれで動かなかったら知らん。
920 名前:908 mailto:sage [2010/01/23(土) 21:43:45 ] print が特殊なんだよな−。sys.stdout.encoding を考慮してくれる。 sys.stdout を含め、ファイル(標準入出力を含む)に対する write() は、通常エンコードが 必要になる。raw_input も write を使っているから、出力するべきエンコーディングで エンコードされたバイト列を渡さないといけない。 ファイルにリダイレクトされたときのこととかいろいろ考えまくった場合の お手本コードはこんな感じ。 import locale # sys.stdout.encoding があればそれを、無ければその環境で一般的と思われる # エンコーディングを推測したものを使う enc = getattr(sys.stdout, 'encoding', locale.getpreferedencoding()) # unicode 文字列に enc で encode できない文字が入っていたら '?' みたいな # 置換文字に置換する。 a = raw_input(u"くわー".encode(enc, error='replace')) >>919 みたいに、 sys.stdout を unicode が出力できるようにしてしまうのも 1つの手。ただし、こんどはバイト文字列を出力できなくなる(ascii文字だけなら なんとかなるけど)から、プログラム全体に渡ってそのポリシーを貫く必要がある。
921 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 23:59:39 ] どうせPython3でデフォルトがユニコード文字列になるんだから 初心者は何も考えずにsitecustomize.py作って 『非asciiはu''』って覚えた方が手っ取り早いと思う 『日本語を表示したいだけなのに ロケールやらコーデックやらめんどくせ〜』 ってなっちゃわないか?
922 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:03:23 ] >>918-920 回答ありがとうございます # -*- coding: utf-8 -*- import sys import locale enc = getattr(sys.stdout, 'encoding', locale.getpreferredencoding()) a = raw_input(u"くわー".encode(enc, 'replace')) print a で文字化けなく表示出来ました!encの中身はcp932になってました 1日悩んだ問題がやっと解決・・・ありがとうございました
923 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:34:35 ] はじぱいはエンコードについてほとんど書いてないから糞だよね。
924 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:46:41 ] 事細かに書くと『うゎ、Pythonめんどくせっ』ってなっちゃうからな 必要最低限のことは書いてあって 外部とやり取りする際には、必ず、decode、encodeを使って 明示的に文字コードを指定あげて、内部ではユニコード文字列で扱う といった趣旨のことは書いてある ・・・うん、充分めんどいね
925 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 01:15:33 ] ASCII文字でしか書かれていないファイルhoge.txtがありまして、 改行コードはCR+LFです。 これを元にして 改行コードがCRでそれ以外の内容は同じファイルpiyo.txtと、 改行コードがLFでそれ以外の内容は同じファイルfuga.txt を作りたいのですが、Pythonではどうすれば良いでしょうか? 文字コード変換は調べて見つかるのですが、 肝心の改行コード変換が見つかりませんでした。 どうかよろしくお願い申し上げます。
926 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 01:30:46 ] バイナリモードで扱うのが移植性が高くて簡単かな contents = open("hoge.txt", "rb").read() open("piyo.txt", "wb").write(contents.replace("\r\n", "\r")) open("fuga.txt", "wb").write(contents.replace("\r\n", "\n"))
927 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:00:51 ] >>924 でも暗黙的な扱いになると、いざバグった場合に対処しづらかったり
928 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:42:22 ] >>924 >外部とやり取りする際には、必ず、decode、encodeを使って >明示的に文字コードを指定あげて、内部ではユニコード文字列で扱う >といった趣旨のことは書いてある > >・・・うん、充分めんどいね 言いたいことは判るがその発言はどうかと思う >>927 perl とか php って糞だよね
929 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 07:10:42 ] >>927 確かに でも、お手軽にやっつけたいからスクリプトを使うのに コンソールに日本語表示するのがダルすぎる shift-jisに含まれないユニコード文字を扱おうとすると 更に訳わからん >>927 う〜ん、煽るつもりはなかったんだけど。。。
930 名前:908 mailto:sage [2010/01/24(日) 09:27:21 ] >>929 >でも、お手軽にやっつけたいからスクリプトを使うのに Python はスクリプトとしても使えるというだけで、スクリプト用言語ではなく 本格的なアプリケーションやシステムにも適したプログラミング言語だから >コンソールに日本語表示するのがダルすぎる いや、ファイル入出力はたしかに下手に隠蔽するべきではないけど、 画面出力では print を使って簡単に unicode を表示できるようになってる。 (で、ファイルにリダイレクトするときちんと UnicodeEncodeError になる) だから、コンソール上で手軽に使う raw_input も、printと同じで sys.stdout.encoding を見て自動でエンコーディングするべきだと思うよ。 実際、Python3 でも raw_input はバイト列じゃなくて文字列を受け取るしね。 バグ報告してみるよ。
931 名前:925 mailto:sage [2010/01/24(日) 11:57:29 ] >>926 ありがとうございます。 助かりました。
932 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:48:12 ] '2010-01-01 01:01:01'という日付文字列から日付オブジェクトを作成するために from datetime import datetime date = datetime.strptime'2010-01-01 01:01:01'), '%Y-%m-%d %H:%:M:%S') のようにすると思いますが、 '2010-01-01 01:01:01.11111'のようなmicrosecondを含めた日付文字列から 生成するためには、文字列フォーマットをどのように指定すればいいでしょう??
933 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 13:11:46 ] >>932 date = datetime.strptime('2010-01-01 01:01:01', '%Y-%m-%d %H:%M:%S.%f')
934 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 13:19:21 ] >>930 >バグ報告してみるよ。 すばらすぃ!期待してる!! >>929 >shift-jisに含まれないユニコード文字を扱おうとすると どのみち、cmd.exeではPython経由じゃ素直に表示できないし ファイルに書き込んだり、作ったりならいけるんだけどねぇ >>932 , 933 ちょっと修正 dt = datetime.strptime('2010-01-01 01:01:01.123456', '%Y-%m-%d %H:%M:%S.%f') microsecondが書式指定文字列に入ったのはPython2.6以降なんで注意 docs.python.org/library/datetime.html#strftime-behavior
935 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:01:34 ] u"うにこど".sub(u"う", u"あ、う") こんな漢字でUnicode文字列を置換しようとすると 'unicode' object has no attribute 'sub' って言われてしまいます。 Unicode文字列を置換するにはどうすればよいでしょうか?
936 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:04:37 ] subじゃなくてreplace。たぶんre.subと間違えてるんじゃないかな
937 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:04:39 ] >>> print u'うにこど'.replace(u'う',u'あ、う') あ、うにこど
938 名前:937 mailto:sage [2010/01/24(日) 14:05:29 ] 吊ってきまつ
939 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:09:28 ] >>936 あー間違えてました。 すみません。 ありがとうございました。
940 名前:デフォルトの名無しさん [2010/01/24(日) 16:28:03 ] Pylons使ってるんですが、checkboxの複数の値が取れなくて困ってます。 たとえば、 <input type="checkbox" name="hoge_cd" value="1"/> <input type="checkbox" name="hoge_cd" value="2"/> <input type="checkbox" name="hoge_cd" value="4"/> こういうので、二番目と三番目をチェックした状態でsubmitしたら['2','4']と 受け取れることを期待してるんですが、 request.POST['hoge_id']すると最後にチェックされた4だけが取れるという状態です。 Validatorが邪魔してるのかと思い、Validator外しても結果は同じでした。 むろん、 <input type="checkbox" name="hoge_cd1" value="1"/> <input type="checkbox" name="hoge_cd2" value="2"/> <input type="checkbox" name="hoge_cd3" value="4"/> こうやれば楽なんですが個数が可変だった際のことを考えるとこの方法は使いたくありません。 どうやったらリストで取得できるのでしょうか。
941 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:28:52 ] ミス。request.POST['hoge_id']じゃなくてrequest.POST['hoge_cd']でした。
942 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:50:22 ] nameを共通にしてidを変えたら? つか、frameworkの問題じゃなくてhtmlの話では?
943 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:58:13 ] <input type="checkbox" name="hoge_cd[]" value="1"/> <input type="checkbox" name="hoge_cd[]" value="2"/> <input type="checkbox" name="hoge_cd[]" value="4"/>
944 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:11:42 ] >>942 ID変えても変化ないですね。 >>943 それでrequest.POST['hoge_cd']で受け取ろうとするとKeyErrorになるんですよ。 先に書くべきでした、すみません。 request.POST.keys()でPOSTを吐かせたら、 hoge_cd hoge_cd hoge_cd とでてきました。popさせて受け取ってみます。
945 名前:940 mailto:sage [2010/01/24(日) 17:19:54 ] 解決。 request.POST.iteritems()でキー探して取得できました。 お騒がせしました。なんか解決方法が泥臭い気はするんですが。
946 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:22:00 ] html は糞だからな
947 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 18:22:32 ] >>942 これはframeworkの問題 サーバ側でPOSTに格納された変数をどう解釈するかってだけ Pylonは触ったこと無いけど、フォームの生成からframeworkに則ってやるべきだと思う 手で書いてるから『個数が可変・・・』とか気にすることになる リストなりdictなりにまとめてPylon側で処理できる・・・んじゃない?
948 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:09:31 ] 処理できる・・・のか?
949 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:35:50 ] 処理できる・・・はず
950 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:36:36 ] 処理できる・・・かもしれない
951 名前:940 mailto:sage [2010/01/24(日) 19:40:32 ] 947の意見はもっともだと思う。 が、個人的には ・たかだかHTMLの部品作るのになんで余計なことを覚えなきゃいけないんだw ・テンプレートだけでデザイン側が成立しないと不便で仕方ない。 という2点を理由に避けたいところ。 それゆえに<li py:for="foo()">${bar}</li>みたいなのがあるわけですし。
952 名前:932 mailto:sage [2010/01/24(日) 20:49:22 ] >>934 ありがとうございます。2.6から%fがサポートされてるんですね。。 GoogleAppEngineが2.5だったんでなんとか自作してみました。 あんまり需要ないと思いますが晒しておきます。。 def str2datetime(datestr): ''' 日付文字列をdatetimeオブジェクトに変換する ''' date = datetime.strptime(datestr[0:14], '%Y%m%d%H%M%S') ms = timedelta(microseconds=int(datestr[15:])) return date + ms print str2datetime('20100124123045.001927') - 結果 - 2010-01-24 12:30:45.001927
953 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 20:49:29 ] ajax にして pylons + smartclient 使ったら幸せになれるお
954 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 21:15:41 ] Pythonモジュール用のaproposってないですか? キーワードを入れると、それに関連するモジュールやメソッドを一覧表示してくれる というような…
955 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:09:21 ] pydocはちょっと違うか
956 名前:947 mailto:sage [2010/01/24(日) 22:29:58 ] >>951 どっちがどれだけ歩み寄るかってのは 新規frramework導入時には、必ず、ついて回るからねぇ そこら辺は、お任せするしかないね >>952 ちょっとガチガチすぎないか? 俺だったら def str2datetime(datestr, datefmt): if datestr.find(".") == -1: return datetime.strptime(datestr, datefmt) else: datestr, us = datestr.split(".") return datetime.strptime(datestr, datefmt) + timedelta(microseconds=int(us)) ぐらいかなぁ・・・あんま変わらんかw
957 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:33:40 ] >>954 ,955 これよくね? ・anything-ipython.el www.emacswiki.org/emacs/anything-ipython.el 最近はなんでもanythingにしておけば幸せだよね
958 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:36:39 ] 改めて見るとreturnが無駄に2つ有って気持ち悪いな def str2datetime(datestr, datefmt): if datestr.find(".") == -1: us = '0' else: datestr, us = datestr.split(".") return datetime.strptime(datestr, datefmt) + timedelta(microseconds=int(us)) 微妙だwww
959 名前:デフォルトの名無しさん [2010/01/25(月) 15:21:38 ] m[a][i] = (m[a][i] == m[b][i]) ? 0:1 Cだとこれでいけるんだがpythonで書くとすればどうすればいいの? 真偽値のやりかたがよくわからん
960 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:34:08 ] >>959 Pythonには 条件 ? 真の時 : 偽の時 のような三項演算子は無い。 代わりに、 真の時 if 条件 else 偽の時 という形の文を使う。 この場合だと、 m[a][i] = 0 if m[a][i] == m[b][i] else 1 となる。真偽値を代入したいなら、 true,falseの代わりにTrue,Falseを用いて、 m[a][i] = False if m[a][i] == m[b][i] else True とする。
961 名前:デフォルトの名無しさん [2010/01/25(月) 15:56:38 ] m[a][i] = (m[a][i] == m[b][i]) ? 0:1 m[a] = map(lambda x, y: 0 if x == y else 1, zip(m[a], m[b]))
962 名前:デフォルトの名無しさん [2010/01/25(月) 15:59:44 ] m[a][i] = Not (m[a][i] == m[b][i])
963 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:14:48 ] test
964 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:36:00 ] ↓ここって管理人不在? ttp://python.rdy.jp/
965 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:42:03 ] a = [a0, a1, a2] f.__call__(a) # fは引数を3個とる関数 というように、引数をリストで指定して 関数を__call__したいのですが、どうすればいいでしょうか?
966 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:48:24 ] f.__call__(*a)
967 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:48:35 ] f(*a)
968 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:50:56 ] f.__call__(*a) つーか f(*a) でいいじゃん
969 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:59:11 ] >>966-968 ありがとうございます!
970 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 00:07:01 ] >>960 aruyo?
971 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 01:44:00 ] みんPyまだ半分くらい読んだだけだが…え?だから?って感じです。 全部読めば、それなりのコードなりが書けたりするんですかね(汗 文系の俺には無理な分野なのか(涙
972 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 02:58:03 ] 「みんpy」は既にpython知ってる人が眺めるための本 初心者は「はじpy」の方が良いと(一部の人に)言われている なお「恥py」という似非本があるので要注意
973 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 03:04:44 ] 初心者につまらない本を買わせるなよ
974 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 03:08:16 ] みんpyはかなり初心者向けじゃないの? はじpyとか意味あるの? マジレス、初心者にはみんpy以外は無駄な感じ。
975 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 03:19:08 ] web の tutorial で充分
976 名前:デフォルトの名無しさん [2010/01/27(水) 04:52:47 ] >>972-975 つまり、もう少し読み進めてみます。 簡単なコードとか見るのも勉強になりますよね いいサイトとかありますか?
977 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 05:58:38 ] ない
978 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 07:23:02 ] もしかして、読んだり見てるだけで 実際にスクリプト書いてないの?
979 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 10:44:40 ] >>971 つまり、たったこれだけしか内容なくてPythonちょろすぎじゃね? ではなくて、一体どうしたらいいのかすらわからないみたいなことですか
980 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 11:54:05 ] >文系の俺には無理な分野なのか(涙 文系かどうかは関係ない お前がアホなだけ
981 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 12:54:17 ] ttp://inventwithpython.com/ これでゲーム作って遊んでればそのうち覚えるよ 英語だけど10歳のガキにも読めるように書かれてるから多分大丈夫 無料だしね
982 名前:デフォルトの名無しさん [2010/01/27(水) 15:02:52 ] >>861 のハック入れると、 SyntaxError: unknown encoding: cp932 (<ipython console>, line 0) が出てしまうんじゃがなぜじゃろう・・・? cp932のコーデックがないわけじゃないんだが・・・ utf8にしようが何にしようがダメなんだ
983 名前:デフォルトの名無しさん [2010/01/27(水) 15:06:26 ] 自己解決した。すぐ上の source=source.encode(self.stdin_encoding) をコメントアウトしたままだったorz
984 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 23:00:19 ] 972と972が存在を主張する一部の人の将来が不安
985 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 02:25:32 ] >>983 謝罪しろw
986 名前:デフォルトの名無しさん [2010/01/28(木) 14:44:20 ] >>985 おわびにjython用のms932コーデックでもさらそうと思ったんだが、 ブログとか持ってないんだよな。 どっかいいサイトないかしらん
987 名前:デフォルトの名無しさん [2010/01/28(木) 14:45:46 ] jythonでIPython動かしたらIJythonになるんだろうか
988 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 19:04:49 ] >>986 コード貼りたいだけならPastebinとかあるよ。
989 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 21:37:51 ] 次スレを
990 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 21:46:48 ] じゃあ 次スレは >>992 を踏んだ人が。
991 名前:デフォルトの名無しさん [2010/01/28(木) 22:44:05 ] 立てた くだすれPython(超初心者用) その6 pc12.2ch.net/test/read.cgi/tech/1264686181/
992 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 02:12:57 ] これはいい早漏乙
993 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 02:18:51 ] print "うめ"
994 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 02:57:39 ] >>989 日本は義務教育で基礎法学を教えないからわかってない人が多いみたいだけど、権利と義務は表裏一体、つまりワンセットなんだよ 例えば「生きる」という権利には「働く」という義務が伴なう。これは習っていなくたって誰でも常識で分かると思うけど 社会の中のあらゆる権利にはそれと対になる義務が存在するということ 戦後の日本人はこの表裏一体を勘違いして、自分の権利は相手の側から見ると義務なんだ、などと言う訳の解らない屁理屈を唱えて 相手(多くの場合国家)に対して一方的に権利を主張、すなわち義務の履行を求める者が多い いわゆるプロ市民と呼ばれる者達だ 日本人が彼らのような人間(一方的に権利を主張するだけの個体がそもそも人間の定義を満たすのかどうかは疑問だが − 個人的見解を述べれば否と断言すべきであろう。 「ヒト」は社会を構成する生き物である。社会の成員となって初めて「人間」なのだ。そのために「教育」が必要なのである)に違和感を覚えないのは もちろんマスコミの罪でもあるけど元を糾せば教育にも決して原因が無い訳ではない
995 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 03:00:18 ] どこ誤爆w
996 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 03:08:13 ] そういえばこないだ本屋でみんPy改訂版見たら>>26 がマジで載ってた 他人のピクルスを笑ってる場合じゃないと思った
997 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 08:26:06 ] > 日本は義務教育で基礎法学を教えないからわかってない人が多いみたいだけど、権利と義務は表裏一体、つまりワンセットなんだよ デマ乙
998 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 09:16:28 ] ぼくはパイソンを使っているのですが、どうすれば彼女ができますか? ちなみにブサイクデブで、ちょっとしたことでイライラします。 あとヘンなメガネかけてます。
999 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 09:24:15 ] メガネ買い換えろよwwww
1000 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 09:54:11 ] 1000なら一生童貞
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。