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


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

Pythonのお勉強 Part51



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("成功")






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

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

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