当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
【まず1嫁】くだすれPython(超初心者用) その56
■ このスレッドは過去ログ倉庫に格納されています
2021/12/27(月) 01:38:10.93ID:GepmXCuJ
151デフォルトの名無しさん
2022/02/05(土) 12:16:27.17ID:LVRrrJUT152デフォルトの名無しさん
2022/02/05(土) 12:36:57.02ID:UC+QWPwn ブラウザは読み込み終わったってイベントが来るよ。それを待ってURLとで判定すればいい
153デフォルトの名無しさん
2022/02/05(土) 12:48:54.51ID:XLfwOUFr154148
2022/02/05(土) 12:54:59.73ID:piACNvDy https://pastebin.com/hwdHebzT
>>148ですがpynputのon_moveでマウス移動を検知して、
ウィンドウ上にポインタあるときはon_clickで何もしないようにして動くようになりました
ただマウス動かすたびにウインドウ情報の取得と座標の比較を行うので高コストです…
他に良い実装はないでしょうか?
>>148ですがpynputのon_moveでマウス移動を検知して、
ウィンドウ上にポインタあるときはon_clickで何もしないようにして動くようになりました
ただマウス動かすたびにウインドウ情報の取得と座標の比較を行うので高コストです…
他に良い実装はないでしょうか?
155デフォルトの名無しさん
2022/02/05(土) 12:59:34.70ID:/8OR3rgW >>144-147
みなさま
すみませんです。
何れにしましても
勉強になりました。
>「python ブラウザ操作」「python getwindowtext」
>「python キー操作 送信」
で勉強してみます。
合併金融機関で旧銀勘定システムの
統合とかがむずかしくてというような
ことを風の便りにききましたので
妙ちくりんな例示になりました。
みなさま
すみませんです。
何れにしましても
勉強になりました。
>「python ブラウザ操作」「python getwindowtext」
>「python キー操作 送信」
で勉強してみます。
合併金融機関で旧銀勘定システムの
統合とかがむずかしくてというような
ことを風の便りにききましたので
妙ちくりんな例示になりました。
156デフォルトの名無しさん
2022/02/05(土) 13:17:57.22ID:UC+QWPwn >>154
クリックするときだけ座標のウインドウ見たら?
クリックするときだけ座標のウインドウ見たら?
158148
2022/02/05(土) 13:38:51.69ID:piACNvDy159デフォルトの名無しさん
2022/02/05(土) 13:47:41.85ID:UC+QWPwn ランチャーの上にほかのウインドウがあったら期待通り動かなさそうだな
windowfrompointかな
windowfrompointかな
160148
2022/02/05(土) 14:20:31.51ID:piACNvDy161148
2022/02/05(土) 15:31:23.48ID:piACNvDy GetWindowPoint関数が返すのがラベルのウインドウハンドルで詰まりましたが、
GetParentで親ウィンドウのウィンドウハンドルを取得することでうまくいきました
GetParentで親ウィンドウのウィンドウハンドルを取得することでうまくいきました
162148
2022/02/06(日) 18:24:09.07ID:3q8vI9na 皆さんWindowsの環境は何を使っていますか?
先輩がAnacondaを使っていたので自分もこれで始めたのですが、
pyファイルをダブルクリックしても起動できなくて困っています
先輩がAnacondaを使っていたので自分もこれで始めたのですが、
pyファイルをダブルクリックしても起動できなくて困っています
163デフォルトの名無しさん
2022/02/06(日) 18:46:40.90ID:As9Eeh+2 anacondaはダブルクリックして使うような用途向けじゃないから・・・
それでもやりたいならユーザーフォルダのenvの中にあるpythonを関連付けして、パスも通しておいたらいけるんじゃないのか?
それでもやりたいならユーザーフォルダのenvの中にあるpythonを関連付けして、パスも通しておいたらいけるんじゃないのか?
164デフォルトの名無しさん
2022/02/06(日) 19:14:00.88ID:4Gtoye46 エクスプローラ上でshift+右クリックするとコンソールを開くオプション出てくるからそこから実行するのも手だね
165デフォルトの名無しさん
2022/02/06(日) 20:11:49.90ID:UpadUQRd pyはIDEに関連付け変えた方が利便性高そう
コンソール不要なアプリはpywにするし
コンソール不要なアプリはpywにするし
166デフォルトの名無しさん
2022/02/07(月) 02:26:12.83ID:8Of01QOa 前は(必要に迫られない限り絶対に使いたくない)Anacondaだったけど一年半くらい前に公式のPythonに出戻った
それまではpylauncher+Anacondaだったね
それまではpylauncher+Anacondaだったね
167デフォルトの名無しさん
2022/02/07(月) 04:15:45.66ID:/WFZHSQq >>165
input()使ってコンソール表示をキープする使い方もあるのでそのままがいい
input()使ってコンソール表示をキープする使い方もあるのでそのままがいい
168デフォルトの名無しさん
2022/02/07(月) 08:07:41.99ID:X3clQbRB forループを指定の時刻になったら抜け出したいんだが何か方法ありますか?
例えば21時になったらループを抜けたいです
例えば21時になったらループを抜けたいです
169デフォルトの名無しさん
2022/02/07(月) 08:25:36.92ID:nOkVXb94 now=datetime.datetime.now().hourで現在時刻を取得してif now>21:みたいな感じでいけるのかな?
170デフォルトの名無しさん
2022/02/07(月) 11:33:42.97ID:v1HyCHbN >>168
whileループじゃなくてforループ?
whileループじゃなくてforループ?
171デフォルトの名無しさん
2022/02/07(月) 12:11:38.49ID:Afq51Jp9 signal.alarmで割り込んでグローバルに参照できる情報を更新
forではそこを確認するだけ
あるいはEventMachineみたいなスケジューラに乗っかる
forではそこを確認するだけ
あるいはEventMachineみたいなスケジューラに乗っかる
172デフォルトの名無しさん
2022/02/07(月) 20:36:04.90ID:uf+aDjpD 文字列のリスト渡す引数があるんですが、1つだけならリストじゃなくて文字列1つだけでも渡したいんです
文字列だけで渡すとforで1文字ずつのループになってしまいます。
リストで渡したみたいに同じようにforで1回回したいんですが何か方法ありますか
文字列だけで渡すとforで1文字ずつのループになってしまいます。
リストで渡したみたいに同じようにforで1回回したいんですが何か方法ありますか
173デフォルトの名無しさん
2022/02/07(月) 20:37:56.01ID:WNsmATfv 文字列が来たらリストに入れてあげればいいのでは
174デフォルトの名無しさん
2022/02/07(月) 20:45:24.77ID:WJa2Jvem if isinstance(x,str): x=[x]
175デフォルトの名無しさん
2022/02/07(月) 20:48:11.70ID:Afq51Jp9 https://docs.python.org/ja/3/library/functools.html#functools.singledispatch
でオーバーロード書けるけど好きじゃない
でオーバーロード書けるけど好きじゃない
176148
2022/02/07(月) 22:02:57.91ID:QDp/4Uhu メモリの確保と解放を自分ですることって可能ですか?
tkinterのラベルに画像を表示したいのですが、
tkinter.PhotoImage()の戻り値が勝手に開放されてしまい表示されません
tkinterのラベルに画像を表示したいのですが、
tkinter.PhotoImage()の戻り値が勝手に開放されてしまい表示されません
177148
2022/02/07(月) 22:05:00.21ID:QDp/4Uhu178デフォルトの名無しさん
2022/02/07(月) 22:22:44.80ID:dQ2UCnOY179148
2022/02/07(月) 23:12:32.22ID:QDp/4Uhu180デフォルトの名無しさん
2022/02/08(火) 05:30:13.15ID:nYjjFW0t tkinter photoimage 表示されない で検索しよう
秒で解決するから
photo = tk.photoimage(画像)
widget = tk.widget(master, image=photo)
秒で解決するから
photo = tk.photoimage(画像)
widget = tk.widget(master, image=photo)
181デフォルトの名無しさん
2022/02/08(火) 06:33:41.40ID:x7KPLs8u >>180
ありがとうございます
インスタンス変数周りについて理解しました
https://pastebin.com/XUdUcPEz
説明が複雑になってしまうと思い後出しになってしまったのですが、
ソースを短く手直ししてアップロードしました
今回はItemクラスにiconインスタンス変数を持たせて、ここにPhotoImageの戻り値を入れています
そしてItem.iconから、ラベルを作成しています
本当はラベル作る関数にItemクラスのリストを渡して作らせているのですが、
この書き方でも再現されました
よろしくおねがいします
ありがとうございます
インスタンス変数周りについて理解しました
https://pastebin.com/XUdUcPEz
説明が複雑になってしまうと思い後出しになってしまったのですが、
ソースを短く手直ししてアップロードしました
今回はItemクラスにiconインスタンス変数を持たせて、ここにPhotoImageの戻り値を入れています
そしてItem.iconから、ラベルを作成しています
本当はラベル作る関数にItemクラスのリストを渡して作らせているのですが、
この書き方でも再現されました
よろしくおねがいします
182デフォルトの名無しさん
2022/02/08(火) 07:11:21.68ID:x7KPLs8u >>181
itemをLauncherのself.item_listに入れたら表示されるようになりました
Item.iconはインスタンス変数だったけど、itemが一時的な変数で開放されちゃってたのかな…
ただ関数を再帰呼び出ししている元のソースではこの手法でもだめでした
難しい
itemをLauncherのself.item_listに入れたら表示されるようになりました
Item.iconはインスタンス変数だったけど、itemが一時的な変数で開放されちゃってたのかな…
ただ関数を再帰呼び出ししている元のソースではこの手法でもだめでした
難しい
183デフォルトの名無しさん
2022/02/08(火) 07:53:09.80ID:gLJTNggL いやだからワンクッション置けっつの
まず生成しろ
p = photoimage(i)
それを使え
w(image=p)
もっと単純なテストケースで試せ
上手くいく場合と、いかない場合の境界線を探せ
まず生成しろ
p = photoimage(i)
それを使え
w(image=p)
もっと単純なテストケースで試せ
上手くいく場合と、いかない場合の境界線を探せ
184デフォルトの名無しさん
2022/02/08(火) 12:03:45.73ID:Wt+Lt5co >>182
グローバルなリストなりなんなりにItemクラス全部ぶち込んでいけばいいだけ
グローバルなリストなりなんなりにItemクラス全部ぶち込んでいけばいいだけ
185デフォルトの名無しさん
2022/02/08(火) 21:50:34.21ID:9OOJa9HQ クロージャとデコレータの違いが良くわかりません
どなたか猿でも分かるように説明お願いします
どなたか猿でも分かるように説明お願いします
186デフォルトの名無しさん
2022/02/08(火) 22:13:40.37ID:8MdYtPVO >>185
なぜその2つが同じ(ようなもの)だと思ったのか理由を少し書いてくれない?
なぜその2つが同じ(ようなもの)だと思ったのか理由を少し書いてくれない?
187デフォルトの名無しさん
2022/02/08(火) 23:31:00.76ID:nzlDnO0s デコレータはクロージャで処理を追加する際の糖衣の認識
def logger(func):
__def inner(*args,**kwargs):
____print(‘start’)
____func(*args,**kwargs)
____print(‘end’)
__return inner
@logger
def add(x,y):
__print(x+y)
デコレータは↓を簡単に表記する
add=logger(add)
def logger(func):
__def inner(*args,**kwargs):
____print(‘start’)
____func(*args,**kwargs)
____print(‘end’)
__return inner
@logger
def add(x,y):
__print(x+y)
デコレータは↓を簡単に表記する
add=logger(add)
188デフォルトの名無しさん
2022/02/08(火) 23:58:54.11ID:x7KPLs8u189デフォルトの名無しさん
2022/02/09(水) 00:58:23.86ID:9lBFb0U2 Windowsでパスのセパレータが混在する原因を調べていたら、tkinterが原因だった
filedialogとTkinterDnD2で発生するようだ
こんな感じで対応してみた
files = filedialog.askopenfilenames(filetypes=fTyp, initialdir = iDir)
files = [str(pathlib.Path(p)) for p in files]
なにかまずい点や、もっとスマートな書き方ありますか?
filedialogとTkinterDnD2で発生するようだ
こんな感じで対応してみた
files = filedialog.askopenfilenames(filetypes=fTyp, initialdir = iDir)
files = [str(pathlib.Path(p)) for p in files]
なにかまずい点や、もっとスマートな書き方ありますか?
190デフォルトの名無しさん
2022/02/09(水) 08:57:49.87ID:yefmpe+I スマートな書き方以前に、再代入するな。
191デフォルトの名無しさん
2022/02/09(水) 11:31:16.02ID:4FhfLNQw pipでcshogiというパッケージを入れようとしたら
cshogi/_cshogi.cpp:635:10: fatal error: 'init.hpp' file not found
というエラーになったのですが、何したらよいでしょう。
依存関係で怒られたCythonやnumpyは入れました。
Python3.9.6でmacOS12.2です。
ググってみると、boost/python/init.hppというのが見つかりましたが、C++のboostライブラリをいれなさいということでしょうかね、、、
cshogi/_cshogi.cpp:635:10: fatal error: 'init.hpp' file not found
というエラーになったのですが、何したらよいでしょう。
依存関係で怒られたCythonやnumpyは入れました。
Python3.9.6でmacOS12.2です。
ググってみると、boost/python/init.hppというのが見つかりましたが、C++のboostライブラリをいれなさいということでしょうかね、、、
192デフォルトの名無しさん
2022/02/09(水) 11:35:44.94ID:gJYxYm5I それソースからインストールじゃないか?
pip install cshogi
だけでいいと思う。試しにやったらほぼ素の環境で何のエラーもなく入ったぞ
pip install cshogi
だけでいいと思う。試しにやったらほぼ素の環境で何のエラーもなく入ったぞ
193デフォルトの名無しさん
2022/02/09(水) 11:44:04.48ID:4FhfLNQw >>192
配布元のインストール方法を読んでもそんな気がしたし、多分そうだと思います。
が、私もpip install cshogiとしただけなんですよね。
venv環境下だからって、それも関係ないですよねえ。
あるいはM1マシンだから?と思ったけどintelマシンでも同じ、、、今晩から連休中にかけて、これを使って色々試そうとしてるので気になって仕事にならないです。
配布元のインストール方法を読んでもそんな気がしたし、多分そうだと思います。
が、私もpip install cshogiとしただけなんですよね。
venv環境下だからって、それも関係ないですよねえ。
あるいはM1マシンだから?と思ったけどintelマシンでも同じ、、、今晩から連休中にかけて、これを使って色々試そうとしてるので気になって仕事にならないです。
194デフォルトの名無しさん
2022/02/09(水) 13:09:33.88ID:4FhfLNQw195デフォルトの名無しさん
2022/02/09(水) 14:18:07.67ID:BADAjEq6 >>190
初期化の直後でさえ禁止するのは流石に脳死では
初期化の直後でさえ禁止するのは流石に脳死では
196デフォルトの名無しさん
2022/02/09(水) 14:47:52.14ID:iY5PkkMN >>189
Windows のRuby で、フォルダをDrag & Drop した
Ruby では、File.expand_path で、
Windows のパス区切り \ を、/ に変換できる
\ を表示するために、\\ となっている
p ARGV[ 0 ]
#=> "C:\\Users\\Owner\\Documents\\あ"
puts ARGV[ 0 ]
#=> C:\Users\Owner\Documents\あ
p File.expand_path( ARGV[ 0 ] )
#=> "C:/Users/Owner/Documents/あ"
Windows のRuby で、フォルダをDrag & Drop した
Ruby では、File.expand_path で、
Windows のパス区切り \ を、/ に変換できる
\ を表示するために、\\ となっている
p ARGV[ 0 ]
#=> "C:\\Users\\Owner\\Documents\\あ"
puts ARGV[ 0 ]
#=> C:\Users\Owner\Documents\あ
p File.expand_path( ARGV[ 0 ] )
#=> "C:/Users/Owner/Documents/あ"
197デフォルトの名無しさん
2022/02/09(水) 16:26:09.83ID:4FhfLNQw >>194
もう出てこなくていいと言われそうだけど進展。
Boostライブラリをインストールして以下のようにしたら進展しました。こんなテクがあるとは。
env LDFLAGS="-L /usr/local/Cellar/boost/1.76.0/lib/" CFLAGS="-I /usr/local/Cellar/boost/1.76.0/include/boost/python/" pip install cshogi
今度はこのパッケージのposition.hppがないって言われたけど、またちまちま調べます。pipの仕組みを勉強しないといかんですね。
もう出てこなくていいと言われそうだけど進展。
Boostライブラリをインストールして以下のようにしたら進展しました。こんなテクがあるとは。
env LDFLAGS="-L /usr/local/Cellar/boost/1.76.0/lib/" CFLAGS="-I /usr/local/Cellar/boost/1.76.0/include/boost/python/" pip install cshogi
今度はこのパッケージのposition.hppがないって言われたけど、またちまちま調べます。pipの仕組みを勉強しないといかんですね。
198デフォルトの名無しさん
2022/02/09(水) 19:10:26.80ID:OJhEklXT ctypes難しいな
memcopyが何故か超低速で困る
memcopyが何故か超低速で困る
199デフォルトの名無しさん
2022/02/10(木) 02:02:13.50ID:EK9g6ENE pipに色がついててびっくりした
200デフォルトの名無しさん
2022/02/10(木) 09:15:03.24ID:puUJkgbn プログレスバーがオサレになったね
201デフォルトの名無しさん
2022/02/10(木) 09:27:43.38ID:Tgo9r7yk richがデフォルトになったってリリースノートに書いてある
202デフォルトの名無しさん
2022/02/10(木) 20:11:51.82ID:DDROH4gR ゲーム画面などが非アクティブでも、動作させることをPythonでやりたいです。
動作としては、ssupi+teseのようなものですが、
その仕組みも知りたいのですが、教えてください!
動作としては、ssupi+teseのようなものですが、
その仕組みも知りたいのですが、教えてください!
203デフォルトの名無しさん
2022/02/10(木) 20:47:07.10ID:Bfsj9FyQ https://pypi.org/project/icoextract/
EXEファイルからICOファイルを抽出したくてこれをインストールしたのですが、これって自分のコードでimportして使うライブラリじゃなくて単体のスクリプトですか?
EXEファイルからICOファイルを抽出したくてこれをインストールしたのですが、これって自分のコードでimportして使うライブラリじゃなくて単体のスクリプトですか?
204デフォルトの名無しさん
2022/02/10(木) 21:34:58.76ID:Bfsj9FyQ >>203
ダウンロードしたの開いたらオブジェクト記述されてて使えました
ダウンロードしたの開いたらオブジェクト記述されてて使えました
205デフォルトの名無しさん
2022/02/11(金) 02:51:16.69ID:79Vi/Nfi206デフォルトの名無しさん
2022/02/11(金) 03:00:35.80ID:79Vi/Nfi SetWindowsHookExのCallWndProcフック(例外的にDLL要らない)はどうだったっけ?と思ったけど、このフックではメッセージを変更できませんって書いてあるから駄目そうだ
https://docs.microsoft.com/ja-jp/windows/win32/winmsg/about-hooks#wh_callwndproc-and-wh_callwndprocret
https://docs.microsoft.com/ja-jp/windows/win32/winmsg/about-hooks#wh_callwndproc-and-wh_callwndprocret
207デフォルトの名無しさん
2022/02/11(金) 18:55:58.63ID:Lg8I1vzk PyQtってtkinterのようにラベルに画像とテキストを一緒に表示することって可能ですか?
探してもそれらしきもの見つからなくて
探してもそれらしきもの見つからなくて
208デフォルトの名無しさん
2022/02/11(金) 21:06:34.36ID:9UXBOAM+209デフォルトの名無しさん
2022/02/11(金) 21:48:34.11ID:Lg8I1vzk >>208
ありがとうございます
[画像]タイトル
[画像]タイトル
のようなリストを作りたくて、ページ拝見させていただきましたが少しイメージと違うかもしれません
かなり強引ですが、moveの絶対位置レイアウトで、ラベル2つをペアにする方法で実装してみました
https://pastebin.com/xSdLz5x7
pyqt、無理やりなら色々なことできそうですね
ありがとうございます
[画像]タイトル
[画像]タイトル
のようなリストを作りたくて、ページ拝見させていただきましたが少しイメージと違うかもしれません
かなり強引ですが、moveの絶対位置レイアウトで、ラベル2つをペアにする方法で実装してみました
https://pastebin.com/xSdLz5x7
pyqt、無理やりなら色々なことできそうですね
210デフォルトの名無しさん
2022/02/12(土) 04:41:58.05ID:OxHugf3n ttp://codepad.org/ZCf9omJq
クラス変数の初期化で「name 'NUM' is not defined」ってエラーが出るんだけど、何が原因なんだろうか?
Python 3.10.2 64bit なんだけど、構文間違ってないよね?
クラス変数の初期化で「name 'NUM' is not defined」ってエラーが出るんだけど、何が原因なんだろうか?
Python 3.10.2 64bit なんだけど、構文間違ってないよね?
211デフォルトの名無しさん
2022/02/12(土) 05:01:01.55ID:OxHugf3n http://codepad.org/PRA31FBR
codepadだと問題なく動作するから環境なのかな
windows10+vscode+python3.10.2 64bit でだけ起きる固有の現象…?
codepadだと問題なく動作するから環境なのかな
windows10+vscode+python3.10.2 64bit でだけ起きる固有の現象…?
212デフォルトの名無しさん
2022/02/12(土) 07:42:00.42ID:qCFMK4fY import sys
print(sys.version)
codepadはテンプレから外そっか
print(sys.version)
codepadはテンプレから外そっか
213デフォルトの名無しさん
2022/02/12(土) 09:07:50.55ID:DNWolfIy214デフォルトの名無しさん
2022/02/12(土) 09:46:01.09ID:5WRcTUV/215デフォルトの名無しさん
2022/02/12(土) 10:11:14.01ID:fCVp/cR1 >>211
ideoneだと同じエラーが出るな
https://ideone.com/3rfxza
多分書き方的にはこうなるはず
https://ideone.com/bOR5p3
公式ドキュメントの所にほぼ同じサンプルで失敗する事例があるけど
そのコードと同じ
https://docs.python.org/3.10/reference/executionmodel.html
ideoneだと同じエラーが出るな
https://ideone.com/3rfxza
多分書き方的にはこうなるはず
https://ideone.com/bOR5p3
公式ドキュメントの所にほぼ同じサンプルで失敗する事例があるけど
そのコードと同じ
https://docs.python.org/3.10/reference/executionmodel.html
216デフォルトの名無しさん
2022/02/12(土) 12:09:54.30ID:OxHugf3n >>215
なるほどありがとう
この書き方がダメなのはわかったけど
クラス名.クラス変数 って書いても通らないし
__init__ でセットするとインスタンス生成のたびに実行されちゃうし困ったな
クラスごとに1回しか実行されないコンストラクタってないんだろうか
なるほどありがとう
この書き方がダメなのはわかったけど
クラス名.クラス変数 って書いても通らないし
__init__ でセットするとインスタンス生成のたびに実行されちゃうし困ったな
クラスごとに1回しか実行されないコンストラクタってないんだろうか
217デフォルトの名無しさん
2022/02/12(土) 12:23:50.95ID:DQy4vyYE こうしちゃうww
class test:
global NUM
NUM=64
POW=[pow(NUM,a) for a in range(0,5)]
class test:
global NUM
NUM=64
POW=[pow(NUM,a) for a in range(0,5)]
218デフォルトの名無しさん
2022/02/12(土) 13:02:31.30ID:OxHugf3n >>217
それクラス内変数じゃなくなっちゃってる…
一応できたけどこういう方法しかないのかな
インスタンスを生成するまで初期化されないのが気持ち悪いけど仕方ないか
https://ideone.com/kCp5Yq
それクラス内変数じゃなくなっちゃってる…
一応できたけどこういう方法しかないのかな
インスタンスを生成するまで初期化されないのが気持ち悪いけど仕方ないか
https://ideone.com/kCp5Yq
219デフォルトの名無しさん
2022/02/12(土) 13:32:52.88ID:qcs4WmEG 何でインスタンス変数じゃダメなの
220デフォルトの名無しさん
2022/02/12(土) 13:53:20.84ID:DQy4vyYE a = test()
a.output()
b = test()
b.output()
こうしたときにインスタンス変数だとpowをaつくるときとbつくるときの二回実行しちゃう
powぐらいだったらいいけど、重い処理だったら・・・
ってことじゃないかな
class内にstatic変数おけたらいいんだけどないのかな
a.output()
b = test()
b.output()
こうしたときにインスタンス変数だとpowをaつくるときとbつくるときの二回実行しちゃう
powぐらいだったらいいけど、重い処理だったら・・・
ってことじゃないかな
class内にstatic変数おけたらいいんだけどないのかな
221デフォルトの名無しさん
2022/02/12(土) 14:11:19.51ID:qCFMK4fY クラス定義しているモジュールの変数にすれば間に合う気もするけど
classmethod/staticmethodにするかメタプログラミングするかしか
classmethod/staticmethodにするかメタプログラミングするかしか
222デフォルトの名無しさん
2022/02/12(土) 14:30:51.17ID:KYIWQrD2 >>218
内包表記やジェネレータ式がクラス直下ではクラス変数を参照できないというだけなので
list(map(pow, itertools.repeat(NUM)…とかfor文+appendとか…で良いんじゃない?
2なら関係無く動くけど、nonlocal文とか出来た割にこんな罠があるとは
内包表記やジェネレータ式がクラス直下ではクラス変数を参照できないというだけなので
list(map(pow, itertools.repeat(NUM)…とかfor文+appendとか…で良いんじゃない?
2なら関係無く動くけど、nonlocal文とか出来た割にこんな罠があるとは
223デフォルトの名無しさん
2022/02/12(土) 14:56:50.33ID:5pn6K0Tu test.POW=[pow(test.NUM,a) for a in range(0,5)]
ってのをクラス定義の下にインデントなしで書けばいいんじゃないの
なんか問題ある?
ってのをクラス定義の下にインデントなしで書けばいいんじゃないの
なんか問題ある?
224デフォルトの名無しさん
2022/02/12(土) 15:50:52.05ID:OxHugf3n225デフォルトの名無しさん
2022/02/12(土) 15:52:47.87ID:OxHugf3n >>223
継承クラスを作ったときに初期化を忘れそう
継承クラスを作ったときに初期化を忘れそう
226デフォルトの名無しさん
2022/02/12(土) 19:13:13.57ID:dzEAJuso vscodeでflake8を使っていますが、メソッドの後ろに()を書かなくても警告してくれません
これを警告してもらう方法ってありませんか?
これを警告してもらう方法ってありませんか?
227デフォルトの名無しさん
2022/02/12(土) 19:21:22.02ID:qCFMK4fY 型ヒント書いてこ
228デフォルトの名無しさん
2022/02/12(土) 19:38:11.77ID:dzEAJuso メソッドだけでなく関数でも、例えば
print
と書いただけで()をつけないまま改行しても警告してくれません
と書いただけで()をつけないまま改行しても警告してくれません
229デフォルトの名無しさん
2022/02/12(土) 20:04:13.67ID:Sz70mZLP 関数オブジェクトが置いてあるのはおかしなことではない
コールバック関数に関数食わせるたびにケイコクサレタラ溜まったもんじゃない
コールバック関数に関数食わせるたびにケイコクサレタラ溜まったもんじゃない
230デフォルトの名無しさん
2022/02/12(土) 20:06:20.66ID:XbUiA07Q myprint = print
myprint('woooo!!!!!!')
myprint('woooo!!!!!!')
231デフォルトの名無しさん
2022/02/12(土) 20:06:57.27ID:Sz70mZLP 関数オブジェクト食うのは高階関数か。
とにかくコールしなくても使い道はある。
とにかくコールしなくても使い道はある。
232デフォルトの名無しさん
2022/02/12(土) 20:19:30.83ID:995Y4clk flake8、すごいね
お前のコード汚すぎる!ってたくさん言われた
自分の環境ではprint(とかなってたら警告されます
お前のコード汚すぎる!ってたくさん言われた
自分の環境ではprint(とかなってたら警告されます
233デフォルトの名無しさん
2022/02/12(土) 20:28:51.81ID:XcSi1DQ3 aa = print
のように代入するのはあり得るけど
print
だけってありえるの?
pythonだと実行時のエラーすら出ない
ほかの言語だとこういうのあり得ないからIDEに警告表示出るよな
のように代入するのはあり得るけど
だけってありえるの?
pythonだと実行時のエラーすら出ない
ほかの言語だとこういうのあり得ないからIDEに警告表示出るよな
234デフォルトの名無しさん
2022/02/12(土) 20:43:06.60ID:Sz70mZLP 文字列を直置きしてdocstringにしちゃうような言語だしなぁ
pydroidだとstatement seems to have no effectの警告が出る
pydroidだとstatement seems to have no effectの警告が出る
235デフォルトの名無しさん
2022/02/12(土) 21:19:26.94ID:Tm8PqFX/236デフォルトの名無しさん
2022/02/12(土) 21:33:52.67ID:40whDPBS237デフォルトの名無しさん
2022/02/12(土) 21:56:57.57ID:dzEAJuso238デフォルトの名無しさん
2022/02/12(土) 22:07:27.93ID:kBzBXJs5 RustとHaskellは、コンパイルを通った時点でバグが無いことを保証されると主張してますね。
Pythonに限らず、その他の言語は、まあそういうもんでしょう。
Pythonに限らず、その他の言語は、まあそういうもんでしょう。
239デフォルトの名無しさん
2022/02/12(土) 22:32:52.77ID:40whDPBS240デフォルトの名無しさん
2022/02/12(土) 23:41:28.59ID:za8M83yS >>233
関数オブジェクト理解してる?
関数オブジェクト理解してる?
241デフォルトの名無しさん
2022/02/13(日) 00:14:22.17ID:ckMeWHs6 >>240
そういう返しが来るってことは print ってだけの使いかたもあるってことなのか
そういう返しが来るってことは print ってだけの使いかたもあるってことなのか
242デフォルトの名無しさん
2022/02/13(日) 04:55:00.94ID:sMX7fMbN 上でも言われてっけどtkinterのeventとか
x.bind('<1>', print)
みたいな例はいくらでもある
x.bind('<1>', print)
みたいな例はいくらでもある
243デフォルトの名無しさん
2022/02/13(日) 07:06:20.17ID:18RMiGPm 233はなんの副作用もないステートメントの話をしてるだろ
それ副作用あるじゃん
それ副作用あるじゃん
244デフォルトの名無しさん
2022/02/13(日) 09:46:47.61ID:X4ZyWjWq こんな文字列を直置きしてdocstringにしちゃうような言語をやってると、引数に渡されてスタックに積まれる関数オブジェクトと特に作用のない関数オブジェクトの違いが理解できなくなるぞw
245デフォルトの名無しさん
2022/02/13(日) 13:12:28.71ID:ckMeWHs6 >>242
それは a=print と同じ使いかたでしょ
それは a=print と同じ使いかたでしょ
246デフォルトの名無しさん
2022/02/13(日) 13:27:15.78ID:yoBtg/nD247デフォルトの名無しさん
2022/02/13(日) 17:21:12.09ID:yB05jN77 関数へのながーい引数を変数に入れて渡すことってできませんか?
args = text="テキスト", img="img.png", color="#FFFFFF"
makeItem(args)
みたいな感じです
args = text="テキスト", img="img.png", color="#FFFFFF"
makeItem(args)
みたいな感じです
248デフォルトの名無しさん
2022/02/13(日) 17:34:48.08ID:yB05jN77249デフォルトの名無しさん
2022/02/13(日) 17:42:58.98ID:PEAS4D91 >>248
すごい細かいけど、辞書を渡す際はkwargsを仮引数にするのが暗黙のルールだったりする
すごい細かいけど、辞書を渡す際はkwargsを仮引数にするのが暗黙のルールだったりする
250デフォルトの名無しさん
2022/02/13(日) 18:20:42.99ID:MWit14K9 PythonでリストH=[a[2][3], a[5][7]]
を与えた後
H[0]を呼び出すとa[2][3]が返ってきますが、このx座標、y座標である2と3を返す関数はどう作られますか?
を与えた後
H[0]を呼び出すとa[2][3]が返ってきますが、このx座標、y座標である2と3を返す関数はどう作られますか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国が次々圧力も→高市政権の内情「日本は切る対抗カードなく、我慢しかない状況」と取材結果 [バイト歴50年★]
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★3 [♪♪♪★]
- 高市早苗首相。財務省の経済対策草案を「しょぼすぎる」と一刀両断し自らテコ入れ [バイト歴50年★]
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★4 [♪♪♪★]
- 日中関係悪化で「日本からもうすぐパンダがいなくなる」 中国SNSでトレンド1位に★2 [♪♪♪★]
- 【音楽】石川ひとみ「まちぶせ」はストーカーか 衆院委で質問 [膳摩漏★]
- 【速報】高市早苗「答弁撤回はしない」経済制裁へ★2 [931948549]
- 【速報】高市早苗「答弁撤回はしない」経済制裁へ [931948549]
- 【んな専🏡】ルーナイトたち~1週間お疲れ様なのらぁ~(・o・🍬)🏰
- 高市早苗、田崎スシローにすら正論を言われる。高市オバハン、パニクってるのか? [592058334]
- 【高市ショック】先物急落 [931948549]
- 【悲報】高市答弁、誤解だった [834922174]
