!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。
・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
エラー文(勝手に省略orスクショうp等の横着禁止)と
おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。
★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/
●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/
〇前スレ〇 Pythonのお勉強 Part65
https://mevius.5ch.net/test/read.cgi/tech/1621749112/
次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part66
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9f02-4fXk)
2021/11/15(月) 18:59:43.37ID:f2uNQEAt0435デフォルトの名無しさん (ワッチョイ 4b7b-2D6w)
2022/04/06(水) 13:08:18.65ID:KjCsX+rW0 >>432
Traceback (most recent call last):は
text = input(“A”)を実行した後何も入力していないから
AAAって入力してみ
その後、上に書いた通り
lower_text = text.lower()で実行
Traceback (most recent call last):は
text = input(“A”)を実行した後何も入力していないから
AAAって入力してみ
その後、上に書いた通り
lower_text = text.lower()で実行
436デフォルトの名無しさん (ブーイモ MM4b-8wyk)
2022/04/06(水) 13:11:06.40ID:3uPNH9WcM そこじゃねーよ
オブジェクト指向の文脈なんだから関数かメソッドかなんて言語によっても呼び方違うし正直どうでもいい
オブジェクト指向の文脈なんだから関数かメソッドかなんて言語によっても呼び方違うし正直どうでもいい
437デフォルトの名無しさん (オッペケ Sr01-6ztr)
2022/04/06(水) 13:13:33.65ID:XDrR8E8Nr >>432
初心者のしがちなミスですね
print(text.lower())
で、小文字でaと出てくる筈です
()が付いているからついその中に代入しないといけないかと思われたのでしょうが、
これはオブジェクトのメソッドで、引数なしで動くものなので
文字列変数の後にピリオドでつなげて、
()の中は何も書かなくて大丈夫です
まあ、少しずつ文法覚えていって、
分からなかったら検索して用例を見ましょう
初心者のしがちなミスですね
print(text.lower())
で、小文字でaと出てくる筈です
()が付いているからついその中に代入しないといけないかと思われたのでしょうが、
これはオブジェクトのメソッドで、引数なしで動くものなので
文字列変数の後にピリオドでつなげて、
()の中は何も書かなくて大丈夫です
まあ、少しずつ文法覚えていって、
分からなかったら検索して用例を見ましょう
438デフォルトの名無しさん (ワッチョイ 155f-2JBZ)
2022/04/06(水) 13:18:39.68ID:V6m5p1Ce0 >>435
ごめん正解はこのままでよかったのね
text = input() # 変数 text に文章を入力
lower_text = text.lower() # 入力した文字列を小文字に変換
print(text, "を子文字に変換すると、", lower_text, "になります。")
適当にAIUEOって入力したらできた
AIUEO
AIUEO を子文字に変換すると、 aiueo になります。
ごめん正解はこのままでよかったのね
text = input() # 変数 text に文章を入力
lower_text = text.lower() # 入力した文字列を小文字に変換
print(text, "を子文字に変換すると、", lower_text, "になります。")
適当にAIUEOって入力したらできた
AIUEO
AIUEO を子文字に変換すると、 aiueo になります。
439デフォルトの名無しさん (オッペケ Sr01-6ztr)
2022/04/06(水) 13:24:52.63ID:XDrR8E8Nr GJ!!!
440デフォルトの名無しさん
2022/04/06(水) 13:49:08.09ID:r+m0Iqav 詰まったら分解して考えるといいかと
(1)text = input("A")
(2)lower_text = text.lower()
(3)print(lower_text)
この程度だと出てきたエラー見て解決できるのが大前提ではるが
それを置いておくと
(1)inputのドキュメントみる
(2)lowerのドキュメントみる
(3)printのドキュメントみる
ドキュメント見るのが億劫なのであれば少なくとも
(1)inputで試行する
(2)lowerで試行する
(3)printで試行する
をやればいい
例えば
(1)
text = input("A")
print(text)
(2)
text="AIUEO"
print( text.lower() )
(3)
text="AIUEO"
text="OEUIA"
print( text )
などなど。
いきなり(1)(2)(3)合わせ技から入るとそもそも何がわかからないのかがわからない状態に
(1)text = input("A")
(2)lower_text = text.lower()
(3)print(lower_text)
この程度だと出てきたエラー見て解決できるのが大前提ではるが
それを置いておくと
(1)inputのドキュメントみる
(2)lowerのドキュメントみる
(3)printのドキュメントみる
ドキュメント見るのが億劫なのであれば少なくとも
(1)inputで試行する
(2)lowerで試行する
(3)printで試行する
をやればいい
例えば
(1)
text = input("A")
print(text)
(2)
text="AIUEO"
print( text.lower() )
(3)
text="AIUEO"
text="OEUIA"
print( text )
などなど。
いきなり(1)(2)(3)合わせ技から入るとそもそも何がわかからないのかがわからない状態に
441デフォルトの名無しさん (スプッッ Sd03-kuSK)
2022/04/06(水) 14:06:50.56ID:oXFBIC4yd >>433
あー、確かに言い方はおかしいな
だけど正確に簡潔にはどう言えば初学者に伝わる?
文字列を入れた変数は文字列型(クラス)のオブジェクト(インスタンス)で、
その文字列型のクラス関数(メソッド)を…
ファルシのルシがコクーンでパージされたレベルだと思うわ
変数の型宣言とかの「省略できるようになった」ことが、省略されてるだけで実際には処理されてるってことを知ってないと分からないと思う
Pythonは書くのには便利だけど初めて勉強するのにはどうだろ
関数とか条件式の定義の始まりとか終わりもなんとなく分かりにくいし
面倒くさいけど宣言しなきゃ変数を使えなくて{}で囲まなきゃシンタックスエラーが出る言語の方が、
理解はしやすい
あー、確かに言い方はおかしいな
だけど正確に簡潔にはどう言えば初学者に伝わる?
文字列を入れた変数は文字列型(クラス)のオブジェクト(インスタンス)で、
その文字列型のクラス関数(メソッド)を…
ファルシのルシがコクーンでパージされたレベルだと思うわ
変数の型宣言とかの「省略できるようになった」ことが、省略されてるだけで実際には処理されてるってことを知ってないと分からないと思う
Pythonは書くのには便利だけど初めて勉強するのにはどうだろ
関数とか条件式の定義の始まりとか終わりもなんとなく分かりにくいし
面倒くさいけど宣言しなきゃ変数を使えなくて{}で囲まなきゃシンタックスエラーが出る言語の方が、
理解はしやすい
442デフォルトの名無しさん (ワッチョイ e33b-O60l)
2022/04/06(水) 14:16:43.73ID:AJGoEzsz0 オブジェクト指向とはそういうもんだと飲み込むしか
プログラミングのパラダイムシフトなんか2回しか起きてないんだから
BASICみたいな何でもありから、pascalみたいに構造化されて、
それで行き詰まったからオブジェクト指向になった
どこかの言語でマスターしとけば当分使える
プログラミングのパラダイムシフトなんか2回しか起きてないんだから
BASICみたいな何でもありから、pascalみたいに構造化されて、
それで行き詰まったからオブジェクト指向になった
どこかの言語でマスターしとけば当分使える
443デフォルトの名無しさん (ワッチョイ 6397-mjDL)
2022/04/06(水) 14:20:12.75ID:ogQpv1VG0 > その文字列型のクラス関数(メソッド)を…
>>> text.__class__.lower(text)
↓
>>> str.lower(text)
'aiueo'
コードの構造や統一感からこう書くときもある?わからん
>>> text.__class__.lower(text)
↓
>>> str.lower(text)
'aiueo'
コードの構造や統一感からこう書くときもある?わからん
444デフォルトの名無しさん (ワッチョイ 155f-2JBZ)
2022/04/06(水) 15:40:11.39ID:V6m5p1Ce0445デフォルトの名無しさん (ワッチョイ 0d33-2JBZ)
2022/04/06(水) 17:06:40.17ID:LhkpmHw80446デフォルトの名無しさん (ワッチョイ 155f-2JBZ)
2022/04/06(水) 17:10:54.79ID:V6m5p1Ce0 >>445
そのサイト参考にして勉強してます
そのサイト参考にして勉強してます
447デフォルトの名無しさん (ワッチョイ 6397-mjDL)
2022/04/06(水) 17:15:43.87ID:ogQpv1VG0 python.jp は公式サイトではなく
雑多な趣味サイトのひとつなのでよろしくお願いします。
雑多な趣味サイトのひとつなのでよろしくお願いします。
448デフォルトの名無しさん (アウアウエー Sa13-/9eL)
2022/04/07(木) 05:53:17.46ID:kD80L8Q0a import webbrowser, time
[(webbrowser.open('=q?/moc.ogkcudkcud//:sptth'[::-1] + x),time.sleep(21)) for x in [
'兵願志02%旗日旭02%wt!'[::-1],
'省務外02%旗日旭のてしと化文統伝02%ty!'[::-1],
'画動ーリフ】VT項条間水【】旗日旭【回1第』編結完題問史歴アジア東『02%ty!'[::-1],
'reV02%NPJ02%VM02%eineG02%ty!'[::-1],
'wJ-fwbL_c4A02%ty!'[::-1],
'】NAPAJめたるな【出続々人るす惑困」!ろだ話り作「→」すまり語を実真に後最。すで人老の歳59「】応反の外海【02%ty!'[::-1],
'】VT項条間水【回885第』るすにから明てべすを密秘の下投」)年3102(弾爆識認史歴「で会国が員議院議衆彬成山中『02%ty!'[::-1],
'版地外02%蔵聞02%ihasa!'[::-1]]
]
[(webbrowser.open('=q?/moc.ogkcudkcud//:sptth'[::-1] + x),time.sleep(21)) for x in [
'兵願志02%旗日旭02%wt!'[::-1],
'省務外02%旗日旭のてしと化文統伝02%ty!'[::-1],
'画動ーリフ】VT項条間水【】旗日旭【回1第』編結完題問史歴アジア東『02%ty!'[::-1],
'reV02%NPJ02%VM02%eineG02%ty!'[::-1],
'wJ-fwbL_c4A02%ty!'[::-1],
'】NAPAJめたるな【出続々人るす惑困」!ろだ話り作「→」すまり語を実真に後最。すで人老の歳59「】応反の外海【02%ty!'[::-1],
'】VT項条間水【回885第』るすにから明てべすを密秘の下投」)年3102(弾爆識認史歴「で会国が員議院議衆彬成山中『02%ty!'[::-1],
'版地外02%蔵聞02%ihasa!'[::-1]]
]
449デフォルトの名無しさん (ワッチョイ 4b10-7Nbo)
2022/04/07(木) 08:16:28.59ID:F7M3b5EM0 >>447
その癖ググるとpython.orgより上位に出るんだよな
その癖ググるとpython.orgより上位に出るんだよな
450デフォルトの名無しさん (ワッチョイ 5563-vECD)
2022/04/07(木) 08:37:15.39ID:NQLstles0 Stackoverflowよりコピーサイトを上に出してくるマヌケ検索エンジンだから仕方ないだろ
451デフォルトの名無しさん (ワッチョイ a389-zoQf)
2022/04/07(木) 22:03:32.13ID:CVXmLsvy0 macのAutomatorにマウスやキーボードの操作を記録して再生できる機能を再現させたい
ざっくりでいいから作り方教えてほしい
pyautoguiは多少覚えてます
ざっくりでいいから作り方教えてほしい
pyautoguiは多少覚えてます
452デフォルトの名無しさん (ワッチョイ e33b-JrXK)
2022/04/07(木) 22:12:52.44ID:bWKh8TzS0 最近必要に迫られてselenium使ってみたけどなかなか面白い
ちゃんと動くようにしようと思うとエラー処理の固まりみたいになるな
ちゃんと動くようにしようと思うとエラー処理の固まりみたいになるな
453デフォルトの名無しさん (ワッチョイ 6308-mjDL)
2022/04/07(木) 22:24:52.90ID:mc5hILqJ0454デフォルトの名無しさん (ワッチョイ 4b10-p1VX)
2022/04/07(木) 22:40:15.09ID:CY3kh5ar0 tensorflowを2.8に上げるに伴って対応CUDAを日本語で調べたのが失敗だった
Google一番上に出てきた金子なんちゃら研究室の通りにCUDAとcuDNNのバージョン入れたらGPU使う動作でデバグできないエラー出てかなり悩んだわ
結局あれやこれや試したあと環境見直すときにTFの公式ページ熟読してバージョンが一致してないことが発覚
pythonに限ったことじゃないけど情報を集める場所は考えたほうがいいわ
Google一番上に出てきた金子なんちゃら研究室の通りにCUDAとcuDNNのバージョン入れたらGPU使う動作でデバグできないエラー出てかなり悩んだわ
結局あれやこれや試したあと環境見直すときにTFの公式ページ熟読してバージョンが一致してないことが発覚
pythonに限ったことじゃないけど情報を集める場所は考えたほうがいいわ
455デフォルトの名無しさん (ワッチョイ e568-hAJS)
2022/04/08(金) 00:32:49.12ID:ZCeEf8ov0 AIプログラミング初心者のための勉強ってどんな教材がいい?
ネットの月額教材は月額万単位のものも多いし、書籍はTensorflow1.xにしか対応してないものも多くて何を使えばいいのかさっぱり
ネットの月額教材は月額万単位のものも多いし、書籍はTensorflow1.xにしか対応してないものも多くて何を使えばいいのかさっぱり
456デフォルトの名無しさん (ワッチョイ 6308-mjDL)
2022/04/08(金) 00:51:37.04ID:aiXehUxt0457デフォルトの名無しさん (ワッチョイ b501-B+pv)
2022/04/08(金) 01:07:42.82ID:r95liLn00 nn console
458デフォルトの名無しさん (ワッチョイ 4b10-7Nbo)
2022/04/08(金) 01:11:12.45ID:ViZWtTWj0 公式チュートリアル1から嫁
459デフォルトの名無しさん (スッップ Sd43-gXCR)
2022/04/08(金) 05:20:03.80ID:RDLEcCmed ん10年ぶりに何かつくろうかとpython触ってみて
動的にクラスが作れるのはびっくり
動的にクラスが作れるのはびっくり
460デフォルトの名無しさん (ワッチョイ e33b-JrXK)
2022/04/08(金) 11:20:08.15ID:pzSgmDvP0 seleniumのwebドライバはサウンド機能もあるので、
起動すると音量ミキサーに追加される
でも閉じる時に何故か消えてくれないので、
何度も起動してると音量ミキサーにブラウザが無限に並んでえらいことに
起動すると音量ミキサーに追加される
でも閉じる時に何故か消えてくれないので、
何度も起動してると音量ミキサーにブラウザが無限に並んでえらいことに
461デフォルトの名無しさん (ワッチョイ e568-eL9I)
2022/04/08(金) 12:08:05.20ID:ZCeEf8ov0 AI教材の件
教えてくれてありがとう
いろいろ試してみる
教えてくれてありがとう
いろいろ試してみる
462デフォルトの名無しさん (ワッチョイ e33b-JrXK)
2022/04/08(金) 12:13:33.91ID:pzSgmDvP0 driver.close()の他にdriver.quit()も要るのか
463デフォルトの名無しさん (ワッチョイ a389-zoQf)
2022/04/08(金) 12:39:02.65ID:6ypNPyRK0464デフォルトの名無しさん (ワッチョイ a363-Ikq5)
2022/04/08(金) 15:03:37.81ID:CY2NgfkZ0 すみませんPython初心者ですが質問です
MAX/MSPから常に値をOSCで送って、配列を長くしていきたいんですが、
.appendしても配列が常に更新されて長さが1のままです
ソースは下です
https://dpaste.com/2F4FM24EE
OSCで値が送られてくるたび配列に格納していきたいのですが、それでトライ&エラー的に
変数aをインクリメントしようとしてるのですが、ずっと1のまま
なぜでしょうか
教えてください
MAX/MSPから常に値をOSCで送って、配列を長くしていきたいんですが、
.appendしても配列が常に更新されて長さが1のままです
ソースは下です
https://dpaste.com/2F4FM24EE
OSCで値が送られてくるたび配列に格納していきたいのですが、それでトライ&エラー的に
変数aをインクリメントしようとしてるのですが、ずっと1のまま
なぜでしょうか
教えてください
465デフォルトの名無しさん (アウアウウー Sae9-RI4D)
2022/04/08(金) 15:07:23.70ID:ty7rgx/da >>464
pythonの基本的な書き方確認すればええよ
pythonの基本的な書き方確認すればええよ
466デフォルトの名無しさん (ワッチョイ a363-Ikq5)
2022/04/08(金) 15:10:50.60ID:CY2NgfkZ0467デフォルトの名無しさん (アウアウウー Sae9-RI4D)
2022/04/08(金) 15:12:51.87ID:ty7rgx/da468デフォルトの名無しさん (ワッチョイ a363-Ikq5)
2022/04/08(金) 15:17:52.05ID:CY2NgfkZ0 ではPythonではなく一般論として、まず普通関数が呼び出されたらそのつど実行されますよね
そこで単に呼び出されるたびに数字をひとつづつ足したものを表示していけば数字は増えていくはずなのに、
そうなっていない
これはなぜなのですか?
Pythonに特有の現象なのですか?
そこで単に呼び出されるたびに数字をひとつづつ足したものを表示していけば数字は増えていくはずなのに、
そうなっていない
これはなぜなのですか?
Pythonに特有の現象なのですか?
469デフォルトの名無しさん (アウアウウー Sae9-RI4D)
2022/04/08(金) 15:19:50.44ID:ty7rgx/da >>468
数字を一つずつ足す関数が書けるんですか?
数字を一つずつ足す関数が書けるんですか?
470デフォルトの名無しさん (ワッチョイ a363-Ikq5)
2022/04/08(金) 15:25:52.75ID:CY2NgfkZ0471デフォルトの名無しさん (ワッチョイ e33b-JrXK)
2022/04/08(金) 15:29:34.61ID:pzSgmDvP0 インデントの間違いでは
472デフォルトの名無しさん (ワッチョイ a363-Ikq5)
2022/04/08(金) 15:37:04.91ID:CY2NgfkZ0473デフォルトの名無しさん (ブーイモ MM6b-YWlf)
2022/04/08(金) 15:44:58.02ID:+3oW9fkFM 同じなわけ無いだろ
もっかい確認しれ
もっかい確認しれ
474デフォルトの名無しさん (ワッチョイ e33b-JrXK)
2022/04/08(金) 15:45:50.65ID:pzSgmDvP0 あとは変数のスコープ関連だな
475デフォルトの名無しさん (ワッチョイ a363-Ikq5)
2022/04/08(金) 16:23:41.40ID:CY2NgfkZ0 >>473, 474
有難うございます、インデントを揃え、スコープもググったうえで関数内の変数をグローバル変数にしましたが、
11111111111111111111111111111111111111111111111
と出ます
ソース↓
https://dpaste.com/G7LWT56FW
なぜでしょうか・・・
有難うございます、インデントを揃え、スコープもググったうえで関数内の変数をグローバル変数にしましたが、
11111111111111111111111111111111111111111111111
と出ます
ソース↓
https://dpaste.com/G7LWT56FW
なぜでしょうか・・・
476デフォルトの名無しさん (ワッチョイ e33b-JrXK)
2022/04/08(金) 16:39:41.66ID:pzSgmDvP0 呼ばれ方が判らないけど、毎回初期化してるのでは
477デフォルトの名無しさん (ワッチョイ a363-Ikq5)
2022/04/08(金) 16:42:17.38ID:CY2NgfkZ0 あ、上のソースで出来ました・・・お騒がせしました。
みなさんありがとうございました。
みなさんありがとうございました。
478デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/09(土) 12:10:03.12ID:clV5r5o80 forのループのやり直しってできないのかな
continueはやり直しではなく、残りの処理を飛ばして次のループになってしまう
そうではなくて、今のループをもう一度
continueはやり直しではなく、残りの処理を飛ばして次のループになってしまう
そうではなくて、今のループをもう一度
479デフォルトの名無しさん (アウアウウー Sabb-Rr7S)
2022/04/09(土) 12:20:19.97ID:qQptZxW8a 成功するまでやった方が健康には良さそうだが…
480デフォルトの名無しさん (ワッチョイ 4f5f-n8Mu)
2022/04/09(土) 12:22:58.15ID:V7cnhGCg0 それ、ちょっとミスると無限ループだよね
何をやりたいのか分からないけど、例えばforループの中での処理を関数で定義しておいて、
条件を満たすときだけその関数をもう一度呼び出すとかじゃダメなの?
def funcA(int):
hogehoge
fugafuga
for i in range(20):
funcA(i)
if hoge == fuga: funcA(i)
何をやりたいのか分からないけど、例えばforループの中での処理を関数で定義しておいて、
条件を満たすときだけその関数をもう一度呼び出すとかじゃダメなの?
def funcA(int):
hogehoge
fugafuga
for i in range(20):
funcA(i)
if hoge == fuga: funcA(i)
481デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/09(土) 12:38:06.09ID:clV5r5o80 やりたいのはエラー時のリトライだけど、どうやっても無限ループの可能性は残るので、
リトライ回数とか見て抜ける仕組みはどうせ必須で、
それならwhileループをもう一重増やしても大差ないし遥かに読みやすい
需要が無いから機能も無いんだろうな
リトライ回数とか見て抜ける仕組みはどうせ必須で、
それならwhileループをもう一重増やしても大差ないし遥かに読みやすい
需要が無いから機能も無いんだろうな
482デフォルトの名無しさん (アウアウウー Sabb-Rr7S)
2022/04/09(土) 12:52:43.14ID:qQptZxW8a ループじゃなくて、キューを用意した上で動的にスケジュールすると考えた方がよいのかも
483デフォルトの名無しさん (ワッチョイ 0610-3n4s)
2022/04/09(土) 13:00:31.56ID:DVQDA1Qq0 >>478
詩的だね
詩的だね
484デフォルトの名無しさん (ワッチョイ 0610-3n4s)
2022/04/09(土) 13:02:55.56ID:DVQDA1Qq0 単純にwhileで成功時のみカウントをインクリメントするか
485デフォルトの名無しさん (ブーイモ MM3e-cjQE)
2022/04/09(土) 13:49:13.82ID:a9m8EYfTM 無理にrange使う必要ないもんな
486デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/09(土) 14:50:19.51ID:clV5r5o80 リトライ処理の書き方
for _ in range(リトライ回数)
処理
if error:
continue
break
else:
エラー処理
正常終了したら必ずbreakで抜けるというのは、驚きなく読まれるだろうか
for _ in range(リトライ回数)
処理
if error:
continue
break
else:
エラー処理
正常終了したら必ずbreakで抜けるというのは、驚きなく読まれるだろうか
487デフォルトの名無しさん (ワッチョイ 67b1-WWIQ)
2022/04/09(土) 15:56:36.21ID:dKyIxCe60 whileを使え。
無理矢理、力技やると後から見てワケわからん状態になるぞw
無理矢理、力技やると後から見てワケわからん状態になるぞw
488デフォルトの名無しさん (ワッチョイ 0663-EhK1)
2022/04/09(土) 16:03:55.14ID:8+YqGKMM0 過ぎ去った青春をやり直したい
489デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/09(土) 17:02:20.14ID:clV5r5o80 forでもwhileでも本質的には変わらない
正常時にbreakで抜けるのは慣用句かどうか
正常時にbreakで抜けるのは慣用句かどうか
490デフォルトの名無しさん (ワッチョイ 6f63-xb3m)
2022/04/09(土) 17:24:47.82ID:mo38de660 複数のif文をループ内で続ける場合は
breakを使えば次のif文はelifでなくてもいいという違いはあるな
breakを使えば次のif文はelifでなくてもいいという違いはあるな
491デフォルトの名無しさん (ワッチョイ 2b77-UNvm)
2022/04/09(土) 17:38:36.12ID:87umrizs0 俺が引き継ぐとしたらwhileにしておいてほしい
492デフォルトの名無しさん (ワッチョイ 4f5f-z8HX)
2022/04/09(土) 17:38:52.45ID:fKWuF8Ed0 forとかWhile文にelse文付けるやり方って可読性落ちるからやりたくねーな……
よく見かける書き方だとこんな感じでね?
While isError AND リトライ回数 < リトライ上限:
よく見かける書き方だとこんな感じでね?
While isError AND リトライ回数 < リトライ上限:
493デフォルトの名無しさん (ワッチョイ e26c-zfjd)
2022/04/09(土) 17:43:24.27ID:jgJoozbM0 StopIterationやAttributeErrorも正常系でつかうし
こねくり回したコードになるならbreakでスッキリ書きたいしありかな
こねくり回したコードになるならbreakでスッキリ書きたいしありかな
494デフォルトの名無しさん (ブーイモ MM02-dyr6)
2022/04/09(土) 17:46:50.44ID:132nXd6zM よくわからんけど関数化してデコレータでリトライすればいいんじゃないの?
495デフォルトの名無しさん (ワッチョイ 232c-TG4f)
2022/04/09(土) 17:53:31.16ID:lCz4U8HD0 limit = 00
count =0
while True and count <= limit:
__count +=1
__try:
___for
__except:
count =0
while True and count <= limit:
__count +=1
__try:
___for
__except:
496デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/09(土) 18:26:43.74ID:clV5r5o80 >>492
ループ抜けた後に、結局処理できたのかできなかったのかはカウンタ見るの?
ループ抜けた後に、結局処理できたのかできなかったのかはカウンタ見るの?
497デフォルトの名無しさん (ワッチョイ e201-Uyzu)
2022/04/09(土) 19:01:16.37ID:erlZKZM80 >>486
普通こうじゃないの?
for _ in range(リトライ回数)
処理
if success:
print('正常終了')
break
else:
print('リトライオーバー')
普通こうじゃないの?
for _ in range(リトライ回数)
処理
if success:
print('正常終了')
break
else:
print('リトライオーバー')
498デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/09(土) 19:10:11.63ID:clV5r5o80 確かに
出口を2つも書くのは追いにくい
出口を2つも書くのは追いにくい
499デフォルトの名無しさん (ワッチョイ 4f5f-z8HX)
2022/04/09(土) 19:30:36.35ID:fKWuF8Ed0500デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/09(土) 19:46:27.41ID:clV5r5o80 どっちにしても流用してる感があるなあ
エラーかどうかが戻り値や式なら変数に入れなくてもいいのに、
後で参照する為に変数を増やさないといけない
それより、elseの方が明示的
エラーかどうかが戻り値や式なら変数に入れなくてもいいのに、
後で参照する為に変数を増やさないといけない
それより、elseの方が明示的
501デフォルトの名無しさん (ワッチョイ e26c-zfjd)
2022/04/09(土) 19:57:04.93ID:jgJoozbM0 運悪くクソコードで学んでしまってそこで止まってるんだからしょうがない
切り替えていこう
切り替えていこう
502デフォルトの名無しさん (ワッチョイ 4f5f-z8HX)
2022/04/09(土) 20:09:17.21ID:fKWuF8Ed0503デフォルトの名無しさん (ワッチョイ 12bd-ehKV)
2022/04/09(土) 20:14:18.56ID:TiDOyS5/0 新しい職場でpyspark使うことになったけど日本語ドキュメント少な過ぎて困る
せめてpandas主体ならいいのにデータ量多くてpandasだと処理しきれないことがある
せめてpandas主体ならいいのにデータ量多くてpandasだと処理しきれないことがある
504デフォルトの名無しさん (ワッチョイ cb02-5egS)
2022/04/09(土) 22:19:11.52ID:ybdxAeLn0505デフォルトの名無しさん (ワッチョイ 6f63-xb3m)
2022/04/10(日) 00:38:55.00ID:YY9dKz/y0 pylintかけると、
continue, breakで抜けてる場合は
elseは余計と怒られるな
continue, breakで抜けてる場合は
elseは余計と怒られるな
506デフォルトの名無しさん (ワッチョイ df01-ebI4)
2022/04/10(日) 00:43:35.19ID:dAyCsfYJ0507デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/10(日) 07:40:38.07ID:Cd8Fw5+60 continueで終わった時もelseは実行されるでしょ
そこに混乱は無いと思う
breakとelseは当然排他するけど、その性質を使いたいのに使うと怒られるのか
そこに混乱は無いと思う
breakとelseは当然排他するけど、その性質を使いたいのに使うと怒られるのか
508デフォルトの名無しさん (ワッチョイ a201-nj64)
2022/04/10(日) 11:42:15.24ID:sN01S/ry0 >>505
それelseのインデント位置が間違ってない?
それelseのインデント位置が間違ってない?
509デフォルトの名無しさん (アウアウウー Sabb-Rr7S)
2022/04/10(日) 11:44:29.83ID:vpYyJyBEa いや、pylintは自明なelseが嫌いなんだよ
510デフォルトの名無しさん (ワッチョイ a289-6nGD)
2022/04/10(日) 12:16:55.10ID:1+/qESij0 macで作ったpyファイルをmac内でexeファイルにする方法ってあったけ?
pyinstallerでappはできた
pyinstallerでappはできた
511デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/10(日) 12:19:19.45ID:Cd8Fw5+60 breakしてないのにelseしてたら、
そんなもんループの外に書いても同じだから紛らわしいだけだけど、
普通はわざわざelse付けるのはbreakしたことをフラグで覚えるのが嫌だからなので、
自明でもなんでもない
そんなもんループの外に書いても同じだから紛らわしいだけだけど、
普通はわざわざelse付けるのはbreakしたことをフラグで覚えるのが嫌だからなので、
自明でもなんでもない
512デフォルトの名無しさん (ワッチョイ 47e0-zfjd)
2022/04/10(日) 12:24:01.06ID:Q6S0/uRR0 >>510
https://pyinstaller.readthedocs.io/en/stable/
> it is not a cross-compiler: to make a Windows app you run PyInstaller in Windows;
Wineか仮想マシンでやるしかなさそう
https://pyinstaller.readthedocs.io/en/stable/
> it is not a cross-compiler: to make a Windows app you run PyInstaller in Windows;
Wineか仮想マシンでやるしかなさそう
513デフォルトの名無しさん (ワッチョイ 4f5f-z8HX)
2022/04/10(日) 12:32:11.07ID:wfU7fa8L0 for_else有り
https://ideone.com/zfxztw
for_else無し
https://ideone.com/nnc884
まあどっちが見やすいかって話やね
確かEffectivePython辺りだとforとかwhileみたいなループ処理にelse付けると
読みにくくなるから止めろっていう風には書かれてたな
https://ideone.com/zfxztw
for_else無し
https://ideone.com/nnc884
まあどっちが見やすいかって話やね
確かEffectivePython辺りだとforとかwhileみたいなループ処理にelse付けると
読みにくくなるから止めろっていう風には書かれてたな
514デフォルトの名無しさん (ワッチョイ 47e0-zfjd)
2022/04/10(日) 13:02:42.81ID:Q6S0/uRR0 読みやすさでいうとこういうコード自体ユーザコードで書かないでほしいけどね
is_errorみたいな状態変数が不用意だし
読み解かないとリトライ処理だなーてわからんから見通しが悪い
>>494みたいに処理側にretryデコレータつけるとか
命名がはいる余地をつくって明示的に書いてほしい
is_errorみたいな状態変数が不用意だし
読み解かないとリトライ処理だなーてわからんから見通しが悪い
>>494みたいに処理側にretryデコレータつけるとか
命名がはいる余地をつくって明示的に書いてほしい
515デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/10(日) 13:06:47.56ID:Cd8Fw5+60 elseありの方は、エラー無しの時にbreakして、continueは省略できる
is_errorのフラグが前提になってるから大差ないように見えるけど、
is_error = process() みたいに戻り値で判るならフラグも省略できる
is_errorのフラグが前提になってるから大差ないように見えるけど、
is_error = process() みたいに戻り値で判るならフラグも省略できる
516デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/10(日) 13:15:28.04ID:Cd8Fw5+60517デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/10(日) 13:28:21.33ID:Cd8Fw5+60 キーワードがelseではなくuncompletedとかならまだ読めただろうに
518デフォルトの名無しさん (ワッチョイ e201-Uyzu)
2022/04/10(日) 13:41:07.96ID:tqQl7G5m0 final とかならまだわかるけど uncompleted とか意味不明
動作理解してる?
動作理解してる?
519デフォルトの名無しさん (ワッチョイ 86bb-cjQE)
2022/04/10(日) 13:45:49.68ID:8N8Sc6On0 ループが最後まで回ったら完了なのか途中でブレークしたら完了なのかは場合によるんだからcompleteなんてキーワード使ったら余計混乱するんじゃね?
520デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/10(日) 13:47:15.18ID:Cd8Fw5+60 ああ、逆
uncompletedでない時だから普通にcompleted
finalyだと何でもいいから最後に実行に思える
elseだとそうすら思えない
uncompletedでない時だから普通にcompleted
finalyだと何でもいいから最後に実行に思える
elseだとそうすら思えない
521デフォルトの名無しさん (ワントンキン MM2b-Zpxp)
2022/04/10(日) 13:49:36.77ID:+G9OWortM 結論で言うと糞構文だから使うなってことかね
522デフォルトの名無しさん (ワッチョイ 6f63-xb3m)
2022/04/10(日) 13:53:38.37ID:GqpgRuIN0 たぶん、議論の前提が噛み合ってない
・for/while文の中のif文のelse
・pythonでのfor/while文のelse
・for/while文の中のif文のelse
・pythonでのfor/while文のelse
523デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/10(日) 13:56:40.53ID:Cd8Fw5+60 古い言語での常套句みたいなのがあって、
pythonならそんなことしなくても言語仕様で書けるよ、という提案がいくつもあって
それらの多くは便利だと取り入れられたけど
ループのelseはもう少しなんとかならなかったのかと
pythonならそんなことしなくても言語仕様で書けるよ、という提案がいくつもあって
それらの多くは便利だと取り入れられたけど
ループのelseはもう少しなんとかならなかったのかと
524デフォルトの名無しさん (ワッチョイ a201-nj64)
2022/04/10(日) 14:04:16.70ID:sN01S/ry0 >>516
early returnしとけばいいと思う
for i in range(max_tries):
try:
return fn(*args, **kwargs)
except errors as e:
if i + 1 >= max_tries:
raise RetryOverError from e
else:
print(f"Will be retried after {delay} sec...")
sleep(delay)
early returnしとけばいいと思う
for i in range(max_tries):
try:
return fn(*args, **kwargs)
except errors as e:
if i + 1 >= max_tries:
raise RetryOverError from e
else:
print(f"Will be retried after {delay} sec...")
sleep(delay)
525デフォルトの名無しさん (ワッチョイ e201-Uyzu)
2022/04/10(日) 14:36:08.85ID:tqQl7G5m0 これでよくね?
for i in range(max_tries):
try:
return fn(*args, **kwargs)
except errors as e:
print(f"Will be retried after {delay} sec...")
sleep(delay)
raise RetryOverError from e
for i in range(max_tries):
try:
return fn(*args, **kwargs)
except errors as e:
print(f"Will be retried after {delay} sec...")
sleep(delay)
raise RetryOverError from e
526デフォルトの名無しさん (ワッチョイ a201-nj64)
2022/04/10(日) 16:21:54.44ID:sN01S/ry0527デフォルトの名無しさん (ワッチョイ a201-nj64)
2022/04/10(日) 16:29:36.99ID:sN01S/ry0 あと細かいけどfrom eのところでeがスコープ外になるはず
528デフォルトの名無しさん (ワッチョイ a289-6nGD)
2022/04/10(日) 17:07:41.15ID:1+/qESij0529デフォルトの名無しさん (ワッチョイ c23b-1mPx)
2022/04/10(日) 17:27:46.30ID:Cd8Fw5+60 うまく処理できませんでした
とう結果をどう扱うかはその場では判断できなくて、ずっと上まで持ち帰る必要があるんだよな
それをそのまま実装すると、エラーリトライの結果を受け取った関数がまたリトライして、
その結果を受け取った関数がまたリトライして、みたいにリトライまみれになる
だからリトライなんか気にせずに必ず成功する体で実装して、
末端がエラーをraiseして、それを適切なレベルの人が拾う
という仕組みがあるべき姿な気がする
とう結果をどう扱うかはその場では判断できなくて、ずっと上まで持ち帰る必要があるんだよな
それをそのまま実装すると、エラーリトライの結果を受け取った関数がまたリトライして、
その結果を受け取った関数がまたリトライして、みたいにリトライまみれになる
だからリトライなんか気にせずに必ず成功する体で実装して、
末端がエラーをraiseして、それを適切なレベルの人が拾う
という仕組みがあるべき姿な気がする
530デフォルトの名無しさん (ワッチョイ df01-ebI4)
2022/04/10(日) 18:16:57.91ID:dAyCsfYJ0 >>529
せやからリトライとメイン処理のループの目的が違うんだから分けなきゃわけわからんことになる
せやからリトライとメイン処理のループの目的が違うんだから分けなきゃわけわからんことになる
531デフォルトの名無しさん
2022/04/10(日) 18:55:25.09ID:ImIzhDab for _ in range(リトライ回数)の中を関数化するのはダメなん・・?
532デフォルトの名無しさん (スップ Sd22-dAd0)
2022/04/10(日) 20:20:59.84ID:2AahvlRad >>528
Github ActionsのWindowsランナー使えば
Github ActionsのWindowsランナー使えば
533デフォルトの名無しさん
2022/04/10(日) 20:55:29.50ID:ImIzhDab >mac内で
ブラウザ使っちゃいけない縛りがある場合はあれだけど
google colabでは一応実行ファイルは作れた >>510
できた実行ファイルの動作確認はしてないすまん
https://colab.research.google.com/drive/1z8aScMiKu7NBclJ7xv88WovewhJyzTDf
ブラウザ使っちゃいけない縛りがある場合はあれだけど
google colabでは一応実行ファイルは作れた >>510
できた実行ファイルの動作確認はしてないすまん
https://colab.research.google.com/drive/1z8aScMiKu7NBclJ7xv88WovewhJyzTDf
534デフォルトの名無しさん (ワッチョイ df01-pDL+)
2022/04/11(月) 04:33:58.47ID:+2lQ4ezC0 なんでvenvで検索してんのにpyenvが出てくるのか分からんわ開発者にはちゃんと意味のある命名して欲しいわ本当に
535デフォルトの名無しさん (ワッチョイ db89-6nGD)
2022/04/11(月) 14:46:19.50ID:Lw7h7fgH0 以下を参考にOpenCV使って類似画像を見つけられるようになった
https://qiita.com/best_not_best/items/c9497ffb5240622ede01のfeature_detection
だけど数が多いと処理にすごく時間がかかる
どうすると処理を短くできるでしょうか?
https://qiita.com/best_not_best/items/c9497ffb5240622ede01のfeature_detection
だけど数が多いと処理にすごく時間がかかる
どうすると処理を短くできるでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 ★2 [蚤の市★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【高市悲報】インドネシアの山が大爆発。日本への影響調査中。2025/11/19 19:35 [253245739]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 中国「私達が怒ってるのは日本の政治家に対してで、日本の観光客や日本企業はこれまで通り歓迎する。これこそが大国としての余裕」 [377482965]
- 【悲報】アメリカ軍「ジャップの自衛隊は上官の指示がないと何も出来ない無能者揃い、だから弱い」 [616817505]
- 【高市悲報】北朝鮮🇰🇵、大人しすぎるwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [573041775]
- 高市コイン、ガチで156円突入へwwwwwwwwww [246620176]
