1 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 16:36:03.35 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その15 toro.2ch.net/test/read.cgi/tech/1350718465/ 関連スレ Pythonのお勉強 Part48 toro.2ch.net/test/read.cgi/tech/1358750040/ 【実験台】 Python 3.0 のお勉強 Part 1 【非互換】 toro.2ch.net/test/read.cgi/tech/1235050215/ ◆関連リンク Python の Home Page ttp://www.python.org/
83 名前:デフォルトの名無しさん [2013/01/29(火) 13:41:05.05 ] "あいうえお" - "えお" = -1
84 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 13:59:38.88 ] a = set(u"あいうえお") b = set(u"えお") c = a - b print "".join(c)
85 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 16:33:41.34 ] >>83 ,84 ありがとうございます。
86 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 18:19:51.08 ] >>85 参考までに聞きたいんだが、文字列の引き算をどこに使う予定なの? 具体的な使い道が浮かばんわw
87 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 20:13:28.58 ] うん、実用的な質問でないね
88 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 23:28:38.52 ] なんか当たり前のように言葉使ってるけど 文字列同士の引き算って元々何かのプログラミング言語とかにあるものなの?
89 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 23:55:07.68 ] pikeにあるよ
90 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 23:58:00.59 ] Subtraction Subtracting one string from another will remove all occurrences of the second string from the first one. So "foobarfoogazonk" - "foo" results in "bargazonk". Pike Manual fredrik.hubbe.net/pike/tutorial/tutorial_4.html#4.1.3
91 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 00:24:02.84 ] >>89 ,90 pikeか。名前は聞いた事あるけどしらなかったわ。 ありがとう。
92 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 13:52:16.05 ] PythonでGUIプログラミング始めようと思うんだけど PyQtってどうなの?
93 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 19:06:09.46 ] どうなのって質問はないだろう。 聞きたいことを具体的に書けよ。
94 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 19:30:30.04 ] いいよ でも PySide の方がいいってひともいるし wxPython 最強ってひともいる
95 名前:デフォルトの名無しさん [2013/01/30(水) 22:01:01.66 ] PySide の方が積極的にメンテされてる
96 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 22:05:14.10 ] PYQt は GPL だから、誰かに「PyQt を使ったプログラム」をコピーして渡すと 第三者にもソースを開示する義務を負うので それが嫌な人には使えない
97 名前:デフォルトの名無しさん [2013/01/31(木) 05:33:36.79 ] このひとまた変な本出してるな ttp://www.amazon.co.jp/dp/4877832890/ このひとの他の本酷かったから買うつもり無いけど
98 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 19:18:09.78 ] すごいバカな質問かもしれませんが、許してください。 pythonのプログラム上でlispのプログラムを呼び出して使うってことはできないですよね?
99 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 21:00:36.43 ] >>98 lispプログラム起動するコマンド発行すればいいだけじゃね?
100 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 21:03:12.05 ] 別プロセスとして呼び出すなら subprocess
101 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 21:16:35.51 ] Common Lispで動くCLPythonなんつーもんもあるらしい ttp://common-lisp.net/project/clpython/
102 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 21:43:42.35 ] ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ) www.aoky.net/articles/peter_norvig/lispy2.htm
103 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 22:38:59.17 ] すいません、 こういうリストを a=[1,2,3,4,5] こうしたいのですが、 a=['1','2','3','4','5'] どうしても a= '[1,2,3,4,5]' となってしまいます。 どうすれば a=['1','2','3','4','5'] が得られるか教えてください。 よろしくお願いします。
104 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 22:47:30.71 ] [str(x) for x in a]
105 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 22:49:38.24 ] リスト内包表記でググれば詳しく書いてある
106 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 22:59:33.23 ] >>104 ありがとうございました!!
107 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 23:19:00.57 ] >>105 今、それを調べてました。やっと使い方がわかりました。ありがとうございます。
108 名前:デフォルトの名無しさん mailto:sage [2013/02/01(金) 01:58:54.76 ] map(str, a)
109 名前:デフォルトの名無しさん mailto:sage [2013/02/01(金) 02:20:51.93 ] ipythonの質問ですが、以下のようなfor文を履歴から再実行してみるとエラーになります。 何が問題なんでしょうか? In [1]: for i in range(3) : ...: print i ...: 0 1 2 In [2]: for i in range(3) : print i ------> print(i) ------------------------------------------------------------ IndentationError: expected an indented block (<ipython console>, line 2) まったく同じ質問が以下のスレにあったのですが、スルーされていました。 Pythonのお勉強 Part35 www.logsoku.com/r/tech/1253535109/51
110 名前:デフォルトの名無しさん mailto:sage [2013/02/01(金) 03:13:40.59 ] 二行目のprint i のインデントが無くなってるのが原因 Pythonはブロックの中身が空だとエラーが出る
111 名前:デフォルトの名無しさん [2013/02/01(金) 07:32:39.48 ] 元気ですか〜 みなさんプログラミングがんばってますか〜 みんなのみんなのパイチンくんですよ〜
112 名前:デフォルトの名無しさん mailto:sage [2013/02/01(金) 10:00:33.92 ] pass
113 名前:デフォルトの名無しさん [2013/02/01(金) 13:38:22.26 ] 99,100 できるのですね、ありがとうございます。
114 名前:デフォルトの名無しさん [2013/02/02(土) 00:08:57.65 ] >>102 さんのリンクに感謝・感激です。 Emacs Lisp を使わねばならなくなり、といって今さら Lisp の勉強なんぞしたくないと 思っていました。 でも この記事(読んだのは lispy.htm ですが)を読むことで Lisp のエッセンスを三時間で理解できたと思います。Lisp を好きになっちゃいました。
115 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 08:00:42.81 ] Pythonで普通にopen(ファイル名,'w')して 文字列をwriteした時、使用される文字コードは どこの設定で決まるのでしょうか。 WindowsXPのコマンドラインから実行する前提です。
116 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 08:01:00.84 ] list =[0, 1, 2, 3, 4, 5] として list[4]=0 とすると list=[0, 1, 2, 3, 0, 5] とリスト内の要素を指定出来ますが、 逆に4以外を操作したいって場合はうまい書き方はありませんか? つまり、「hogehogeでない要素」という否定の要素の指定をお願いします。
117 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 08:37:38.27 ] これぐらいじゃない? >>> L = [0, 1, 2, 3, 4, 5] >>> L1 = [] >>> for i in range(len(L)): ... if L[i] != 4: ... L1.append(None) ... else: ... L1.append(L[i]) ... >>> L1 [None, None, None, None, 4, None]
118 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 08:52:58.99 ] >116 f = lambda e: 9 if e != 4 else 4 L = [ 3, 8, 4, 0, 7 ] R = [ f(e) for e in L ] print R
119 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 10:17:56.45 ] Python 2.x なら、 普通にopen(ファイル名,'w')して文字列をwriteした時、 使用される文字コードはソースファイルのエンコードで決まる。 # -*- coding: utf-8 -*- として、 open('hoge.txt', 'w').write('あいう') ならutf-8で書かれるし、 open('hoge.txt', 'w').write('あいう'.decode('utf-8').encode('cp932')) ならcp932で書かれる。 codecs使わない限りバイナリには影響与えない。
120 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 10:19:33.26 ] ああ、'ファイル名'の方の文字コードの話なら、 ちょっと注意が必要。 argvに入ってくる文字列のエンコードとかあるし。
121 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 11:43:34.91 ] >>118 いや、4って要素じゃなくて添字のことでしょ >>> L = [0, 1, 2, 3, 4, 5] >>> L = [0 if i!=4 else j for i,j in enumerate(L)] >>> L [0, 0, 0, 0, 4, 0]
122 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 12:04:34.89 ] > つまり、「hogehogeでない要素」という否定の要素の指定をお願いします。 ^^^^ ^^^^
123 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 12:09:57.83 ] >>122 L[4]=0 で4という要素にはアクセスできない。質問者が言葉を間違えてるだけ
124 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 12:22:18.22 ] >>116 l = [0,1,2,3,4,5] t = l.pop(4) for i in range(len(l)): l[i] = 2 l[4:1] = [t] print l [2, 2, 2, 2, 4, 2]
125 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 12:53:26.99 ] import numpy as np l = np.array([0,1,2,3,4,5]) for i in np.argwhere(l!=4): l[i] = 99 print l
126 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 12:56:58.25 ] arrayはリストとして使うときはキャストしなきゃいけないし 用途に合ってないのに使うのは微妙
127 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 13:00:42.80 ] しかも、また要素で判定してて笑える
128 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 13:13:49.23 ] 添え字対応だとこうだけど。 >>> L = [0, 1, 2, 3, 4, 5] >>> L2 = [] >>> for i in range(len(L)): ... if i != 4: ... L2.append(None) ... else: ... L2.append(L[i]) ... >>> L2 [None, None, None, None, 4, None] LをL3として、 L3 = [100, 101, 102, 103, 104, 105] とした時に、どういう事をしたくてどういう結果が欲しかったのか、 質問し直してくれない?>>116
129 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 13:17:05.54 ] 添字 [0 if i!=4 else j for i,j in enumerate(L)] 要素 [0 if i!=4 else i for i in L] これだけの話
130 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 13:27:52.84 ] これでよくね l = [0,1,2,3,4,5] t = range(len(l)) t.pop(4) for i in t: l[i] = 0
131 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 13:41:23.65 ] >>117 >>128 なんでリスト内包表記を使わないの? >リストに要素を append() する場合、インタプリタは「リストから append 属性を >取り出してそれを関数として呼び出す」という処理をしなければなりません。 > それに対して、リスト内包表記を使うと、インタプリタに直接「リストに要素を >追加する」という処理をさせることができます。インタプリタが解釈する命令数 >が減る、属性の取り出しが不要になる、関数呼び出しが不要になる、という3つ >の理由で、リスト内包表記を使うと速くなります。 dsas.blog.klab.org/archives/51742727.html
132 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 13:55:47.45 ] そもそも、質問者は L[4]=0 と逆の操作をやりたいのだから for i in range(len(L)): ~ でやるなら代入とスキップでいいだろ なんで新たにリストを作って毎度関数を呼び出すのか
133 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 14:09:36.49 ] >>131 1つ目、内包表記の中で条件分岐とか分かりづらいと思った。 2つ目、質問者>>116 の質問内容からして、内包表記は難しいと思った。 以下のように各要素を100倍するだけなら内包表記を説明したかも。 >>> L4 = [x * 100 for x in L] >>> L4 [0, 100, 200, 300, 400, 500] >>> ML5 = map(lambda x: x * 100, L) >>> ML5 <map object at 0xb70f766c> >>> tuple(ML5) (0, 100, 200, 300, 400, 500) >>> tuple(ML5) () 3つ目、実行速度とか効率とかよりも以前の問題で>>116 は躓いてるでしょ。 質問者がどこで躓いているのか把握した上で答えようよ。 > 逆に4以外を操作したいって場合はうまい書き方はありませんか? >つまり、「hogehogeでない要素」という否定の要素の指定をお願いします。 って聞いてきた人に「内容表記ってのがあってー」とかって言うと、 質問者は混乱すると思うよ。頭の悪い回答者だと思う。
134 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 14:22:07.62 ] >>133 内包表記というのがあってーじゃなくて こういうときはこうすると覚えればいいだけ それにリスト内包表記や三項演算子のネストは止めた方が良いが 今回それぞれ一個だからわかりづらくはない pythonのリスト内包表記や三項演算子はfor文やif文と直交性があるから mapやfilterやlambdaを組み合わせるより遥かに直感的に書ける まるでC言語のようなコードをPythonで書くのは馬鹿らしいことだよ Pythonではどう書くのか覚えて慣れたほうがいい
135 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 14:59:20.33 ] 今回みたいなのは無理に答えないで 質問のどこが悪いのか指摘したうえで再提出要求でいいよ でないとプログラマがするような質問の仕方が身につかない
136 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 15:16:12.99 ] だから、>>128 の下から4行ってことでしょ?
137 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 15:38:55.89 ] いまいち「直交性」の意味が分からない
138 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 15:50:04.55 ] 独立している、無関係である、お互いの領分が重ならない、 という時に使う言葉ではあるが
139 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 15:54:57.27 ] シンタックスで言えば、同じような操作で、同じような結果が得られるときに使う言葉だよ
140 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 17:10:03.62 ] 「直交性」ていわれると、目が点になるね
141 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 17:14:15.13 ] > What does Python have that PHP doesn't? > - very clear, concise, and orthogonal syntax PythonにあってPHPにないものは? ・簡潔明瞭で、直交性の高いシンタックス wiki.python.org/moin/PythonVsPhp (公式) > its syntax and toolset are remarkably coherent. Moreover,like math, its design is orthogonal books.google.co.jp/books?id=nEJ-jcYF2fMC&pg=PA16&lpg=PA16&dq=orthogonal#v=onepage&q=orthogonal&f=false (オライリー)
142 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 17:18:11.31 ] 元の意味は>>138 だろ?そういう文脈では分かるんだけど 応用的な使い方されると、もう分からない。 >>139 とかほとんど真逆の事言われてるような気すらする…
143 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 17:18:32.04 ] 直行って相反するイメージがあるんだけど、 なんで直行性でそういう意味になるんだろう
144 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 17:21:47.72 ] 数学で直交性と言えば線形独立性の事であって いかにベクトルが同じ方向を向かないかを意味するのに、 同じ方法で同じ結果が得られるという意味に使おうという ガイジンの発想がよく分からん
145 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 17:38:59.87 ] ある命令で、その意図以外のことが起こらないことを直交と言って for はイテラブル・オブジェクトを辿るし、if は条件を判定するってだけ これで条件演算子が e1 ? e2:e3 だったらシンタックスのコンパクトさが損なわれる 全部個人的な評価だけど
146 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 17:55:03.33 ] forにelse節があるのが直交ねえ
147 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 18:08:08.99 ] リスト内包表記に内包されるのはfor節とif節であってfor文ではない あとfor文やwhile文のelse節を使ったコードは寡聞にして見たことがない
148 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 18:41:17.44 ] 例 X = mx Y = my こうなってたら、Xは、xによるが、yによらない。
149 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 18:43:22.60 ] Pythonが「誰が書いても同じようなコードになる」と謳われるのは、 ある処理を実現する複数の従属な記述がないから。 本当はいくらでも違う書き方が出来るけど、まあ独立性についてはそんな感じ。でも一貫性と言ったほうが分かりやすい。
150 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 18:47:47.14 ] いや、従属な処理を実現する複数の記述がないから。か
151 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 19:40:22.93 ] >>138 ,142だが 長々とスレ違いな話題ですまん。 皆の意見参考にして自分なりに考えてみた。 こういう解釈でいいんだろうか? 直交性が高いシンタックス = シンタックスと文脈の直交性が高い (キーワードが文脈と独立して解釈出来る) = どんな文脈でも forはiteration、ifは条件分岐を意味する かつ、iteration、条件分岐を意味する他のキーワードはない = >>134 、138 の意味
152 名前:151 mailto:sage [2013/02/02(土) 19:43:29.43 ] ごめん、アンカ間違った。 俺は>>137 ,142だ で最後の行は >>134 ,139
153 名前:116 mailto:sage [2013/02/02(土) 21:33:57.37 ] 添え字とリスト内の要素と紛らわしい質問をして大変申し訳ありませんでした。 そして、丁寧に回答してくださった方々ありがとうございました。 添え字で否定の指定したかったのですが、ここまで大変参考になりました。 リスト内包表記は視覚的にもとても見やすいので使いこなせるよう頑張ります。
154 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 21:45:23.81 ] こうやってまた一人、蛇の道を歩み始めたのであった。
155 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:07:18.96 ] >>142 >>139 の説明が悪いんだろ。 (異なる対象に対して、) 同じような操作で、同じような結果が得られるとき (は、対象と操作の直交性が高い (つまり、対象と操作の独立性が高い)) >>145 とかは、俺も意味がわからん。 直交って言ってるんだから、○○と△△ のようにベクトルは2つ必要だと思うが。
156 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:16:59.40 ] >>155 ベクトルは一切関係ないです。一切。
157 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:19:24.88 ] numpyのndarrayを複数の変数に同時に代入できませんか? img = cv2.imread("hoge.jpg", 1) b = g = r = img.copy() OpenCVで画像を読み込んだのでimgの中身はnumpyの3次元arrayなのですが これを普通の文字列や数値と同じノリで代入してもr,g,bそれぞれ全部0のarrayが代入されてしまいます。 もちろんそれぞれ別箇に代入すれば解決しましたけど、なるべく同時に代入するよう記述したいです。 うまい記述方法はありませんか?
158 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:24:20.22 ] r, g, b = [1, 2, 3]
159 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:39:51.06 ] >>157 まずもって全て0の配列が代入される意味は分からんが、それ以前に そんなことしたら r, g, b は全部同じオブジェクトを指すことになるのだが、それで良いのか つまり r の要素を変更したら g, b も同じく変更される
160 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:45:58.12 ] それぞれが img のコピーということなら、こうだけど b, c, d = [img.copy() for i in range(3)]
161 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:46:34.26 ] >>159 やはりそれが問題なのでしょうか? すべて値渡しにするためには b, g, r = img.copy(), img.copy(), img.copy() しかないのでしょうか? レスありがとうございました。
162 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:51:50.12 ] >>160 ありがとうございます これでちゃんと通りました リスト内包表記は便利ですね
163 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 23:44:01.29 ] 配列が大きすぎて、メモリが足りないという以下のようなエラーが出ます。 ValueError: array is too big. これにうまく対処する方法はありますか? (メモリでなく一時的にHDDに書き出しながら計算するとか?) たとえば、以下のような計算をしたいです。 import numpy as np N=1000000 A = np.random.rand(N,N) B = np.random.rand(N,N) C = np.tensordot(A,B,([1,0],[0,1])) print C
164 名前:デフォルトの名無しさん mailto:sage [2013/02/04(月) 00:08:24.04 ] こええ!
165 名前:デフォルトの名無しさん mailto:sage [2013/02/04(月) 00:17:05.17 ] 実際になにをやりたいかによるけど A,Bをジェネレータにできないようなら 変に工夫するよりmmapつかって富豪プログラミングするかな。 numpy.memmapとか。
166 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 00:53:58.19 ] 多重起動防止でこのサイトのMutexを使った方法をやろうと思ったのですが www.ops.dti.ne.jp/ironpython.beginner/multithread3.html mutex モジュールは Python 3.0 で削除されました。 との事でした。 docs.python.jp/3/library/mutex.html Python 3で多重起動防止をやるにはどうしたらよいでしょうか
167 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 06:29:12.53 ] 排他制御ってことですよね この辺は参考にならないでしょうか d.hatena.ne.jp/yatt/20100107/1262869979 www.phactory.jp/cms/blog/post/admin/2010/02/python_lock/
168 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 16:08:39.88 ] プロセス間の排他制御が必要なので、標準ライブラリのthreadingやmutexは、その用途には使えないと思う。 排他制御の実現方法は幾つかあるけど、多分、各環境毎に実装方法が異なるので Pythonで〜というより、環境が提供してる方法を調べた方がいいかもしれない。 (例えば、wxだったらwx.SingleInstanceChecker みたいなのが用意されてたりする)
169 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 16:32:33.17 ] その手はあんま移植性高くないんだよな flock()がなぜか無駄に有名だけど、flock()はPosix標準ですらないので 少なくともPosix標準で定義されていて高機能なfcntl系のlockf()を使った方がいいよ あと紛らわしいのがmutexってPosix系とWindowsで意味が違っていて pthreadだとスレッド同期オブジェクトだがWindowsではプロセス間排他に使える グローバルなカーネルオブジェクト なのでWindowsならばmutexを使うのはこの場合一つの妥当な解だけど ctypesとかwin32専用のモジュールを使う必要があるはず
170 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 16:35:22.63 ] ついでに調べてみた、 multiprocessingの方のSemaphoreは、内部で名前付きセマフォを使ってるんだけど、 引数で名前を指定する方法がないので、惜しいけど、多重起動防止には使えない。 ちなみに、ロック・ファイル方式は、システムがクラッシュした時、 ロックが残ってしまった場合を考慮すると運用面で難有りです。
171 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 16:49:07.46 ] >>166 pypi.python.org/pypi/justme/ Prohibit to run two process/instance at same time. to use a transaction behavior via sqlite3. 頑張って作ってみたよ。どうぞ。
172 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 20:29:37.92 ] こんなにわかりやすい自演に遭遇したのは久しぶりだ
173 名前:デフォルトの名無しさん [2013/02/06(水) 00:15:59.16 ] デスクトップに置いた、メモ帳で作成した英文テキストファイルを f = open(ファイルパス、r、UTF-8)で読み込ませたかったんですが、 'unicodeescape' codec can't decode 〜 というエラーが出てしまい読み込みません。どうしたらいいのでしょうか?
174 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 00:37:22.92 ] >173 たぶんコレだろ ttp://stackoverflow.com/questions/1347791/unicode-error-unicodeescape-codec-cant-decode-bytes-cannot-open-text-file
175 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 00:41:41.81 ] >>173 まずは、環境を明記し実際のコードとエラーメッセージを省略せずに貼り付けて よくあるケースだと、メモ帳でutf-8のファイル作るとBOMが付くのが原因 Pythonで BOM付き utf8 読むときは "utf8-sig" を指定する。
176 名前:173 [2013/02/06(水) 01:01:39.34 ] pythonのインタラクティブシェルです windows7 home premiumにpythonをインストールして使っています >>> f = open("C:\Users\kenta\Desktop\english2.txt" , "r" , encoding = "utf-8") File "<stdin>", line 1 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in positio n 2-4: truncated \UXXXXXXXX escape このように出ます。 utf-8をutf8-sigにしましたが同じでした。 >>173 様のurlを見ましたが、パスの頭が\uなのがいけないということでしょうか?
177 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 02:12:04.33 ] >>176 俺の環境では、パスの\を/にしたら行けた
178 名前:173 [2013/02/06(水) 02:16:20.34 ] >>177 解決しました!ありがとうございます! しかしなぜバックスラッシュを入れるべきところでスラッシュが許可されるのでしょう? 他いろんな箇所でもバックスラッシュとスラッシュが入れ替わり可能なんでしょうか 御存じの方教えていただけませんか
179 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 02:17:00.46 ] エスケープシーケンスに引っかかってたんだな \を\\にしても行ける
180 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 02:37:35.94 ] raw文字列を使おう
181 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 09:12:59.85 ] >>178 パス名として扱われる文字列中ではディレクトリ階層の区切り文字として ↓の2つが使えると考えればおk ・python標準の区切り文字 / ・os標準の区切り文字 (Windowsなら)\ \は扱いが面倒くさいし移植性も低いから素直に/を使うのがいいかと >>180 os.listdir(r'C:\Users\ore\') SyntaxError: (ry このように出ま(ry ってなったり\区切りは何かと面倒くさいよね
182 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 09:47:32.41 ] raw文字列でも引用符はエスケープされるんだな。 知らなかった。
183 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 10:02:48.29 ] 激しく概出ネタなのに ここには書かれてないよね ttp://python.rdy.jp/
184 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 11:30:28.13 ] ナマ文字列を囲んでる文字('")をエスケープできなかったら困るからね
185 名前:173 [2013/02/06(水) 12:25:29.76 ] 助かりました。ありがとうございました。 区切り文字が複数ある場合があるんですね os.listdir(r'C:\Users\ore\') だと最後の'がraw文字列になって引用終わりになってないってことですよね? os.listdir(r'C:\Users\ore\'')でやってみたらできますね… みなさんありがとうございました^o^
186 名前:デフォルトの名無しさん [2013/02/06(水) 12:49:18.07 ] 人の話聞けよタコ
187 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 13:26:55.51 ] 俺は、os.path module派 >>> import os >>> os.path.join('c:', 'users', 'ore') 'c:/users/ore >>> os.path.expanduser('~') '/home/ore' 移植性が高くって良いじゃないですか。
188 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 14:21:03.54 ] os.path 派に +1 windowsでパス区切りに / を使うと、区切り文字が混ざったりする
189 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 15:26:14.16 ] 手元の自分用スクリプトでしょw
190 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 17:10:52.16 ] os.sep派
191 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 17:59:22.13 ] >>171 166じゃないけど横レス失礼 起動履歴にもなるのは良いね。使ってみたので幾つかフィードバック * SQLのコメントは -- (エラーが出た、修正したら動いた) * 辞書の順序、トリッキーな事しなくても、名前つきプレースホルダ使えば辞書のまま渡せるよ * lock/unlock は with 文に対応すると隠せる * 起動中のアプリケーションのPIDを知る方法があれば、より良いかもしれない。 多重起動しない代わりに、シグナル等を送ってウィンドウをアクティブにしたりする等の需要がある
192 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 19:02:44.94 ] >>191 > * SQLのコメントは -- (エラーが出た、修正したら動いた) これは、手元で対応済みです。 ご迷惑お掛けしました。 > * 辞書の順序、トリッキーな事しなくても、名前つきプレースホルダ使えば辞書のまま渡せるよ 指摘の点で、ここだけちょっと分からないのですが。 > * lock/unlock は with 文に対応すると隠せる こちらも、手元で対応済みです。 > * 起動中のアプリケーションのPIDを知る方法があれば、より良いかもしれない。 > 多重起動しない代わりに、シグナル等を送ってウィンドウをアクティブにしたりする等の需要がある これは対応しようと思っていました。 誰かに言われたら考えよーって思ってました。 早速指摘されたので対応策を考えようと思います。
193 名前:192 mailto:sage [2013/02/06(水) 19:20:32.97 ] >>191 > * 辞書の順序、トリッキーな事しなくても、名前つきプレースホルダ使えば辞書のまま渡せるよ 分かりましたので修正しました。 ご指摘ありがとうございます。
194 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 22:19:38.57 ] わざわざ指摘→改善の自作自演なんかしないで 自分のブログででも宣伝したらいいのに
195 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 23:57:11.03 ] >>194 おまえ根性腐ってるな
196 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 00:00:32.06 ] ↑得意の自演で自分を援護ですねわかります
197 名前:デフォルトの名無しさん [2013/02/07(木) 01:11:32.20 ] 可変長のcsvを特定の長さで区切ってリストにするにはどうしたらいいですか? 例えば、こんなcsvを読み込んで3個で1セットにしたいのですが。 1,1,1,2,2,2,3,3,3 5,5,5,6,6,6 line1 = [(1,1,1),(2,2,2),(3,3,3)] line2 = [(5,5,5),(6,6,6)] と言った感じで。
198 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 01:25:41.01 ] >>171 apiがよくないね 例えばjustme1.py justme2.pyのそれぞれでJustMe.lock()した場合、 (JustMeを)使う側が意図するのは、justme1.py justme2.pyそれぞれのプロセスが ひとつずつになることだと思うけどそうはならない。 ならばと、JustMe(script_name='justme1') JustMe(script_name='justme2') とするけどこれもやっぱり上と同じ動作をするんだよね。 script_nameを渡せるならscript_nameだけでロック対象を区別するべきで、 db_pathみたいな本来の目的にはさほど関係ない要素はカプセル化したほうがいいかと。
199 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 01:29:19.28 ] >>> a = [1,1,1,2,2,2,3,3,3] >>> list(zip(*[iter(a)]*3)) [(1,1,1), (2,2,2), (3,3,3)] 端数がある場合は itertoolsの zip_longest で。 そういえば、ちょっと前に挙がった pike だと 配列/数値 の割り算(?) で同様の分割が出来たりしてた。
200 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 02:02:37.42 ] >>197 例外処理なし >>> lines = [] >>> for line in open('test.csv'): ... linen = eval(line) ... lines.append([tuple(linen[i*3:(i+1)*3]) for i in range(len(linen)/3)]) ... >>> lines[0] [(1, 1, 1), (2, 2, 2), (3, 3, 3)] >>> lines[1] [(5, 5, 5), (6, 6, 6)]
201 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 02:06:42.79 ] ines.append([tuple(linen[i*3:(i+1)*3]) for i in range(len(linen)/3)]) ↓ lines.append([linen[i*3:(i+1)*3] for i in range(len(linen)/3)])
202 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 02:16:02.69 ] >>199 あまりにも美すぃ >>200 あまりにもゴリゴリすぃ
203 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 02:19:37.04 ] >>199 僕もそういうコーディングできるようになりたいんで どういう本を読んでその域に達したのかとか 通ってる(た)大学とか 年収とか 彼女の有無とか 教えてくださいm(_ _)m
204 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 02:20:49.75 ] >>203 あなたと同じ低学歴童貞ニートです
205 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 02:23:23.40 ] >>204 僕が低学歴なのも童貞なのもニートなのもあたってますけど… そういう冗談はいいのでマジで教えてください せめて一個目の質問だけでも
206 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 02:56:33.41 ] Linuxコミュニティが選ぶ人気オープンソースプロジェクトの年次調査、言語は「Python」、デスクトップは「Slackware」がトップにsourceforge.jp/magazine/13/02/06/0516242
207 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 02:59:06.85 ] ttp://docs.python.org/2/library/itertools.html#recipes
208 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 05:04:41.44 ] 素朴な疑問なのですが、PEP8ってなんで読むのでしょう? 心の中では「ペップエイト」と呼んでいるのですが、正解はピーイーピーエイトあたりでしょうか? いつか口に出す機会が訪れたときに備えておきたいです。
209 名前:デフォルトの名無しさん [2013/02/07(木) 08:10:32.66 ] >>194 ↑これも自演 >>195 ↑これも自演 >>196 ↑これも自演
210 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 08:59:21.76 ] >>206 記念に釣られてみるが ここ最近の Python の伸びは node.js の影響かもな
211 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 09:20:46.03 ] >>208 ペッペイト
212 名前:171=192 mailto:sage [2013/02/07(木) 09:31:04.17 ] 全部手元のみの修正になります。 お昼頃にはpypiにuploadしたいと思います。 >>198 apiではなく、名前が悪いのでしょう。 db_pathをlock_file_pathに修正しました。 重要な修正になりますが、 公開から48時間経っていませんし、 こっそり修正してもイイカナ。 >>191 > * 起動中のアプリケーションのPIDを知る方法 insert('prelock')をauto commit modeで発行し、 insert('lock')でtransaction immediateを発行するようにしました。 もしも誰かと競合し多重起動になった場合、 自分がinsert('prelock'), insert('lock')を発行した瞬間よりも前に、 誰かがinsert('prelock')を発行していますので、 現状の'prelock'の内容を吐き出すことで、 誰がlock()したのか分かるように出来ました。 ただ、微妙な順序、つまり、ほぼ同時期にprelock, lockを発行する場合を考えると、 A-prelock B-prelock C-prelock A-lock B-lock => 多重起動を検知するが、最終prelockは、C-prelock! A-prelock, C-prelockが分かってもどっちがlockしているのか断定出来ない! 一番最後のprelockは誰が現在lock()しているのかを、必ずしも教えてくれません。 ですので、多重起動を検知した場合、過去10件のprelockを表示するようにしました。 さすがに、10人が多重起動云々は考えなくて良いよね、、、
213 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 09:33:02.59 ] ねえ、githubじゃなくてもさあ。ツイッターもはてブもやってないの? 臭すぎるよ
214 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 09:33:44.36 ] 超初心者スレでひたすら自演とかさ。然るべき場所に行く脳みそ持ってないのかね 最悪の開発者だな
215 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 09:36:39.77 ] こいつの薄汚いコミットを宇宙全体から排除する方法はないだろうか
216 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 09:42:46.77 ] 3レスもどこの誤爆?
217 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 09:43:41.63 ] お前だよ。二度と書き込むなよ
218 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 09:48:17.62 ] ごめん
219 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 10:03:21.24 ] >>212-218 もちろん全部自演です
220 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 10:18:15.25 ] . || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| || ○荒らしは放置が一番キライ。荒らしは常に誰かの反応を待っています。 || ○重複スレには誘導リンクを貼って放置。ウザイと思ったらそのまま放置。 || ○放置された荒らしは煽りや自作自演であなたのレスを誘います。 || ノセられてレスしたらその時点であなたの負け。 || ○反撃は荒らしの滋養にして栄養であり最も喜ぶことです。荒らしにエサを || 与えないで下さい。 Λ_Λ || ○枯死するまで孤独に暴れさせておいて \ (゚ー゚*) キホン。 || ゴミが溜まったら削除が一番です。 ⊂⊂ | ||___ ∧ ∧__∧ ∧__ ∧ ∧_ | ̄ ̄ ̄ ̄| ( ∧ ∧__ ( ∧ ∧__( ∧ ∧  ̄ ̄ ̄ 〜(_( ∧ ∧_ ( ∧ ∧_ ( ∧ ∧ は〜い、先生。 〜(_( ,,)〜(_( ,,)〜(_( ,,) 〜(___ノ 〜(___ノ 〜(___ノ
221 名前:171=192 mailto:sage [2013/02/07(木) 13:29:14.04 ] pypi.python.org/pypi/justme/1.1.0 先ほど、version=1.1.0を公開しました。 色々便利にしました。完成したと思っています。 若干荒れてしまったようです。 そもそも作ろうとした切っ掛けは、>>166 の需要があると分かったからです。 自分でも欲しいとは思っていたのですが、 自分一人だけなら、起動時に気を配るだけで多重起動に対処できる、 また、os.path.exists()使えば済む話なのに、 作るのも面倒くさいなーと思っていたので作らなかったのでした。 なので、>>171 はスレの流れに沿った投稿です。 >>192 も>>191 の意見に答えたモノです。 >>212 も>>198 に答えたモノです。 >>212 の下二段は勉強スレに書くべきだったかもしれません。 自分で一から作りましたので、>>166 の投稿は、 sqlite3, sqlite3のtransactionの勉強をする良い契機となりました。
222 名前:171=192 mailto:sage [2013/02/07(木) 13:37:25.04 ] とまぁ>>166 からここまで全部自演なわけだが
223 名前:171=192 mailto:sage [2013/02/07(木) 13:48:09.90 ] >>222 そういうの止めてよ。
224 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 13:55:22.61 ] コテつけて。
225 名前:171=192 ◆bCJxn8aZG34F mailto:sage [2013/02/07(木) 14:01:02.75 ] せっかく頑張ったのになんか残念です。
226 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 14:04:43.69 ] そういうの止めてよ (そういうの=自作自演&スレ私物化&汚ミット)
227 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 16:13:49.90 ] >>166 == >221
228 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 19:02:43.10 ] pass
229 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 01:48:14.28 ] >>203 ,205 zip等、関数型プログラミング言語由来の機能を使ったコードを考える時は、 関数型言語 (SchemeやHaskell) でのプログラミングの経験が役に立つ。 Pythonで学ぶなら 公式ドキュメント内の "関数型プログラミング HOWTO" を入門に、参考資料を辿ると良い。 イデオムとして覚えておきたいなら、公式ドキュメント他、PLEAC,PyMOTW,Cookbook等にたくさんレシピがあります。 207のgrouperが199のコードそのものだし。例えば、他の似たような処理
230 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 01:50:26.71 ] * 文字列をn文字毎に分割 re.findall(".{1,%d}" % n, text) * ファイルからnバイトずつ読むイテレータ iter(lambda: stream.read(n), "") ちなみに、199はイテレータを取れるけど、対象がシーケンス(lenで予め長さが解かる)の場合は スライスを取るようにした方がループ回数少なく済むので、そちらの方が効率は良いかもしれないです。 >>225 don't mind. 多重起動防止の実装を調べる切っ掛けになったし。参考になったよ。ありがとう
231 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 02:19:27.01 ] ひどいな
232 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 02:21:14.11 ] クールにかければ効率とかどうでもいいダオr
233 名前:梅どぶろく=171=192 ◆21Da3ggG3M mailto:sage [2013/02/08(金) 11:36:07.87 ] >>230 ありがとうございます。 >>225 は愉快犯です。 多分一連の荒らし。 お前は死ね。
234 名前:デフォルトの名無しさん mailto:171=192 [2013/02/08(金) 13:17:19.14 ] >>233 そういうことをして何が楽しいのでしょうか? 荒らしに荒らし呼ばわりされるようなことは何もしていません。
235 名前:171=192 ◆UwwhKlilKVPU [2013/02/08(金) 13:19:39.75 ] メール欄にトリップいれてしまったので トリップ変えます
236 名前:梅なんとか=171=192 ◆hxdjhIaCpI mailto:sage [2013/02/08(金) 13:32:39.39 ] >>235 誰だよ? あと、自演癖を治したいのでいい病院教えてください。
237 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 13:43:09.22 ] >>233 www.google.co.jp/search?q=21Da3ggG3M 安田英幸と鳥かぶってるゾ ^^^^誰?
238 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 14:04:57.53 ] つ kohada.2ch.net/test/read.cgi/prog/1253193184/ 勤務先企業と裁判 -> 係争中から2chに粘着 -> 職を失う -> 2chでアンチと闘いながら自作自演に勤しむ日々
239 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 14:50:54.63 ] 糞コテが私物化してるスレは間違いなく糞スレ
240 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 15:11:17.76 ] pass
241 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 16:49:19.23 ] 2月と3月にPython本出るみたいだけど、どれがいいと思う? 空飛ぶPython即時開発指南書 Naomi Ceder (著), 新丈 径 (監修) ttp://www.amazon.co.jp/dp/479813080X/ パーフェクトPython Pythonサポーターズ (著) ttp://www.amazon.co.jp/dp/477415539X/ Pythonサポーターズって何よ?w すっげー怪しいんだけど
242 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 16:57:35.39 ] >>241 発売一月後の尼レビューがいい感じな方
243 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 17:58:34.89 ] >>241 内容紹介読むと 空飛ぶ: 初心者向け パーフェクト: 脱初級者向け って感じだな。 空飛ぶの方はジャケ買いしたくなる魅力があるw
244 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 17:58:56.62 ] >>241 上の原書はManningのThe Quick Python Bookか ここか本スレで勧めてる人いたなあ
245 名前:デフォルトの名無しさん [2013/02/08(金) 19:47:14.99 ] 空飛ぶモンチッチPython
246 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 20:54:10.30 ] Python本なんて英語では腐るほどあるだろ 怪しい新刊が出る度に猛チェックしてる時点でお里が知れる
247 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:34:09.28 ] ↑みたいなレスするやつって 英語読めないことに相当なコンプレックスがあるんだろうな
248 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:36:46.98 ] 全く読めないお前と違ってなまじ読めるからな。諦めてないんだよ
249 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:42:04.91 ] >>246 カワイイ奴だな 中2の俺を思い出すよ(笑)
250 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:43:06.28 ] 日本語の本が出るって大騒ぎしてる奴もかわいいよね()
251 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:43:16.71 ] >>248 洋書のPython本でお勧めは? 書名だけでなくどこがお勧めかも書いて
252 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:44:44.83 ] >>250 ますますカワイイな
253 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:45:51.67 ] >>251 Python Scripting for Computational Science Numpy Cookbook Sage Beginner's Guide そもそも日本にこういうの書いてる人がいないから選択肢がない
254 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:47:36.84 ] オライリーから出たら翻訳されやすいんだよな Think Statsとかいうクソ本も翻訳されて売られてたし(英語版は無料)
255 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:55:34.38 ] プログラミング関連の洋書って 技術的な背景がわかってればかなり読むの簡単だよね そのまま英語→カタカナ語になってる用語多いし 高一のころjavaとjavascriptのオライリーの洋書読んで>>246 みたいなことしてたわw
256 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:56:34.53 ] >>247 >>255 高二病
257 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:01:05.07 ] >>256 高二病というのもあるんだ ま、リア二だから許して
258 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:03:46.38 ] >>257 お前、実は英語まったく読めないだろ?w プログラミングスレに居座ってないで英語の勉強しろよ
259 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:07:18.09 ] いい大人が高2相手に必死
260 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:09:03.50 ] 高2が粋がんなよ
261 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:09:44.65 ] ワケわからん用語が出てくる多分野の書籍よりは 確かに読みやすい あくまでも相対的な話
262 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:11:05.87 ] そもそもjavaとjavascriptの洋書って何? 洋書で読む必要合ったの?どうせ英語の勉強になるし一石二鳥wwwとか考えたんだろうな そういう英語の勉強からの現実逃避をやめろ。洋書を買おうが洋画を見ようが まずその段階に立ってなければ時間を浪費するだけ まさに二兎追うものは一兎をも得ずだ。英語の読めない高2はさっさと勉強しろ
263 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:15:52.75 ] >どうせ英語の勉強になるし一石二鳥wwwとか考えたんだろうな どうせ、というか俺世代の奴が洋書読むメリットって むしろそこにあるでしょ あとなぜか洋書の方が邦訳版より安かったんだよね
264 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:18:32.36 ] >>263 順番が逆なんだよ。なんのために勉強してるの? そんなことが出来るなら勉強する必要ねーじゃん 洋書の方が読むのに時間がかかるんだから、安かったから読むとか馬鹿がすること 時間を大事にしろよ。現実逃避すんな
265 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:19:25.36 ] 結局、>>255 は生の中二病ってオチ。現実を見ろ
266 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:19:39.76 ] pass
267 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:26:15.74 ] >>264 その理屈だと 完璧に英語を習得するまでは英文を読むなってことになりますよ 定義できない完璧を目指すのは土台無理なことですし
268 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:28:22.67 ] >>267 高校レベルの英語も満足に出来ないお前が洋書を読むのは時期尚早だとなんで理解できないのかな
269 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:35:22.15 ] むしろ普段の英語の授業との相乗効果が期待できて望ましいだろう 何事も経験するのはいいことだ
270 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:40:28.35 ] 相乗効果があったのか徒労に終わったのかは本人が一番よく分かっているだろう
271 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:41:07.18 ] 技術書の英語なんて単語の種類や文法の複雑さを鑑みても学習効果なんてたかが知れたこと ネイティブじゃない限り和書のほうがずっと早く読めるんだから 多少高くついてもそっちを選ぶべきというのは理屈にかなっているだろ
272 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:55:15.37 ] >>271 >技術書の英語なんて単語の種類や文法の複雑さを鑑みても学習効果なんてたかが知れたこと これは鋭い指摘ですね 読みやすいという感覚があったのはそういう事情があったからだと思います ただ、読まされる英文じゃなくて読みたい英文に触れられたのがとにかく新鮮で楽しかったわけです これは無駄ではなかったと思ってますw
273 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 23:01:00.53 ] 普通の英語を新鮮とか言ってる時点でもう英語がいかに出来ないかを物語っている 自己正当化は結構だがそんなんじゃカスみたいな人生しか待ってないぞ
274 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 23:05:09.83 ] 人生の敗北者でも使える優しい言語、それがPython
275 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 23:17:12.65 ] while not ejaculated: if is_impotent(): accept_my_fate(): exit(1) ejaculated = masturbate()
276 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 23:20:44.11 ] コードは汚く、Pythonは美しい
277 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 03:14:56.71 ] 和書が腐る程あるRubyが羨ましい。 逆だったら良かったのに。
278 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 03:37:34.40 ] 金なんか払わなくてもドキュメントならいくらでも和訳されてるのに
279 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 08:47:37.72 ] >>277 そんなに沢山必要か?
280 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 13:41:01.64 ] 標準ドキュメントの和訳版が逸品過ぎて本が売れない。
281 名前:デフォルトの名無しさん [2013/02/09(土) 16:55:04.22 ] ノロマは誤訳だらけの訳書が出るまで待ってりゃいいんじゃね
282 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 17:27:35.12 ] たしかに誤訳は困るけど、日本語なら早く読めるのは本当だ
283 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 17:32:43.14 ] そういう意味じゃないよ。一生待っても、わざわざドキュメントの 日本語訳を用意してくれるライブラリやプロジェクトは少ない 日本語を選んだほうが良いのは、言うまでもなく、既に日本語訳がある場合に限る 待たなければいけない時点で速く読めるかどうかは関係なくなる
284 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 17:50:04.89 ] 洋書なんか読んでも読まなくてもどっちでいいけど ライブラリ添付の英語ドキュメントは読めたほうがいいね
285 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:04:51.47 ] lb=[2, 3, 47, 7, 3, 4, 5, 1] la=[2, 4, 6, 7] for b in lb: for a in la: if a==b : break else: lb.remove(b) lb [2, 47, 7, 4, 1] ?
286 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:05:56.16 ] lb=[2, 3, 47, 7, 3, 4, 5, 1] la=[2, 4, 6, 7] for b in lb: for a in la: if a==b : break else: lb.remove(b) lb [2, 47, 7, 4, 1] ?
287 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:12:37.03 ] for文はelse節を取れる。ループを抜けた後に実行される
288 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:16:06.61 ] lbをfor-inでループ中にlbから要素を削除したら変になるのは当然
289 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:16:31.21 ] あ、breakで抜けたら実行されない
290 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:17:55.70 ] >>288 確かに
291 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:33:26.49 ] lbをlaと一致する要素だけにするには新しいlistを作成して appendするのがいいですか?
292 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:35:21.08 ] 集合を使えよ
293 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:45:37.04 ] 重複要素も維持したいんじゃないの?
294 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:50:02.50 ] >>285 list を表す時は小文字じゃなくて大文字のL使おうな あと、こういう風に>>293 とやって自分にレスアンカーを付けてやると良いよ これでいいかい? >>> La = [2, 4, 6, 7] >>> Lb = [2, 3, 47, 7, 3, 4, 5, 1] >>> sta = set(La) >>> stb = set(Lb) >>> sta & stb {2, 4, 7} >>> sta - stb {6} >>> stb - sta {1, 3, 5, 47} >>> sta | stb {1, 2, 3, 4, 5, 6, 7, 47}
295 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:50:54.02 ] . .: : : : : : : : :: :::: :: :: : ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: . . : : : :: : : :: : ::: :: : :::: :: ::: ::: :::::::::::::::::::::::::::::::::::::: . . .... ..: : :: :: ::: :::::: :::::::::::: : ::::::::::::::::::::::::::::::::::::::::::::: Λ_Λ . . . .: : : ::: : :: ::::::::: ::::::::::::::::::::::::::::: /:彡ミ゛ヽ;)ー、 . . .: : : :::::: ::::::::::::::::::::::::::::::::: / :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . ::::::::::::::::::::::::::::::::::::::: / :::/;;: ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::  ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ̄ ̄
296 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:52:26.79 ] 集合だと順番も維持されなけりゃ重複要素も削除されるけどええんか?
297 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:53:44.29 ] >>294 たいへん参考になりました ありがとうございました
298 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:04:17.13 ] なんで大文字のLなの? いまどきハンガリアン? Python的には小文字アンスコ繋ぎだろ。 やるならa_list
299 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:10:07.75 ] list_a の方が list_foo, list_foobar を縦に並べて書いた時に list_ の部分が揃って好き
300 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:10:23.45 ] >>291 ,297 欲しかったのはLc? >>293 も満たしたつもりだけど。 >>> Lc = [] >>> for x in Lb: ... if x not in sta: ... Lc.append(x) ... >>> Lc [3, 47, 3, 5, 1]
301 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:10:27.45 ] >>298 www.python.org/dev/peps/pep-0008/#id27
302 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:17:06.12 ] >>301 どこ?クラス名はCamelCaseと書いてあるのは見つけたけど
303 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:21:41.93 ] >>298 listって書くよりLの方が楽でしょ。 これってお試しでやれば良いだけだし、 4,5行の範囲内だから"list"って書かなくても "L"でlistって分かるよ。 moduleとかの話とはまた違う話。 柔軟にいこう柔軟に。 PEP: 8 Title: Style Guide for Python Code oldriver.org/python/pep-0008j.html 規範:命名規則 避けるべき名前 「l」 (小文字のエル)、「O」(大文字のオー)、「I」(大文字のアイ) を1文字の変数名として使わない。 フォントによっては、これらの文字は数字の 1 や 0 と区別できない。 「l」 を使いたくなったら、代わりに「L」を使う。
304 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:26:00.40 ] 4,5行の範囲ならaでもbでもいいだろ リストを表したいなら複数形にすべきだよ そもそも文頭に数字の1が来ることなんてないだろ len()はLen()じゃねえし
305 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:27:08.95 ] >>300 Lcではないです。十分です。
306 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:32:50.56 ] >>303 >1文字の変数名として使わない ここ超重要なんだけどね 2文字以上なら1aとかエラーになるから 気にしなくていい
307 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:36:31.22 ] "Never use the characters 'l' (lowercase letter el), 'O' (uppercase letter oh), or 'I' (uppercase letter eye) as single character variable names." ってあるけど、la(エルエー), Ia(アイエー)は区別付かないので、以下の方が良いと思う。 「l」 (小文字のエル)、「O」(大文字のオー)、「I」(大文字のアイ) を数文字(2,3文字)の変数名の先頭に使わない。 or を数文字(2,3文字)の変数名に含めない。 こいつは原文を修正すべきと思いました。 誰かお願い。 本家に申し立てて下さい。
308 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:37:57.93 ] lstが使えなくなるので激しく嫌です
309 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:38:57.59 ] とりあえず意味のあるワードにすればいいのでは リーダブルコードをはじめ一般的にそう言われてるでしょ listの頭文字を別の文字に読み間違える人がいるだろうか それと、Lがリストを表すというのはどれくらい一般的なんだろう nがnumber ofを表すってくらい有名なら使っていいと思うけど
310 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:45:40.37 ] 標準ライブラリを見てみると頻繁ではないけどちょこちょこ使われてる PEP8に書いてあるというのはよく知られていること
311 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:48:09.22 ] Lusersとかやるんだろうか…結構クソだと思うけど
312 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:48:53.88 ] >>308 1st と区別付きにくくない? 先頭が数字だから変数名には出来ないんだけどさ。 lstってlast, list, lostどれか分かりにくいから止めるべきでは?(`・ω・´)キリッ Ia(アイエー)って電流の意味で書きたくなるので、 縦棒は大文字の愛さん専用ということで。 >>309 > 1文字の変数名として使わない。 > 数文字(2,3文字)の変数名の先頭に使わない。 勝手に変な話しているぞ Pythonの話と他の話は分けてしましょう。 Pythonの中でならLがlistを表すのは、 「それくらい分かるだろ?予想付くだろ!」 って言って良いと思う。
313 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:52:58.58 ] >>312 エキスパートPythonプログラミングのPEP8をカバーした命名規則でもそういう話はなかった気がするなあ 別の話を勘違いしてるのはお前じゃないかな Lがリストなんてどこに書いてある?
314 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:54:55.42 ] そもそも元のコードが、意味がなくて区別出来ればいいだけの変数なんだから 細かいこと気にすんなよ。
315 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:57:19.64 ] >>313 横からだけどPEP8には書いてないけどLっていったら普通はリストだね listが組み込み名で使えないのが関係してるんじゃないかと list_とか書くの面倒だし >>311 やらない
316 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:58:43.44 ] >>313 どこにも書いてないよ。 だから、「それくらい分かるだろ?予想付くだろ!」って書いた。 書いてあるなら「書いてあるだろ!」って書いたけど? Pythonの中でなら一文字変数Lがlistを表すのは 「それくらい分かるだろ?予想付くだろ!」っていうぐらい一般的だと思う。 当然に、文脈によっては、Lが別のclassのinstanceって事はあると思うよ。
317 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:02:15.05 ] >>315-316 お前らが言ってるのってメタ構文変数みたいな話ね それは普通、推奨されないし、list_とかで変数を説明するのは普通のこと laをLaに変えるべきとか言ってたからそういうルールがあるのかと思ったわ この場合、別にlaでも問題ないわ
318 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:02:33.98 ] >>307 1文字のlと1は1文字だと 間違えても数字の1としてそのまま実行されてしまうが、 1文字でない場合は大体エラーになってすぐ分かるので気にしなくていい ll とか IO とかは微妙かもしれないがね
319 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:09:41.76 ] >>317 リストって意味を通常含むからメタ構文変数って言っていいかはともかく LaやLbはあまりやらない。せいぜいL, L1, L2
320 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:18:55.69 ] >>317 l, laではなくL, Laと書く癖を付けておいた方が良いよね。 だってPEP8で"〜を1文字の変数名として使わない。" と、非推奨であると名言しているもん。 PEP8の該当箇所を知った上で、 > この場合、別にlaでも問題ないわ って書く人はPython使わない方が良いと思う。 >>319 l(小文字のエル)ではなくて、Lを使うことをPEP8で推奨しているよ。 と>>285 に説明したかっただけですので。
321 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:21:25.48 ] なんで>>294 はaのセットをSaと表さないのか謎だよね 集合が大文字のSで、それに添字が付くのは数学では一般的なのに >>320 だからー、一文字の無意味変数は文字に関わらず推奨されてないんだって そんなゴミ文字を使うときは何を使おうがおなじことだよ lではなくLを使うことによって生産性が上がることがある? そもそもLだって何の意味もないコードでしか使えないのに
322 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:30:11.79 ] >>320 PEP8的には l = ... を使うぐらいだったら L を使えってだけだよ La, Lbなんて変数を使う人は滅多にいない la, lbを使う人は結構いる
323 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:32:09.26 ] 1文字以外でlをLにするんだったら listだってListにしなくちゃいけないし consoleだってconsoLeにしなくちゃいけないよ
324 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:32:37.77 ] そんなことより>300で良いのか。 なんでわざわざappendなんてせにゃならんのだ。
325 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:35:20.26 ] >>324 ・インデックスでループして、popで削除して、削除したらインデックスを進めない ・インデックスで逆順ループして、popで削除 新しいリストを作らないならこのどちらかだな
326 名前:324 mailto:sage [2013/02/11(月) 19:37:42.98 ] これで良いじゃないか。 Lc = [ e for e in Lb if e not in La ]
327 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:37:45.18 ] 「俺が読みにくいから2chにソースコードを載せるときはLを使え」と言えばいいのでは
328 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:51:38.71 ] >>324 内包表記でif not inとか使うと読みにくいんで。 >>293 の話もあって、本当は>>300 のLcを結果として得たかったのかも。 と思って>>300 書きました。 初心者の人に説明する時は、 >>326 と>>300 では、>>300 の方が分かりやすいと思いますが。 誰に説明するか考えた上での>>326 ですか? >>321 話がそれてきてますが。 >>285 が発端なんだけど。 分かってる? >>285 に対する回答として>>294 の説明をしたよね。 >>297 で質問者は納得してくれたんだけど。 十分だと思うんだ。 ただ、la, lbを使っているところから、一文字の変数名として小文字のlは 非推奨と書いているPEP8の存在を知らないような気がした。 私自身も最初la, lb使ってましたんで。 でも、PEP8読んでLa, Lb使うようにしました。 よく分かんないから書いて欲しいんだけど、>>294 にケチ付ける人は、 >>285 に対する説明でどう書けば満足してた? PEP8知らないだろうなーって思う初心者の方にPEP8の該当箇所黙ってた方が良かった? どうせお前の意見言ってみろって言われたら黙るんでしょ? 自分の意見・考えは示さず批判する側で居続けたい人達ばかりでしょ? ┐(´д`)┌ヤレヤレ
329 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:55:06.41 ] la、lbは一文字の変数じゃねーじゃん。どういうこと?
330 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:57:07.35 ] >>328 の流れは>>131-134 あたりで一度やってる
331 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:04:17.51 ] >>328 いやだから、aとかbとか意味のない変数名はPEP8以前の話だって。 実用コードでそんな変数名使ってるなら絶対直した方が良いけど、 その場合「ちゃんと読み手に意味が分かる変数名使おうな」って話になる。 そこで単なる規約のPEP8持ちだしてLaだLbだ言ってもコードは読みやすく ならない。 要は、>>285 みたいな例ではla、lbで全く問題ないって事だ。
332 名前:324 mailto:sage [2013/02/11(月) 20:08:27.71 ] なんか意見言えって言われた気がしたから書く。 CはC, JavaはJavaにふさわしい書き方があるように、 PythonにはPythonにふさわしい書き方がある。 「直交性」という言葉の意味は俺は分からんし、 確かそれで揉めてた気がするけど、俺は>134と似た意見を持ってる。 そもそも>285は質問の仕方が下手で、 何を適切な結果として受け取りたかったのか分からんけど、 俺としてはそんなことはどうでもよくて、 >300が華麗にスルーされているように見えたのが気になっただけ。 Pythonでこんなまどろっこしいことやってたら疲れる。 変数名の命名規約は俺は結構どうでもいい。 やりたい人達でやって。
333 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:08:38.83 ] ただ、la, lbを使っているところから、一文字の変数名として小文字のlは 非推奨と書いているPEP8の存在を知らないような気がした。 私自身も最初la, lb使ってましたんで。
334 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:09:39.97 ] >333は>331宛て
335 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:12:44.07 ] 「一文字の」をどれだけ無視すれば気が住むんだ
336 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:16:33.16 ] la(エルエー), Ia(アイエー)は区別付かないので、以下の方が良いと思う。 「l」 (小文字のエル)、「O」(大文字のオー)、「I」(大文字のアイ) を数文字(2,3文字)の変数名の先頭に使わない。 or を数文字(2,3文字)の変数名に含めない。 こいつは原文を修正すべきと思いました。 誰かお願い。 本家に申し立てて下さい。
337 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:17:56.85 ] # ここまで読み飛ばした
338 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:18:31.42 ] >>336 lenが抹殺されるからやっぱり嫌です
339 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:25:14.37 ] 全レス君頑張ってるな
340 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:32:19.48 ] >>338 lenはlen()と被っているので、使わないようにしましょう(`・ω・´)キリッ >>> s = 'abc' >>> len(s) 3 >>> len = 100 >>> len(s) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not callable
341 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:32:51.59 ] 何で先頭だけなんでしょうねえ
342 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 03:01:20.38 ] どうでもいい 何がキリッだ てめえのゴミのような日常生活の心配してろ
343 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 04:23:24.48 ] hoge[n:m]でn〜m-1がキモくて慣れんかった(キリッ
344 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 07:00:44.59 ] m - n が要素のサイズと一致しないのは不便 終端の添字の要素を含むと len(hoge[2:5]) が 4 になってしまう
345 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 07:24:57.82 ] 要するに慣れの問題
346 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 07:39:04.90 ] 先頭のlなんて間違えたらそもそもプログラムが動かないんだから 1になろうがどうだろうがどうでもいい
347 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 07:51:00.46 ] le234 = 123; foo(1e234) とか考えられなくはないけどキリがないね
348 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 08:43:01.05 ] or を変数にして悩んだことあるな
349 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 17:31:25.25 ] PyGTKとwxPythonって使い分けしてる人いるんでしょうか? あるいはどちらかしか使わない派?
350 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 17:35:35.23 ] PySideとwxPythonを使い分けてる俺なら
351 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 17:52:44.19 ] >>350 ありがd できればPyGTKを使わない理由、PySideを使うメリットも教えてちょ
352 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 18:44:51.68 ] >>351 > PyGTKを使わない理由 なんとなく > PySideを使うメリット ライセンス的に > wxPython windowsでちょっとしたツールを作るのにお手軽 自分で使ってみて必要な機能がありしっくりくるのを使えばいいんじゃないかな
353 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 19:03:13.39 ] GTKは糞 使えば判る
354 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 23:35:08.40 ] PyGTKがないとmatplotlibが不便になる
355 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 23:35:54.79 ] 自分が使ってプログラミングするつもりはないけど
356 名前:デフォルトの名無しさん mailto:sage [2013/02/14(木) 13:18:05.06 ] docs.python.jp/3.3/library/html.parser.html これって将来削除されるってことですか?
357 名前:デフォルトの名無しさん mailto:sage [2013/02/14(木) 14:40:41.62 ] strict引数がね
358 名前:デフォルトの名無しさん mailto:sage [2013/02/14(木) 23:33:32.63 ] ありがとうございました
359 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 11:37:29.18 ] shelveを利用したデータ保存の勉強をしています 手元の環境はPythonが2.7.3で動作するプログラムを、さくらインターネットに持って行くと動かなくなります。 さくらインターネットのPythonも2.7.3なのですが、Shelveは環境により動作が変わるのでしょうか? 例えばさくらインターネットでは、shelve.open()で指定したファイル名の後ろに".db"がつけられます。 これは、ファイル名を変更することで修正を行えたのですが、DBにデータが保存されないという現象も起きています。
360 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 12:01:12.06 ] >Shelveは環境により動作が変わるのでしょうか? 変わる 以下の11..4.1を参照せよ docs.python.jp/2/library/shelve.html
361 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 12:21:34.76 ] jsonにしとけ
362 名前:359 mailto:sage [2013/02/18(月) 13:56:04.17 ] >>360 ありがとうございます。 そのマニュアルは読んでいたのですが、制限というものがわかっておらずshelveで操作 可能なことは共通で利用可能かと思っておりました。 問題は不具合があったコードを書きなおすことで解決できたのですが、今後もshelveを 利用しようと考えているため、shelveについて質問させて頂ければと思います。 まず、shelveのバックエンドが環境に寄って変わるという事ですが、今回のように同じ バージョンのPythonでもバックエンドが変わるというのはShelveはどこで利用するバッ クエンドを決めているのでしょうか? 利用するバックエンドはどのように知ることが出来るでしょうか?
363 名前:359 mailto:sage [2013/02/18(月) 13:57:10.20 ] また、拡張子が付加される場合があるようですが、こちらも条件としてはどのような条 件で付加される条件が決まるのでしょうか? shelveファイルが存在しなければ初期データの投入する処理を指定ファイル名のファイ ルが存在するかということで行なっていたのですが、今回は拡張子が付加されて常に初 期データに戻るという問題も起きておりました。 また、ローカルとリモートのDBファイルを見てみると、バックエンドによって形式が違 うようなのですが、これは互換性が無いと考えてよろしいでしょうか? この場合ファイルを移動させる際は、pickleでファイルに落とし、リモートでpickleか らshelveに落とすという手順が必要になるでしょうか? バックエンドによる制限の違いを調べたのですが見つけることができませんでした。 こちらについても、記載のあるページなどございましたらご案内頂ければと思います。
364 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 14:16:20.60 ] >まず、shelveのバックエンドが環境に寄って変わるという事ですが、今回のように同じ >バージョンのPythonでもバックエンドが変わるというのはShelveはどこで利用するバッ >クエンドを決めているのでしょうか? anydbm.openの優先順位に従う 具体的には['dbhash', 'gdbm', 'dbm', 'dumbdbm']の順 >利用するバックエンドはどのように知ることが出来るでしょうか? print type(shelve.open('hogehuga.db').dict) あるいは作成されたDBに対してwhichdbを使用する >また、拡張子が付加される場合があるようですが、こちらも条件としてはどのような条 >件で付加される条件が決まるのでしょうか? >shelveファイルが存在しなければ初期データの投入する処理を指定ファイル名のファイ >ルが存在するかということで行なっていたのですが、今回は拡張子が付加されて常に初 >期データに戻るという問題も起きておりました。 BSD DBの場合サフィックス.dbが付与される docs.python.jp/2.6/library/dbm.html >また、BSD DBは拡張子 .db がついたファイルが一つ作成されます。 >また、ローカルとリモートのDBファイルを見てみると、バックエンドによって形式が違 >うようなのですが、これは互換性が無いと考えてよろしいでしょうか? >この場合ファイルを移動させる際は、pickleでファイルに落とし、リモートでpickleか >らshelveに落とすという手順が必要になるでしょうか? 互換性が無いと考えてよい。考えるべき そもそもshelveでなくdictのpickleで代替できないか考えた方がいいが
365 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 14:27:09.60 ] あるいはShelfクラスをそのまま使用する shelve.openの中は以下のようになっている(模式的なものであり厳密には違う) def open(filename, flag='c', protocol=None, writeback=False): Shelf.(anydbm.open(filename, flag), protocol, writeback) すなわち、使いたいdbmを自分でオープンし、Shelfのコンストラクタに渡せばいい dumbdbmは遅いけど可搬性が保障されている
366 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 17:47:38.35 ] 最近みんなのpythonで勉強始めた初心者なんだけどすんごく難しい これで初学者にはいい言語ってんだからプログラミングって茨の道なんだな
367 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 17:51:21.52 ] オブジェクト指向とかクラスとかよく分からんかったけど、 ↓みたら少し分かった。 www.youtube.com/watch?v=hx5sWRdg-S0
368 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 18:12:04.72 ] dotinstall.com/lessons/basic_python 初心者はこれみりゃいい
369 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 18:13:01.21 ] www.codecademy.com/ja/tracks/python これも中々良い
370 名前:デフォルトの名無しさん [2013/02/18(月) 23:09:47.60 ] dive into pythonだろ
371 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 23:31:36.22 ] from turtle import * def branch(length): if length < 10: return forward(length) left(30) branch(length/2) right(60) branch(length/2) left(30) forward(-length) branch(200) input() このbranchの中にbranchってのがよく分からないんで教えてくれませんか 200進んで、30曲がって、branch(100)だから、100進んで、30曲がって…branch(12.5)で12.5進んで、30曲がる で次にlengthが6.75になるからreturn…でこのあとどうなるのかがさっぱり分かりません 実際の描画を見ると行ったり戻ったり奇妙な動きをするのですがどうなればそうなるのかちんぷんかんぷんで >>370 ずぶの素人は内容以前に文中の用語がまず理解できないんですよあれ
372 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 23:46:00.52 ] 失礼、6.25ですね
373 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 23:49:11.58 ] 再帰関数でググれ
374 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 13:20:17.97 ] ゴッホ曲線だと思ってた
375 名前:デフォルトの名無しさん [2013/02/19(火) 13:23:37.49 ] これも良かった www.nicovideo.jp/mylist/21945950
376 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 16:13:03.67 ] >>371 左の末端に到達の後は、右 60 の後 branch(6.25) を呼出 10以下なので直に return し、左 30 (左30右60左30 で元の向き) 後退 12.5 (分岐点まで戻る) 次に、右 60 の後 branch(12.5) ・・・と、右の枝を描画。先端に到達した後は分岐点まで戻る、を繰り返し。 tinyurl [dot] com [slash] aebgg6z Visual Execution -> forward でステップ実行 return後、何処に戻ってるかわかると思う。
377 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 21:39:46.15 ] 知識ゼロの私に何から手を付けていいか教えろください
378 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 21:47:10.38 ] まずニュー速VIPに行きます
379 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 21:51:12.79 ] >>378 はい
380 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 22:08:05.29 ] まず筐体に飛び乗り
381 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 22:10:18.82 ] Pythonを露出します
382 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 22:14:16.52 ] Aizu Online Judgeでもやれば? 暇つぶしにはなる.
383 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 23:34:41.51 ] >>377 www.codecademy.com/ja/tracks/python
384 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 00:35:57.32 ] >>376 あぁ〜なんとなく分かって来ました returnの後は次のright(60)に進んじゃうんですね えーっとreturn文という物が今度はよく分かんなくなってきました 今までreturn文は関数の結果を関数外で使えるようにするためと理解してたんですけど、今回特に値は使ってないですよね この場合のreturnは切り上げて次に移るみたいな使われ方というか… 今までの例題だとreturnで関数定義終わっちゃってたので、ここで描画終わっちゃうんじゃないかとか思ってたんですけど
385 名前:デフォルトの名無しさん [2013/02/20(水) 05:05:48.42 ] Windowsのコマンドプロンプトから起動し、ユーザ入力を受け取るスクリプトを書いてるのですが 標準入力からの読み込みを終わらせることができません。 基本的な以下のコードでも、1行目で入力待ちを続けたまま2行目にいきません。 name = raw_input('input your name: ') print name 本来の動作としては、enterキーで変数nameに入力が渡り、printが実行されると思います。 windowsなので改行コードの違いから、入力の終わりと認識されないのだろうと見込んでいるのですが どうすればいいんでしょうか。 os.linesepに'\r\n'を代入するのはやってみたんですが、変化なしでした。
386 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 05:20:30.67 ] >>384 def foo(): 1 は def foo(): 1 return None と同じ。またreturn文に値を指定しなかった場合もreturn Noneと同じ 例題の動作が難しければ一方のbranch(length/2)をコメントアウトしてみるのもいい >>385 Win7+Python2.6.3にコマンドプロンプトで再現しないから 詳しい動作環境書いたほうがいいよ
387 名前:デフォルトの名無しさん [2013/02/20(水) 05:38:13.75 ] >>386 申し訳ありません、入力をUTF-8で受け取ろうと考えて加えていたコードにより、 動作が変わっていました。 この部分をはずしたところ正常な動作を確認できたので、見直してみますm(_ _)m
388 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 05:44:38.69 ] t
389 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 06:21:26.70 ] てすと てすと てすと
390 名前:デフォルトの名無しさん [2013/02/20(水) 07:03:59.48 ] pythonで ruby+railみたいな何かはあるんですか?
391 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 08:45:37.87 ] >>390 Django、Pyramid、Flask、Web2py、Bottle、etc…
392 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 10:28:14.59 ] werkzeug
393 名前:359 mailto:sage [2013/02/21(木) 10:34:19.92 ] >>364 ありがとうございます。非常に勉強になりました。 > BSD DBの場合サフィックス.dbが付与される > docs.python.jp/2.6/library/dbm.html こちらについてなのですが、ローカルとさくらインターネットの環境で比べてみたのですが、 ローカル <class 'bsddb._DBWithCursor'> さくらインターネット <type 'dbm.dbm'> となり、さくらインターネットで".db"が付加されましたので、dbmモジュールが使われ、そのdbmモジュールでbsddbが使用される場合に、".db"が付加されるという事でよろしいでしょうか?
394 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 18:00:42.92 ] >>243 公開されたパーフェクトPythonのジャケもカッコイイ! 6人の著者も有名人?っぽいし期待していいかも
395 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 18:23:00.78 ] なんか目次が盛り沢山だけど ページ数で割ると、それぞれの内容は深くなさそう 前半にページ数を割いて、後半は申し訳程度のオマケだろうが
396 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 01:18:23.02 ] 本探してたらPython Cookbook 3版もうすぐ出るみたいね。 Early Releaseでもいいな買うか。
397 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 01:42:30.82 ] 翻訳版が出るのは2年後かな? 2rdの翻訳は削られた章があって非常に残念だった。 3rdは1つも削らずに翻訳して欲しいぜよ
398 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 08:35:13.09 ] >>2 rd
399 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 11:51:39.17 ] セキャードかな? 読みづらいw
400 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 12:08:53.36 ] ツァードって読んだけど
401 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 12:38:56.59 ] 英語苦手なんだろやめてあげろよ
402 名前:デフォルトの名無しさん [2013/02/22(金) 15:05:18.40 ] パイソン厨ってやっぱ阿呆なんだな
403 名前:デフォルトの名無しさん [2013/02/22(金) 15:10:06.85 ] あの、MeCabをPythonバインディングで使いたいんですが、うまくいきません。 手順としては、 ・MeCab0.993とmecab-pythonをダウンロードして、解凍&インストールする。 ・mecab-pythonのsetup.pyをWindows用に書き換える。 ・VC++をインストール、環境変数をいろいろ設定。 ・Pythonにインストール ていう感じです。OSはVista Homeです、 ビルドしてインストールできているようなのですが、(Python27\Lib\site-packagesにコピーされている) EclipseからMeCabをimportしようとすると、UnSolvedとなってしまうし、 コマンドラインでimportしようとすると MECAB_ANY_BOUNDARY = _MECAB.MECAB_ANY_BOUNDARY(MeCab.py 194行目) でMECAB_ANY_BOUNDARYは’module’オブジェクトに含まれてないと怒られてしまいます。 また、なぜかわかりませんが、python.exeと同じフォルダにMeCab.pyがあるとimportできます。 どこか間違ったんでしょうか?
404 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 15:23:54.45 ] >>403 Eclipse の Preferences -> PyDev で MeCab のパス追加した?
405 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 16:40:31.58 ] 1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11st 12nd 13rd 14th
406 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 18:30:58.44 ] い、いれぶんすと >>396 Amazon.comは2013/05になってたけどまだまだ遅れそうな気がするな なんでここまで難産なんだろ
407 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 18:35:05.90 ] 11th 12th 13th 14th ... 20th 21st 22nd 23rd 24th
408 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 18:36:50.10 ] フランス語の数字や数詞も訳わからんな。
409 名前:デフォルトの名無しさん [2013/02/22(金) 18:51:30.92 ] >>404 Eclipseの方は使えるようになりました。ありがとうございました。 pythonコマンドラインの方はやっぱりダメで めんどくさいからエラーの3行をコメントにしました。 ちょっと心配だけど動くようになりました。
410 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 19:10:09.23 ] Pythonのアクセス修飾子private protectedはPHPとかJavaと同じですか? Rubyみたいな詐欺ではないですか?
411 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 19:12:27.57 ] 同じですか?の前にそんな修飾子ねえぞ 狐にでも化かされたんじゃないか
412 名前:デフォルトの名無しさん [2013/02/22(金) 19:50:07.09 ] _ __ で始まるとprivateとか慣習はある _ 1つだと protected __ 2つだと private だったかな あくまで慣習なので破ることも可能
413 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 19:57:02.67 ] 2個は名前修飾で何か起こるんじゃなかったっけ 衝突を避けるような云々
414 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:05:54.49 ] >>> class Hoge(object): ... def __init__(self): ... self.hogea = 1 ... self._hogeb = 2 ... self.__hogec = 3 ... >>> class Fuga(Hoge): ... def __init__(self): ... super(Fuga, self).__init__() ... print self.hogea ... print self._hogeb ... self.__hogec = 4 ... print self.__hogec ... print self._Hoge__hogec ... >>> Fuga() 1 2 4 3 <__main__.Fuga object at 0x020C17B0>
415 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:20:15.67 ] __がprotectedで_がprivateじゃね?
416 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:21:30.68 ] _hogeb は見えてるから protected だよ
417 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:23:21.62 ] __hogec は見えないから private なんだけど 無理やり _親__hogec でアクセスすることは可能
418 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:24:48.04 ] 慣習と言ってもある程度強制力はある訳ですね。 ありがとうございました。
419 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:26:01.80 ] 詳しくはこちら docs.python.org/3/reference/lexical_analysis.html?highlight=mangling#reserved-classes-of-identifiers
420 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:31:29.66 ] ほげほげ ふがふが
421 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:33:08.93 ] >>411 これは恥ずかしいw
422 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:41:25.26 ] 叩かれる前に自分で叩くと惨めさが軽減されますよね 大丈夫だよここは超初心者用だから
423 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:44:54.15 ] 2rdで盛り上がっちゃうくらいですもんねw
424 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:47:03.57 ] まあね
425 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:50:19.43 ] >>413 class Foo(object): def __init__(self): self.ss = 'Foo.ss' self.__name = 'Foo.__name' class Bar(Foo): def __init__(self): super().__init__() self.ss = 'Bar.ss' self.__name = 'Bar.__name' bar = Bar() print('__dict__ =', bar.__dict__) bar._Foo__name = 'changed' print('__dict__ =', bar.__dict__) __dict__ = {'ss': 'Bar.ss', '_Foo__name': 'Foo.__name', '_Bar__name': 'Bar.__name'} __dict__ = {'ss': 'Bar.ss', '_Foo__name': 'changed', '_Bar__name': 'Bar.__name'}
426 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 20:59:24.45 ] 初めてのPythonに書いてあるよ そう言えばLearning Python 4ndの邦訳全然出てこないな 千ページ超えてるから楽しみなのに
427 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 21:34:36.86 ] pychecker, pylint, pyflakes 文法チェッカ、どれがオススメ?
428 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 22:36:42.16 ] pep8
429 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 22:37:13.89 ] pep8とpylintで良いよ。pep8は厳しすぎて従う気が失せるけど
430 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 01:25:12.80 ] >>406 実本はshop.oreilly.comでも2013年5月ってあるからなあ。
431 名前:デフォルトの名無しさん [2013/02/25(月) 16:35:50.51 ] みんなのパイチンくんとポコチンくん
432 名前:427 mailto:sage [2013/02/25(月) 23:20:40.14 ] 返事しようと思ったら規制された。 >>428 ,429 ありがとう、暫くPEP8つかってみる。
433 名前:デフォルトの名無しさん [2013/02/26(火) 20:00:03.62 ] 例えばこういう構造のものを表示するのに、 >>> obj {u'1_C': {u'2_A': 300, u'2_B': 400}, u'1_B': 3000, u'1_A': {u'2_A': {u'3_A': 10, u'3_C': 1, u'3_B': 100}, u'2_B': {u'3_A': 10, u'3_C': 1000, u'3_B': 100}}} こういうフォーマットでなく、 >>> pprint.pprint(obj) {u'1_A': {u'2_A': {u'3_A': 10, u'3_B': 100, u'3_C': 1}, u'2_B': {u'3_A': 10, u'3_B': 100, u'3_C': 1000}}, u'1_B': 3000, u'1_C': {u'2_A': 300, u'2_B': 400}} こういうフォーマットで出すには、自分で構造体内をcrawlしてやる手続きを書かないとならないのでしょうか。 それとも何か使えそうなライブラリがあるでしょうか。 u'1_A': u'2_A': u'3_A': 10, u'1_A': u'2_A': u'3_B': 100, u'1_A': u'2_A': u'3_C': 1, u'1_A': u'2_B': u'3_A': 10, u'1_A': u'2_B': u'3_B': 100, u'1_A': u'2_B': u'3_C': 1000, u'1_B': 3000, u'1_C': u'2_A': 300, u'1_C': u'2_B': 400 こういうフォーマットとは、1行は var = val の型で、varの要素名は省略してはならない。
434 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:07:03.90 ] そのpprintが使えると思うけど正確にそれと一致させるのはできるかどうか
435 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:12:05.84 ] よく見ないでレスしてしまった。>>434 はスルーで
436 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:26:56.28 ] 普通にループで書けばいいんじゃないの
437 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 21:22:37.54 ] >>436 > 普通にループで書けば とは、 > 自分で構造体内をcrawlしてやる手続き と何が違いますか? 「普通にループ」についてここ読めとかあったらお願いします
438 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 22:35:45.35 ] 木の全てのパスを列挙するのであれば再帰で書く あともしobjが辞書であれば構造体と違って順序はないので注意
439 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 22:47:05.44 ] >>377 www.learnstreet.com/
440 名前:433 mailto:sage [2013/02/27(水) 07:21:43.70 ] >>438 > 木の全てのパスを列挙するのであれば再帰で書く やはりそれしかないですか。ありがとうございました。 なおsortの必要はありません。お気遣いもありがとうございました。
441 名前:デフォルトの名無しさん mailto:sage [2013/02/27(水) 08:14:44.21 ] ライブラリを探すほどのことか?
442 名前:デフォルトの名無しさん mailto:sage [2013/02/27(水) 12:41:10.22 ] unittestのメソッドってなんでキャメルケースなの? キモいんだけど
443 名前:デフォルトの名無しさん mailto:sage [2013/02/27(水) 12:55:55.66 ] JUnit由来かと
444 名前:デフォルトの名無しさん mailto:sage [2013/02/27(水) 17:43:39.36 ] だからといって flask のユニットテストみたいに書き直すのはどうかと思う
445 名前:デフォルトの名無しさん mailto:sage [2013/02/27(水) 21:41:03.60 ] assert○○はともかくsetUpなんかsetupでいいだろと思う これ作った奴Javaにコンプレクスでもあんのか
446 名前:デフォルトの名無しさん mailto:sage [2013/02/27(水) 21:45:54.88 ] そうかもね 興味ないからMLで聞いてくるといいよ
447 名前:デフォルトの名無しさん mailto:sage [2013/02/27(水) 21:57:21.29 ] >>441 > ライブラリを探すほどのことか? 標準的な仕組みがあればそれを使った方が何かとイイてのは言うまでもないことです。
448 名前:デフォルトの名無しさん mailto:sage [2013/03/02(土) 15:22:36.57 ] logging, unittest のソース嫁 コメントに java へのリスペクトが書いてある >>445 に java コンプレックスがあるのか知らんけど python は java をリスペクトして開発されたモジュールは結構多い それをコンプレックスと思うなら python 使わなければ良い
449 名前:デフォルトの名無しさん mailto:sage [2013/03/02(土) 21:15:58.62 ] なんかキモい
450 名前:デフォルトの名無しさん mailto:sage [2013/03/02(土) 22:01:58.21 ] pass
451 名前:デフォルトの名無しさん [2013/03/02(土) 22:34:08.83 ] なんでもコンプレックスに結びつけるのがユングフロイトゲガンゲン
452 名前:デフォルトの名無しさん mailto:sage [2013/03/03(日) 14:19:44.21 ] pass
453 名前:デフォルトの名無しさん mailto:sage [2013/03/04(月) 23:43:36.01 ] matplotlibで描いたグラフをwxPythonのパネルに表示して、 テキストボックスに入力した数字にたいして、ボタンを押して更新できるようにしたいんですが、 更新のところのやり方がよくわかりません。 plotを、再設定するだけじゃだめなんでしょうか plotまでは流れているようですが更新されません。
454 名前:デフォルトの名無しさん mailto:sage [2013/03/06(水) 00:32:28.27 ] canvasのdrawしてないだけでした ごめんなさい。
455 名前:デフォルトの名無しさん mailto:sage [2013/03/06(水) 09:19:42.74 ] >>451 っせえ 黙ってろ
456 名前:デフォルトの名無しさん mailto:sage [2013/03/06(水) 14:54:29.20 ] pass
457 名前:デフォルトの名無しさん mailto:sage [2013/03/06(水) 16:47:51.36 ] >>454 俺の言った通りだろう
458 名前:デフォルトの名無しさん mailto:sage [2013/03/06(水) 22:43:49.62 ] やる気があればなんでもできる
459 名前:デフォルトの名無しさん mailto:sage [2013/03/06(水) 23:46:17.93 ] pass
460 名前:デフォルトの名無しさん mailto:sage [2013/03/07(木) 10:22:31.55 ] pythonに適したテキストエディタを教えて下さい
461 名前:デフォルトの名無しさん mailto:sage [2013/03/07(木) 10:58:46.14 ] 無料の中ではemacsいいよね。
462 名前:デフォルトの名無しさん mailto:sage [2013/03/07(木) 12:26:18.69 ] よいよね、だろ
463 名前:デフォルトの名無しさん mailto:sage [2013/03/07(木) 12:55:46.95 ] いいです けっこうです
464 名前:デフォルトの名無しさん mailto:sage [2013/03/07(木) 13:49:02.75 ] vimがもっとも優れています
465 名前:デフォルトの名無しさん mailto:sage [2013/03/07(木) 15:59:40.78 ] >>461 >>464 ありがとうございます。
466 名前:デフォルトの名無しさん mailto:sage [2013/03/07(木) 18:57:57.54 ] 早まるな。
467 名前:デフォルトの名無しさん mailto:sage [2013/03/07(木) 19:48:25.22 ] pass
468 名前:デフォルトの名無しさん [2013/03/07(木) 21:22:27.02 ] 『初めてのPython』ぶ厚すぎだろ 3冊くらいに分けて欲しかった
469 名前:デフォルトの名無しさん mailto:sage [2013/03/08(金) 09:39:16.84 ] xlwt を使いたいんだけどどこからダウンロードできますか? windowsです
470 名前:デフォルトの名無しさん mailto:sage [2013/03/08(金) 09:43:15.02 ] >>469 ググれ
471 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 07:43:29.00 ] xlwt なら、ふつうに easy_install ではいる筈。
472 名前:(;D)笑男 ◆LeBIz0ZWfs mailto:sage [2013/03/09(土) 09:19:58.83 ] livedoor.blogimg.jp/beelzeboulxxx/imgs/b/b/bb837eae.jpg
473 名前:(;D)笑男 ◆LeBIz0ZWfs mailto:sage [2013/03/09(土) 09:20:31.31 ] チョーゴバク (TдT)
474 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:07:12.28 ] 質問です 可変長のリストの入力に対して固定長のリストを出力したいのですが 足りない部分を先頭の要素から0で埋めようと思います 例:出力が固定長 5 のとき 入力 [1, 3] 出力 [0, 0, 0, 1, 3] 入力 [2, 1, 3] 出力 [0, 0, 2, 1, 3] 入力 [5, 4, 2, 1, 3] 出力 [5, 4, 2, 1, 3] 一番シンプルに書く方法はどんなのがありますか?
475 名前:デフォルトの名無しさん [2013/03/09(土) 10:08:11.10 ] i.imgur.com/FrG1Zlj.jpg
476 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:14:14.06 ] 一番シンプルというのが怖いけど >>> def pad_list(lst, pad, size): return [pad] * (size - len(lst)) + lst >>> pad_list([2, 3], 0, 5) [0, 0, 0, 2, 3]
477 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:14:49.11 ] [0]*(5-len(a))+a
478 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:19:30.12 ] size - len(lst) が 0 (または負) になってても問題ないんですね
479 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:49:44.30 ] >>476-477 とりあえずそれでいきます ありがとうございました
480 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 12:37:35.13 ] windowsユーザーだけど、Pythonやろうと思ってます。 Ubuntu入れたほうがいいですか? 16GBのUSBメモリでインストールを検討してるのですが どうでしょうか?
481 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 12:44:38.82 ] >>480 windowsでも問題なくできるよ
482 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 12:45:53.10 ] クローラとかフィードフィルタとかWindowsで開発してRaspiで動かしてる
483 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 13:23:16.14 ] Rubyと違ってPythonはWindowsでも問題なく使えて良いよね
484 名前:480 mailto:sage [2013/03/09(土) 13:35:20.01 ] ありがとうございます m(_ _)m windowsでやります
485 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 19:23:07.59 ] perlのstrict機能を果たす pythonのlibrary名教えて下さい。
486 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 19:37:55.20 ] デコレータってどんなときに使いますか?
487 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 19:40:20.26 ] 一番よく見るのはメモ化(memoize)かな
488 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 19:55:06.91 ] へえ なるほどね
489 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 00:40:19.38 ] 再帰がわかりません。 def factorial(x): if x <= 1: return 1 return x * factorial(x - 1) factorial(5)が1×2×3×4×5で120を返すとの事なのですが、計算の流れが理解出来ません。 factorial(x -1)はどんな動きをしているのでしょうか?
490 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 00:56:18.35 ] >>489 x*(x-1)*(x-1-1)*(x-1-1-1)... x<=1を満たすまで自分を呼び出し続けるだけ
491 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 01:58:53.54 ] x*((((x-1)*(((x-1-1)*((x-1-1-1)...
492 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 03:43:40.69 ] >>490 >>491 ありがとうございます。 なんとなく理解出来たような気がします。 factorial(x)に5を代入すると return 5 * factorial(4) 4をxとして1行目に戻して最終行で return 4 * factorial(3) 以後同じように3 *, 2 *, 1 *と入れ子が深くなりつつ繰り返され、 条件が成立した時点では return 5 * (4 *(3 *(2 *(1)))) となるので5×4×3×2×1で120という事ですよね? これで先に進む事が出来ます。 本当にありがとうございました。
493 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 23:04:00.99 ] import sys, hashlib, hmac from Crypto.Cipher import AES def aes_encrypt(msg, key, iv): encryptor = AES.new(key, AES.MODE_CBC, iv) return encryptor.encrypt(msg) aes_encrypt(encrypt.py)は、main.pyからインポートされて呼び出されます。 実行すると、ImportError: No module named Crypto.Cipherというエラーが出ます。 どうしたらいいのでしょうか? Python 2.7.3 + python2-crypto 2.6
494 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 23:15:02.35 ] まずsys.path確認
495 名前:デフォルトの名無しさん mailto:sage [2013/03/11(月) 09:27:30.77 ] linuxで自作のpython野良アプリを作ったとしてそのスクリプトと設定ファイルはどこに配置するのが一般的ですか?
496 名前:デフォルトの名無しさん mailto:sage [2013/03/11(月) 11:20:55.12 ] python関係ない linux板で聞け
497 名前:デフォルトの名無しさん mailto:sage [2013/03/11(月) 13:05:02.67 ] linux 板の話だな conf ディレクトリ内 conf を /etc/appname へシンボリックリンク
498 名前:デフォルトの名無しさん mailto:sage [2013/03/11(月) 13:53:39.25 ] >>497 バッドノウハウ
499 名前:デフォルトの名無しさん mailto:sage [2013/03/11(月) 14:08:18.05 ] conf ディレクトリってなんだ?
500 名前:デフォルトの名無しさん mailto:sage [2013/03/11(月) 14:32:07.19 ] 別にディレクトリにしなくても良い
501 名前:デフォルトの名無しさん mailto:sage [2013/03/11(月) 18:27:02.85 ] conf = 設定ファイルだろ
502 名前:デフォルトの名無しさん mailto:sage [2013/03/11(月) 19:49:58.52 ] そんな俺様ルール出されても
503 名前: 忍法帖【Lv=4,xxxP】(2+0:5) [2013/03/12(火) 21:10:19.36 ] >>464 ちなみにプラギンは? jedi-vim?
504 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 08:31:48.47 ] windowsで「デスクトップ」にpyファイルを置いて importすると、日本語が通らなくてダメなの?
505 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 08:45:42.24 ] 今の3.3はファイルシステムエンコーディングがutf-8以外のシステムで 非ascii文字がパスに含まれている場合 起動中に__main__の設定が失敗するバグがある まだ公式の修正リリースはありません
506 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 08:50:07.74 ] ありがとうございます。
507 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 10:12:39.40 ] あほ毛
508 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 12:34:30.47 ] 3.3.1が3/2リリースだと思ってたけど、まだ出てないってことは延期されたのか 家帰ったら探してみよう
509 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 14:29:27.58 ] ここはお前の日記帳じゃねえんだ チラシの裏にでも書いてろ、なっ!
510 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 14:36:40.51 ] >>505 2からあるバグじゃないの。それ。
511 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 14:52:19.20 ] bugs.python.org/issue16218
512 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 15:09:45.65 ] 何を根拠に2.7とか
513 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 16:50:14.17 ] x. 文字コードについて PYTHONPATH\Lib\site-packages\sitecustomize.py(なければ作る)に import sys from codecs import getwriter sys.setdefaultencoding('shift_jis') sys.stdout = getwriter('shift_jis')(sys.stdout) と書くと日本語のエンコード関係がマシになるかもしれません。
514 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 18:22:26.52 ] ああ全然そんな話じゃない
515 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:20:11.72 ] 超初心者です プログラムを身につけたいと思ったもののプログラムの種類が多すぎて何からやればいいか わからなかったのでプログラミングが学べる英語動画サイトみてたら初心者向けはpythonが多いようでした その後本屋にいくとpythonは日本ではマイナー言語のように書籍が少なかったのです pythonは日本ではマイナーなのでしょうか?pythonの利点と欠点を教えて下さい プログラムを学ぶ目的は株のシステムトレードをしたいからです
516 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:22:20.77 ] 日本ではマイナーです 日本語しか読めない&読む気がないのなら他の言語にしましょう 利点と欠点より前に考えるべきことです
517 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:23:27.49 ] 利点:簡単、書きやすい、読みやすい、なんでも出来る、ライブラリ多い 欠点:遅い
518 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:24:09.33 ] >>516 日本でマイナーな理由を教えてください アメリカでメジャーってことは数年遅れで日本でもメジャーになるってことでしょ?
519 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:25:15.67 ] >>517 具体的にいうとpythonはどういう系のプログラムに向いててどういうのが向いてないの?
520 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:26:09.90 ] マイナーな理由はない。気になるなら使わないほうがいい
521 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:26:46.39 ] 面倒くさそうな奴だから相手すんの止めます
522 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:27:20.40 ] そんな事言ってほんとはおじちゃんのパソコン遠隔操作する気だろ
523 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:29:25.58 ] >>520 使わないほうがいい理由をおしえて >>521 教えてくれよ
524 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:29:41.39 ] >>521 こういうのって言質を取りたいだけでPythonを使う気は最初からさらさらないからな
525 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:30:33.53 ] >>519 ちょっとした処理の自動化には少々面倒なのでPerlとかの方が便利 各種のデータ処理に非常に強い ループぶん回して計算しまくるようなのには全くもって不向き
526 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:31:31.56 ] いやあ、〜でしょ?〜ですよね?って同意を求めるための質問って嫌いなんですよ個人的に
527 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 20:33:01.82 ] やる気がないのは分かったよ。C言語やればいいよ
528 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 21:00:42.54 ] pass
529 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 21:04:01.72 ] TIOBE見ると流行りだしたのは2004年半ばになっている 数年でメジャーになるという説が正しいとすればあと1年だが・・・ だがしかし
530 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 21:05:43.16 ] だからTIOBE信者はJava使ってれば良いだろ
531 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 21:20:22.30 ] わたしPython信者ですよ? 何年で流行るとか意味不明な供述をしている方がいらっしゃいましたので 一例を提示差し上げただけですわ
532 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 21:23:36.27 ] 他のLL使用者に感染する奇病でも流行らんことには
533 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 21:37:12.53 ] >>515 端金でプログラマをこき使い書かせるのが正解です 一からプログラムを学ぶのはあまりにも非生産的です
534 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 23:15:37.43 ] pass
535 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 23:32:04.69 ] 本屋行ったらパーフェクトPythonと空飛ぶPythonが平積みになってたなあ 前者は一章がいい感じにすべってた
536 名前:デフォルトの名無しさん mailto:sage [2013/03/13(水) 23:47:01.29 ] すいすいすぃ〜っと
537 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 01:25:11.59 ] 空飛ぶputhon 超初心者用 読む価値なし パーフェクトPython 初心者用 内容が薄い
538 名前:デフォルトの名無しさん [2013/03/14(木) 01:29:06.61 ] オライリーのPython本がいい
539 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 01:32:09.80 ] 素養のある人間はそんな書籍に出来に関わらず上達するし、 素養のないやつにはいくら優しい入門書を書いても無駄。
540 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 01:40:41.66 ] 超初心者用スレでいったい誰と戦ってるんだ
541 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 04:34:26.08 ] この書籍の日本語版はいつ頃発売されそうですか?まだ4thの日本語版が無いというのに… Learning Python 5th www.amazon.co.jp/gp/aw/d/1449355730
542 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 06:42:45.76 ] >>541 来週でると思うよ。 来週の何曜日に出るか知りたかったら、オライリー・ジャパンに直接聞いてみるといいよ。
543 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 08:16:25.14 ] ネズミ本第3版をこつこつやってます
544 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 08:19:22.33 ] Pythonで、Amazonの自分のアカウントにログインして 購入ボタンを押すプログラムが書きたいのですが Pythonでも出来ますか?
545 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 08:49:43.62 ] >>544 出来る
546 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 10:51:35.26 ] pythonで特定のサイト専用ブラウザ作れますか? にちゃんみたいにリクエストやレスポンスなどの仕様が公開されてません
547 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 10:54:14.41 ] >546 気合いと根性があれば可能だけれども,言語の選定は重要.
548 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 12:28:05.00 ] 基本的にブラウザのリクエストとレスポンスをトレースすれば何でもできるわ 初心者にできるとは言ってないことに注意しろ
549 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 12:36:26.73 ] Pythonそのものに加えてHTTP、場合によってはAjaxを含むjavascriptまで 本当の本当に言語一個もやったことがない初心者だと1年コースだと思え
550 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 14:23:44.13 ] pythonを勉強したいと思った超初心者です>< ネットブックをpython勉強専用機にしたいと思っています そう自分は形から入る性格です まずarchlinuxを入れました pythonだけ出来ればいいのでX環境は入れないで良かったのですが consoleで日本語が使えません>< そこでjfbtermを入れてみました w3mも見れるしそこで問題は解決したのですがやっぱり物足りない感 そこでWMでタイル型なんて入れたら良いのかな?と思ったのですが 調べるとpythonで書かれたWMがありました→qlite じゃあいっそpython関係のアプリだけを今後インストールしたいと思いました X環境とqlite以外入っていない状態です 何かpythonアプリで良いものを教えてくださいm(._.*)m
551 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 14:27:23.72 ] Selenium があるね。
552 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 14:34:29.20 ] >>550 誰が見ても超初心者ですね uzblやwmiiがPython(というか任意の言語)で拡張できて楽しいよ qtileならpython-xlibが依存関係で入ってるからそれで遊べる
553 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 15:56:45.73 ] うわー超初心者に教えてもらっちゃったよ qliteなんてもんがあるんだーうわー 俺はsqlite3の書き間違いだと思ってたよ、うわー恥ずかしー って思ったけど良く良く>>552 を見てみれば、qtileって書いてあるじゃないか 初心者に試された!
554 名前:デフォルトの名無しさん [2013/03/14(木) 16:39:14.07 ] Python() 開発効率的にも実行速度的にもPHPのほうが有利なのに
555 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 17:02:53.55 ] pass
556 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 18:27:40.55 ] >>545 ありがとうございます アマゾンのページのhtmlのソースとかを読んで ボタン名とかを把握して、クリックする感じになるんですかね? Python以外の言語の方がやりやすかったりしますでしょうか
557 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 18:40:42.47 ] Mechanizeみたいなのが他の言語にあるかどうかじゃね。
558 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 18:43:39.96 ] >>556 > アマゾンのページのhtmlのソースとかを読んで > ボタン名とかを把握して、クリックする感じになるんですかね? 基本的にはそう、mechanizeとかね webkitを使えばログイン画面をそのまま表示して入力させたりajaxサイトにも対応出来る > Python以外の言語の方がやりやすかったりしますでしょうか どの言語もやり易さは大体同じだけど、シンプルなpythonが一番わかりやすいよ
559 名前:デフォルトの名無しさん [2013/03/14(木) 19:01:55.35 ] >>556 そりゃパイソンスレで聞けばパイソンが一番やりやすいって答えるよ 実際はPHPが一番楽
560 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 19:12:41.98 ] 生きてて恥ずかしくないんだろうか
561 名前:デフォルトの名無しさん [2013/03/14(木) 19:13:55.18 ] 一言でプログラマって言っても色々だからね MSで働いてるような凄腕プログラマもいれば 林檎で働いてるゴミグラマもいる
562 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 19:36:43.20 ] pythonファンだけど 実は >>556 の質問には node.js が最適と答えざるを得ない
563 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 19:44:00.77 ] Microsoftの社員はどちらかというと秀才タイプ Appleみたいな強烈なセンスある天才やジョブスみたいなカリスマは残念だけどあまり居ないね
564 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 19:53:04.78 ] ジョブズは、悪人
565 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 19:55:12.14 ] アポーには居るのか?
566 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 20:10:38.19 ] pass
567 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 21:16:36.55 ] MSはヘルスバーグがいるじゃないか 神扱いされてるプログラマの一人だけどまあ地味なのは否めないな
568 名前:デフォルトの名無しさん mailto:sage [2013/03/14(木) 22:11:20.01 ] ;
569 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 03:53:02.23 ] pythonのアンスコ乱用が気持ち悪い 作者には美的感覚が無かったのか
570 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 04:16:14.95 ] easyなんとかとかで入れたパッケージを アンインストールする方法はありますか?
571 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 06:35:35.82 ] >>570 ファイルを削除するだけ
572 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 09:53:47.34 ] アンインストールコマンドがあるPyPIの方が良いね
573 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 10:52:21.45 ] >>569 個人的にはlowerCamelCaseの方が気持ち悪い PascalCaseとアンスコだけでいい
574 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 13:49:16.94 ] pass
575 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 20:26:15.74 ] pythonのインストールから実行環境を整えるまで アホのオレには一苦労だったわ 他の言語で慣れてる人には、楽勝なんだろうな〜
576 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 20:40:02.01 ] pass
577 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 22:05:42.21 ] 今更なんだけどなんで互換性無くしたの?
578 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 22:30:48.52 ] 互換性を保ったままにできなかったから
579 名前:デフォルトの名無しさん mailto:sage [2013/03/15(金) 22:49:00.85 ] 3.xがマルチコアマルチプロセッサ対応だったら今すぐ2.7から乗り換える
580 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 00:07:35.32 ] 一生2.7でいいじゃねえか 何か不満か たぶん2.7の期限が来ても誰かがサポートつづけんだろ
581 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 00:24:51.52 ] 2.7は文字コード周りがウンコ
582 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 00:26:23.40 ] せめて拡張子変えてくれれば使うのに
583 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 01:12:27.47 ] windowsはシェバン使えないから不便だな まあ3系にはシェバンを理解するランチャが付いてるんですが
584 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 01:16:27.61 ] >>581 馬鹿には無理
585 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 01:21:01.67 ] 拡張子なんてもともと大した意味ないだろ pyである必要性すらない
586 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 01:38:09.21 ] >>584 現実が見えてない馬鹿はお前な
587 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 07:28:18.97 ] wxPython のエラーが表示されるwxPython: stdout/stderr ウィンドウが 応答なしになってデバッグしづらいです。 応答なしにならないようにする、または出力先を idle に変えるような方法はありますか? 環境は win7 64 bit, python 2.7.3, wxPython2.8-win32-unicode-2.8.12.1-py27 で idle から実行しています。 例えばフレームのタイトルに "日本語文字列" などを unicode にしていない場合のエラーでも wxPython: stdout/stderr ウィンドウが応答無しになりエラーメッセージがスクロールすらできません。
588 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 09:41:17.49 ] >>587 pyscripterならwxのエラーも出てるけど
589 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 09:56:25.70 ] >>855 PyScripter-v2.5.3-Setup.exe からインストールしてやってみました。 こちらだと例外ダイアログは正常に閉じれますが、別に表示される wxPython: stdout/stderr は マウスを近づけただけで応答なしになってしまいます。
590 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 09:58:39.00 ] コマンドプロンプトからスクリプトを実行したらどうなるの?
591 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 10:54:35.03 ] >>590 python test.py として実行したら、 wxPython: stdout/stderr ダイアログは表示されませんでした。 エラーメッセージがコマンドプロンプトに表示されましたが、ダイアログに表示されたものではありません。 もしかしたらダイアログに表示される最初のメッセージなのかもしれません。 >>588 バグの原因は文字コードではなく未定義の配列要素へのアクセスが原因でした。 修正したあと別のエラーによってダイアログが表示されましたが、固まらずにエラーログが表示されました。 バグの内容によって応答なしにはならないので、このまま PyScripter を使おうと思います。ありがとうございました。
592 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 11:03:53.24 ] >>591 www.wxpython.org/docs/api/wx.App-class.html#__init__ redirectをFalseにするとウインドウが出なくなる
593 名前: 忍法帖【Lv=5,xxxP】(1+0:5) [2013/03/16(土) 11:59:06.25 ] みんな何で書いてる?Eclipse?
594 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 12:01:57.36 ] >>593 Eclipse + PyDev + CVS
595 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 12:07:11.46 ] xyzzy
596 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 12:09:19.21 ] >>581 3.xは文字コード周りが「枯れてない」ので どっちも面倒くさいことになるのはいっしょ。 まだ対処可能なケースの多い2.xの方がマシ。 3.3でかなり改善はされたけど、 おかげでバグが激しくて3.3.1待ちの状態。
597 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 12:11:50.28 ] 2.7でも3.2でも文字コード廻りで対処できなかったケースないわ 3.3はまだ地雷だけど
598 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 12:13:40.34 ] 馬鹿には無理
599 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 12:23:02.03 ] と馬鹿が申しております
600 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 12:39:23.24 ] あららー?
601 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 13:00:05.50 ] 間もなく6ヶ月なのに、まだrcの気配もないよ>3.3.1
602 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 13:07:24.38 ] 2.xの文字コード周りが明らかに糞仕様だと認めない人が何を言いたいのか殆ど理解できない
603 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 13:07:26.72 ] >>593 emacs + auto-complete
604 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 13:09:30.05 ] 枯れてる枯れてないの議論をすれば、確かに2.xの文字コードは腐りきってるけど、糞仕様には変わりないんだよ
605 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 13:26:56.28 ] 自分が扱えるから糞仕様じゃないって事じゃね 100回まわさないと水が出てこない蛇口でも使えるから糞仕様ではないって言うよ、たぶん
606 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 13:52:22.79 ] 初心者なのでPyScripterでやってます・・・
607 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 13:53:47.76 ] PyScripterはWin限定だからスルーされがちなだけで無茶苦茶優秀なエディタ
608 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 14:19:20.83 ] >>593 Notepad++ プラグインのPython Scriptを入れて
609 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 15:50:27.76 ] NppExecプラグインは便利
610 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 16:04:07.24 ] F6 python $(FULL_CURRENT_PATH) Enter
611 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 16:08:55.25 ] 一行目に NPP_SAVE を加えれば Ctrl+S の手間も省けるしね
612 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 16:54:14.17 ] >>609 >>610 それも使っています。ほんと便利です。 >>611 知らなかった。やらせてもらいます。
613 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 19:16:55.47 ] PythonはWindowsもちゃんとサポートしている言語ですか? RubyみたいにWindowsは中途半端にサポートしてますか?
614 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 19:18:30.89 ] 今からdocs.python.jp/3.3/tutorial/index.html みて勉強します
615 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 19:18:50.74 ] Rubyよりは相対的にマシだけどそれでも開発者からは嫌われてる
616 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 19:55:49.76 ] docs.python.jp/3.3/using/windows.html
617 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 20:02:20.03 ] Windowsベッタリで行くならIronPythonもあり 2.7ベースだけど
618 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 20:29:54.24 ] IronPythonでimport zlib, sqlite3とかできるの?
619 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 21:21:18.30 ] Linuxでpythonを勉強しはじめました。 ncursesを使った簡単なプログラムを作りたいと思ったのですが その簡単なサンプルみたいなものも情報も少なく感じています。 何かおすすめみたいのがあれば教えてください m(_ _"m)
620 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 21:25:06.62 ] 馬鹿には無理
621 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 21:38:22.66 ] そんなひどい
622 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 21:41:30.46 ] >>618 一応Cのライブラリには対応してたはず 最悪.NETのライブラリも使える
623 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 21:48:20.04 ] 所詮インタプリタの再実装なのになぜ対応しないと思ったのかよく分からない pastebin.com/8CgSPDJ0
624 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 22:55:41.89 ] たしかtkinterはデフォルトで無かったけど、 GUIは.NETの使えば良いかなーって感じ
625 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 23:01:20.06 ] >>619 プログラミング初心者の俺でもそのくらい分かる
626 名前:デフォルトの名無しさん [2013/03/16(土) 23:21:57.85 ] 3系の質問です。 L = [] for i in range(10): L[i] = "abc" + str(i) print(L) 上記を実行して以下のようなリストを作りたいのですがうまくいきません。 ["abc0","abc1","abc2",…,"abc9"] どうすれば意図する事が出来るでしょうか?
627 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 23:22:59.57 ] L = ["abc" + i for i in range(10)]
628 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 23:37:04.33 ] 方法は3つ (1) L = [] → L = [None]*10 (2) L[i] = "abc" + str(i) → L.append("abc"+str(i)) (3) >>627 ( i をキャストしてないけど) (3)のリスト内包表記がベスト あと、文字列の結合は ''.join(list) を使ったほうが良い
629 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 15:23:33.27 ] つかバージョン関係ねえ
630 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 15:50:48.92 ] pass
631 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 16:31:44.16 ] L = [''.join(['abc',str(i)]) for i in range(10)]
632 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 16:36:21.58 ] map(lambda x:'abc%02d'%x, range(20))
633 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 16:42:13.81 ] joinは汚ない。10回程度なら書きやすさ読みやすさを考えて + でも全然いいよ
634 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 16:53:45.11 ] 何回程度ならダメなんだよ
635 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 16:54:22.83 ] 女陰は汚い。
636 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 17:18:07.66 ] pass
637 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 17:31:54.49 ] >>626 L = ["abc%d" % i for i in range(10)]
638 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 17:41:28.13 ] なぜ人が書いてることをまた書くのか
639 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 17:42:34.32 ] 脳が腐敗してるから
640 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 17:54:17.19 ] L = map(lambda x:'abc%d'%x,range(10))
641 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 17:57:47.03 ] ["abc{}".format(i) for i in range(10)] list(map("abc{}".format, range(10)))
642 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 17:58:56.75 ] もういいぞクズ
643 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:00:48.44 ] TIMTOWTDIですね。わかります
644 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:03:20.59 ] 同じこと連呼してドヤ顔とか… データ構造やアルゴリズムを変えてみてから言えよ
645 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:04:30.87 ] 文字列リテラルにメソッド呼び出しするの気持ち悪い
646 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:06:27.65 ] オブジェクトがメソッドを持つのは当然のこと
647 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:17:59.54 ] 手続き脳にオブジェクト指向やらすと起こる定番の拒否反応
648 名前: 忍法帖【Lv=6,xxxP】(1+0:5) [2013/03/17(日) 18:26:55.10 ] ファイル一覧に対して何か処理するメソッドを作成したいです。 cl.ly/code/3R0f3S2I161j サブディレクトリ含む場合は出来るのですが、サブディレクトリなしの場合が出来ません。 こんなエラー cl.ly/text/2e0F0Q101l3c どこがダメでしょうか。
649 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:33:40.26 ] map関数は気持ち悪いなあ どこがどうと言えないのだけど
650 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:37:08.01 ] オブジェクト脳に関数型やらすと起こる定番の拒否反応
651 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:39:01.59 ] >>648 os.path.joinの第二引数がリストになってるよ
652 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:39:13.06 ] map, filter, reduceに慣れてないだけw
653 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:39:25.63 ] 論理的には文字列にメソッドは気にならないんだけど コードの見た目が壊滅的に気持ち悪い 記号の演算子乱用する言語と同じくらい気持ち悪い
654 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:40:55.64 ] なぜ気持ち悪いのか、どう気持ち悪いのか言えよ。ただの馬鹿じゃん
655 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:44:06.71 ] mapは文字通り集合から集合への写像なのに何が気持ち悪いのか理解不能
656 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:45:38.30 ] 生理的嫌悪感を感じるんだ これは不細工が嫌いとかそういうレベルの感情だからどうしようもない
657 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:46:29.71 ] それならpythonを使うべきではないね。仕事なら別だが
658 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:50:46.49 ] mapは気持ちわるくないけど map("abc{}".format, range(10)) ともなると "abc{}".format のアリティが文字列リテラルの中の {} の数によって決められるのがあれかも
659 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:51:18.44 ] map()が気持ち悪いってプログラミングセンス皆無だぞ
660 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:52:44.49 ] append とか join はぜんぶ関数にしてほしい。 append(lst, elem) join(lst1, lst2) とかしたい。
661 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:59:41.74 ] >>660 joinを呼ぶ文字列は区切り文字であってリストじゃない つまりlst1とlst2を連結するメソッドではない
662 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:00:51.44 ] アホか むしろシーケンスがlenメソッド持つべきだろ 頭湧いてんのか
663 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:03:18.84 ] >>661 文字列の連結は + にしてほしい。 str1 + str2
664 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:04:40.22 ] えっ?
665 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:05:45.15 ] えぇ
666 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:06:21.59 ] もともとそうだったか。
667 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:06:27.70 ] >>663 だからそれは出来るだろ。処理系によって滅茶苦茶おそくなるが というか、お前はPythonやオブジェクト指向言語を使わないほうが良いと思う まあ、オブジェクト指向だからこそ演算子のオーバーロードができるわけだから もうプログラミング辞めたほうがいいと思う
668 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:06:40.09 ] この程度の頭で喋ってるのかい。
669 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:08:02.96 ] 呆れたからご飯のし支度でもするわ
670 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:08:50.54 ] # unko.py def append(a, e): a.append(e) def join(s, a): s.join(a) def map(*a, **b): raise Exception('Hey motherfucker! Do NOT use "map" function.') from unko import *
671 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:12:08.76 ] >>627 >>628 ありがとうございます。 リスト末尾への追加はappend()を使うんですね。すっかり頭から抜けていました。 (1)のL = [None]*10 を使って最初のループに当てはめてみてもうまくいきました。 メソッドを使わずに代入だけでリスト内の構成を変えようとした事が失敗の原因だったんですね。 まだ内包表記まで進んでいないので内包表記は後日見直してみます。 本当にありがとうございました。
672 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:21:35.26 ] >>670 append([1, 2, 3], 4) の結果はどこに行くの。
673 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:28:36.77 ] どっか行くの?
674 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:37:07.83 ] >>659 何で? こんな変な動作をする関数は Cなどの従来一般的な開発言語にはないでしょ。
675 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:38:17.94 ] append(a, e)のaやreturnを書き忘れるあたりおそらくRuby初心者スレじゃないかと思う
676 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:40:54.31 ] >>674 残念ながらC言語以前からありますw
677 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:42:12.69 ] list.sort()とsorted(list)の違い
678 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:44:26.62 ] lispってCより15年近く古いよね
679 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:49:47.71 ] >>673 append([1, 2, 3], 4) に返して欲しいのは [1, 2, 3, 4] だよ。 implicit に a を書き換えるんじゃなくて。 関数定義するならこんな感じ。 def append(a, e): return a + [e]
680 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:51:13.44 ] map関数がやってることもこれとほぼ同じなんだけど何故かしっくりこないらしい 人間の脳味噌って不可思議だね
681 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:52:03.61 ] >>679 その関数に何の意味があるんだ…
682 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:58:51.65 ] >>681 じゃあ、a.append(e) に何の意味があるんだ?
683 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 19:59:22.36 ] >>680 の言う「これ」ってどれ?
684 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:02:16.89 ] >>682 aのメソッドであることに意味がある >>660 みたいな馬鹿には一生わからないだろうが
685 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:02:38.43 ] とりあえずうるさいから全員黙れ 嫌なら使うのやめろ 士ね
686 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:04:33.84 ] >>684 a のメソッドであることにどんな意味があるの?
687 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:14:47.84 ] >>680 の「これ」が>>679 だとしたら mapにたいして深刻な勘違いをしていると言わざるを得ない >>686 リストしか使わない処理だから。読むときも書くときも他のことを考えなくて済む リストを継承したクラスでも同じことが出来る >>660 みたいな馬鹿には一生わからないだろうが
688 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:16:32.91 ] >>685 レス乞食にはpassを食わせろ
689 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:20:25.32 ] pass
690 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:21:09.87 ] とりあえずうるさいから全員黙れ 嫌なら使うのやめろ 士ね
691 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:29:58.32 ] pass
692 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:31:44.87 ] 盲人の手を引く盲人
693 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:39:19.17 ] ここまで俺様の自演w
694 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 20:40:48.49 ] while 1: pass
695 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 21:35:45.40 ] >>697 じゃあなんで len は lst.len() みたいにならないんだ? ぜんぶメソッドに統一すればいいじゃないか。
696 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 21:38:57.07 ] str.len()も無くて最初探しまくったのは悪い思い出
697 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 21:40:50.78 ] Ruby のせいですね わかります
698 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 21:49:21.13 ] .NETやJavaもそうじゃないか。まあどっちでもすぐ慣れるのだけど
699 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 22:01:14.57 ] .NET や Java がそうだから Pythonも、ってのは理由にはならないだろ。
700 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 22:09:50.79 ] >>699 >>698 は>>697 へのレス。あと >>698 != >>695
701 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 22:33:10.94 ] >>695 mail.python.org/pipermail/python-3000/2006-November/004643.html
702 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 23:37:17.23 ] L = map(lambda x:'abc%d'%x,range(10))
703 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 02:34:54.80 ] うるせえ死ね
704 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 07:02:15.51 ] >>701 それ読むとグイドは x.len() キモイって言ってるけど、 同じ理由で lst.append(elem) もキモイんだけど。 それと、lst.append(elem) が lst の内容を陰に書き換えるのもキモイ。
705 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 07:15:09.54 ] ヴァンホーテンさんはBDFLとして何かおもしろいこと言わなきゃいけないんだから 発言に多少齟齬があっても気にしないのが大人としての優しさ
706 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 07:26:54.20 ] Pythonのメソッドをぜんぶ関数にしたらカッコのないLISPになっちゃう。
707 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 07:38:38.92 ] lst += [elem]
708 名前: 忍法帖【Lv=7,xxxP】(1+0:5) [2013/03/18(月) 08:36:15.99 ] >>651 サンクス!!
709 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 08:49:49.68 ] >>704 副作用があるときメソッド、副作用がないとき関数。 例:lst.sort() と sorted(lst)
710 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 09:02:53.93 ] str.unicode() は?
711 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 09:13:25.39 ] >>710 そんなメソッドstrにあったか?
712 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 09:33:26.81 ] unicode(str)は副作用がないが str.decode()も副作用がない
713 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 09:50:27.45 ] 下らないこと書いてないで働けよ社畜ども
714 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 11:43:53.37 ] フリーランスですが何か
715 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 12:10:08.57 ] 最近はフリーのニートとかあるんだね 僕?お昼休みですけど ところでお前ら死ね
716 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 13:31:48.40 ] len()やmax()はリスト以外にも同じように使える appendはリストだけの操作だから全体に使えるようにする意味がない 全て関数にすべきとか、もうクラスを一度も書いたことがないC言語しか知らない人間の言うことだから どんな議論も無意味だけど こんな瑣末なことが気持ち悪いと思うのならPythonは使うべきではない ま、そんな奴は全ての言語について何かしら本質でないことに対して気持ち悪いと言うのだろうが それをハッカーがよくやる真っ当な言語ディスだと勘違いしてるのならご愁傷様
717 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 13:55:19.27 ] Guido脂肪w
718 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:07:59.13 ] そもそも le nが string にも list にも同じように使えるのがおかしい。
719 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:16:59.92 ] どこが?
720 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:35:17.36 ] string ならリストに変換してリストの len を取れば足りるだろ。 "abc" → ["a", "b", "c"] → len(["a", "b", "c"]) → 3 みたいに。len が string の長さを測る必要ない。
721 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:36:38.18 ] string[i]でアクセス出来るのになんでリストに変換しなきゃいけないのかとw stringに対して酷い誤解をしてるよ
722 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:39:42.39 ] i が分かるのは string の長さが分かってるからでしょ。
723 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:42:28.81 ] だから for i in range(len(list)): list[i] は出来るのに for i in range(len(string)): string[i] がダメな理由は何? 馬鹿すぎてお話にならないが
724 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:45:58.72 ] 最低限与えられるファンダメンタルな機能としては不要だってこと。
725 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:48:20.48 ] そう思うのならPythonを使うべきではないね、残念ながら。
726 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:49:45.49 ] それはおまいが決めることではない。
727 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:50:29.97 ] >>724 こそお前が決めることではない そう決めるのならPythonを使うべきではない。それだけ
728 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 14:59:18.39 ] 今回の議論でいろいろ Python の問題点が見えてきたよ。 それらはすべて自分のライブラリにフィードバックしてるから。 ありがとう!
729 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:00:41.17 ] プロフェッショナルが作った洗練された組み込み関数を 全て台無しにする糞ライブラリの完成だなw
730 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:03:24.35 ] 組み込み関数に対して自分用のラッパ書くとかもはやなんでその言語使ってるのか分からないレベル
731 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:11:17.51 ] 結果が同じでも色んな書き方あるようだけど やっぱ速度も違ってくるのかな?
732 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:21:03.70 ] 糖衣構文でもないかぎり速度は変わるに決まってる
733 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:21:39.54 ] もちろん >>> from timeit import timeit >>> timeit(' ["abc" + str(i) for i in range(10)] ') 12.046442985534668 >>> timeit(' ["".join(("abc", str(i))) for i in range(10)] ') 16.259288787841797 >>> timeit(' ["".join(["abc", str(i)]) for i in range(10)] ') 19.62903094291687
734 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:26:57.04 ] >>733 ありがと。 けっこう差が出るもんだね
735 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:29:25.29 ] ソースコードは Python の実装(PyPy、Jython、IronPython、Pyrex、 Psyco など)ごとの欠点を引き出さないように書くべきである。たとえば、 CPython が a+=b や a=a+b などの文字列連結をインプレイス処理して、効 率よく動作する実装に依存してはならない。これでは Jython での動作が遅く なってしまう。パフォーマンスに敏感な部分では、''.join() を使うべき である。こう書いておけば、様々な実装において、連結処理は線形時間で 処理できる。
736 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:32:21.69 ] 使いもしない処理系のことを考えてプログラミングするの?やだー
737 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:32:55.58 ] 俺は使うけど?
738 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:35:07.76 ] >>737 じゃあその使ってる処理系でベンチやってくれ。
739 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:40:09.04 ] >>738 はい matsulib.hatenablog.jp/entry/2013/02/20/234348
740 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 15:46:23.49 ] >>739 文字列にがんがん文字列追加してく例じゃん そりゃjoinのほうが早いよ
741 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 16:05:45.10 ] 2ちゃんねるのダメ系の板にしばらくいたことがありますが、ダメになる傾向って確かにあって一つしかないですね 何もしないことです 怠惰や失敗への恐れや他人への迷惑への懸念、大元の理由は様々ですが あそこにいる人たちの共通点は何もしてこなかった事に尽きます
742 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 18:35:27.74 ] 書き捨てのコードで実装依存がどうたらと真面目に考えてるのか? 仕事しろチンカス
743 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 18:45:41.48 ] 主にライブラリ作者が気をつけてればいい話だ罠 自称意識高い系で、有名プログラマとか本の受け売りばっかり頭に叩き込んでる奴が 皺のなくなった頭とドヤ顔でこういうことを喋ってる たまに勉強会で見かける
744 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 18:53:03.47 ] レベル低い奴の言い訳は見苦しいなあ
745 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 18:54:05.90 ] 馬鹿の一つ覚えって言っておけばすべて解決
746 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 18:55:54.16 ] 受け売りで自分で喋れない蛇口君よりは大層ましだと思うぜ
747 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 18:56:32.22 ] 俺「PEP8に書かれてますよー」 馬鹿「受け売りはやめろ」
748 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 18:58:15.20 ] 俺と馬鹿が逆ですよ
749 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 18:59:49.10 ] これぞ思考停止
750 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:01:09.38 ] ここにいるカスどもからはPythonコミュニティには絶対にコミットしないという強い意思が見える そのくせ開発者には文句たらたら(しかもそれは自分の無能さが原因)。死んだほうがいい
751 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:01:56.35 ] 使ってやってるんだからありがたく思え。禿げ上がれ。
752 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:02:40.23 ] するわけないじゃん。 お前工具の開発元にいちいちフィードバック送ってんの? へーすごいね。えらいね。帰っていいよ。
753 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:05:01.83 ] フィードバック送るのは当然ですしおすし
754 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:06:06.49 ] ふーん そのコミュニティとやらはお前に何か尽くしてくれんの? 葬式に来てくれるとか? そうでないなら労力を吸い取られてるだけの単なる物好きだね 大したものだ
755 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:08:31.66 ] で、その経験はお前の中に何を形成したの? 何か強みになりましたか?
756 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:14:52.08 ] おまいらPythonに関係のない話続けるならまとめてどっかいってくれませんかね
757 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:16:01.07 ] 全員葬式の準備をしろ お前らは強制的にあの世行きだ
758 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:17:18.37 ] >>751-752 ,754-755 頭大丈夫?
759 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:17:19.01 ] コミュニティへの貢献が関係ない話のわけがないだろ。 ユーザーの意識が今後の発展にかかわるんだ。
760 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:19:02.18 ] >>758 罵倒する語彙も不足してるらしいな。よく分かるぜ。
761 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:19:25.72 ] まあフィードバックと称したクレームはこのスレにも要らないけどね
762 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:21:25.63 ] ここイシュートラッカじゃないんで、文句言われても困るわ 言語仕様についてならコミュニティで大いに語って来いよコミュニティバカ
763 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:21:49.00 ] >>760 罵倒じゃなくて>>751-752 ,754-755みたいなレスをしちゃう人間の脳みそを本気で心配しているのだが Python関連の何かに親でも殺されたのか?怖いよ
764 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:26:06.21 ] 俺もなんのメリットもなく貢献貢献と自慰できる人間の脳味噌に本気で興味を抱いてるよ 一週間前にも居たよな 公開オナニー馬鹿が全国に
765 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:28:26.10 ] 次から>>1 にバグや文句はここに書けって貼っとこうぜ bugs.python.org/ 本当に書きに行く度胸のある奴はいないだろうから迷惑にはなるまい
766 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:30:03.16 ] >>764 フィードバックのデメリットって何? 自分が使おうとしてるプログラムやソースコードのことで気づいたことでしょ? わざわざ自分と関係のない問題を見つけ出すわけじゃないよ なぜフィードバックにブチギレてるのか理解不能w
767 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:31:51.92 ] 誰かデメリットの話をしたか? 誰だ?出てこい
768 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:32:35.04 ] >>754 >そうでないなら労力を吸い取られてるだけ
769 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:36:35.83 ] そりゃ尤もなデメリットだな 労力を削く以上に根本的なデメリットは無いよね 否定していいぞ、できるなら
770 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:37:05.48 ] 何の労力?
771 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:37:15.96 ] いつまで続くん
772 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:40:38.35 ] どちらかの賢さが1上がるまでだな
773 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:43:02.67 ] フィードバック=デバッグ作業だと思ってるキチガイが死ぬまでだな
774 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:45:03.45 ] PEP8の話の方がまだ面白い
775 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:46:34.40 ] >>750 無能な働き者がコミットしまくるよりいいんじゃないの
776 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:48:26.18 ] それ以前に無能は死ねよ このスレ存続の危機だろうけどな
777 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:50:34.61 ] >>775 うん、このスレに上がってるような不満や問題点の指摘は的外れすぎて絶対にコミッターにはなれないし なんでPythonを使ってるかも分からないレベル それくらい言語への理解が至ってないのに、何故か偉そうで意味が分からない 質問者ではないようだし、自分では初心者だと思ってないらしいから質が悪い
778 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:55:52.07 ] 2chに書き込む「労力」が無駄
779 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:56:03.11 ] こんなスノビー臭い言語使ってる理由なんて推して知るべしだろ 考えるより自分の胸に手を当てた方が早いんじゃないか
780 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 19:59:19.43 ] >>779 お前がお前の胸に手を当てて分かることなんて俺は知らんよ
781 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 20:01:18.94 ] このスレにコミッターなんておらんだろうに、偉そうなモブ1号が何事かほざきおるな ぐらいにしか聞こえない
782 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 20:03:11.83 ] コミッターでなくても>>751-752 ,754-755がアホだということは分かる
783 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 20:05:46.42 ] コミッターになれないって あれなりたくてなってるものだったの? 罰ゲームだと思ってた
784 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 20:05:56.52 ] 葬式に来てくれない相手にレスするなんて、モノ好きだねえ
785 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 20:07:05.57 ] >>783 よく何も知らないことに対して自信満々に嘘八百が並べられるな 生きてて恥ずかしくないんだろうか
786 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 20:07:45.96 ] 何の罰だよ意味わかんねえ
787 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 20:11:26.75 ] >>779 昔は人生の落伍者でも使える言語との評判でした
788 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 20:12:01.89 ] 葬式なんて遠い未来のことなんぞより今ここだろ 今でしょ!の先生も言ってるだろ まあ、今何かする暇があるってことは 今の作業を事前にスケジュールできていなかったわけで アレ見た社会人がネタじゃなくマジ感銘受けてられると いろんな意味で参る
789 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 20:14:54.95 ] 落伍者どころかクソ袋でも使えるようになったし 時代の進歩を感じるね
790 名前:731 mailto:sage [2013/03/18(月) 20:15:06.34 ] 速度の話しから変な方向に広がってしまったな すまんの
791 名前:デフォルトの名無しさん mailto:sage [2013/03/18(月) 20:15:25.51 ] ええんやで
792 名前:デフォルトの名無しさん mailto:sage [2013/03/19(火) 21:21:47.33 ] ソーシャルなんとかの流行で有象無象が流入してきてんのかな 移住するか
793 名前:デフォルトの名無しさん mailto:sage [2013/03/19(火) 21:23:57.65 ] 移住も何も昔からここが最果て、いちばんカスの集まる場所だよ
794 名前:デフォルトの名無しさん mailto:sage [2013/03/19(火) 21:27:07.74 ] ここに地終わりゴミの海が始まる
795 名前:デフォルトの名無しさん mailto:sage [2013/03/19(火) 21:27:20.58 ] 騒がしいのが苦手なんで Haskelでも見てくるか
796 名前:デフォルトの名無しさん mailto:sage [2013/03/19(火) 21:28:56.27 ] lispでいいんじゃないの
797 名前:デフォルトの名無しさん mailto:sage [2013/03/19(火) 21:31:08.06 ] >>794 ポルトガルの詩だっけ?
798 名前:デフォルトの名無しさん mailto:sage [2013/03/19(火) 21:33:41.60 ] オランダじゃないのは確かだ
799 名前:デフォルトの名無しさん mailto:sage [2013/03/19(火) 23:51:32.10 ] ソーシャルなんとかってなんだ。
800 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 08:11:14.15 ] 1.2 + 1.8 の小数同士の計算が こんなに難しいとは・・・
801 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 08:35:23.17 ] 前後が無いと何が難しいのかわからない
802 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 08:52:10.19 ] これ 14. 浮動小数点演算、その問題と制限 docs.python.jp/2/tutorial/floatingpoint.html
803 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 08:54:39.95 ] >>> 1.2 + 1.8 3.0
804 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 08:56:15.77 ] 階乗進数(n桁目がn!)を使うと浮動小数点数の変換誤差は無くなるらしい
805 名前:デフォルトの名無しさん [2013/03/20(水) 09:00:11.41 ] >>803 馬鹿には無理
806 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 10:38:11.50 ] pythonではイテレートの終了を示すために特殊な例外を投げますが なぜこのような奇妙な仕様になったのでしょうか
807 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 10:47:57.03 ] 戻り値やプロパティを使って判断するのに比べて実装が楽だし綺麗だから C#やJavaなんかは戻り値やプロパティを使ってるが、 それらに比べてもともとクソ遅いので例外のパフォーマンスヒットを無視できるから
808 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 10:59:32.97 ] Rubyは内部イテレータだから例外使わないと実装しづらいんだけど Pythonは外部イテレータ(C#やJavaと同じ方式)なので実はそうでもなかったりする next()一つで済むという一点だけだな
809 名前:デフォルトの名無しさん [2013/03/20(水) 12:15:21.45 ] >>805 くたばれ、おっさん!
810 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 13:19:57.30 ] pythonの優れた点ってインデント強制だけだよな
811 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 13:21:02.71 ] Python好きだけど別にそこは優れてると思わん
812 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 14:29:34.73 ] リスト内包表記のシンタックスを考えた奴は天才 メソッドチェインやらラムダやらSQLもどきやらで同じことやってる言語は色々あるが ここまでしっくりくるのは他にない
813 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 14:45:29.74 ] Pythonオリジナルではないので注意
814 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 14:47:55.81 ] ハスケルが元祖なんだろ?知ってるよ
815 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 15:52:28.87 ] smalltalk
816 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 00:39:50.59 ] ttp://gazo.shitao.info/r/i/20130321220919_000.png 掛け算の結果がおかしいんですが、これは私だけでしょうか? Python2.7.3 Windows7 32bit
817 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 00:51:27.44 ] >>816 パソコンの中の小人がサボってるのかも
818 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 00:55:55.40 ] 小人さんはまだ2つの数字しか覚えてないから許してあげて
819 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 00:57:04.49 ] >>816 計算結果はおかしくありません。コンピュータにおける浮動小数点のしくみを理解しましょう あとこのような質問はあまりにも基礎的なのですでに多くの質問と回答がネット上に上がっているはずです 事前に検索する癖をつけるか計算機の基礎知識を身につけてください(「コンピュータはなぜ動くのか」を読むことを勧めます)
820 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 00:58:49.55 ] >>816 うん ttp://codepad.org/w55bPRtW
821 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 01:05:53.59 ] コンピュータはなぜ動くのかってよく勧められるけどかなり退屈な本だよね 基本情報技術者を受けたほうがはやい。これもクソ退屈な試験で過去問みるだけで受かるけど その過程で浮動小数点とか基本的なことは大体知ることができるし、何の役にも立たない資格が貰えるオマケ付き それよか実際に重要なのは厳密な解が欲しいときに 例えば計算のすべてをint型でやるようにアルゴリズムを考えなおす等のプログラミングテクニックかな やり方は問題によるけど競技プログラミングではよく出くわす
822 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 01:09:45.66 ] 頭の悪い奴は口先がよく動く
823 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 01:10:25.39 ] 訳「ぎゃふん」
824 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 01:14:39.35 ] >>821 退屈な本であることは否定しないけどこういう記事 ttp://www.whitehackerz.jp/blog/?p=1154 がネタかネタじゃないのか区別つかずにバイラルする世相だとマジレスしたくもなる
825 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 01:21:55.00 ] 小数なんか全部10進小数でもいいと思うけどな スクリプト言語の演算速度なんてどうせほぼ無視できるんだから
826 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 01:29:25.57 ] デシマル最強伝説
827 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 01:32:31.81 ] 10進浮動小数点数を既定で使うスクリプト言語って聞いたことないけどなんで無いんだろ pythonのdecimalモジュールみたいにライブラリでやると演算自体のコストに比べて 諸々のオーバーヘッドがとんでもなく大きくなるからなあ 10進演算が組み込みで速いって結構メリットだと思うけど
828 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 01:59:58.81 ] >824 コメンテーターがあほばっか
829 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 02:05:08.24 ] 少なくとも俺は12年floatで困ったことが無いから今後も困らないだろう
830 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 05:46:25.15 ] 10進小数なんてメリットあるの金融関係位だろ
831 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 08:48:22.44 ] 積分とか適当にやると誤差すごい
832 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 09:15:43.53 ] newton法試したけど誤差すごい
833 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 18:21:03.15 ] 一連の話題の目の付け所が誤差すごい
834 名前:デフォルトの名無しさん [2013/03/23(土) 15:12:14.36 ] 質問ですが、forループ内で変数名を文字列に変換することはできますか? 例えば for i in [Firefox, Chrome, Opera, Safari]: のループ内で、それぞれの変数名の最初の2文字(FirefoxならFi)を文字列としてループ内で他の変数に格納することは可能でしょうか?
835 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 15:13:36.68 ] んなバカなことしなくてよろしい 辞書使え
836 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 15:18:16.27 ] 変換する必要ないと思うよ どういう時にそんなことしたくなった?
837 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 15:18:24.41 ] そんなことしたいと思わないな
838 名前:デフォルトの名無しさん [2013/03/23(土) 15:26:34.67 ] 回答ありがとうございます。 それぞれの変数はstatsmodelsのolsで回帰分析をして作成したもので、ループ内ではpandasのデータフレームに、変数名の最初の2文字をカラム名、.params属性で出てくる値をカラムの値として1つずつ繋げて1つのデータフレームとしたいのですが、他に良い方法はありませんか?
839 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 15:27:30.36 ] そんな事したいと思った事がないという答えとか酷いなwww
840 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 15:32:51.64 ] どうしてそういう考えに至ったのかを考察する事が重要ですね
841 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 15:33:30.87 ] よく分からんけど、 for k, v in locals(): if isinstance(v, statsmodels): print('k[:2] =', k[:2], 'v =', v) これでいいんじゃない? 個人が趣味でやる分には構わないと思うけど、 他人が見たらなんのことやらさっぱり。
842 名前:デフォルトの名無しさん [2013/03/23(土) 15:56:25.24 ] >>841 ありがとうございます。しかしこのやり方だと含めたくない他のstatsmodelsから生成されたインスタンスも含めることになってしまいますよね? 今回はループを使わずに1つずつ手作業で指定して当分はしのぐことにします。 皆さんありがとうございました。
843 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 16:01:43.45 ] >>842 よく分からんけど、 for k, v in locals(): if k in ['Firefox', 'Chrome', 'Opera', 'Safari']: print('k[:2] =', k[:2], 'v =', v) これでいいんじゃない?
844 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 18:05:51.57 ] 例とことわったコードを実際のコードと思い込んで「バカなことしなくてよろしい」とか突っ込むってバカの極みだろう。
845 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 18:09:10.35 ] いやばかだし
846 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 18:26:29.65 ] 質問者が解決したって言った問題の回答者達に後から突っ込むってバカの極みだろう。
847 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 18:29:49.89 ] いいえ私がバカの極みです
848 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 18:34:04.18 ] いえいえ私が
849 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 18:35:14.34 ] えっ・・あ、それじゃ俺も・・・
850 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 18:41:59.76 ] やーいやーい
851 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 18:47:51.42 ] 問題はバカなことだと気付いていない事なんだよなぁ これ他人事じゃないのよ
852 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 19:11:36.60 ] 普通はここ以外で馬鹿と接点がないから 自分のことだけ気をつけてれば大丈夫
853 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 16:19:27.06 ] たまにこういう流れになるなこのスレ 質問の前提を変えずに解決法を提示するという当たり前のことがわかってない人が若干名いるんだよね 「そんなことするな」「やらなければいい」って猿でも言える 馬鹿な人ほど問題の前提をひっくり返して解決した気になるって誰かが言ってたけど至言だと思う 解決策が思いつかない自分の駄目さから無意識のうちに目を背けようとしてるんだってさ
854 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 16:47:24.18 ] >>842 if v in [Firefox, Chrome, Opera, Safari]: でいけるはず、やってみそ
855 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 16:49:33.96 ] 学校のお勉強じゃねーんだから、 質問の前提を変えちゃダメなんてルールは無い 馬鹿げた質問には馬鹿だと教えてやるのが親切ってもんだ
856 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 17:04:38.04 ] 2行目は同意だが3行目は全く同意しない カスの世話だ
857 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 17:22:23.10 ] まあどうせ自演なんだし
858 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 17:54:06.13 ] イ`ヘ /: :| ヽ / : :/ ヽ ___ _,,,:. .-: :´彡フ _ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 / ( : : : : : : : : : : : : : : `ゝ / マ r::/: /: : | : : : : : : : : ::\ / //: /: : : |: : | |: : |: _: : : :ヽ ジ {/ 7|`\/i: /|:|/|´: : : : :|ヽ 〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: | で / r:oヽ` /.:oヽヽ: :|: | :| { {o:::::::} {:::::0 }/: :|N っ | ヾ:::ソ ヾ:::ソ /|: : | !? ヽ::::ー-.. /ヽ ..ー-::: ヽ::| r--ッ -tヽ/´|`::::::::::;/ `、 ::::::::::: /: i } > ::∧: : :|: |J \ / /::i: | /_ゝ . \ヾ: |::|` - ,, ___`-´_ ,, - ´|: : :|:::| ヽ: |::|\  ̄/ /| |: : :|: |
859 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 18:07:25.89 ] >>853 そもそも管理すべきデータを間違ってとらえているから 変数名をデータとして扱いたいなんて要求が出るんだよね。 これは完全に設計上の謝りで、質問の前提を変えるなどという問題ではないよ。 特にこの場合は初心者特有の間違いだから、回答としては「そんなことするな」が正解。 ちなみに質問の前提を変えて問題を解決するなんて、馬鹿には無理。
860 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 18:14:05.63 ] 誰も正解なんて質問してねーんだよ 痴れたことを
861 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 18:24:00.77 ] モヒカンは精神的な欠陥を抱えてて歩み寄りを絶対にしないので、無視すんのが正解。
862 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 20:01:31.30 ] >>859 ここは「くだすれPython(超初心者用)その16」というスレ 超初心者には馬鹿に見える秀才君がたくさんいます 超初心者には「そんなことするな」という回答が理解できません >>859 はスレチ
863 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 20:03:32.87 ] 無視すんのが正解つったろーがタコ。
864 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 20:46:51.71 ] >>862 なんだ荒らしたいのか?変な人に絡んでしまった。
865 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 20:48:55.27 ] 待ってましたとばかりにアンカー付けちゃってンモーww
866 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 21:29:28.26 ] わからなかったら入力データと出力形式だけ書けばいいんだよ そうしたら最適なコードを書きたい人が書いてくれるから
867 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 21:46:21.06 ] Windows用のPythonってインストーラー形式しかないんですか? zip形式のってないんですか?
868 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 21:48:19.23 ] portable python
869 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 21:52:00.99 ] 普通になかったか
870 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 21:55:02.19 ] 2.7.4 RC1来てるやん
871 名前:デフォルトの名無しさん [2013/03/25(月) 14:48:14.02 ] 質問です。宜しくおねがいします。 オブジェクトをメンバーに持つオブジェクトがあったとします。メンバー側のオブジェクトから親のオブジェクトを参照する 方法はありますか? 例えば import random class Ko(object): def __init__(self,a,b): self.a=a self.b=b class Oya(object): def __init__(self,x,y,z) self.kodomo=Ko(x,y) self.z=z kodomotachi=[] oya1=Oya(1,2,3) oya2=Oya(3,4,5) oya3=Oya(31,41,51) oya4=Oya(11,21,31) kodomotachi.append(oya1.kodomo) kodomotachi.append(oya2.kodomo) kodomotachi.append(oya3.kodomo) kodomotachi.append(oya4.kodomo) kodomotachi.remove(kodomotachi[random.randint(0,3)]) としたとき、kodomotachiリストはOyaオブジェクトのインスタンスのkodomoメンバで構成されてる 訳ですが、たとえば上記のようにkodomotachiリストの内容が不明な時に、 kodomotachi[2]などから親オブジェクトを参照する方法はありますか?
872 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 15:40:25.14 ] 混乱してきた・・・ parentとchildで書き直して
873 名前:デフォルトの名無しさん [2013/03/25(月) 15:44:09.12 ] >>871 KoクラスにOyaインスタンスへの参照を保持する変数を入れとけばいいんじゃないの
874 名前:デフォルトの名無しさん [2013/03/25(月) 15:58:31.87 ] hogoshakai = [] hogoshakai.append(oya1) hogoshakai.append(oya2) hogoshakai.append(oya3) hogoshakai.append(oya4) o = [oya for oya in hogoshakai if oya.kodomo == kodomotachi[2]]
875 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 16:21:40.01 ] はい、次
876 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 16:29:05.34 ] o = [oya for oya in locals() if isinstance(oya, Oya) and oya.kodomo == kodomotachi[2]]
877 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 19:18:34.73 ] 何この拷問 import random class Ko(object): def __init__(self,a,b,c): self.a=a self.b=b self.c=c class Oya(object): def __init__(self,x,y,z) self.kodomo=Ko(x,y,self) self.z=z ... kodomotachi[2].c ハァハァ、、、ツカレタ、、、ハァハァ タメシテナイカラ、ダメダッタラゴメンネ
878 名前:871 [2013/03/26(火) 08:57:54.62 ] >>874 >>876 >>877 みなさん有り難うございました。実はpymunkという物理エンジンを簡単に使うために、○とか□とかの物体をpymunk純正のshapeとかbodyとかのオブジェクトと ともにpygameの描画メソッドつきのクラスにした自分用ラッパーライブラリを作っています。 pymunkの世界(space)にshapeとかbodyとかの物体情報をappendしてくんですが、衝突判定機能なんかで登録したbodyなどの純正オブジェクトは返り値として 得られるのですが、それらを内包する自作オブジェクトを得る方法はないかと悩んでました。 と言う訳で、メンバ側のオブジェクトは改造しづらい状況なので874さん、876さんの方法でいってみます。 でも877さんのメンバ側のオブジェクトに親オブジェクトの情報を持たせる方法も目から鱗でした。 みなさん、有り難うございました。
879 名前:質問(前編) mailto:sage [2013/03/26(火) 12:18:44.74 ] 1.Python覚えたいんですけど何で日本ではRubyが流行ってるんでしょうか? 2.RubyでいうRailsみたいなフレームワークはPythonではなんでしょうか? 3.PHPでいうPear、Rubyでいうgem、Pythonではなんでしょうか? 4.今からPython3.3で勉強しても問題ないでしょうか? 5.RubyでいうHerokuみたいな無料で使えるクラウドがありますがPython3.3が動くクラウドってありませんか?
880 名前:質問(後編) mailto:sage [2013/03/26(火) 12:21:04.50 ] 6.PythonはWindowsでコードを書いても問題ないでしょうか? 7.PythonではテキストエディタとIDEどっちを使うほうがいいでしょうか? 8.Pythonの定番のGUI作成ライブラリってありますか? 9.Pythonで構築されたサイトのまとめってありませんか?python.jpで公式に取り上げてませんか? 10.文字コードは基本utf8bomなしで改行コードはLFでコード書くものでしょうか?
881 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 12:26:45.26 ] 1. 日本人は英語出来ないから 2. django 3. pypi, easy_install 4. 大丈v 5. あります 6. 問題ない 7. 俺はvim 8. tkinter, qt 9. python.org 10. yes
882 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 12:29:02.06 ] テンプレに入れてください
883 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 12:36:39.66 ] 日本人の大半はマニュアル英語すら読めないから Djangoとか PyPi ほとんどローカルでしか使えないと思うけどそれでよければ ない いいよ 両方使ってみて自分に合う方 Python3希望しているなら今のところ諸手を挙げたお勧めはない 日本語の資料を希望しているならない そんな制限はない
884 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 13:35:44.30 ] あえてPythonを使う積極的な理由はありますか? どうせいやいや使ってるんでしょう?
885 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 14:12:26.12 ] このスレはこういう煽りに来たお客さんに真面目に答えてる馬鹿がいて偉いなあと思う
886 名前:デフォルトの名無しさん [2013/03/26(火) 14:13:34.27 ] >>884 楽しいから それだけ
887 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 14:14:03.29 ] >>884 俺はRuby/PHP/Perlがキモすぎて嫌だから。 適用分野はかぶっているので、Python嫌ならRuby/PHP/Perl使っとけばいいんじゃね?
888 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 14:14:58.05 ] >>885 それが「Pythonコミュニティー怖い」と言われる所以かもな。
889 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 14:52:09.74 ] コミュニティ障碍
890 名前:871 [2013/03/26(火) 16:38:40.97 ] >>886 同意。 キモいと言われるかもしれないが俺もPythonは楽しいです。 とっかかりは簡単でも奥が深い(俺が浅いのかも)言語だと信じてます。 objective-C、JAVA、JAVAscriptと挫折した俺だけど、Pythonではちょこちょこ作れてます。
891 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 22:38:10.15 ] Ubuntuに3系のPythonをインストールするともともと入っている2系とトラブルを起こすというレスを見たのですが、ソフトウェアセンターからのダウンロードでも状況は同じでしょうか?
892 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 22:51:34.35 ] >>891 問題は起きない 「python3」の名前でpathが通る
893 名前:879 mailto:sage [2013/03/26(火) 23:02:26.32 ] ありがとうございます
894 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 05:35:20.83 ] >>892 ありがとうございます。 これで安心してインストール出来ます。
895 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 15:05:10.25 ] >>890 Pythonは書きやすいし読みやすいからストレスが貯まり辛いよね 多分Rubyでも同じような印象を受けると思う PythonとRubyはプログラミングの入り口に最適だと思う >>891 ちなみにUbuntu12.10だとデフォルトでpython3.2が入ってるので楽だよ 「python3」で3系 「python」で2系にpathが通ってる
896 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 15:56:55.95 ] やはりpythonの本流は2.Xだな
897 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 16:05:57.26 ] >>895 本当に入ってました! ありがとうございます。
898 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 18:40:07.30 ] 疑っとったんかい!
899 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 21:31:23.64 ] >>898 いえ、嬉しかっただけです。
900 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 21:36:05.19 ] 疑って掛かるのはいいことだぞ〜 ここをどこだと思ってる
901 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 22:21:01.30 ] 下のphpコードpythonでどう書くのか教えてください! class A { private $str; public function setStr($s){ $this->str = $s; } public function getStr(){ return $this->str; } protected test1($n) { return ($n + 10) * 2; } private test2($n) { return $n * 2; } }
902 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 22:26:18.39 ] class A: def __init__(self): self.__str = None def setStr(self, s): self.__str = s def getStr(self, s): return self.__str def test1(self, n):#protectedは無い return (n + 10) * 2 def __test2(self, n): return n * 2
903 名前:デフォルトの名無しさん mailto:sage [2013/03/28(木) 00:07:14.85 ] メソッド名がアンダースコアから始まるものは外部に非公開とみなすコーディングスタイルがある(pep8)
904 名前:デフォルトの名無しさん mailto:sage [2013/03/28(木) 00:39:53.91 ] >>902-903 JavaとPHPからPythonくるとなんか違和感がありますがこういうものって覚えるしかなさそうですね どうもありがとうございます
905 名前:871 [2013/03/28(木) 13:02:51.85 ] >>904 CとPythonしか書いたことのないあっしですが、上の例を拝見するとPHPよりPythonの方がすっきりしてるように見えるなぁ....。 まぁ、慣れの問題なんでしょうけど....。 やたらとself連呼なのが嫌だってアンチの人は言うけど、どうなんでしょね? 少なくとも、あっしは気になりませんが。
906 名前:デフォルトの名無しさん mailto:sage [2013/03/28(木) 13:58:33.69 ] windows python3.3でpyyamlを使う場合はpyyaml.org/download/pyyaml/ の中でどれをダウンロードしたらいいですか?
907 名前:デフォルトの名無しさん mailto:sage [2013/03/28(木) 14:10:35.59 ] >>906 3.08以上のやつ
908 名前:デフォルトの名無しさん mailto:sage [2013/03/28(木) 14:27:24.20 ] pyyaml.org/wiki/PyYAML にセットアップ方法が書かれているのですが PyYAML-3.10.zipをダウンロードしました python setup.py install python setup.py --with-libyaml install ってやるとインストールようなんですが、たとえばPython3.3をアンインストールしたらpyyamlもアンインストールされるのですかね? Pythonを入れなおした場合、またpyyamlはインストールしなおさないといけないのでしょうか?
909 名前:デフォルトの名無しさん [2013/03/28(木) 14:34:54.21 ] >python setup.py --with-libyaml install >ってやるとインストールようなんですが、たとえばPython3.3をアンインストールしたらpyyamlもアンインストールされるのですかね? されない >Pythonを入れなおした場合、またpyyamlはインストールしなおさないといけないのでしょうか? しなおさないといけない
910 名前:デフォルトの名無しさん mailto:sage [2013/03/28(木) 16:11:05.20 ] ありがとうございます
911 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 16:02:49.59 ] パーフェクトPythonを見ながらUbuntuにインストールしているのですが $ apt-cache show python3 | grep 'Version' $ sudo apt-get install python3.3 python3.3-dev $ mkdir projects $ cd projects ここから先ができません。 $ pyvenv default $ source default/bin/activate $ wget python-distribute.org/distribute_setup.py $ python distribute_setup.py $ easy_install pip
912 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 20:54:27.59 ] >>911 書いてあるコマンドは実行できるよ どこが出来ないのかわからないから人に伝える時の方法を教えよう 「このコマンドを打ったら」「こんなエラーが出ました」 「エラー内容:表示された英語全部(長い時は最初と最後の100文字くらい)」
913 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 22:17:09.44 ] CentOS6.4のpython2.6.6を使って、スクリプト内で__debug__の切り替えを行おうと思って、 #!/usr/bin/env PYTHONOPTIMIZE=1 python print __debug__ みたいなファイルを作って実行すると固まるし、 #!/usr/bin/env python -O print __debug__ みたいにすると「そのようなファイルやディレクトリはありません」と言われて動かない。 同じファイルを手元のMac(python2.7.3)で動かすと問題なく動くんだけど、なんででしょう?
914 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 22:47:59.29 ] 自己レスです。 ググってたら、CentOSだと #! でのenvの引数は1つしか指定できないみたい。 原因は分かったけど、切り替えの解決法が分からない。 rubyだと #!/bin/sh exec ruby -x "$0" "$@" #!ruby puts 'Hello world!' みたいな記法があるみたいだけど・・・・
915 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 23:52:24.99 ] 自己レスです #!/usr/bin/env bash ''''exec python -O -- "$0" ${1+"$@"} # ''' print __debug__ これで出来ました。
916 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 04:15:51.59 ] Python関係ないね
917 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 07:53:05.90 ] いや、シェルスクリプトとしてもPythonスクリプトとしても動くスクリプトになってる
918 名前:911 mailto:sage [2013/03/30(土) 11:03:45.47 ] >>912 説明不足ですみません pyvenv コマンドが見つかりませんとでました 調べたら pyvenv-3.3 default でできました。 python distribute_setup.py をすると /local/bin /local/libにインストールされるバグ? bugs.python.org/issue16480 easy_install pip パスがないためインストールできないようです。
919 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 15:05:57.45 ] >>918 コマンド打ってエラー出たらそのエラー書かないと ubuntuならeasy_install使いたいなら $ sudo apt-get install python-setuptools
920 名前:918 mailto:sage [2013/04/02(火) 13:15:34.34 ] >>919 インストールしましたがpython3.3は未対応のようです。
921 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 20:17:54.74 ] ubuntuってpython3.2じゃない?3.3のパケジはPPAか何か?
922 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 20:30:48.26 ] 調べたよ PPA Py3.3 Default, Py3.2 Supported https://launchpad.net/~ubuntu-rebuilds/+archive/py3.3 $ sudo add-apt-repository ppa:ubuntu-rebuilds/py3.3 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-pip
923 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 21:32:13.10 ] Linuxはこの辺がやたらと面倒だねえ Windowsならインストーラ一個落として Wクリ一発で済むのに
924 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 21:33:39.37 ] linuxでもyumですぐじゃん
925 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 21:37:38.77 ] >>923 いやこの辺はWindowsのほうがよっぽど面倒。
926 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 21:49:16.43 ] >>925 インストーラWクリの どこがどう面倒なのか説得力ある説明よろしく
927 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 21:52:38.95 ] >>926 ボタンのある位置までマウスポインタを動かして、そこからずれない様に マウスを固定しつつ、すばやく二度もクリックしなければいけないのに どこがどう面倒じゃないのか説得力のある説明よろしく
928 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 21:55:48.52 ] そもそも「パーフェクトPython」を買ってLinux使っている人 の質問じゃないという ここが超初心者スレであっても
929 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:00:58.86 ] >>923 >>911 はWindowsだとWクリック一発で済むの?ほんと?
930 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:03:59.08 ] インストーラのウィザードをクリックで進めなきゃいけないよ オプション選択もある
931 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:06:54.37 ] 現にトラブってんだから大人しく窓使ってろって話
932 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:06:59.42 ] >>929 WindowsPCの一台くらい持ってるだろ? やってみれよ。
933 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:13:06.44 ] Linuxは中でPythonが非常に重要な役割で動いてる よってデフォルトじゃないバージョンを入れるには注意しないと環境が壊れる WindowsはPythonがよそ者だから何をしても壊れない
934 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:13:16.10 ] 本が意味も無くLinuxと3.3を薦めてんだろ 読んでないけど想像はつくな
935 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:18:45.89 ] パーフェクトPythonのLinuxの説明はめちゃくちゃ 良い子は真似すんなよ
936 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:20:07.06 ] 気になるから立ち読みしてボロクソに批判しようかな
937 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:31:52.65 ] パーフェクトPythonは最後まで立ち読みしてきたけどクソ技術書だねこれ 読み終わった後レジの横にあったゴミ箱に捨ててきた
938 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:40:38.13 ] >>933 よそ者の在日民主が暴れても国は揺るがないが 自民が売国すると国が死ぬみたいなものだな
939 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:47:53.56 ] >>926 そもそもソフトごとのインストーラなんてものがない。 パッケージマネージャ使う。 新たにインスコしたければ、他のいろんなパッケージと同様にパッケージマネージャから インスコしたいパッケージ選ぶだけ。 バージョンが上がればパッケージマネージャが他のパッケージと一緒にバージョンアップ してくれる。 Lunixでpipやeasy_install使うのはパッケージマネージャの管理外になるので邪道。 >>933 使ったことない奴が何言ってんのよ。
940 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:50:48.42 ] パッケージリポジトリに登録されてるバージョンが最新じゃなかったりして 自分でビルドする羽目になるよね(´・ω・`)
941 名前:デフォルトの名無しさん [2013/04/02(火) 22:54:48.43 ] Linuxは中でPythonが非常に重要な役割で動いてる よってデフォルトじゃないバージョンを入れるには注意しないと環境が壊れる 自分で使うバージョンは自分でビルドしたほうが安心
942 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 22:55:13.43 ] >>939 こいつ使ったことない絶対w pipはpipでアップデートするんだよw パケジなんてなくても.tar.gzからでもインスト出来るし管理出来るかどうかだろ? 何が邪道だw Linux使えてない人が言うでない
943 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 23:04:36.89 ] ディストロのリポジトリに入ってるのが古かったり Pythonのバージョン上げると問題が出てきたりするから 上の例ではvenvなんかで仮想環境を掘ってるんだろう と思うんだけど本の現物を見てみないとなんとも
944 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 23:10:53.89 ] 後方互換性無くしたバカは切腹しろ
945 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 23:40:26.88 ] >>942 Linux使ったことないおまいさんには理解できない世界かもしれんけど、 Linuxではそのシステムにインストールされてるパッケージは全部パッケージマネージャが管理するのが前提なんだよ。 パッケージマネージャが各パッケージの依存関係も管理するから。 pythonのパッケージもディストリビューションのリポジトリに入ってるのをパッケージマネージャでインスコする。 その範囲であればディストリビューションが動作を確認してることを意味する。 それ以外の手段でインスコしたパッケージは自分で管理しなければならない。 UbuntuなりFedoraなり大体のディストリビューションはウェブからリポジトリのパッケージ検索できるから確認してみそ。
946 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 23:43:08.79 ] いやいや独自のパッケージマネージャを使ってるPython使っといてそれはちょっと…
947 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 00:00:47.59 ] 例えばブラウザのアドオン・拡張機能・プラグインは 独自インストールですしお寿司
948 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 00:05:37.80 ] >>918 (default) $ python distribute_setup.py がうまくいったとして、 (default) $ echo $PATH (default) $ ls -l default/bin (default) $ which easy_install の入力と出力それぞれ貼ってみて
949 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 00:39:10.40 ] バグほったらかしのdebとか産廃だから処分してくれないとなあ
950 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 00:48:12.94 ] つかメンテナが飽きて保守されなくなりました通知がマジで欲しい
951 名前:918 mailto:sage [2013/04/03(水) 09:36:07.17 ] >>948 $ echo $PATH /home/ubuntu/projects/default/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games $ ls -l default/bin 合計 8 -rw-r--r-- 1 ubuntu ubuntu 2150 3月 29 10:33 activate -rwxr-xr-x 1 ubuntu ubuntu 121 3月 29 10:33 pydoc lrwxrwxrwx 1 ubuntu ubuntu 9 3月 29 10:33 python -> python3.3 lrwxrwxrwx 1 ubuntu ubuntu 9 3月 29 10:33 python3 -> python3.3 lrwxrwxrwx 1 ubuntu ubuntu 18 3月 29 10:33 python3.3 -> /usr/bin/python3.3 $ which easy_install /usr/local/bin/easy_install
952 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 10:36:31.78 ] >>951 $ source default/bin/activate して仮想環境が有効になった状態で (default) $ python distribute_setup.py したのなら easy_install は default/bin に入るんじゃないかと思う というわけで仮想環境が有効になっていない状態で $ python distribute_setup.py した可能性はない?
953 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 11:40:03.30 ] >>911 ,918,920,951 おっと先に回答があったようですが Python3.3のvenvを試す ttp://ymotongpoo.hatenablog.com/entry/2012/09/03/002604 $ pyvenv-3.3 default このコマンドで default/ というディレクトリを作成し default/ 以下のPython環境を3.3としている ただこれ、このディレクトリに入ったら自動でその環境になるわけではなく そこに作られた default/bin/activate を読み込むことでその環境になる $ default/bin/activate を実行すると仮想環境(今回は3.3)になり 環境から抜けるには $ deactivate 簡単に理解するには以下のようにインタプリタを呼び出してみるとわかる $ default/bin/activate ---------------------------------------- (default) $ python ---------------------------------------- Python 3.3.0 >>> exit() (default) $ deactivate ---------------------------------------- $ python ---------------------------------------- Python 2.7.3 >>> exit()
954 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 11:55:21.13 ] >>953 bin/activate は直接実行ではなく source しなきゃいけない というか直接実行できないようになってるはず
955 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 12:01:07.74 ] $ python -V Python 2.7.3 $
956 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 12:47:57.72 ] てかまだvirtualenv使ってる方がいい pysetupもまだだし
957 名前:918 mailto:sage [2013/04/03(水) 14:10:35.24 ] >>952 ubuntuを再インストールして試してみましたが /local/binにインストールされます。 コマンド $ sudo apt-get install python3.3 python3.3-dev $ mkdir projects $ cd projects $ pyvenv-3.3 default $ source default/bin/activate $ wget python-distribute.org/distribute_setup.py $ python distribute_setup.py
958 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 15:27:10.10 ] >>957 source したらプロンプトの左側に (default) って出てない? 出てるなら端折らないで 出てる状態で su/sudo つけずに $ python distribute_setup.py して /local/bin なんて場所に easy_install が入っちゃうのならお手上げ
959 名前:918 mailto:sage [2013/04/03(水) 16:27:41.62 ] >>958 $ sudo apt-get install python3.3 python3.3-dev $ mkdir projects $ cd projects $ pyvenv-3.3 default $ source default/bin/activate (default) $ wget python-distribute.org/distribute_setup.py (default) $ python distribute_setup.py easy_installは/local/binにインストールされます。 (default) $ ./default/local/bin/easy_install pip pipも/local/binにインストールされます。
960 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 17:04:05.97 ] su/sudoしてないのにインストールできるわけないじゃん
961 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 17:37:54.54 ] >>959 /local/bin って ./local/bin のことか… やっつけな回避策でいいなら bin/activate を開いて PATH="$VIRTUAL_ENV/bin:$PATH" PATH="$VIRTUAL_ENV/local/bin:$PATH" とかすればとりあえず local/bin にパスは通る
962 名前:918 mailto:sage [2013/04/04(木) 09:15:42.65 ] >>960 sudo すると /usr/local/binに2.7がインストールされました。
963 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 09:16:28.12 ] >>961 説明不足ですみません。 pyvenvの状態では (default) $ /home/ubuntu/projects/default/local/bin にインストールされます。 $ pyvenv-3.3 --clear default にすると環境全部消えるので書き換えたPATHも戻ってしまいますが 対策されるまでしばらくこれで使ってみます。 どうもありがとうございました。
964 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 09:40:13.01 ] sudo python3でやったか?
965 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 09:52:03.01 ] sudoしたらだめ。システムに影響が出ないようにvenvで仮想環境作ってるんだから
966 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 19:54:39.42 ] 狙ったバージョンをOSにインスコするだけなのに 何日もかかるって… UNIX系OSの暗黒面が大爆発している例だな。
967 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 20:07:26.02 ] >>953 のサイトのやり方なら問題ない バグというか仕様なんだから ubuntu で distribute_setup.py 使わなければOK .tar.gz 落として setup.py install
968 名前:829 [2013/04/04(木) 20:39:35.04 ] クラスを要素に持ってたリストを消去するのに hoge=[]と del hoge[:]で挙動が異なるんだなぁ、奥が深い....。この数日ハマった...。
969 名前:968 [2013/04/04(木) 20:41:04.90 ] ↑すみません。829じゃないのに間違えました。
970 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 21:15:32.60 ] パッケージマネージャ使わないとか死ねよ ぷんすか
971 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 21:18:40.02 ] 死ねよは言い過ぎじゃ >>953 のサイト見た? pyvenv でヴァーチャル環境でローカルにインスコ出来て --clear できれいサッパリ削除出来るってお得じゃないか
972 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 21:21:21.67 ] いや随分パッケージ管理システムにご執心な奴がいたから 気持ちを代弁してやっただけよ
973 名前:918 mailto:sage [2013/04/05(金) 09:52:58.94 ] >>967 ソースから入れても./local/binに入ります。 $ pyvenv-3.3 default $ source default/bin/activate $ curl -O "pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz" $ tar xzf distribute-0.6.35.tar.gz $ cd distribute-0.6.35 $ python setup.py install
974 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 13:24:41.23 ] >>973 python distribute_setup.py も結局 python setup.py install するのでそうなるだろう ところで pip で入れたモジュールはちゃんと使えてる?
975 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 16:36:37.81 ] 質問です ある文字列 ( 0-9 a-f A-F のみが含まれる) '123456789abcdeff0123456789abcdef' ... から [0x1234, 0x5678, 0x9abc, 0xdeff, 0x0123, 0x4567, 0x89ab, 0xcdef] ... という 2byte 毎の値のリストを得るにはどんな書き方がありますか? 文字列の長さは常に 8 の倍数ですが最大の長さは不明です(どこまでも大きくなる可能性あり)
976 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 16:56:25.98 ] どこまでも大きくなるってのは例えばSocketStreamがReadしないとデータがあるかどうか分からないような状況を言っているのか? それとも1024か32768か2^32か不明なだけで、処理するときには判明しているのか?
977 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:02:20.74 ] >>975 >>> s = '123456789abcdeff0123456789abcdef' >>> [int(s[i:i+4], 16) for i in range(0, len(s), 4)] [4660, 22136, 39612, 57087, 291, 17767, 35243, 52719] >>> [hex(int(s[i:i+4], 16)) for i in range(0, len(s), 4)] ['0x1234', '0x5678', '0x9abc', '0xdeff', '0x123', '0x4567', '0x89ab', '0xcdef'] これでいいのかなあ。なんかやりたいこととは違う気がしなくもない
978 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:02:46.49 ] いや、そもそもPythonの文字列は長さが判明してないとおかしいから、 質問者が文字列から、と言っている以上、前者ではありえない。 ['0x'+s[i:i+4] for i in range(0,len(s),4)]
979 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:06:10.24 ] f = StringIO(s) [int(i, 16) for i in iter(lambda: f.read(4), '')]
980 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:07:42.97 ] import struct, binascii struct.unpack('>%dh' % (len(s) / 4), binascii.a2b_hex(s))
981 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:13:59.20 ] みなさんありがとうございます stream から読むのをイメージしていました >>979 さんのが一番良いみたいです あとお願いついでですが '123456789abcdeff0123456789abcdef' ... から [(0x1234, 0x5678), (0x9abc, 0xdeff), (0x0123, 0x4567), (0x89ab, 0xcdef)] ... の様にペアにしたタプルで得るにはどう書けば良いですか?
982 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:20:20.54 ] [(int(i, 16),int(j, 16)) for i,j in iter(lambda: (f.read(4),f.read(4)), ('',''))]
983 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:22:52.44 ] import StringIO, struct, binascii s = '123456789abcdeff0123456789abcdef' f = StringIO.StringIO(s) [struct.unpack('>2h', binascii.a2b_hex(i)) for i in iter(lambda: f.read(8), '')] [(4660, 22136), (-25924, -8449), (291, 17767), (-30293, -12817)]
984 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:28:53.08 ] くだすれPython(超初心者用) その17 toro.2ch.net/test/read.cgi/tech/1365323116/
985 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:33:54.01 ] おつぱいそん
986 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:35:41.43 ] g = (int(i, 16) for i in iter(lambda: f.read(4), '')) # itertools レシピのgrouper list(itertools.izip_longest(*([g]*2), fillvalue=None))
987 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:46:08.46 ] int(i, 16) のところで符号付整数にするにはどうすればいい?
988 名前:デフォルトの名無しさん [2013/04/07(日) 17:48:13.75 ] python3を積極的に導入する理由ってある? python2でできない、あるいは難しいこととかあるのかな
989 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:50:09.54 ] ちょっと訂正 int(i, 16) のところで16ビット符号付整数にするにはどうすればいい?
990 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:57:27.42 ] 32767より大きいなら65536を引く
991 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:03:21.42 ] それでもいいんだけど int() になんか便利なオプションあるのかなと思って
992 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:04:41.99 ] >>982 >>983 >>986 出来ました ありがとうございます
993 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:17:04.13 ] pythonはCのscanfみたいなのとかないのかな。
994 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:22:36.47 ] Python には現在のところ、scanf()に相当するものがありません。 約 1,220 件 (0.39 秒)
995 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:28:46.30 ] 正規表現で大概のことは出来るんじゃないかなと思う
996 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:29:38.95 ] 2から3に乗り換える利点は何ですか?
997 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:32:45.39 ] デメリットはお前のような奴がいることです
998 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:37:02.72 ] scanfって正規表現使えたっけ
999 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:37:46.57 ] >>991 無いよ。
1000 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:38:53.88 ] >>989 16bit目が1なら全bit反転して+1
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。