2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

くだすれPython(超初心者用) その37

1 :デフォルトの名無しさん:2018/03/17(土) 16:32:25.91 ID:S1lkLDnv.net
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その36
http://mevius.2ch.net/test/read.cgi/tech/1514805522/

468 :デフォルトの名無しさん:2018/04/20(金) 19:16:25.14 ID:9TOBYLLi.net
デバッガで何しようとしとんのやこのアホはw

469 :デフォルトの名無しさん:2018/04/20(金) 21:19:08.77 ID:bNn+sorS.net
デバッガはブレークポイント仕掛けたり1行ずつステップ実行しながら変数をウォッチするものだと思うので
実行中にリアルタイムで表示変えるのは超高速なエミュレータでもないと…;

470 :デフォルトの名無しさん:2018/04/20(金) 22:57:24.69 ID:Xu3EKzy5.net
>>467
globalにすれば出来るのは知ってるけど、いちいち関数化したのを戻すのが面倒だから他に方法がないのかと思って。

>>469
リアルタイムでみたいわけじゃなく、プログラム実行後にメモリに残った変数を確認したいって意味ね。

おかげ気づいたけど、defを抜ける直前にブレークポイント置いてそこで確認すりゃあいのかな。けど関数の分割多いと辛いな。

471 :デフォルトの名無しさん:2018/04/20(金) 23:08:48.76 ID:k7m69UuR.net
ログ吐くようにしとけよ

472 :デフォルトの名無しさん:2018/04/20(金) 23:18:23.85 ID:k7m69UuR.net
printめんどくさいとか言ってるがある程度のサイズのあるプログラムはログ残したほうが結局は作業がはかどる。

473 :遊園地:2018/04/20(金) 23:47:55.05 ID:xu4ZA7YN.net
ログはprintでは無いと言う事を肝に免じて置いて下さい。

474 :デフォルトの名無しさん:2018/04/21(土) 00:18:21.37 ID:NjF1F28w.net
>>473
ログをprintで書くことで悦に入っています。

475 :デフォルトの名無しさん:2018/04/21(土) 00:46:49.28 ID:SeoWSMd7.net
>>472
printがめんどくさいと言う人ならログ出すように変更するのもめんどくさいになるだろう。
めんどくさいのいやだいやだで、(コードに手を入れないで)
ツール(デバッガ)で楽々出来るようにしたいにニダと言う感じだろう
実運用ではこのログはイラネなんだろうが。

476 :デフォルトの名無しさん:2018/04/21(土) 01:00:05.67 ID:YdpuWmPR.net
肝に免じてどうする
肝は銘ずる(刻みつける)ものだ

477 :デフォルトの名無しさん:2018/04/21(土) 01:10:45.10 ID:SeoWSMd7.net
>>476
遊園地のいるところは
肝に銘じてが
話し言葉で
>肝にめんじて
になるところなんだよ。
鉛(標準語では訛)がでたんだろ

478 :デフォルトの名無しさん:2018/04/21(土) 01:40:30.99 ID:jRiYYFVC.net
p2exeって日本語は扱えないのですか?

479 :デフォルトの名無しさん:2018/04/21(土) 03:00:26.77 ID:HWyKzA01.net
>>478
py2exeではなく?

480 :デフォルトの名無しさん:2018/04/21(土) 03:26:11.52 ID:jRiYYFVC.net
>>479
間違えました、py2exeです。日本語文字をprintしようとすると
UnicodeDecodeError: 'cp932' codec can't decode byte 0xef in position 0: illegal multibyte sequence
って出るんですよね。コードをutf-8にしたり、文字列の先頭にuを付けてみましたが、きちんとexeが生成されません

481 :デフォルトの名無しさん:2018/04/21(土) 07:09:29.13 ID:nN/toUY2.net
肝免わろすwww

482 :遊園地:2018/04/21(土) 07:29:31.66 ID:fW+0Fovn.net
>>477
あああーーーー

  それは、アカンww


明治時代の初期までなら、隣の県に行けば
言葉が通じないのもザラだったしなwww

483 :デフォルトの名無しさん:2018/04/21(土) 08:46:12.30 ID:HWyKzA01.net
>>480
んでもってPythonは2系をつかってるのか?
あるいはWindowsのユーザー名が日本語なのか。

素直に3系つかうことと
py2exeするときはあきらめて日本語を含まないユーザー名を作って
そこからやる

484 :デフォルトの名無しさん:2018/04/21(土) 15:11:14.68 ID:Jlfar8cI.net
py2exeは3.6に対応してないから、バイナリ作るならpyinstallerの方がいいと思う
セットアップファイル作る必要もなくて楽だし

485 :デフォルトの名無しさん:2018/04/21(土) 15:16:38.37 ID:K9lD61bw.net
bytesをfloat配列にする高速な方法無いでしょうか?
4バイトで1floatではなく、1バイトで0.0〜1.0の範囲の1floatの
同じ長さの配列が欲しいのですが

486 :デフォルトの名無しさん:2018/04/21(土) 16:19:45.05 ID:Jlfar8cI.net
pyinstallerで詰まったのは、pandasを使うスクリプトでエラーが出ることぐらい
pandasを 0.20.0 に落とせば通る様になると思う

487 :デフォルトの名無しさん:2018/04/21(土) 16:38:34.70 ID:Zke6MJB8.net
>>485
精度落ちて良いならいくらでもある

488 :デフォルトの名無しさん:2018/04/21(土) 16:42:03.35 ID:K9lD61bw.net
>>487
精度は構いませんので是非

489 :デフォルトの名無しさん:2018/04/21(土) 16:58:38.10 ID:V+d3uri5.net
正の数だけ?

490 :デフォルトの名無しさん:2018/04/21(土) 17:04:24.09 ID:yl7d1HXp.net
精度気にしないなら
0x00 = 0.0
0x01 = 0.004
0x02 = 0.008
...
0xFA = 1.0
0xFB〜0xFF は使わない
とか勝手に決めれば良いだけ

491 :デフォルトの名無しさん:2018/04/21(土) 17:09:59.96 ID:K9lD61bw.net
>>489
0.0〜1.0の正の数だけです

492 :デフォルトの名無しさん:2018/04/21(土) 17:22:36.40 ID:6J3G0l4e.net
>>490
それ普通に255.0で割る方が速いだろw

493 :デフォルトの名無しさん:2018/04/21(土) 17:26:25.82 ID:yl7d1HXp.net
そうか?
>>490 も 250 で割るだけだから速度は一緒だぞ

494 :デフォルトの名無しさん:2018/04/21(土) 17:30:44.93 ID:6J3G0l4e.net
>>493
250.0で割るのだと元のバイト列にある251〜255を1.0に丸める処理が必要になるだろ。
考えてから発言する習慣付けなよ。

495 :デフォルトの名無しさん:2018/04/21(土) 17:34:55.64 ID:yl7d1HXp.net
どうせ使わないんだからいいだろ

496 :デフォルトの名無しさん:2018/04/21(土) 17:45:08.29 ID:nWGazij5.net
おいおい256.0だろ…
おまえは1を0.1にするのに9で割ると言うのかい?

497 :デフォルトの名無しさん:2018/04/21(土) 18:23:41.65 ID:bgp2zzOH.net
>>485
256 しかないんだから float f[256] の配列作って変換すればいいんじゃね?

498 :デフォルトの名無しさん:2018/04/21(土) 18:33:33.34 ID:ZHkY3Ka/.net
頭いいな

499 :デフォルトの名無しさん:2018/04/21(土) 18:37:22.51 ID:CHrbK6wg.net
>>483 >>484
素直にパイインストーラーを使うことにします。ありがとうございました!

500 :遊園地:2018/04/21(土) 19:45:18.90 ID:fW+0Fovn.net
windows辞めて、Ubuntuにしたらデフォルトでpython2,python3入ってるよ。

 なんつってwwww  これぞwww 悪魔の囁きwwwww

501 :デフォルトの名無しさん:2018/04/21(土) 19:47:16.89 ID:fJguH7wu.net
いやシステムのPythonは使わないのか基本だぞ

502 :デフォルトの名無しさん:2018/04/21(土) 19:51:23.74 ID:Af+18o1F.net
それな
むしろデフォで入っていることが余計なトラブルの元になってる

503 :デフォルトの名無しさん:2018/04/21(土) 19:53:02.17 ID:SpcYsUEG.net
Pythonに依存した他のパッケージを動作させるためだけのものだよね
ユーザーが使ってはいけない

504 :デフォルトの名無しさん:2018/04/21(土) 20:04:52.49 ID:nN/toUY2.net
>>501
何に騙されてそんなガセネタ信じとるんやwwwww

505 :デフォルトの名無しさん:2018/04/21(土) 20:09:07.60 ID:+jzprnKY.net
UbuntuとかMacとかはpyenv入れてからAnaconda入れてとか結構面倒くさい

506 :遊園地:2018/04/21(土) 20:54:58.27 ID:fW+0Fovn.net
Ubuntu系のlinux mintにAnaconda入れてる。
起動確認の初回しか、動かしてない。

507 :遊園地:2018/04/21(土) 21:45:02.32 ID:fW+0Fovn.net
オブジェクトをヒープ上にメモリ確保する場面は
どんな時ですか?

508 :デフォルトの名無しさん:2018/04/21(土) 22:00:51.41 ID:ZHkY3Ka/.net
逆にヒープ以外にどこにメモリを確保するんだ?
それが答えじゃね?

509 :デフォルトの名無しさん:2018/04/21(土) 22:05:01.51 ID:zxSpDS2l.net
>>504
開発環境とシステム分けておくの大事だぞ

510 :遊園地:2018/04/21(土) 22:16:07.69 ID:fW+0Fovn.net
実行できない。

  へるぷ

def grade(score, breakpoints=[60, 70, 80, 90], grades='FDCBA'):
□i = bisect(breakpoints, score)
□return grades[i]

[grade(score) for score in [33, 99, 77, 70, 89, 90, 100]]

511 :デフォルトの名無しさん:2018/04/21(土) 23:13:25.47 ID:ZHkY3Ka/.net
実行できないってどういうことよ
エラーメッセージがあるならそれも載せろよ

まあわざと載せてないのかもしれないけど

512 :デフォルトの名無しさん:2018/04/21(土) 23:56:54.79 ID:XrHLCoEo.net
>>510
>>509が言っているだろ。開発環境とシステム分けてないから実行できないんだよ

513 :遊園地:2018/04/22(日) 07:24:22.58 ID:S/aJuoMN.net
NameError: name 'bisect' is not defined

関数内にglobal と書いてもダメだった。

514 :遊園地:2018/04/22(日) 07:35:06.34 ID:S/aJuoMN.net
import bisect

で、TypeError: 'module' object is not callable

$ sudo pip3 install bisect で

Could not find a version that satisfies the requirement bisect (from versions: )
No matching distribution found for bisect


要件bisectを満たすバージョンを見つけることができませんでした(バージョンから:)
二等分線に一致する分布が見つかりませんでした

515 :デフォルトの名無しさん:2018/04/22(日) 07:59:57.89 ID:6LlZ0HWt.net
「みんなのPython」に書いてある

Anaconda は、Windows など予め、Python が入っていないOS が対象です。
Linux など、最初からPython が入っている場合は、プロに聞いて下さい。
この本では教えませんw

つまり、Pythonがバッティングするから。
Python3 というコマンドが、Python 3.4, 3.5 のどれを指すのか、
OSとAnacondaで、異なるバージョンの場合に厄介だから

$ which python3
/usr/bin/python3
$ which python3.5
/usr/bin/python3.5

$ file /usr/bin/python3
/usr/bin/python3: symbolic link to python3.5

つまり、Windows10・WSL・Ubuntu16.04 では、python3 → python3.5

異なるバージョンを使いたければ、仮想環境のvirtualenv(venv)を使って、
環境変数PATH を上書きしないといけない

activate ってすると、PATHが上書きされて、
システムとは異なるバージョンと結び付けられる

それか、Docker を使うとか

516 :遊園地:2018/04/22(日) 08:55:24.40 ID:S/aJuoMN.net
Anaconda使ってないよw

Geanyから起動してる。

linux mint18 mate
python 3.6.3

517 :遊園地:2018/04/22(日) 08:56:08.08 ID:S/aJuoMN.net
システムバージョンの
python 3.5.2でも試したけど、一緒のエラー内容だった。

518 :遊園地:2018/04/22(日) 09:06:16.89 ID:S/aJuoMN.net
公式から、ライブラリ落として
入れないと駄目とか?

分からない。

519 :遊園地:2018/04/22(日) 09:28:09.74 ID:S/aJuoMN.net
本当に分からなかったので教えて貰いました。

https://teratail.com/questions/122985

import bisect
では、なく。

from bisect import bisect
と、記載しなければ成らなかった模様です。

520 :遊園地:2018/04/22(日) 09:30:23.48 ID:S/aJuoMN.net
皆さん、いろいろと
ありがとう、ございました。

521 :デフォルトの名無しさん:2018/04/22(日) 10:07:45.92 ID:clJAmZnE.net
help(help)について
help関数の定義を見たくてhelp(help)を実行したところ、
以下のような出力がありました。

Help on _Helper in module _sitebuiltins object:

class _Helper(builtins.object)
| Define the builtin 'help'.
|
| This is a wrapper around pydoc.help that provides a helpful message
| when 'help' is typed at the Python interactive prompt.
|
| Calling help() at the Python prompt starts an interactive help session.
| Calling help(thing) prints help for the python object 'thing'.
|
| Methods defined here:
|
以下略

見たいのは_Helper in module _sitebuiltinsではなくhelp function、
以下のような説明です。

help(object): help on object or class of object, except
help('name'): help on object/module named 'name'
help(): run utility, which starts with utility help

どうしてそれが出ないのか、ご教授いただけるとありがたいです。
Python3.6、pycharmを使用しています。

522 :デフォルトの名無しさん:2018/04/22(日) 10:29:12.32 ID:Nfi3M0G/.net
>>519
質問をすることでしか得られない、回答やアドバイスがある。
15分調べてもわからないことは、質問しよう!

何このサイト
入門者でも質問OKなのかな?
このスレだと15分調べて質問したらggksとか言われそうなんだが

523 :遊園地:2018/04/22(日) 10:35:53.40 ID:S/aJuoMN.net
>>522
このレベルから受け付けてる。
https://teratail.com/questions/10173

524 :デフォルトの名無しさん:2018/04/22(日) 11:17:20.23 ID:Nfi3M0G/.net
>>523
色々な意味で驚いた
間口が広いはずの、2/5chの存在意義が・・・
ただ、入門者だと実際ここで躓く事もあるし
ディレクトリ構造って実際理解するの結構大変
分かってるとツリーになってると言えるし、そもそも何が大変なのか説明する方が難しいレベルだし・・・
そういえば、最近のOSってアドレスにあるパスが一部しか書いてなかったりするけどみんな困らないのかな?
昔のOS使ってるとパス辿ればいいと分かるけど、パスの概念を勉強する機会が減りそう

525 :デフォルトの名無しさん:2018/04/22(日) 11:28:31.70 ID:WmJ9TmOv.net
>>524
同意を求めるのじゃなくて質問すれば答えてくれんじゃね?そうゆうの?

526 :デフォルトの名無しさん:2018/04/22(日) 11:45:11.71 ID:3qJWMYht.net
python導入の仕方がわからない。。。

527 :デフォルトの名無しさん:2018/04/22(日) 12:05:00.81 ID:8GLco50w.net
>>526
teratailで質問するとここと違いやさしく丁寧に教えてくれるよ

528 :デフォルトの名無しさん:2018/04/22(日) 12:18:40.18 ID:bQIDMX1u.net
>>526
グーグルでpython インストール で検索。
以上。

529 :遊園地:2018/04/22(日) 13:19:51.68 ID:S/aJuoMN.net
>>526
ネタだと思うけど、公式から自分が使用してるOSを選ぶ。
https://www.python.org/downloads/

32bit PCだと 64bit版は動かせない。

x86 32bit
x86-64 64bit

530 :デフォルトの名無しさん:2018/04/22(日) 13:21:25.71 ID:6LlZ0HWt.net
ここは、Python の初心者用のスレだろ。
言語だけの初心者

PC・OS・情報処理の初心者用ではない。
Python以外の事は、知っているべき

531 :遊園地:2018/04/22(日) 13:21:58.00 ID:S/aJuoMN.net
win機で特に理由が無いなら、
Windows x86-64 executable installer

Ubuntuならコッチみてくれ。
https://www.python.jp/install/ubuntu/index.html

532 :遊園地:2018/04/22(日) 13:23:09.27 ID:S/aJuoMN.net
>>530
最初に、どれ動かして良いのか分からなかったからww

 全部ダウンロードして、試した俺が居るぞww

533 :デフォルトの名無しさん:2018/04/22(日) 14:04:12.27 ID:Nfi3M0G/.net
>>530
でもなぁー
毎日PCの電源を入れている人ならともかく
例えば高校数学にコンピュータあるけどあれするだけでもプログラミングソフトのセットアップって
重要で意外と難易度が高い
かといって、WindowsOS向け、Pythonセットアップスレとか作っても多分はやらない
ただ、少し慣れてきてUbuntuとかtensorflow-gpuとか入れろと言われるとトラブってる人も多いし
その記事だけでアフィが成り立つレベルだよ

534 :デフォルトの名無しさん:2018/04/22(日) 16:22:41.42 ID:3qJWMYht.net
526です。pythonのコード書くのはコマンドプロントだけ?

535 :デフォルトの名無しさん:2018/04/22(日) 16:26:30.71 ID:3qJWMYht.net
pythonのエディタはWindowsのコマンドプロントだけ?

536 :デフォルトの名無しさん:2018/04/22(日) 16:57:42.88 ID:/RR+q6wr.net
>>533
学校も含めて他人のPCにインスコするときは
VM用意してその中で遊ぶのがマナー

537 :デフォルトの名無しさん:2018/04/22(日) 17:08:09.84 ID:PsQCMKRd.net
>>530
言語だけの初心者=PC・OS・情報処理の初心者やけど
よっておまえもなw

538 :遊園地:2018/04/22(日) 17:52:06.12 ID:S/aJuoMN.net
>>536
それは無いよ。

USBブートで遊ぶべき。

539 :デフォルトの名無しさん:2018/04/22(日) 19:12:05.56 ID:Nfi3M0G/.net
>>536
VMってシステムに深く入り込むから大変なことになる
というかLANが使えなくなって半日嵌った

540 :デフォルトの名無しさん:2018/04/22(日) 19:37:52.67 ID:HOpx3haN.net
他にもいっぱいあるよ

541 :デフォルトの名無しさん:2018/04/22(日) 19:48:31.90 ID:H/AU6k7y.net
>>539
???
VMware PlayerとかVirtualPCなんかだと普通のアプリケーションと変わらんぞ
ゲスト側のネットワーク設定はちょっとコツが要るけど

542 :デフォルトの名無しさん:2018/04/22(日) 21:53:07.67 ID:2Fk6o3gK.net
アップデートしたら、仮想SW死んだことがある
環境的に物理的なトラブルと切り分けが調べられなくて泣きそうになった

543 :デフォルトの名無しさん:2018/04/22(日) 21:57:51.54 ID:2Fk6o3gK.net
hyper-vだったけどね

544 :デフォルトの名無しさん:2018/04/22(日) 22:24:34.38 ID:SkZxcoIM.net
wxpythonでボタンをクリックしたら別のpyに書いたウィンドウを表示させているのですが、開いたpyウィンドウを閉じるともとのボタンをクリックしても再実行されません。
importは一度だけというのはわかっているのですが・・・

どのような記述をすれば閉じても何度でも再実行できるようになるのでしょうか。

教えて下さい。

545 :遊園地:2018/04/22(日) 23:01:16.94 ID:S/aJuoMN.net
>>544
https://ideone.com/

に全部 ソース貼れw

 それを見てから応える

546 :デフォルトの名無しさん:2018/04/22(日) 23:03:22.02 ID:6LlZ0HWt.net
wxpython を説明している、サイトを見て、勉強する

547 :デフォルトの名無しさん:2018/04/22(日) 23:35:12.62 ID:GW1847bJ.net
>>544
5chのPythonスレのレベルを超えた質問
teratailで尋ねたほうが良いよ

>>546
このスレで出来る回答はそんなもんだよな

548 :デフォルトの名無しさん:2018/04/23(月) 08:33:18.26 ID:1C6OTR8X.net
https://ideone.com/OtTmrTです!

549 :遊園地:2018/04/23(月) 10:37:49.00 ID:/QV9I6Db.net
>>548
実行ボタン処理が定義されて無いから?

詳しい人、どうぞww

550 :デフォルトの名無しさん:2018/04/23(月) 11:17:30.25 ID:DP/vD1RL.net
pythpn初心者だけどオブジェクト指向分からな過ぎて死にそうです
何かおすすめの本ありますか?

551 :デフォルトの名無しさん:2018/04/23(月) 11:18:44.42 ID:zsG77YNH.net
死んだ方がいいよ

552 :遊園地:2018/04/23(月) 11:30:33.57 ID:/QV9I6Db.net
厳し過ぎやろ

 俺が引いてんじゃねぇか!ww


[遊園地は]使い分けると深みに嵌まるから、この形式だけ抑えて後は垂れ流しだな。

https://ideone.com/VuRClI

553 :デフォルトの名無しさん:2018/04/23(月) 13:03:27.78 ID:HUlTGC1I.net
>>548
とりあえず、ボタン押してフレーム出すのはこう。


import wx
class ChildFrame( wx.Frame ):
def __init__( self, parent ):
super().__init__(parent, wx.ID_ANY)
sizer = wx.BoxSizer(wx.VERTICAL)
lb = wx.StaticText(self, wx.ID_ANY, "Hello!")
sizer.Add(lb)
self.SetSizer(sizer)
sizer.Fit(self)
class MainFrame( wx.Frame):
def __init__(self):
super().__init__(None, wx.ID_ANY )
sizer = wx.BoxSizer(wx.VERTICAL)
btn = wx.Button(self, wx.ID_ANY, "Push Me!")
sizer.Add(btn)
self.SetSizer(sizer)
sizer.Fit(self)
btn.Bind(wx.EVT_BUTTON, self.on_button)

def on_button( self, evt ):
child_window = ChildFrame(self)
child_window.Show()
if __name__ == "__main__":
app = wx.App()
frame = MainFrame()
frame.Show()
app.MainLoop()

554 :スッキリ厨:2018/04/23(月) 13:31:39.89 ID:jMm7sVs3.net
>>550
まずこの本で、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014

その後、この2冊をこの順に読む。
たのしいRuby 第5版、2016
みんなのPython 第4版、2017

この順番でやらないと、理解できないはず。
特に、オブジェクト指向の本は「スッキリ」しか存在しない

555 :デフォルトの名無しさん:2018/04/23(月) 14:31:38.43 ID:Lf5qXYif.net
>>553さん

ありがとうございます!
ただボタンを押した後のフレームを出す処理を他のファイルに書いています。

そういうやり方は一般的ではないのでしょうか?


def on_button( self, evt ):
import aaa

のようにaaa.pyを呼び出して処理させたいのですが、一回表示させて閉じると再表示させることができません。

556 :デフォルトの名無しさん:2018/04/23(月) 14:47:47.40 ID:HUlTGC1I.net
>>555
ファンクションの中でimportして、しかもそれだけでウィンドウを出すってのはすごく変。
四の五のいわずにやめた方がいい。

大体そんなやり方してたら親ウィンドウすら渡せない。

557 :デフォルトの名無しさん:2018/04/23(月) 14:51:26.42 ID:HUlTGC1I.net
>>555
子ウィンドウのコードを別のファイルにしたいなら、ChildWindowの定義部分を別ファイルにしてimportすればいい。

558 :デフォルトの名無しさん:2018/04/23(月) 15:10:44.56 ID:Sx+lupQ0.net
>>555
偉大なるこのスレの遊園地様が必死に質問しているteratailで聞いたほうがいいよ
処理を書いている他のファイルも提示して動くようにしてくださいと依頼すれば良い

559 :デフォルトの名無しさん:2018/04/23(月) 15:15:35.49 ID:sVI7fOBi.net
importは読み込んで実行というより
定義や宣言を読み込むため(だけ)に使うのが普通よね

560 :デフォルトの名無しさん:2018/04/23(月) 15:19:13.02 ID:Sx+lupQ0.net
>>557
>ChildWindowの定義部分を別ファイルにしてimportすればいい
ChildWindowの定義部分がある別ファイルのaaa.pyをimportしているのが
on_buttonのimport aaaなんだろ

561 :デフォルトの名無しさん:2018/04/23(月) 15:32:45.72 ID:sVI7fOBi.net
import aaa

 def on_button(…):
  child_window = aaa.ChildFrame(…)
  child_window.xxx = yyy
  …

こんな感じかね

562 :デフォルトの名無しさん:2018/04/23(月) 15:57:59.47 ID:sVI7fOBi.net
ついでにimportで1回しか実行されない原因はこれ
http://python.matrix.jp/pages/tips/import.html#id4
C言語でいうインクルードガード的なのが働いてる

563 :デフォルトの名無しさん:2018/04/23(月) 17:22:58.10 ID:Lf5qXYif.net
ありがとうございます、大変勉強になりました。
頑張ります!

564 :デフォルトの名無しさん:2018/04/23(月) 17:39:53.20 ID:HUlTGC1I.net
>>560
wx.Frame.Showをimportするファイルに書くなって意味なんだけど、伝わりませんか、、、そうですか、、、すみません。

565 :デフォルトの名無しさん:2018/04/23(月) 18:24:03.12 ID:NdLOIshu.net
わたしには伝わりました!

566 :遊園地:2018/04/23(月) 18:38:50.30 ID:/QV9I6Db.net
>>555
.pyファイルを1つの関数が代わり使うとは大胆だな。

単純に、 >>561
import aaa

aaa.pyファイルの中身を関数かクラスにする。

567 :遊園地:2018/04/23(月) 18:42:03.15 ID:/QV9I6Db.net
遊園地ww 公式ですと、こんな感じですなww

----aaa.py----
import bbb

bbb.A()

----bbb.py-----

def A():
print('Hello World')

総レス数 992
262 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200