当スレに★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(超初心者用) その56
http://mevius.5ch.net/test/read.cgi/tech/1640536690/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
【まず1嫁】くだすれPython(超初心者用) その57
■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
751デフォルトの名無しさん
2022/08/08(月) 18:30:45.48ID:VXkV51Mv >>746
そうですね。書いてありましたね。
あとやったとすれば、
a.datas += [('習済みデータ.xml','.\\習済みデータ.xml', 'DATA'),]
※学習済みデータは「haarcascade_frontalface_default.xml」等
を記述したことと、1つのファイルにしたときに、Temporaryの実行パスを取得を工夫したことくらい…
あ、できたファイルを実行時にウィルスとして検知されるので、
pyinstallerの中のファイルの再コンパイルも必要です。
そうですね。書いてありましたね。
あとやったとすれば、
a.datas += [('習済みデータ.xml','.\\習済みデータ.xml', 'DATA'),]
※学習済みデータは「haarcascade_frontalface_default.xml」等
を記述したことと、1つのファイルにしたときに、Temporaryの実行パスを取得を工夫したことくらい…
あ、できたファイルを実行時にウィルスとして検知されるので、
pyinstallerの中のファイルの再コンパイルも必要です。
752747
2022/08/08(月) 19:28:04.38ID:ej7caoJh >>748-750
ありがとうございます
すいません、聞き方が悪かったです
ショートサーキットの機構については分かります
bool型を返すわけではないprint()関数が右端に「使える」ことが不可解です
print()は確かNoneを返す関数だったはず
ありがとうございます
すいません、聞き方が悪かったです
ショートサーキットの機構については分かります
bool型を返すわけではないprint()関数が右端に「使える」ことが不可解です
print()は確かNoneを返す関数だったはず
753デフォルトの名無しさん
2022/08/08(月) 19:40:14.54ID:Rerux/uK >>752
None を bool として評価すると False になる
None を bool として評価すると False になる
754デフォルトの名無しさん
2022/08/08(月) 19:41:18.38ID:wsYAfPSE755デフォルトの名無しさん
2022/08/08(月) 20:06:39.11ID:UzajzKaJ756デフォルトの名無しさん
2022/08/08(月) 20:15:13.65ID:EDIALeRU >>755
評価時に__bool__が呼ばれます。if とかで使うと出力される。
評価時に__bool__が呼ばれます。if とかで使うと出力される。
757デフォルトの名無しさん
2022/08/08(月) 20:33:20.93ID:EDIALeRU 左だとすぐに呼ばれるのに対して違うんですね理解しました
758デフォルトの名無しさん
2022/08/08(月) 21:21:18.46ID:icSMNlYR 文字列の置換って
translate()とreplace()のいいとこ取りの置換方法ないの?
translate()は
"aa"→"b"
にできないんだよね?
あと
AAA = kansuu(AAA)
BBB = kansuu(BBB)
CCC = kansuu(CCC)
DDD = kansuu(DDD)
みたいな感じになってるときって
for文で入れていく以外思いつかないんだけど、他に見やすい書き方あるかな?
translate()とreplace()のいいとこ取りの置換方法ないの?
translate()は
"aa"→"b"
にできないんだよね?
あと
AAA = kansuu(AAA)
BBB = kansuu(BBB)
CCC = kansuu(CCC)
DDD = kansuu(DDD)
みたいな感じになってるときって
for文で入れていく以外思いつかないんだけど、他に見やすい書き方あるかな?
759デフォルトの名無しさん
2022/08/08(月) 22:27:42.98ID:GdyVfCQX760デフォルトの名無しさん
2022/08/09(火) 11:17:14.43ID:6xBGELHM フォルダパスとファイル名とURLを書くと画像を保存してくるコードを書いたんだけど
https://techiedelight.com/compiler/?BQkA
エラーの対処はわかったんだけど、もっと別の書き方があるのではと思ってしまう
他の人はこれをどう書きますか?
https://techiedelight.com/compiler/?BQkA
エラーの対処はわかったんだけど、もっと別の書き方があるのではと思ってしまう
他の人はこれをどう書きますか?
761デフォルトの名無しさん
2022/08/09(火) 13:25:52.34ID:804xd0t9 raw文字列
762デフォルトの名無しさん
2022/08/09(火) 14:13:10.80ID:6cdAV71K バックスラッシュの代わりに、スラッシュを使う
でもいい
でもいい
763デフォルトの名無しさん
2022/08/09(火) 14:27:14.68ID:reKZbZGW raw文字列、joinpath、with_suffix
764デフォルトの名無しさん
2022/08/09(火) 16:46:37.99ID:904t2Z05 pathlib一択でしょうね
765デフォルトの名無しさん
2022/08/09(火) 17:34:17.89ID:VX/MyXfz HTTPErrorやIOErrorのハンドリングもやったほうがいいよ
766デフォルトの名無しさん
2022/08/09(火) 17:48:28.39ID:/U/bpI39 外部からの入力系は全部
try:
req
except:
クソ
するな俺は。ユーザーは信用しない
あとダウンロード系も
try:
down
except:
失敗
する。どんなわけわからんエラーくるかしらんし
try:
req
except:
クソ
するな俺は。ユーザーは信用しない
あとダウンロード系も
try:
down
except:
失敗
する。どんなわけわからんエラーくるかしらんし
767デフォルトの名無しさん
2022/08/09(火) 18:07:25.22ID:RasYFqXo 外部とのやり取りは一筋縄ではいかないからねえ
ついでにリトライも入れておきたい
requestsには頼らずビルトインで頑張るw
ついでにリトライも入れておきたい
requestsには頼らずビルトインで頑張るw
768デフォルトの名無しさん
2022/08/09(火) 18:28:07.98ID:Lt/MnBAv >>766
それ普通じゃね?
それ普通じゃね?
769デフォルトの名無しさん
2022/08/09(火) 21:17:15.16ID:DxAePLof わざわざtryしなくても例外が起きると止まるっしょ
770デフォルトの名無しさん
2022/08/09(火) 22:15:13.78ID:v2aJaQdL わざわざブレーキつけなくても事故れば止まるっしょ
771デフォルトの名無しさん
2022/08/09(火) 23:22:34.01ID:xxgft6hm >>760
Windows で、path = "C:\a\b"
みたいに、\ を使わなければならないの?
Ruby では、
path = "C:/Users/Owner/Documents/a"
みたいに、/ を使うけど
Windows で、path = "C:\a\b"
みたいに、\ を使わなければならないの?
Ruby では、
path = "C:/Users/Owner/Documents/a"
みたいに、/ を使うけど
772デフォルトの名無しさん
2022/08/09(火) 23:25:51.13ID:KqAyUORM773デフォルトの名無しさん
2022/08/09(火) 23:34:41.82ID:oM0lzHLp 合わせてバックストレッチ。
774747
2022/08/09(火) 23:46:35.97ID:8UDvOyKH レスが遅くなってすいません
答えてくれた方ありがとうございました
ああいった書き方もあるんだと頭の片隅に留めておきます
答えてくれた方ありがとうございました
ああいった書き方もあるんだと頭の片隅に留めておきます
775デフォルトの名無しさん
2022/08/10(水) 00:02:07.83ID:DjE5xMJT >>769
普通はエラー処理系にraiseするからtry節置くと思うが
普通はエラー処理系にraiseするからtry節置くと思うが
776デフォルトの名無しさん
2022/08/10(水) 02:29:00.47ID:kx7L/9BB なにが普通かは人による
777デフォルトの名無しさん
2022/08/10(水) 03:50:21.12ID:obfeaPUq なぜこの関数が作られたのかを考えながらプログラム書くとすっきりする
778デフォルトの名無しさん
2022/08/10(水) 10:26:29.49ID:rR8/AFmc Enum 列挙型という概念を初めて知ったが
使い所がよくわからない
使い所がよくわからない
779デフォルトの名無しさん
2022/08/10(水) 12:53:32.14ID:vnHVeG1e 関数をローカル変数に代入するメリットって何でしょうか?
780デフォルトの名無しさん
2022/08/10(水) 13:19:15.14ID:8RUvvZbB 何度も同じ計算をしないで結果だけ繰り返し使える
781デフォルトの名無しさん
2022/08/10(水) 13:33:33.79ID:bGy3yklD 場合によるけど、処理前半でローカル変数に関数を代入しておくことで、処理後半の分岐が消えて見通しが良くなる可能性はあるかも。
何らかの理由でリネームしたかったとか?
何らかの理由でリネームしたかったとか?
782デフォルトの名無しさん
2022/08/10(水) 15:00:50.94ID:vnHVeG1e ありがとうございます
783デフォルトの名無しさん
2022/08/10(水) 15:59:42.31ID:WlLD55gQ784デフォルトの名無しさん
2022/08/10(水) 17:43:12.15ID:YLnkT8Qt785デフォルトの名無しさん
2022/08/10(水) 21:48:18.68ID:5JgNVH0W かけるかな
786デフォルトの名無しさん
2022/08/11(木) 07:13:22.60ID:HPSk7Pik https://i.imgur.com/FBcOaIq.png
質問です。WindowsでColabでやってます。
1024×768のサイズの画像のみを収集したいのですが、
違うサイズの画像が入ってきます。どうすればいいですか?
質問です。WindowsでColabでやってます。
1024×768のサイズの画像のみを収集したいのですが、
違うサイズの画像が入ってきます。どうすればいいですか?
787デフォルトの名無しさん
2022/08/11(木) 07:56:07.13ID:X31RE6bn788101
2022/08/11(木) 09:45:20.53ID:fCiqpa8j 英語って本当にプログラムに適してるのか?
isspace()
って何かと思ったらis spaceかよ
空白ないと判別しにくいのはプログラミングにおいてどうかと思うわ
isspace()
って何かと思ったらis spaceかよ
空白ないと判別しにくいのはプログラミングにおいてどうかと思うわ
789デフォルトの名無しさん
2022/08/11(木) 10:00:41.98ID:nadsErGw キャメルケースとかスネークケース使えよ
790デフォルトの名無しさん
2022/08/11(木) 10:13:40.52ID:ECrQVbq4 atoi
791デフォルトの名無しさん
2022/08/11(木) 11:12:03.43ID:m7iYSaV1 >>788
少なくともあんたはプログラムに向いてないな
少なくともあんたはプログラムに向いてないな
792デフォルトの名無しさん
2022/08/11(木) 12:26:10.60ID:fKEJQx+N https://i.imgur.com/HJTruLr.png
>>787
ありがとうございます。早速、記入してみたのですが、
画像が収集できなくなりました!
AssertionError となりましたが、どうすればいいですか?
>>787
ありがとうございます。早速、記入してみたのですが、
画像が収集できなくなりました!
AssertionError となりましたが、どうすればいいですか?
793デフォルトの名無しさん
2022/08/11(木) 12:46:20.99ID:7cUH/Z7I ×(かける)じゃなくて x(エックス)じゃねーの?
=1024x768
てか、コードはスクショじゃなくてコピペしてくれ
=1024x768
てか、コードはスクショじゃなくてコピペしてくれ
794デフォルトの名無しさん
2022/08/11(木) 13:47:35.08ID:fKEJQx+N >>793
ありがとうございます。早速、修正してみたのですが、
TypeError となりました!どうすればいいですか?
コードのコピペ↓
from icrawler.builtin import GoogleImageCrawler
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10)
ありがとうございます。早速、修正してみたのですが、
TypeError となりました!どうすればいいですか?
コードのコピペ↓
from icrawler.builtin import GoogleImageCrawler
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10)
795デフォルトの名無しさん
2022/08/11(木) 13:58:15.94ID:7cUH/Z7I エラーもコピペしてくれよ...
796デフォルトの名無しさん
2022/08/11(木) 14:07:01.78ID:fKEJQx+N >>795
このようなエラーとなっています。
エラー↓
Exception in thread parser-001:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/icrawler/parser.py", line 104, in worker_exec
for task in self.parse(response, **kwargs):
TypeError: 'NoneType' object is not iterable
このようなエラーとなっています。
エラー↓
Exception in thread parser-001:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/icrawler/parser.py", line 104, in worker_exec
for task in self.parse(response, **kwargs):
TypeError: 'NoneType' object is not iterable
797デフォルトの名無しさん
2022/08/11(木) 15:00:05.18ID:7cUH/Z7I798デフォルトの名無しさん
2022/08/11(木) 15:15:10.72ID:fKEJQx+N799デフォルトの名無しさん
2022/08/11(木) 15:27:49.52ID:JwgkCgjA めちゃ無駄だけど1024x768以外の画像は捨てちゃうぐらいしか思いつかん...
800デフォルトの名無しさん
2022/08/11(木) 16:47:42.06ID:X31RE6bn >>798
できました、min_sizeとmax_sizeも指定する必要があるみたいです
Python3.10でやりました、TypeErrorにはなりませんでした
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10, min_size=(1024, 768), max_size=(1024, 768))
できました、min_sizeとmax_sizeも指定する必要があるみたいです
Python3.10でやりました、TypeErrorにはなりませんでした
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10, min_size=(1024, 768), max_size=(1024, 768))
801デフォルトの名無しさん
2022/08/11(木) 18:48:40.17ID:fKEJQx+N >>800
ありがとうございます。早速、試してみましたが、
バージョン違いのためかNameError となりました。
現在、Python 3.9.12 のバージョンなのですが、
ColabでPython3.10にするにはどうすればいいですか?
ありがとうございます。早速、試してみましたが、
バージョン違いのためかNameError となりました。
現在、Python 3.9.12 のバージョンなのですが、
ColabでPython3.10にするにはどうすればいいですか?
802デフォルトの名無しさん
2022/08/11(木) 18:56:22.30ID:X31RE6bn エラーもコピペしてくれよ...
803デフォルトの名無しさん
2022/08/11(木) 19:26:39.81ID:L6VcpDZr バージョン違いって断定してるんだからそれでいいだろ
他の可能性を検討しようとするなよ
他の可能性を検討しようとするなよ
804デフォルトの名無しさん
2022/08/11(木) 19:33:40.56ID:RPSv5K1g そんな能力あるのになんでColabのバージョンは変えられないの?
805デフォルトの名無しさん
2022/08/11(木) 19:36:46.54ID:X31RE6bn806デフォルトの名無しさん
2022/08/11(木) 19:38:03.60ID:m6fa3uRQ windowsの3.9.13でも問題ないな
ちゃんとgoogleの検索結果取得できてないか、htmlパースに使ってるbeautifulsoup4かlxmlがおかしいかかな
ちゃんとgoogleの検索結果取得できてないか、htmlパースに使ってるbeautifulsoup4かlxmlがおかしいかかな
807デフォルトの名無しさん
2022/08/11(木) 20:01:15.15ID:X31RE6bn808デフォルトの名無しさん
2022/08/11(木) 20:18:34.40ID:fKEJQx+N809デフォルトの名無しさん
2022/08/11(木) 20:24:18.19ID:7cUH/Z7I810デフォルトの名無しさん
2022/08/11(木) 20:25:02.29ID:7cUH/Z7I811デフォルトの名無しさん
2022/08/12(金) 05:55:29.63ID:vrgQH6RZ (超初心者用)
812デフォルトの名無しさん
2022/08/12(金) 11:12:46.10ID:OS8SYcAO jupyternotebookでセル内のコードが長くなるため,
defで定義した関数を同一ディレクトリ内のmy_func.pyに保存し
メインのコードmain.py 内でimportすることにしました.
my_func.pyに保存した関数内では,numpyを使っているのですが,numpyが認識されません.
main.py でnumpyをインポートしていますが,その効果をmy_func.py内に待避した関数に及ばせるためには
どうすればよいでしょうか.
defで定義した関数を同一ディレクトリ内のmy_func.pyに保存し
メインのコードmain.py 内でimportすることにしました.
my_func.pyに保存した関数内では,numpyを使っているのですが,numpyが認識されません.
main.py でnumpyをインポートしていますが,その効果をmy_func.py内に待避した関数に及ばせるためには
どうすればよいでしょうか.
813デフォルトの名無しさん
2022/08/12(金) 11:54:38.42ID:V16IFZ6j my_func.pyでnumpyをインポート
814デフォルトの名無しさん
2022/08/12(金) 13:39:22.16ID:f9Pn84YJ815デフォルトの名無しさん
2022/08/12(金) 14:10:01.68ID:AKRIAlbQ main.pyでnumpyを使っていなければいらない
816デフォルトの名無しさん
2022/08/12(金) 15:01:37.64ID:P/MIlql5 そのライブラリを直接呼ぶコードがあるファイル毎にimportする。直接呼ばないなら不要
main.py
__import funcs
__funcs.test()
funcs.py
__import numpy
__def test():
____print(numpy.random.randint(0, 10))
main.py
__import funcs
__funcs.test()
funcs.py
__import numpy
__def test():
____print(numpy.random.randint(0, 10))
817デフォルトの名無しさん
2022/08/12(金) 15:14:18.69ID:f9Pn84YJ818101
2022/08/12(金) 16:36:29.89ID:SBMPsz73 普通、FunctionalをFucって略すか?
幻塔というゲームのテスト用のサーバーネームが
JP Fuc Test Server
だったらしく炎上してた
幻塔というゲームのテスト用のサーバーネームが
JP Fuc Test Server
だったらしく炎上してた
819デフォルトの名無しさん
2022/08/13(土) 03:28:02.47ID:nuG2c1c/ mypyでエラーにならないように pathlib.Path の型を示したいんだが、これはどうすりゃいいのかね?
type()でチェックすると
<class 'pathlib.WindowsPath'>
となるんだが pathlib.WindowsPath と指定してもエラー出るし
type()でチェックすると
<class 'pathlib.WindowsPath'>
となるんだが pathlib.WindowsPath と指定してもエラー出るし
820デフォルトの名無しさん
2022/08/13(土) 03:32:04.91ID:nuG2c1c/ 動的な基底クラスはmypyでチェックできないって言ってる人がいたわ
そういうことなのか?
そういうことなのか?
821デフォルトの名無しさん
2022/08/13(土) 03:54:53.99ID:xLCZiP8v pylanceだとpathlib.Pathでいけるけどmypyあかんか?
822デフォルトの名無しさん
2022/08/13(土) 07:30:43.65ID:nuG2c1c/823デフォルトの名無しさん
2022/08/14(日) 04:23:42.79ID:aYzApZcG pythonでcuda使いたいが、お勧めのサイトありますか?
ちなみにcudaは3090とかの方がいいですか?
ちなみにcudaは3090とかの方がいいですか?
824デフォルトの名無しさん
2022/08/14(日) 09:47:31.64ID:7VRuM4Xa にほんごでおk
825デフォルトの名無しさん
2022/08/14(日) 10:12:56.20ID:A6qxvdf0 [python cuda]🔍
826デフォルトの名無しさん
2022/08/14(日) 11:25:05.75ID:Gnb69e0i Noneの比較はis を使うべきで==を使うべき"でない"なんて記述を見かけるのですが、
if dictData.get('key') == 'hogehoge':
__echo 'OK'
例として辞書のgetメソッドのようにキーが無ければNoneを返すような場合で上記のような判定もすべき"でない"のでしょうか?
この場合dictData.get('key', '')のように、キーが見つからない場合の値を明示的に書くべき?
(ただdict.get()のようにコントロールできないのもありますよね)
if dictData.get('key') == 'hogehoge':
__echo 'OK'
例として辞書のgetメソッドのようにキーが無ければNoneを返すような場合で上記のような判定もすべき"でない"のでしょうか?
この場合dictData.get('key', '')のように、キーが見つからない場合の値を明示的に書くべき?
(ただdict.get()のようにコントロールできないのもありますよね)
827デフォルトの名無しさん
2022/08/14(日) 12:06:39.34ID:KzxSNF0d if hoge is None:
こんな風に定数Noneと比較する場合の話だよ
こんな風に定数Noneと比較する場合の話だよ
828デフォルトの名無しさん
2022/08/14(日) 12:18:23.17ID:T9w5rPHY Noneを==すると稀にNone==None ->Falseあるから避けよう。バグのもと。これはググれば解説あるから読んで
で、普通は
if dic.get('key') == 'foo':
__func()
だけでしょう。あればする、なければ終わり
if dic.get('key') == 'foo':
__func()
else:
__func_b()
でもいいけど。
基本的にNoneやFalseを判定しにいかない。まずTrue判定をして、その反対をelse (if)で受ける
ただまあNone / Falseだけを知りたい場合があって
そのときは
if dic.get('key') is None:
__func()
などと書く。英文として読みやすいからよい
つか辞書から無い可能性あるkeyのgetは避けたい
db検索的に書きたいならget使わずtry節書いてKeyError専用処理作ろう
で、普通は
if dic.get('key') == 'foo':
__func()
だけでしょう。あればする、なければ終わり
if dic.get('key') == 'foo':
__func()
else:
__func_b()
でもいいけど。
基本的にNoneやFalseを判定しにいかない。まずTrue判定をして、その反対をelse (if)で受ける
ただまあNone / Falseだけを知りたい場合があって
そのときは
if dic.get('key') is None:
__func()
などと書く。英文として読みやすいからよい
つか辞書から無い可能性あるkeyのgetは避けたい
db検索的に書きたいならget使わずtry節書いてKeyError専用処理作ろう
829デフォルトの名無しさん
2022/08/14(日) 12:29:39.79ID:Gnb69e0i830デフォルトの名無しさん
2022/08/14(日) 12:34:40.20ID:Gnb69e0i >>828
あ、やっぱりすみません、最後のget使うべきでない理由って簡単に教えていただけますか?
今回、API等の応答で、辞書の目的のキーがあったりなかったりするような応答で、キーがあれば拾う、無ければ無視、という単純なものなのですが、それでもgetは使わないほうが良かったりしますか?
あ、やっぱりすみません、最後のget使うべきでない理由って簡単に教えていただけますか?
今回、API等の応答で、辞書の目的のキーがあったりなかったりするような応答で、キーがあれば拾う、無ければ無視、という単純なものなのですが、それでもgetは使わないほうが良かったりしますか?
831デフォルトの名無しさん
2022/08/14(日) 12:41:52.12ID:VI2zLni0 >>682
1000%同意する
1000%同意する
832デフォルトの名無しさん
2022/08/14(日) 12:45:09.72ID:Xz0meKRj >>830
dict['key']が存在してvalueがNoneの場合にTrueになっちゃうから、キーの不存在判定だけしたいなら'key' in dictの方がいいんじゃないかな
dict['key']が存在してvalueがNoneの場合にTrueになっちゃうから、キーの不存在判定だけしたいなら'key' in dictの方がいいんじゃないかな
833デフォルトの名無しさん
2022/08/14(日) 12:50:22.70ID:T9w5rPHY >>830
エラーは出ていいんよ
逆に握りつぶしちゃいけない
というかgetってなんのためにあるんだ?
try:
__dic[input()]:
____print('ある')
except KeyError:
__print('ねえわ')
except Exception as e:
__print(e.__class__.__name__)
外部入力受け付けるのって鬼門なんでこういう感じで書きたい
keyerrorは想定できるし、別の意図してないエラーも拾いたいだしょ
エラーは出ていいんよ
逆に握りつぶしちゃいけない
というかgetってなんのためにあるんだ?
try:
__dic[input()]:
____print('ある')
except KeyError:
__print('ねえわ')
except Exception as e:
__print(e.__class__.__name__)
外部入力受け付けるのって鬼門なんでこういう感じで書きたい
keyerrorは想定できるし、別の意図してないエラーも拾いたいだしょ
834デフォルトの名無しさん
2022/08/14(日) 12:51:39.01ID:T9w5rPHY835デフォルトの名無しさん
2022/08/14(日) 12:53:45.52ID:A6qxvdf0836デフォルトの名無しさん
2022/08/14(日) 15:22:06.37ID:nJs5efs8 キーに階層があって、途中のキーがなかったりすることがある場合なんかだと、
区別する実益はあるかもしれんね
一応、.get('key', {}) なんて方法もあるけど
区別する実益はあるかもしれんね
一応、.get('key', {}) なんて方法もあるけど
837デフォルトの名無しさん
2022/08/14(日) 15:22:39.42ID:Gnb69e0i838デフォルトの名無しさん
2022/08/14(日) 16:52:51.09ID:T9w5rPHY ああわかった
db['key1': 0, 'key2':0,,,]
if key1:
__print('ある')
else:
__print('ない')
こんときgetじゃないといかんのだな
あるいは
try:
__value = db[a'']
__print('ある')
except KeyError:
__print('ない')
except:
__print('未定義エラー')
db['key1': 0, 'key2':0,,,]
if key1:
__print('ある')
else:
__print('ない')
こんときgetじゃないといかんのだな
あるいは
try:
__value = db[a'']
__print('ある')
except KeyError:
__print('ない')
except:
__print('未定義エラー')
839デフォルトの名無しさん
2022/08/14(日) 22:47:50.08ID:549c+n4K Ruby の偽は、nil, false だけ。
これ以外は真
でも、Python, PHP, JavaScript などは、
各型に偽値がある。空文字列・空配列・空辞書など
だから、とんでもなくバグるし難しい。
すべての型の可能性を考えないといけない
文字列型・配列型・辞書型ならとか。
だから、TypeScript みたいな型チェックツールが作られた
これ以外は真
でも、Python, PHP, JavaScript などは、
各型に偽値がある。空文字列・空配列・空辞書など
だから、とんでもなくバグるし難しい。
すべての型の可能性を考えないといけない
文字列型・配列型・辞書型ならとか。
だから、TypeScript みたいな型チェックツールが作られた
840デフォルトの名無しさん
2022/08/14(日) 22:57:22.86ID:I2sSNpX6 >>839
死ね
死ね
841デフォルトの名無しさん
2022/08/15(月) 09:22:07.96ID:c1YCm0IS >>838
どういうこと?
どういうこと?
842デフォルトの名無しさん
2022/08/15(月) 13:07:09.65ID:RvdaGkLE >>841
dict['key'] = value
と
dict.get('key') = value
取得したvalueがFalseになるとき、つまり0とかNoneとか空白のとき
if dict['key'] is not True になる。値はあるにも関わらず
一方
if dict.get('key') is Ture なので、期待する挙動としてはgetのが正しい
値がダミー(0など)の辞書の用意とかありうるので
dict['key'] = value
と
dict.get('key') = value
取得したvalueがFalseになるとき、つまり0とかNoneとか空白のとき
if dict['key'] is not True になる。値はあるにも関わらず
一方
if dict.get('key') is Ture なので、期待する挙動としてはgetのが正しい
値がダミー(0など)の辞書の用意とかありうるので
843デフォルトの名無しさん
2022/08/15(月) 14:06:42.23ID:0GtlIRwB ああそういうことか
re.matchとかre.searchみたいなことをやりたいのか
辞書のキーがあるかないかbooleanの判定と値への処理は別の方がいいと思う
if 'key' in dでもKeyError処理はどっちでもいいけど
re.matchとかre.searchみたいなことをやりたいのか
辞書のキーがあるかないかbooleanの判定と値への処理は別の方がいいと思う
if 'key' in dでもKeyError処理はどっちでもいいけど
844デフォルトの名無しさん
2022/08/15(月) 15:15:52.94ID:gMKahu5b >>842
keyに対するvalueが0やNoneの時に
dict.get(key) is Trueにはならんやろ
dict.get(key, [default])を使うのは
keyに対応する値がデフォルト値の場合と
keyに対応する値が無くてデフォルト値が返される場合を同じように処理したい時だけ
bool判定したいならin演算子
KeyError使うのはkeyが存在しない状況が例外的な場合
keyに対するvalueが0やNoneの時に
dict.get(key) is Trueにはならんやろ
dict.get(key, [default])を使うのは
keyに対応する値がデフォルト値の場合と
keyに対応する値が無くてデフォルト値が返される場合を同じように処理したい時だけ
bool判定したいならin演算子
KeyError使うのはkeyが存在しない状況が例外的な場合
845デフォルトの名無しさん
2022/08/15(月) 15:38:01.56ID:RvdaGkLE846デフォルトの名無しさん
2022/08/15(月) 19:52:08.21ID:KlKo2Eqq わざわざメソッドとして用意されるほどの価値がないんだよなあ
2時代は重宝したのかな
2時代は重宝したのかな
847デフォルトの名無しさん
2022/08/15(月) 20:37:42.59ID:Xxg2cjph if (val := dic.get(key)) is not None:
は使うけどな
は使うけどな
848デフォルトの名無しさん
2022/08/16(火) 04:15:40.22ID:MkpTU7zo 次のコードがあります
h=[[[]]]*10
h[0].append([0,0])
理想としては
>[[[], [0, 0]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]]]
となってほしいのですが、現実は
>[[[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]]]
となってしまいます
どうしたら理想の形になるでしょうか?
h=[[[]]]*10
h[0].append([0,0])
理想としては
>[[[], [0, 0]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]]]
となってほしいのですが、現実は
>[[[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]]]
となってしまいます
どうしたら理想の形になるでしょうか?
849デフォルトの名無しさん
2022/08/16(火) 07:26:37.30ID:GKkpSlmU 内包表記使って初期化
850デフォルトの名無しさん
2022/08/16(火) 08:04:39.39ID:9vnyTUy7 [[[], [0, 0]] if i == 0 else [[]] for i in range(10)]
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★2 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★7 [ぐれ★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★3 [お断り★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★5
- エッヂ落ちた?
- 維新藤田氏、両手ポケットの中国局長は「戦略の一環」金井局長に労い「日本人的な礼儀」と礼儀について解説 [993451824]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- 【グングン上昇】40年国債3.705%、20年国債2.815%、10年国債1.775%と、連日金利上昇(価値債券価値は減少)。高市ミクス [219241683]
- 【悲報】高市早苗がこの先生きのこるにはどうしたらいいのか🤔 [616817505]
