くだすれPython(超初心者用) その47【Ruby禁止】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/03/07(土) 00:40:52.77ID:k5ibAr7h
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
  ↓等のてきとうなソースコード用うpろだに貼ってきてください。
  スクショをImgur等にうp といった 手抜き(クソ行為)禁止。
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう

◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
  実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/

〇前スレ〇
くだすれPython(超初心者用) その46【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1577948214/
2020/04/13(月) 14:26:05.41ID:lVi9Np9P
not null はなんて書けばいいですか
2020/04/13(月) 17:32:47.93ID:xRaxIRXQ
>> 638
難しい質問だなぁ
何がしたいのかもう少し説明が欲しい

そのものズバリの回答ではないけど、比較演算なら以下のように行える

1. 何もない
JavaScriptのnullに相当するのはPythonではNone
Noneでないかどうかはif val is not Noneでチェック

2. 未定義である
JavaScriptの undefined に相当する定義はPythonにはない
未定義でないことを確認するにはlocals()やglobals()を使って
if ‘val’ not in locals() あるいは if ‘val’ not in globals()

3. 空文字
長さが0の文字列を表すのは””や’’
空文字でないかどうかの判定はif val != ‘’ やif not val

4. 空のリスト・タプル・辞書
空のリスト val=[] の判定は if val == [] あるいはif not val
前者はリスト型かどうかをチェック、後者は型チェックなし
空のタプル、空の辞書も同様

5. 文字列の最後
C言語で言う所のNULL文字の概念はないので否定の概念もない
文字列が終わりかどうかは文字列の長さで行う

6. ヌルポインタ
C言語で言う所の(void*)0をそのまま書くならc_void_p(0)
何と比較しても一致するものがない
640>>639
垢版 |
2020/04/13(月) 18:12:07.05ID:lVi9Np9P
たんに1.だったんですけどすごく勉強になりますありがとうございます。

Javaしかしたことなくて型が明確じゃないと自動補完が効かなくて不便な気がするのですが
どうしたら便利ですか。
2020/04/13(月) 18:13:48.73ID:lVi9Np9P
クラスメンバの宣言ってどこでしたらいいですか。
642デフォルトの名無しさん
垢版 |
2020/04/13(月) 18:28:38.16ID:IE4bYyG/
どこでしたらいいですかって基本的にクラス内でしかできんやろ
チュートリアルくらいやったか?
643デフォルトの名無しさん
垢版 |
2020/04/13(月) 18:29:04.28ID:53wmutI9
ガイジの相手をするな
2020/04/13(月) 18:35:58.64ID:dOzBkZ/1
>>641
死ね
2020/04/13(月) 18:55:28.39ID:xRaxIRXQ
>>640
幸せになるにはVScodeやJupyterを使うことかな、それで補完はOK
Noneとか入れてしまうと流石に補完は効かないけど、普通にインスタンス作ったときは補完されるよ

>> 641
ここでチマチマ聞くよりも公式ページのチュートリアルをやる方が早いと思う
https://docs.python.org/ja/3/
の9.3.5.クラスとインスタンス変数に書いてある
2020/04/13(月) 20:09:26.21ID:lVi9Np9P
>>642
Javaのstatic宣言みたいな宣言じゃないのに
メソッドやコンストラクタの外だとクラス変数になるのがよくわかりませんでした。
チュートリアルやります。ありがとうございます。

>>645
PyCharmでやってました。ほかのも試してみます。ありがとうございます。
チュートリアルやります
2020/04/14(火) 03:49:37.43ID:6FpXVfMV
Noneの判定を is でやるのは御法度じゃなかったっけ
それとも御法度は is True/Falseだったか?
2020/04/14(火) 04:51:38.42ID:0GJ57pW9
isじゃなくて、==がダメ
2020/04/14(火) 09:25:44.22ID:4XVcTuP3
>>647

NoneもTrue/Falseの判定も is を使う
isを使う場合の御法度はnumpy.bool_型と普通のbool型の比較かな

○ np.True_ == True
× np.True_ is True

例えば変数aがnp.bool_型の場合には
if a == True:
とする必要があるが、linterが入っていると「a is Trueという記法のが良いよ」と言われて直すとバグになる
2020/04/15(水) 13:07:16.08ID:r1DmQ2P3
>>637
神さまありがとう
2020/04/17(金) 07:46:54.36ID:XykWvVY9
https://ideone.com/e.js/Fq5Yrt

tkinter内で作成したプログレスバーを並列動作させるところまでできたのですが、これを閉じるのはどうしたらいいのでしょうか?check関数で確認すると3本生きたままっぽいです
最終的に、先に終了するth1をカウントダウンタイマーとして使い、th1を閉じるのと同時に遅いth2を強制終了したいのです
652デフォルトの名無しさん
垢版 |
2020/04/17(金) 12:55:14.42ID:3B9MCfUY
https://stackoverflow.com/questions/110923/how-do-i-close-a-tkinter-window
https://qiita.com/mushroominger/items/db4e6bf0a5f2abd9cf5f
2020/04/17(金) 17:18:27.88ID:oCAFpx9E
わからないなら黙ってろよ…
654デフォルトの名無しさん
垢版 |
2020/04/18(土) 01:55:56.99ID:qqNbhhuh
まったくのプログラム初学者です。
実際に使用されるプログラムにおいてprint()って関数は使用することあるんでしょうか?
どうも実際に動いてるイメージが掴めなくて困っています。
2020/04/18(土) 02:22:57.85ID:1kOraatg
デバッグ
CGI出力
ログ
テキストベースのアプリ
2020/04/18(土) 02:33:44.38ID:YlPXTg+Q
デバッグはprint(変数)で何が出力されるか確認するクセ付けといた方がいいよ
print(type(変数))で型も分かるし
これはどの言語でも共通すること
2020/04/18(土) 05:21:26.28ID:/lJ7KZ01
>>654
それはCUIのアプリを
使わない(作らない)から
2020/04/18(土) 06:36:21.93ID:vyuWkg/I
まだprintでデバッグして消耗してるの?
logger使おうな
2020/04/18(土) 08:04:27.02ID:4SpyI++v
デバッグはprintで十分
何かするたびに新しいツールやライブラリに頼るのはPython使いの悪い癖
2020/04/18(土) 08:23:02.96ID:MCs2/Z36
自動2chまとめ記事投稿のプラグインを買って、色んなサイトに複製したりしてるんだが
これがpythonなのかどうかとかの判断方法ってあるんですかね?
クローラーとかが書いてあったらpython?
2020/04/18(土) 08:54:25.18ID:jMxNMUbH
拡張子がpyのファイルがあったらpython
2020/04/18(土) 09:34:00.97ID:MCs2/Z36
ありがとうございます。
拡張子はphpのものしかないのでphpっていう言語ですかね。
2020/04/18(土) 09:40:40.33ID:21FUasb+
PY=パラグアイ
664デフォルトの名無しさん
垢版 |
2020/04/18(土) 09:46:00.88ID:qqNbhhuh
>>655-657
なるほど、使うんですね!
ありがとうございます。
665デフォルトの名無しさん
垢版 |
2020/04/18(土) 10:26:13.70ID:xymtyLA0
printで充分間に合うときはそうするけど
副作用もあるし実際困るときはファイルに書き出すし
それならloggerの方が便利だぜってなるのは自然な流れだと思う
2020/04/18(土) 12:27:36.96ID:jMxNMUbH
>>662
せやね
667デフォルトの名無しさん
垢版 |
2020/04/18(土) 13:35:30.34ID:YqZGjV1n
>>639
横からすいません
すごく勉強になります。
感謝いたします。
668デフォルトの名無しさん
垢版 |
2020/04/18(土) 18:49:35.21ID:Zse46GbC
すいません、教えてもらえませんか?
a = [[1,2],[3,4],[5,6],[7,8]........]
という感じの配列があるとして(中の数字は適当ですが二個ずつ入ってます)
1,3,5,7の最大と最小
2、4,6,8の最大と最小
を出すにはどうしたらいいですか?
普通だったらmax(a)とかで出来るんですが
行列がふえると分からないです
669デフォルトの名無しさん
垢版 |
2020/04/18(土) 19:04:35.27ID:6SsFugeU
>>668
import numpy as np
a=np.array(a)
max1357=a[:,0].max()
max2468=a[:,1].max()

numpy無しなら
max1357=max(b[0] for b in a)
max2468=max(b[1] for b in a)
2020/04/18(土) 22:07:31.63ID:RJUBXezV
テスト
2020/04/18(土) 22:08:51.53ID:RJUBXezV
テスト
672668
垢版 |
2020/04/18(土) 22:11:41.90ID:Zse46GbC
>>669
ありがとうございます
めっちゃ短いですね、助かります!!
673デフォルトの名無しさん
垢版 |
2020/04/19(日) 12:07:34.75ID:GwEHrb8r
Jupyter Notebookを使ってスクレイピングをしています。

soup.find_all(class_="bcs_l")
[<li class="bcs_l"><span>< 前へ</span></li>,
<li class="bcs_l"><a href="/bc/category/?q=%83T%81%5B%83t%83F%83X+%83%89%83b%83v%83g%83b%83v&;sg=%83T%81%5B%83t%83F%83X%81%40%83%89%83b%83v&;rowPerPage=100&;p=2#bcs_resultTxt">次へ ></a></li>]


ここから次のページのurlを取得するために
soup.find_all(class_="bcs_l").get("href")を使用しましたがAttributeErrorになりました。
違うサイトではこのような状況で取得できるようなことがあるのですが、この場合はなぜ取得できないのでしょうか?教えていただければ幸いです。宜しくお願いします。
674デフォルトの名無しさん
垢版 |
2020/04/19(日) 12:10:16.28ID:QdkeRkpH
soup.find_all(class_="bcs_l")[0].get("href")
675デフォルトの名無しさん
垢版 |
2020/04/19(日) 16:58:11.82ID:GwEHrb8r
>>674
ありがとうございます。試してみましたが何も取得できませんでした。
lenで確認したところ2でしたので
for link in soup.find_all(class_="bcs_l"):
print(link.get("href"))で確認しましたが
Noneが2つ返ってきただけなので…違う方法も試してみます
2020/04/19(日) 17:00:42.38ID:6cmsH0zO
アクセスしてからsoup.find_allするまでに
何秒か待ったらどうなるの >>675
2020/04/19(日) 17:07:24.94ID:uoG1gk2+
>>675
for link in soup.select(".bcs_l > a"):
print(link.get("href"))

hrefがあるのはaタグ
678デフォルトの名無しさん
垢版 |
2020/04/19(日) 17:54:50.56ID:GwEHrb8r
>>675
すみません、初心者で用語を理解していないからなのか
どういう意味なのかわからないです。

>>675
取得できました。ありがとうございます。aタグから
soup.find_all(class_="bcs_l").find("a").get("href")で取得できないのは
soup.select(".bcs_l > a")と何が違うのでしょうか?
2020/04/19(日) 18:19:04.65ID:6cmsH0zO
>>678
アンカー番号間違ってるぞ
正せ
680デフォルトの名無しさん
垢版 |
2020/04/19(日) 18:29:05.46ID:GwEHrb8r
>>676
すみません、初心者で用語を理解していないからなのか
どういう意味なのかわからないです。

>>677
取得できました。ありがとうございます。aタグから
soup.find_all(class_="bcs_l").find("a").get("href")で取得できないのは
soup.select(".bcs_l > a")と何が違うのでしょうか?


>>679
ご指摘ありがとうございます。気をつけます。
2020/04/19(日) 18:44:42.04ID:cEt+Wu4G
>>680
find_all(class_="bcs_l")した各要素について個々にそのaタグからhrefを取得しないとだめかな。
2020/04/19(日) 22:47:27.35ID:CjbETmo/
超初心者です。教えてください。

VSCodeの方が使いやすいと見たので、インストール後に動作確認の為にTkinterでウィンドウを表示させるだけのソースを実行してみたのですが、表示されません。("HelloWorld"は問題なく動作します。)

同ソースをPythonのIDLEで実行すると問題なく表示されるのですが、VSCodeで実行できるようにするにはどうすればよいのでしょうか?
確認方法を教えていただけませんか?
2020/04/19(日) 22:57:19.20ID:CjbETmo/
682です。
自己解決しました。
テストだったのでTkinter.pyと適当にファイル名をつけていたのですが、違う名前にすると動きました。
2020/04/19(日) 23:53:03.41ID:u21QryuH
>>680
find_all は単数形、つまり単なる要素か、
または複数形、つまり配列のどちらを返すのか?

そういうのを使う関数の文書で調べる

単数形なら、そのまま、要素.get("href")
で取得できるけど

配列なら、配列[インデックス].get("href")
とインデックスで、どの要素か指定しないとダメ!

つまり各要素は、配列内に複数あるから
2020/04/20(月) 04:23:42.20ID:hSQKG7tu
tkinterでmultiprocessing使うとき
if__name__=='_main_'しないとトップレベルがもう一枚出てくるんですが、ガイドの説明がわかりません

新たな Python インタプリタによるメインモジュールのインポートが、意図しない副作用 (新たなプロセスを開始する等) を起こさずできるようにしてください
代わりに、次のように if __name__ == '__main__': を使用してプログラムの "エントリポイント" を保護すべきです
これは新たに生成された Python インタープリターがそのモジュールを安全にインポートして、モジュールの foo() 関数を実行します。

新たなプロセスが開始されてしまってトップレベルの二枚目が出てきてるのでしょうが、エントリポイントとか、もう少しわかりやすく教えていただけませぬか?
686デフォルトの名無しさん
垢版 |
2020/04/20(月) 07:04:37.57ID:OEA9vQ4l
spyder4使用中に
カーソルが変なのになっちゃったんですが、どうやって直せばいいでしょうか?
通常はアルファベットなどの間に縦線点滅するんですが、ある特定のファイルの時だけアルファベット1文字を塗りつぶすように白く点滅してしまい
何かを入力するとカーソル合わせてるアルファベットが置き換わってしまいます。
なんか説明下手ですいません。
2020/04/20(月) 07:09:32.69ID:Hrpb22UD
キーボードのインサートキー押してみ。
688デフォルトの名無しさん
垢版 |
2020/04/20(月) 07:15:30.56ID:OEA9vQ4l
>>687
ありがとうございます。
解決しました!
2020/04/20(月) 07:18:57.36ID:QtplPQ3l
インサートあるある
2020/04/20(月) 09:31:58.70ID:aqwTNz7b
>>685
Ruby でも使う、典型的なイディオム。
以下を、main.rb ファイルに書いて、ruby main.rb
と実行すると、$0 には、起動時の引数に渡した、main.rb が入ってくる

puts $0 # main.rb

if __FILE__ == $0
puts "メイン処理"
end

一方、__FILE__ は、現在評価中のファイル名だから、
これらが一致する時は、起動時の引数に渡したファイルが評価中なので、メイン処理である

一方、このファイルが、require, load などで、
他のファイルから、モジュールとして呼ばれた時は、
これらが一致しないので、メイン処理の部分を通らない

このように、そのファイルをメイン処理と、モジュールとして呼ばれた場合を、書き分ける方法である
2020/04/20(月) 10:36:13.89ID:+gih2h5m
「.zfill」みたいな、オブジェクトの後にドットをつけて処理を行うものについて質問です
・あれの呼び名は「メソッド」で合ってますか?
・あれを自作したいんですが、どうやればいいんでしょうか?
2020/04/20(月) 13:06:58.68ID:HGFKbNwa
勉強の方向性について質問です
pythonで実験データを解析出来るようになりたく、また可能であれば機械学習まで勉強したいのですが

pythonの基本をやってからそのままnumpyとpandaの勉強をする、という流れで大丈夫ですか?
教材はオライリーのデータ分析入門を使っています
加えてこれを勉強した上で機械学習を勉強するのにおすすめの教材(webでも本でも)はありますか?

また勉強の息抜きにtkinterでゲームを作って遊んでいるのですが、データ分析においてtkinterは使われるものなんでしょうか?
このままtkinterを勉強するべきか悩んでいます
自分の作ったプログラムを使いやすくするためにguiでソフトを作るって感じの認識で合ってますか?
2020/04/20(月) 13:09:05.04ID:HGFKbNwa
>>692
今は3日目くらいでとりあえずデータのインポート、書き出しを勉強してます
panda、numpyの関数は細かい所までやるとキツいので飛ばし飛ばし勉強してます
2020/04/20(月) 13:10:02.43ID:HGFKbNwa
>>692
連投ごめんなさい
誤字してました
pandasですね
695デフォルトの名無しさん
垢版 |
2020/04/20(月) 13:10:35.94ID:qCtnBvYT
>>691
・メソッドで合っている
(個人的には組み込み型への組み込みメソッドと勝手に読んでいる)

・setattrを使えば自作できるんじゃね?
696デフォルトの名無しさん
垢版 |
2020/04/20(月) 14:17:50.43ID:X6dUog3k
>>697
numpy
pandas
tkinter
どれも定番
問題ない
それより判らないからって飛ばすな
2020/04/20(月) 14:49:27.40ID:+gih2h5m
>>695
回答ありがとうございます
setattrは自作クラスにクラス内変数を追加する命令っぽいですね

自分でも調べたところ、Pythonでは組み込み型にメソッドは追加できないそうです
まぁ、関数だと見た目が悪いからメソッドを使いたかっただけなんで、
この件はもういいやってことにしときます
2020/04/20(月) 14:52:24.64ID:UbANMxrk
>>697
built-inじゃないクラスは簡単に拡張可能
https://ideone.com/f5IdkS

built-inは通常のやり方では拡張できないけど以下のライブラリを使えば簡単にできるよ
https://github.com/clarete/forbiddenfruit
699デフォルトの名無しさん
垢版 |
2020/04/20(月) 16:33:40.85ID:yG2JzEgp
入門書を一通り終えた初学者です。
Djangoを学びたいと思うんですが、おすすめの書籍またはサイトなどありますでしょうか?
2020/04/20(月) 16:50:13.28ID:FQ8XoWU0
こーしき
2020/04/20(月) 17:10:46.29ID:HGFKbNwa
>>696
ndarrayの後半辺りがキツくて軽く飛ばしちゃいました
実際使ってみた方が覚えるかなと思ってわからなくなったら戻って、って感じでやってますが基礎しっかり固めてからの方が良いですかね?
702デフォルトの名無しさん
垢版 |
2020/04/20(月) 18:35:06.05ID:fT3DVvgj
>>681
>>684

詳しくありがとうございます。単数形と複数形のことを理解できました。
2020/04/20(月) 18:52:59.32ID:kSCiJILD
>>701
行列の作り方とか掛け算とか逆行列、転置、縦横につなげるとかのやり方がわかってれば問題ないよ
大学教養レベルの線形代数がわかってれば、だけど
そもそも線形代数がわかってないとかだとなにするにしても辛いかも
2020/04/20(月) 19:48:14.45ID:qEnmFjBQ
bs4で一番上の親(BeautefulSoupオブジェクトのひとつ下)のクラスを
子要素から取得(判定でも可)したいんですけど・・・全然上手くいかない!
何卒お助け下さい

child.parent.parent.select('.test')←エラー
child.parent.parent['class']←エラー
child.parent.parent.find(class_='test')←エラー
これは呪いですか
2020/04/20(月) 20:10:13.84ID:aqwTNz7b
>>699
Python Django 超入門、掌田津耶乃、2018

主要言語・フレームワーク・ゲームエンジンで、掌田!
2020/04/20(月) 20:12:59.23ID:aqwTNz7b
>>704
それだけじゃ分からない

構造化されたHTML でもあれば、Ruby でも出来るけど
707デフォルトの名無しさん
垢版 |
2020/04/20(月) 20:43:00.39ID:kSCiJILD
>>704
https://gist.github.com/jnakanojp/559bbfab6e7d778c8cb8f54a4753e6d9
で試してみたけどその方法で基本的には問題ない
parentし続けると最終的にはNoneになって、その前にBeatifulSoupオブジェクトになるから、
bso = child
while True:
 bso_candidate = bso.parent
 if type(bso_candidate) is None:
  break
 bso = bso_candidate
とかしたらbsoにはBeautifulSoupオブジェクトが入るはずなので、そのひとつ下のタグをあれこれするというのが確実にできる
まずは、type(child.parent.parent)とか、child.parent.parent.nameとかで何のタグまたはオブジェクトを触っているのか確認したほうが良いよ
708707
垢版 |
2020/04/20(月) 20:43:57.23ID:kSCiJILD
コードのインデントが間違ってた。
bso = child
while True:
 bso_candidate = bso.parent
 if type(bso_candidate) is None:
  break
bso = bso_candidate
だね。
709707
垢版 |
2020/04/20(月) 20:44:23.45ID:kSCiJILD
いや、707で合ってた。708は間違いなので無視してください。
2020/04/20(月) 21:10:32.79ID:Hrpb22UD
つか、最終的に一番上のクラス探すなら、子要素からたどる意味が分からん。
body > [class] でいいんじゃ?
2020/04/20(月) 21:52:03.15ID:UbANMxrk
>>704
.parentsで辿れば?
[ (p.name, p.get('class')) for p in foo.parents]

DOMツリーの上方向に検索したいならfind_parentやfind_parents
2020/04/20(月) 22:39:04.83ID:qKSQC843
djangoモデルとビューのファイル分けがたるいから嫌い
2020/04/20(月) 23:01:37.99ID:GAbBUhLP
>>698
名前がいいねw
714デフォルトの名無しさん
垢版 |
2020/04/21(火) 01:11:00.36ID:/3Jp9NA+
>>705
ありがとうございます!
2020/04/21(火) 06:02:46.02ID:fqjEBtME
>>692
>このままtkinterを勉強するべきか
直接機械学習とは関係ないけど
GUIが使えた方が何かと便利でしょ?

他のGUIライブラリが使えるならともかく
ひとつ位覚えておくことをオススメしたい
2020/04/21(火) 07:53:21.85ID:lmlXl3y2
>>705
掌田津耶乃って誤記が多くね?
2020/04/21(火) 09:08:06.37ID:1MDMdwK8
>>715
pythonでGUIとかギャグだからC#にしとけ
2020/04/21(火) 09:11:05.41ID:pjMFHcsu
簡単な自作ツール作る時には便利>tkinter
ただ本格的なツールやプロジェクトとしてやるなら別言語レベルで決めるかな
Pythonって外部ライブラリでもGUIってあんまり良いの無いよね
2020/04/21(火) 09:22:53.81ID:OETon1Dj
Guiを使うとコードが冗長になるからなあ
Pythonの美しさ・シンプルさが失われてしまう
2020/04/21(火) 09:24:59.38ID:1MDMdwK8
pythonはpocでサクッと分析するのに使う程度でモデルが決まったらコンパイル言語でFIXでしょ
2020/04/21(火) 09:27:27.15ID:ZtCEHmot
普通にPythonを業務で本番運用してるが
PythonでGUIはギャグは同意
2020/04/21(火) 09:32:09.17ID:9jT8JPrw
4年やってるが今日初めて制御構造でスコープ作られないことを知ったわw
独学のこわいところ
2020/04/21(火) 09:39:05.21ID:4+iQ7BrP
個人で使うだけだしライブラリ便利だからばりばりGUIやってるけど1つ困ってる
これエラーで止まるんだけど無視できない?エラー出る原因は分かってるから使い方で回避してるんだけど

def aaa(self, pos):
  try:
    win32api.SetCursorPos(pos) ←ここで止まる
  except:
    pass
724デフォルトの名無しさん
垢版 |
2020/04/21(火) 10:56:12.08ID:oAPU8LL6
GUIでSetCursorPosって使うモンなの?
2020/04/21(火) 10:59:57.15ID:9jT8JPrw
win32apiとかいう奴の問題でしょ
例外が発生するまでの間に何か破壊的な挙動でもしてるんじゃない
passじゃなくて例外発生前の状態に復元する処理とか初期化書けば動くでしょ知らんけど
2020/04/21(火) 12:09:31.13ID:9jT8JPrw
そうかpython本体が落ちるってことか?
ならその分かってる原因の場合はモジュール走らせないことだな
setcursorposってことはposが0なら死ぬとかじゃないの知らんけど
やるべきことはtryで捕まえるではなくifでモジュールコールの回避
2020/04/21(火) 12:12:50.38ID:4+iQ7BrP
モニター切り替え時とかRDP接続時とかとタイミング重なったときだけなんで
pos入ってるけどset先を見失ってるのかな
2020/04/21(火) 12:34:29.73ID:KeQ+5vSZ
>>727
エラーコードを貼った方が良いのと、>>726が言う通り、事前にOpenInputDesktop()を使ってSetCursorPos()が使えるかどうか確認した方が良さげ
729704
垢版 |
2020/04/21(火) 12:55:18.23ID:4YI6COSQ
みなさまありがとうございました
find_parentでいけました
ドキュメント読んだつもりがこのメソッド見逃してました
2020/04/21(火) 14:36:47.33ID:9fcQjJm8
>>722
ホラーだな

他言語ではまずあり得ないけど
スコープ周りはPythonの一番イケてないところだから
公式チュートリアル含め下手な入門書ではきちんと解説されてない
逆にlist comprehensionやlamdaなんかを含めて
スコープ周りをまとめてわかりやすく解説できてる本は良書
731デフォルトの名無しさん
垢版 |
2020/04/21(火) 15:23:53.25ID:tZ6+KmAU
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
732デフォルトの名無しさん
垢版 |
2020/04/21(火) 15:36:00.45ID:hDMy4faN
>>716
糞本乱造だからNGワードでOK
2020/04/21(火) 17:11:22.30ID:odtAm0N6
>>722
オライリーの初めてのPythonなんかはかなりわかりやすい。
2020/04/21(火) 17:25:04.84ID:/HF3uYeq
tkinterやってていつも悩むんだけど、stringをコードのあちらこちらに使うよね。主に説明文とかラベルとかで
これ全部変数化したほうがいいのか、一回しか書かないとこは直書きでいいのかとか、どう処理するのがいいんだろう?
一回全部別クラスにまとめてやろうかと思ったんだけど、冗長な気がして途中でやめてしまった
2020/04/21(火) 18:55:44.84ID:1MDMdwK8
>>734
埋め込みなら直でええわ。
2020/04/21(火) 19:34:00.63ID:f6Wi3d68
funcs = (func1(), func2())
out = reduce(lambda f, g: lambda *args, **kwargs: g(f(*args, **kwargs)), funcs)

これは何をしてるのですか?意味が分かりません。
2020/04/21(火) 20:41:39.25ID:HADG6GDb
漏れは、Ruby で、

noop: true, verbose: true を指定して、
すべての引数を親クラスへ丸投げする、関数を作ったけど、それと同じだろ

def f( *args, **options )
super( *args, **options, noop: true, verbose: true )
end
2020/04/21(火) 22:11:24.32ID:9fcQjJm8
>>736
funcsに入れた関数を順番に適用する合成関数outを生成している
funcs = (func1, func2) の間違いじゃなければfunc1やfunc2が関数を返す関数
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況