1 名前:デフォルトの名無しさん [2015/10/01(木) 20:48:23.20 ID:zy2bldTw.net] Pythonオフィシャルサイト www.python.org/ 日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします) www.python.jp/ Pythonのお勉強 Part50 peace.2ch.net/test/read.cgi/tech/1413474092/
449 名前:435 [2016/06/23(木) 09:13:16.76 ID:iY+0ikli.net] """で囲むのとかは関係無しに、 Script parameters:にペーストした改行が強制的に半角スペースに変換されるのです。
450 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 09:38:37.49 ID:HQOa5/1g.net] たぶん437, 438は436に向けて喋ってて 435のあなたに向けては喋ってないですよ
451 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 09:39:02.54 ID:HQOa5/1g.net] コミュニケーションってムズカシイネ
452 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 11:22:17.15 ID:332nxUAD.net] 日付変わると自演がはかどるな
453 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 12:37:57.48 ID:x8Tq2OJc.net] >改行が強制的に、半角スペースに変換される それじゃ、そのアプリがわざと、改行を受け付けないようにしているのだから、 改行を渡すと、誤動作するよ わざわざ、アプリの作者が、そういう処理をしているわけだから
454 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 13:19:06.90 ID:332nxUAD.net] 444
455 名前:デフォルトの名無しさん [2016/06/23(木) 13:34:13.15 ID:iY+0ikli.net] >>443 強制的に変換されているので仕様なのだとは思いますが、 システム引数に改行を含められないのもおかしいので何か設定とかやり方があるのかと思いまして。 ちなみに改行はペーストした時点で自動的に半角スペースに変換され、 手入力で\nを入れると勝手に\\nとして読み込まれる仕様になっています。
456 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 13:58:34.44 ID:x8Tq2OJc.net] 普通、システム引数に、改行なんて入らないよ。 複数の変数を渡すのなら、辞書を使うでしょ? もし改行が入っていれば、ループして、2行目以降も読み込むように、 以下のようにプログラミングしなくちゃいけない for line in 変数: 1行ずつ処理 そういう処理を想定していないのかも。 最初の1行だけを処理するアプリなら、改行(2行目)以降は捨てられる
457 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 14:04:23.46 ID:x8Tq2OJc.net] ああ、\n が自動的に、\\n に変換されるのか。 それなら、アプリが改行を扱えるんだね。スマン
458 名前:デフォルトの名無しさん [2016/06/23(木) 14:08:51.73 ID:iY+0ikli.net] >>446 あまり改行を渡す事ってないのでしょうか? DTPソフトの自動処理で、Applescriptを介して 文字列をpythonに渡して処理しているので改行を含むのは必須なんです。 Applescriptからpythonに直接引数を渡す場合は改行が入っていても問題ないのですが、 デバッグのためにpycharmを使おうとすると改行が問題になってくるので伺いました。
459 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 14:13:44.73 ID:x8Tq2OJc.net] 行末に、\(バックスラッシュ)を入れて、エンターキーを押したら、 エンターキーとは扱われないとか、そういう機能は無いの?
460 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 14:17:27.46 ID:O6DvkpvP.net] >>448 改行の入ったApplescript記述ファイルを用意して pythonスクリプトにはそのファイル名を渡すか 標準入力(sys.stdin)を経由して読む
461 名前:デフォルトの名無しさん [2016/06/23(木) 14:18:21.03 ID:iY+0ikli.net] すみません。なんとなく必要な機能のみ使ってるので、全然細かい事はわかっていません>pycharm むしろ、そういった機能がないかをお聞きしたいのです。 あまり使われてる方いないのですかね。便利だと思うのですが。 ちなみに、applescriptでは大まかには下記の様な感じで、t1やt2の引数をpycharmに与えたいのです。 set setpython to "python -c " set my_script to "import sys,re # coding: UTF-8 a=sys.argv[1] print (re.split(\"[\\r\\n]\",a)) " set t1 to "aaa bbb ccc" set t2 to "A B C" set ret to do shell script setpython & quoted form of my_script & " " & quoted form of t1 & " " & quoted form of t2
462 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 14:19:53.02 ID:O6DvkpvP.net] >>451 自分のセンスの悪さを顧みるべき
463 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 14:29:07.63 ID:FnCzIcuW.net] デバッグのためにpycharm使うの止めれば全て解決するだろ でなければJetbrainsに金払ってサポートしてもらえ ここはお前専属のヘルプセンターじゃねえ
464 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 14:41:20.89 ID:x8Tq2OJc.net] 変数 << EOT a b EOT '''a b''' Pythonには、こういうヒアドキュメントは無いの? それか、トリプルクォート
465 名前:デフォルトの名無しさん [2016/06/23(木) 14:41:36.83 ID:iY+0ikli.net] とりあえずこの辺でやめときます。 もし知ってる方がいらしたらレスお願いします。ありがとうございました。
466 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 14:59:32.51 ID:x8Tq2OJc.net] でも、このpycharmの自動的に、改行を半角空白に変換する、執念がすごいよな 何が何でも、改行を入力させないんだよな。 このアプリには、何か秘密があるね
467 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 15:04:59.69 ID:x8Tq2OJc.net] ゲームのハッキングでもそうだけど、相手が絶対にやらせないように、ガードしていることを、 無理矢理に実行するわけだから、かなりの無理がある 自動的に、改行を半角空白に変換するなんて、ただ事じゃないわw
468 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 16:26:37.01 ID:tUUAKy7L.net] 改行文字の置換はソフトじゃなくてGUIウィジェットの仕様じゃない? 一行入力のウィジェットだとそういうお節介するのは見かける
469 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 16:49:01.32 ID:LaSLIg4R.net] PyCharmの問題だとは思うけど、それにしたって改行をコマンドライン引数で渡すってのがそもそも普通じゃないような? 標準入力で渡すだろう
470 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 00:14:06.97 ID:NyrIqZRm.net] 写真を集計しているのですが 名前,写真の番号の順番にデータが入っているのですが [[
471 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 13:30:46.16 ID:zLjepEFC.net] 茶碗の中はやめろぉ
472 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 23:24:04.82 ID:nbFgHvRW.net] SQLのGROUP_CONCATみたいなことをしたいのですがどうすればできますか GROUP_CONCAT ttp://dev.mysql.com/doc/refman/5.6/ja/group-by-functions.html#function_group-concat a,1 a,2 a,3 b,4 b,5 c,6 のデータを a,1,2,3 b,4,5 c,6 みたにしたいのですが
473 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 23:27:49.72 ID:lcOj23Nl.net] itertools.groupbyを上手く使う
474 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 23:48:54.65 ID:1dewQKYh.net] ぱっと思い浮かんだのは辞書とリスト組み合わせて dict[key].append(value) みたいなのをいい感じにアレするとか
475 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 00:51:02.07 ID:h5gRaH6B.net] pythonでは関数定義の後に関数呼び出しを書かないとエラーになるのは何でですか?
476 名前:デフォルトの名無しさん [2016/07/17(日) 01:21:52.18 ID:OSI2I3Xc.net] >>462 Rubyだと、こんな感じ https://ideone.com/WUWSzw
477 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 01:54:32.66 ID:Mr6R8gQW.net] Django/GAE + Google SQL Cloudのsetting.pyの書き方がわからんのだけど、ここで聞いたら教えてくれる? ローカルのmysqlクライアントでGoogle SQL Cloudへのアクセスはできてるんだけど、Djangoアプリからの接続がようわからん
478 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 06:07:41.55 ID:438Grq4G.net] >>465 関数定義の前に関数呼び出しを書ける言語ってそんなに多いの
479 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 06:58:47.44 ID:pSsgY/Tx.net] >>465 Pythonでは、JavaScriptであるような、関数の巻き上げが無いの?
480 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 07:50:24.95 ID:NSIWw2+F.net] >>462 どうぞ。 $ cat tech462.py import collections if __name__ == "__main__": s = """a,1 a,2 a,3 b,4 b,5 c,6""" # print(s) dd = collections.defaultdict(list) for xy in s.split(): # print(xy) x, y = xy.split(",") # print(x, y) dd[x].append(y) print(dd)
481 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 09:51:16.22 ID:h5gRaH6B.net] >>468 phpとjavascriptしか知らないので出来るのが当たり前だと思ってたので出来ない言語があるとは想像もしませんでした。 もっと勉強してきます。 >>469 関数の中でvar宣言した変数は関数の先頭で宣言されたことになるっていうやつですか? pythonとの関係がよくわかりません。 もっと勉強してきます。
482 名前:デフォルトの名無しさん [2016/07/17(日) 12:02:43.34 ID:MVWHMfeB.net] >>465 rubyもそうだけど関数を適当な順でずらずら書いて 最後にmainで呼べばそうそう問題にならない 前方参照で問題起こす馬鹿は大抵main作らずに 本体をグローバルに殴り書きしてる インタラクティブシェルの弊害
483 名前: [] [ここ壊れてます]
484 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 12:28:30.75 ID:HHS/gZcg.net] 名前のスコープはブロック全体を解釈してから決まる(あとの行で書いた代入が前の行の参照に影響する)一方で名前への束縛ではそういうことが起きないのは理解してしまえばそうだけど初心者にはちょっと難しいと思う
485 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 13:26:24.27 ID:pSsgY/Tx.net] >>471 JSには、変数の巻き上げもあるけど、関数の巻き上げもある。 関数宣言よりも先に、関数呼び出しを書ける f(); function f(){} でも、関数式よりも先に、関数呼び出しは書けない。以下はエラー f(); var f = function(){}
486 名前:教えてくん [2016/07/17(日) 15:13:01.02 ID:RUz2QEu1.net] Ruby使っていましたが、Pythonに移行中の初心者です。 クラスの作り方を勉強しています。 以下のコードを書いてもエラーがでないのですが、この場合、say_hello メソッドは、どういう種類のメソッドになっているのでしょうか? class MyClass(object): □□def say_hello(): □□□□print "Hello!" 通常、インスタンスメソッドは、say_hello(self) と定義、 クラスメソッドは、@classmethod、スタティックメソッドも、@staticmethod が必要ですよね。 よろしくお願いします。
487 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 15:29:27.05 ID:pSsgY/Tx.net] >>467 Django のスレは、WEBプログラミング板にあるよ tamae.2ch.net/test/read.cgi/php/1323960422/l50
488 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 16:01:37.87 ID:e46OXJQg.net] >>475 その場合はMyClassに属しているだけの無引数の関数 staticmethodでラップした無引数の静的メソッドとは違う どんな違いがあるかというとsay_helloはインスタンスからの呼び出しがエラーになる つまりMyClass.say_hello()はおk、a = MyClass(); a.say_hello()はダメ
489 名前:教えてくん [2016/07/17(日) 17:34:57.97 ID:RUz2QEu1.net] なるほど! 確かに、クラスメソッドのように呼び出せました。 自分なりの理解ですが、 クラスメソッドに @classmethod 指定したり、cls を引数に持って行ったりというのは、 メソッド内で、クラス変数にアクセスするための仕組みなのかなぁと理解しました。 今回のケースは、クラス変数にアクセスする必要がないので、こう書けたのかな。 ありがとうございました!!
490 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 17:58:15.52 ID:tTvsAyBT.net] >>465 def は実行文だから
491 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 13:30:36.63 ID:x900a3os.net] とりあえずcodecademyのPython入門終わらせたので 「入門 Python 3」か「Pythonチュートリアル 第3版」 のどちらかの門に入ろうと思うのですがどちらがいいでしょうか? プログラミング経験はほとんどありません
492 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 13:31:25.91 ID:aWYwQ3gX.net] 「入門 Python 3」
493 名前:デフォルトの名無しさん [2016/07/23(土) 13:31:50.49 ID:IMe6BJ5m.net] 本屋で読みやすい方を買えばいい
494 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 13:42:58.80 ID:3+OgXKNV.net] 入門Python3は説明下手すぎ、構成が全然練られて無い 説明があっちこっちのページに飛びまくりで、これは後で詳しく説明するの連発でイライラするよ 日本語訳もイマイチかな Pythonチュートリアルは初版持ってるけど、これは読みやすくて良かった。 でも内容が少ないから満足できないかも
495 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 14:09:31.58 ID:XaJzXCh0.net] オライリーの初めてのPython買おうか迷ってる 買っても積ん読な予感しかしない 10年前からプログラミング入門書を買って部屋の隅に積むのが趣味になってる ちなみにプログラミング経験はゼロ
496 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 14:39:52.11 ID:UTd4hN3W.net] >>484 あなたはオープンソースビジネスの良きサポーターであり、経済を活性化させる者でもあります。 これからもオライリー本の購買・積読に一層励まれ、
497 名前:たくしたちのの良き旦那としてのご活躍を期待します。 ティムポ・オライリー [] [ここ壊れてます]
498 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 14:55:25.24 ID:v+ORZ85u.net] 初めてのPythonは原書は第五版まで出てるからそっちのほうが良いんじゃない
499 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 15:01:19.92 ID:3+OgXKNV.net] オライリーの初めてのPythonはウンコだよ 説明がくどすぎて吐くレベル 無駄に厚くて内容が薄い しかも今出てる第3版はPython2とPython3の説明が入り乱れて更に分かりにくくなっている 今からやるならPython3のみでいいよ、Python2なんて必要ありませーん
500 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 15:23:30.62 ID:OC0vHH9a.net] 入門書が必要な時点でセンスは欠けてる
501 名前:デフォルトの名無しさん [2016/07/23(土) 15:25:26.41 ID:IMe6BJ5m.net] ドットインストールで勉強して 作りたいもの作った方がいいんじゃね
502 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 15:30:49.47 ID:XaJzXCh0.net] 変数と制御構造とオブジェクトについての説明だけで何か作れるようになる気がしない でもどの言語の入門書読んでも書いてることだいたい同じだから自分には絶望的にセンスがないのだと思う 結局本買って積むのみ
503 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 15:44:50.55 ID:x900a3os.net] 答えてくれたみなさんありがとうございます とりあえず両方書店で確認して良さそうならPythonチュートリアルの方で入門したいと思います
504 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 16:34:02.39 ID:6lYjBmg5.net] >>487 同意 unicodeの扱いも糞
505 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 23:44:03.31 ID:eYAwBGPh.net] 「Pythonチュートリアル 第3版」 Guido の本は、初心者向きじゃない。 知識が少なすぎるし、Webを参照して、ばっかり書いてある。 読んでもムダ この2冊をこの順に読むのがお薦め。 たのしいRuby 第5版、2016 みんなのPython 第3版 たのしいで苦しめば、みんなので楽できる。 この2冊は表裏一体
506 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 08:09:43.48 ID:br1TSlFK.net] これだからRuby厨は嫌われるw
507 名前:デフォルトの名無しさん [2016/07/24(日) 08:29:59.30 ID:nrIRNr5z.net] Rubyがでてきてワロタ
508 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 09:52:36.47 ID:QnxMcgef.net] 真のパイソニスタを養成するにはやむを得ない 鬼軍曹のimport this にはそう書いてあるのだろう
509 名前:デフォルトの名無しさん [2016/07/24(日) 11:10:23.35 ID:wdZTIji9.net] たしかにrubyやってからpythonだとpythonの良さが良く判るよな
510 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 16:51:41.15 ID:r7FFdNF3.net] たとえば?
511 名前:デフォルトの名無しさん mailto:sage [2016/07/25(月) 21:43:27.68 ID:tRu6J2ks.net] Rubyは少しかじったけど文法がキモくてダメだったわ
512 名前:デフォルトの名無しさん mailto:sage [2016/07/25(月) 22:43:26.33 ID:IxLMWt78.net] Python: The Ultimate Beginners Guide - Start Coding Today 評判がいいみたい
513 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 20:48:29.54 ID:eVxi/ofV.net] pathlibでファイルの移動できないのかよと思っていろいろ調べてたら .rename() や .replace() でできるじゃありませんか、わかりにくいなドキュメント(原文の時点ですでに)。 プラットフォーム依存臭がするけど。
514 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 01:39:41.56 ID:UGKERKn1.net] ファイルじゃなくてパスのオブジェクトっていうところが落とし穴になってる 数値や文字列のようにimmutable扱いだからファイル無関係でパスとして破壊的な操作ができない
515 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 05:28:28.39 ID:zxqOD1qT.net] JavaとかC#はパスじゃなくてファイルが主体の設計よね pathlibはboost由来の設計
516 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 05:33:25.60 ID:zxqOD1qT.net] renameとreplaceを分ける意味があったのかは正直よく分からない 新規のライブラリなのだから、Windows版でもMoveFileExを使って アトミックに上書きする動作に揃えればよかったのではないか
517 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 07:55:33.40 ID:F56bjLt5.net] >>503 C#はパス主体だぞ 一応Javaっぽい抽象化APIもあるけどほとんど使われてない
518 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 19:27:28.20 ID:JwtZ9iAm.net] >>504 renameがunix系のmvだけだとパーティションまたいで移動するときに困るとかなんとか
519 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 20:56:15.00 ID:LBJvREBT.net] ファイルやディレクトリをオブジェクトとして扱うのは抽象化と呼べるのだろうか パスは既に優れた抽象化であり、いちいちディレクトリ取得してその下のノードを取ってきて…なんてことをするのは かえって低レベルになってるとしか思えない C#がパス主体に回帰したのも当然
520 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 02:37:43.54 ID:1EOOSCjw.net] *nixなところで rename() replace() がファイル移動にも使えるのはまんま*nixのmvコマンドの挙動そのものでしょう。 mvコマンドはこうだからと全体論を論じるのもあれですけどね。
521 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 11:43:36.75 ID:mbys/AN5.net] >>507 GoogleDriveとかはうまくやってると思う
522 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 17:08:48.62 ID:KJWs8gx9.net] Path.rename() Path.replace() はまんま os.rename() os.replace() のラッパーでしかなく挙動は同じなので、 オブジェクト云々とかいう思想的なものは関係ないかと。むしろまったくないから現状になってる気が。
523 名前:デフォルトの名無しさん [2016/08/09(火) 20:58:34.43 ID:jlD8xgb/.net] wxPythonでボタンを押した分チェックボックスが出てくるようにしたいんですけど 押しても右上に一個出てきて、うまくいかないのでどうすればうまくいきますか import wx class mein(wx.Frame): def __init__(self,title): global i self.i=0 wx.Frame.__init__(self,None,-1,title,size=(300,400)) self.CreateStatusBar() self.panel=wx.Panel(self) butoon=wx.Button(self.panel,wx.ID_ANY,"押す") self.lyo =wx.BoxSizer(wx.VERTICAL) self.lyo.Add(butoon,border=10,flag=wx.ALL | wx.CENTER) self.panel.SetSizer(self.lyo) self.Bind(wx.EVT_BUTTON,self.check) self.Show() def check(self,ev): print(self.i) ti=wx.CheckBox(self.panel,self.i,"CHECKbox") self.lyo.Add(ti,border=10,flag=wx.ALL | wx.CENTER) self.i=self.i+1 self.panel.SetSizer(self.lyo) app=wx.App() mein("チェックボックス") app.MainLoop()
524 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 04:24:03.01 ID:THOHXL+0.net] checkの方は self.panel.SetSizer(self.lyo) じゃなくて self.lyo.Layout()
525 名前:デフォルトの名無しさん [2016/08/10(水) 13:04:56.22 ID:kA99FAaD.net] >>512 できました。ありがとうございました
526 名前:デフォルトの名無しさん [2016/08/10(水) 13:56:26.06 ID:kA99FAaD.net] wxpythonでwx.DirDialogを使ってフォルダーを選択し フォルダー名だけを取り出したいですけどGetPath()関数 しかなくパス情報ではなくフォルダー名だけ取り出すことは できないのでしょうか。
527 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 16:06:02.37 ID:2ZimatLe.net] os.path.なんとか
528 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 14:03:40.63 ID:FoNU+fcq.net] java.nio.fileは便利なメソッドがいろいろ追加されたりして嬉しかったけど、 pathlibはなくても全然困らないからありがたみが分からない 演算子オーバーロードでパス結合とか気持ち悪いし
529 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 16:32:07.71 ID:Dc9rqI99.net] 過去のしがらみからか、I/O周りのメソッドが整理されていない 以前まとめてみたことがあるが、複数のライブラリに散らばっていて 重複もあったりしてカオスな状態となっているのが残念だ
530 名前:デフォルトの名無しさん mailto:sage [2016/08/12(金) 14:21:31.85 ID:HHwRqgIB.net] pathlibはファイルシステムパス操作がまとめられてるという理由で使ってるが、 痒いところに手が届かない感がなかなか拭えないのが残念。 Pathオブジェクトをもっとシームレスに使えるようにしてください。
531 名前:デフォルトの名無しさん mailto:sage [2016/08/12(金) 14:31:15.11 ID:NhfgeYUb.net] つPEP 519
532 名前:デフォルトの名無しさん [2016/08/12(金) 16:08:20.12 ID:X9+N6/6A.net] wxputhonでほかのクラスにイベント処理させたいときにselfの値が、 CommandEventになってしまいCommandEventは第二引数に渡したいのですが どうすればいいでしょうか import wx class CustomFrame(wx.Frame): def __init__(self,title): wx.Frame.__init__(self,None,-1,title,size=(500,500)) panel=wx.Panel(self) butoon1=wx.Button(panel,wx.ID_ANY,"開く") lyo1=wx.BoxSizer(wx.HORIZONTAL) lyo1.Add(butoon1,border=10,flag=wx.ALL | wx.CENTER) self.Bind(wx.EVT_BUTTON,tes.siyori,) self.Show() class tes(wx.Frame): def __init__(self): pass def siyori(self,event): print("成功") app=wx.App() CustomFrame("テスト") app.MainLoop()
533 名前:デフォルトの名無しさん mailto:sage [2016/08/12(金) 16:39:09.29 ID:rZLrT/rF.net] class tes(wx.Frame): def __init__(self): pass def siyori(event): print("成功") または class tes(wx.Frame): def __init__(self): pass @classmethod def siyori(self,event): print("成功") 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
534 名前:デフォルトの名無しさん [2016/08/12(金) 19:56:42.12 ID:X9+N6/6A.net] >>521 できますたありがとうございますこれを使ってwxputhonでエクセルみたいなのを作っていたん ですけど行の追加がうまくいきませんだれか教えてくれればうれしいです class CustomGrid(wx.grid.Grid): def __init__(self,par): wx.grid.Grid.__init__(self,par,ID_TARGET_GRID) rowsize=1 closizr=1 self.CreateGrid(rowsize,closizr) self.SetColLabelValue(0,"colHeader_1") for row in range(0,rowsize) : for col in range(0,closizr) : self.SetCellValue(row,col,"R%s_C%s" %(row+1,col+1)) @classmethod def tuika(self,ev): self(panel).AppendRows(1,True) class CustomFrame(wx.Frame): def __init__(self,title): wx.Frame.__init__(self,None,-1,title,size=(500,500)) self.CreateStatusBar() global panel panel = wx.Panel(self) button = wx.Button(panel, wx.ID_ANY, "押せ") button2 = wx.Button(panel, wx.ID_ANY, "セル追加") lyo =wx.BoxSizer(wx.VERTICAL) lyo.Add(CustomGrid(panel),proportion=1,flag=wx.ALL | wx.EXPAND) lyo.Add(button2,border=10,flag=wx.ALL | wx.CENTER) self.Bind(wx.EVT_BUTTON,CustomGrid.tuika,button2) panel.SetSizer(lyo) self.Centre() self.Show()
535 名前:デフォルトの名無しさん mailto:sage [2016/08/12(金) 21:12:23.85 ID:NhfgeYUb.net] >>522 CustomGrid.tuikaがクラスメソッドになっているのが原因じゃないかな? tuikaをインスタンスメソッドにしてlyo.Addとself.Bindには同じCustomGridインスタンスを渡すといいかも
536 名前:デフォルトの名無しさん [2016/08/13(土) 12:39:19.37 ID:xQ1wBY8K.net] いろいろやってみたんですけどうまくいきません class CustomGrid(wx.grid.Grid): def __init__(self,par): wx.grid.Grid.__init__(self,par,ID_TARGET_GRID) rowsize=1 closizr=1 self.CreateGrid(rowsize,closizr) self.SetColLabelValue(0,"colHeader_1") def tuika(self,panel): self(panel).AppendRows(1,True) class CustomFrame(wx.Frame): def __init__(self,title): wx.Frame.__init__(self,None,-1,title,size=(500,500)) self.CreateStatusBar() global panel panel = wx.Panel(self) global lyo lyo =wx.BoxSizer(wx.VERTICAL) lyo.Add(CustomGrid(panel),proportion=1,flag=wx.ALL | wx.EXPAND) button2 = wx.Button(panel, wx.ID_ANY, "セル追加") lyo.Add(button2,border=10,flag=wx.ALL | wx.CENTER) self.Bind(wx.EVT_BUTTON,CustomFrame.okuru,button2) panel.SetSizer(lyo) self.Centre() self.Show() def okuru (self): CustomGrid.tuika(CustomGrid,panel) lyo.Layout()
537 名前:デフォルトの名無しさん mailto:sage [2016/08/13(土) 16:18:08.26 ID:pGfuxwHW.net] >>524 tuikaとlyo.Addとself.Bindの修正は不適切に見える CustomGridをどのようにCustomFrameに配置するのか理解する必要があると思う あと何が上手くいかないのか説明してれないと困る 説明しにくいならエラー表示をコピペするとか頼む
538 名前:デフォルトの名無しさん [2016/08/13(土) 17:14:26.00 ID:byPJKfY1.net] 荒らすな
539 名前:デフォルトの名無しさん [2016/08/13(土) 17:36:54.62 ID:xQ1wBY8K.net] 新しい行みたいなのは画面に出てきたのですが、画面の右上に小さく現れるだけで lyo.Add(CustomGrid(panel))で作った表の下に追加できない状況です
540 名前:デフォルトの名無しさん mailto:sage [2016/08/13(土) 18:04:40.24 ID:pGfuxwHW.net] >>527 lyo.Addで配置したGridインスタンスに行を追加したいなら self.Bindにはlyo.Addで追加したGridインスタンスのtuikaを渡さないといけない つまりlyo.Addに直接CustomGrid(panel)を指定するのではなく一旦変数に代入する必要がある lyo.Addに渡すのはその変数、self.Bindに渡すのはその変数のtuikaだ CustomFrame側の修正はこれでよいはず
541 名前:デフォルトの名無しさん [2016/08/13(土) 18:31:14.63 ID:xQ1wBY8K.net] >>528 追加することができました。いろいろありがとうございました。
542 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 00:14:28.79 ID:su
] [ここ壊れてます]
543 名前:N02SZD.net mailto: Win10, IE11だが、この板全体を見たとき、このスレの、522 以降のすべての投稿が、 小さい灰色の文字に、なって見にくい ただし、このスレだけを単独で見た場合には、正常に見れる 521, 522 あたりの投稿が、いったい何をして、2chのバグを誘発した? [] [ここ壊れてます]
544 名前:デフォルトの名無しさん [2016/08/14(日) 11:39:17.56 ID:fahh+/HO.net] 目玉じゃね うちは問題なく表示されてるけど
545 名前:530 mailto:sage [2016/08/14(日) 17:01:56.43 ID:suN02SZD.net] 521にある目玉によって、このスレの、522 以降のすべての投稿が、 小さい灰色の文字になったのかも 今は、521が表示されていないから、正常に表示されている
546 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 10:13:05.18 ID:GUZ7DBqH.net] Win10 IE11 で >>1 - 全部開いたけどなんも問題ないよ
547 名前:530 mailto:sage [2016/08/15(月) 12:21:54.97 ID:g49T5w75.net] このスレだけを単独で見た場合には、正常に見れる バグが起こるのは、この板全体を見たときに、10の投稿の中に、目玉があると、 それ以降のそのスレの投稿が、目玉と同じ、小さい灰色の文字になる
548 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 13:04:57.22 ID:j0xbJLlv.net] ああ板の echo.2ch.net/tech/ ここの話? それならIEに限らずどのブラウザでも起こるんじゃね?
549 名前:デフォルトの名無しさん [2016/08/15(月) 13:07:11.93 ID:GUZ7DBqH.net] 再現するかな print("成功") print("成功") print("成功")