当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合は、
表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。
【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
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
〇前スレ〇 くだすれPython(超初心者用) その51【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1602896738/
次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
探検
くだすれPython(超初心者用) その52【まず1嫁】
■ このスレッドは過去ログ倉庫に格納されています
2021/01/09(土) 05:22:25.24ID:IpHIsox4
404デフォルトの名無しさん
2021/02/08(月) 09:29:15.28ID:dM4oOJoS スイッチのONOFFに連動してアクション起こすものを作ってみたくてほぼ期待通りの挙動させられるようになったのですが、たぶんimportで他.py呼び出す時にエラー?になります。
スイッチONになればその都度実行してほしいのですが、一度きりしか実行されません。
importで呼び出す場合は回数制限のようなものがあるのでしょうか?
スイッチONになればその都度実行してほしいのですが、一度きりしか実行されません。
importで呼び出す場合は回数制限のようなものがあるのでしょうか?
405デフォルトの名無しさん
2021/02/08(月) 10:17:14.59ID:WsHYblSd どんなエラーがでてるか、そのまま貼った方がいいと思うな
406デフォルトの名無しさん
2021/02/08(月) 10:58:40.46ID:hgsCKB/O importの実行は一度だけ
なので関数にして都度実行
なので関数にして都度実行
407デフォルトの名無しさん
2021/02/08(月) 12:17:07.33ID:5JxS4RLe 「importで他.py呼び出す時」
「importで呼び出す」
perlじゃないから考え方を変えろ
「importで呼び出す」
perlじゃないから考え方を変えろ
408デフォルトの名無しさん
2021/02/08(月) 12:27:47.27ID:yv+/ZfUq Pythonのimportは、COBOLのCOPYと同じと考えて良いですかね
ソースのその箇所に埋め込む感じの
ソースのその箇所に埋め込む感じの
409デフォルトの名無しさん
2021/02/08(月) 12:44:47.59ID:5KN+Fjzm >>408
全然違う
importは対象のモジュールがまだ現在のプロセスで読み込まれていない場合は読み込み、現在のスクリプトファイル内で使用できるようにする
COBOLの知識とか害悪でしかないから今すぐ全部忘れろ
全然違う
importは対象のモジュールがまだ現在のプロセスで読み込まれていない場合は読み込み、現在のスクリプトファイル内で使用できるようにする
COBOLの知識とか害悪でしかないから今すぐ全部忘れろ
410デフォルトの名無しさん
2021/02/08(月) 13:10:02.10ID:dM4oOJoS >>405
夜になりますが、そうしてみます。
while true:
if switch == true:
import action01
print("action01")
flag = true
else:
import action02
print("action02")
flag = false
みたいなコードで、printによる表示は正常にされていても、importでは呼び出せてないような挙動でした。エラーを吐いてるわけではありません。
>>406
ありがとうございます。
関数とimportの違いもわからないので、調べてきます。
>>407
プログラミングは昔Cのポインタで挫折したタイプなんでよくわかってません。
夜になりますが、そうしてみます。
while true:
if switch == true:
import action01
print("action01")
flag = true
else:
import action02
print("action02")
flag = false
みたいなコードで、printによる表示は正常にされていても、importでは呼び出せてないような挙動でした。エラーを吐いてるわけではありません。
>>406
ありがとうございます。
関数とimportの違いもわからないので、調べてきます。
>>407
プログラミングは昔Cのポインタで挫折したタイプなんでよくわかってません。
411デフォルトの名無しさん
2021/02/08(月) 14:02:52.07ID:hgsCKB/O412デフォルトの名無しさん
2021/02/08(月) 18:22:57.82 pandasのdropってディープコピーってことは
dropするたびに変数に入れないといけないってことですよね?
データフレームが大きいときその辺り気にしなければいけないのでしょうか
dropするたびに変数に入れないといけないってことですよね?
データフレームが大きいときその辺り気にしなければいけないのでしょうか
413デフォルトの名無しさん
2021/02/08(月) 18:54:54.09ID:0fSH6U0R Ruby でも、require・load は異なる
require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。
require はライブラリのロード、load は設定ファイルの読み込みなどに使う
つまり、ライブラリ・モジュールの読み込みは、1回で良いけど、
設定ファイルは再読み込みする事がある
require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。
require はライブラリのロード、load は設定ファイルの読み込みなどに使う
つまり、ライブラリ・モジュールの読み込みは、1回で良いけど、
設定ファイルは再読み込みする事がある
414デフォルトの名無しさん
2021/02/08(月) 20:10:14.07ID:Ar0nSnLQ415デフォルトの名無しさん
2021/02/08(月) 20:50:16.85ID:wJ3JIqDy 推奨NGワード: Ruby
416デフォルトの名無しさん
2021/02/08(月) 21:18:46.00417404
2021/02/08(月) 21:40:53.51ID:TgcbDI6H 正解なのかはわかりませんが、なんとか期待通りの動きをするようになりました。
元々のコード:ttp://codepad.org/RgfCqXLD
変更後:ttp://codepad.org/C9YTzwaU
スイッチがONになったら反応、OFFでもう1つのアクション。
ついでにキャンセルもできるようにしようとするとフラグを2つ立てないとうまくいかなかったので、無駄に長くなってしまった気がします。
もしお暇でしたらアドバイス貰えれば幸いです。
元々のコード:ttp://codepad.org/RgfCqXLD
変更後:ttp://codepad.org/C9YTzwaU
スイッチがONになったら反応、OFFでもう1つのアクション。
ついでにキャンセルもできるようにしようとするとフラグを2つ立てないとうまくいかなかったので、無駄に長くなってしまった気がします。
もしお暇でしたらアドバイス貰えれば幸いです。
418デフォルトの名無しさん
2021/02/08(月) 21:44:11.22ID:XWqxRkjb >>403
悪いがオリジナルは既に消えている。
が、どういうソート順なのか調べた人がいた。
それの紹介記事は残っていた
https://atsushieno.hatenadiary.org/entry/20050704/p2
webアーカイブに残っているかなぁ?
悪いがオリジナルは既に消えている。
が、どういうソート順なのか調べた人がいた。
それの紹介記事は残っていた
https://atsushieno.hatenadiary.org/entry/20050704/p2
webアーカイブに残っているかなぁ?
419デフォルトの名無しさん
2021/02/08(月) 22:22:53.64ID:XWqxRkjb >>418
アーカイブされていた
https://web.archive.org/web/19990224184613/http://www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm
アーカイブされていた
https://web.archive.org/web/19990224184613/http://www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm
420デフォルトの名無しさん
2021/02/08(月) 23:57:12.05ID:qlvhc88X 親切な方誰か教えてください。
Python始めたいんだけど、どのバージョンをダウンロードしたらいいんでしょうか?
勉強用に買った本には3.6.Xをダウンロードしろと書いてあるんだけど、どうせ始めるなら最新の3.9から始めるのがいいんでしょうか?
Python始めたいんだけど、どのバージョンをダウンロードしたらいいんでしょうか?
勉強用に買った本には3.6.Xをダウンロードしろと書いてあるんだけど、どうせ始めるなら最新の3.9から始めるのがいいんでしょうか?
421デフォルトの名無しさん
2021/02/09(火) 00:03:22.35ID:Vys7ayWD 3.6で始めて欲しい機能が最新版にしかなかったら
その時移行する
その時移行する
422デフォルトの名無しさん
2021/02/09(火) 00:05:25.90ID:9lYAN9ot 仮想環境があるから正直どうでもよい
423デフォルトの名無しさん
2021/02/09(火) 00:08:54.47ID:gY4wTt7u >>421 422
ありがとう。とりあえず3.6で初めてみます
ありがとう。とりあえず3.6で初めてみます
424デフォルトの名無しさん
2021/02/09(火) 00:33:28.54ID:D2eLzUKh 3.9でいいよ
・・・と言いたいが外部のライブラリが対応できていないものもまだ多いから3.8を勧める
3.6にあってそれ以降無くなった機能あったっけな?
・・・と言いたいが外部のライブラリが対応できていないものもまだ多いから3.8を勧める
3.6にあってそれ以降無くなった機能あったっけな?
425デフォルトの名無しさん
2021/02/09(火) 01:08:10.84ID:WN7fm/D8 3.8だと思うように動作しないライブラリあったから3.6に戻した
それ以来,ずっと3.6
それ以来,ずっと3.6
426デフォルトの名無しさん
2021/02/09(火) 01:23:34.91ID:iwKT59GY 3を指定すると3.7.8か3.7.9あたりになるのが多い気がするからその辺が互換的にもよさそう
427デフォルトの名無しさん
2021/02/09(火) 08:41:41.04ID:ArPH6UCx428デフォルトの名無しさん
2021/02/09(火) 09:16:09.94ID:oB9H/ghx 教えていただきたいのですが、
tkinterでプログラムのスタートとストップボタンを作ったのですが、処理中は画面がフリーズしてしまいます。
tkinterは非同期モジュールらしく、
これを他のGUIモジュールに変えるとフリーズしなくなりますでしょか?
tkinterでプログラムのスタートとストップボタンを作ったのですが、処理中は画面がフリーズしてしまいます。
tkinterは非同期モジュールらしく、
これを他のGUIモジュールに変えるとフリーズしなくなりますでしょか?
429デフォルトの名無しさん
2021/02/09(火) 09:21:39.36ID:LMsNGPvT 非同期なのにフリーズするっておかしくね?
430デフォルトの名無しさん
2021/02/09(火) 10:20:06.37ID:fLSeggtA431デフォルトの名無しさん
2021/02/09(火) 11:42:31.22ID:oB9H/ghx すみません、非同期とかよくわかっていなかったです。
ボタンが全く押せず、ブレークでwhile文から抜けるしかない状況です
import tkinter as tk
import tkinter.messagebox
import time
def start():
global stop_flag
timer_time = time.time()
while stop_flag == False:
txt.insert(tkinter.END,str(time.time()-timer_time))
if time.time()-timer_time >5:
txt.insert(tkinter.END,str(time.time()-timer_time))
break
def stop():
global stop_flag
stop_flag=True
stop_flag = False
root = tk.Tk()
root.geometry("200x150+30+600")
end_button = tk.Button(root, text = "START", command =start)
end_button.place(x = 5, y = 10)
end_button = tk.Button(root, text = "STOP", command =stop)
end_button.place(x = 5, y = 40)
txt = tk.Entry(width=20)
txt.insert(tk.END,"0")
txt.place(x = 5, y = 70)
root.mainloop()
ボタンが全く押せず、ブレークでwhile文から抜けるしかない状況です
import tkinter as tk
import tkinter.messagebox
import time
def start():
global stop_flag
timer_time = time.time()
while stop_flag == False:
txt.insert(tkinter.END,str(time.time()-timer_time))
if time.time()-timer_time >5:
txt.insert(tkinter.END,str(time.time()-timer_time))
break
def stop():
global stop_flag
stop_flag=True
stop_flag = False
root = tk.Tk()
root.geometry("200x150+30+600")
end_button = tk.Button(root, text = "START", command =start)
end_button.place(x = 5, y = 10)
end_button = tk.Button(root, text = "STOP", command =stop)
end_button.place(x = 5, y = 40)
txt = tk.Entry(width=20)
txt.insert(tk.END,"0")
txt.place(x = 5, y = 70)
root.mainloop()
432デフォルトの名無しさん
2021/02/09(火) 11:59:05.97ID:ngdRC2S+ >>417
まずはこんな感じのswitch文を使うような状態遷移にした方がいいんじゃね
pythonにはswitchは無いからif-elseでやるしかないけど
不変でコンパクトならswitch〜caseで状態遷移したっていい|Marupeke-IKD|note
https://note.com/marupeke296/n/n62c1c4643931
11.リアルタイム制御とステートマシン
https://www2.denshi.numazu-ct.ac.jp/lego/NXT/nxtOSEK/2_kiso/realtime.html
まずはこんな感じのswitch文を使うような状態遷移にした方がいいんじゃね
pythonにはswitchは無いからif-elseでやるしかないけど
不変でコンパクトならswitch〜caseで状態遷移したっていい|Marupeke-IKD|note
https://note.com/marupeke296/n/n62c1c4643931
11.リアルタイム制御とステートマシン
https://www2.denshi.numazu-ct.ac.jp/lego/NXT/nxtOSEK/2_kiso/realtime.html
433デフォルトの名無しさん
2021/02/09(火) 13:05:59.09ID:YRe7Jw73 pandasで列aと列bの各値同士の計算結果を同じデータフレームに代入しようと思い
df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]], columns=['a','b','c'])
df['c-a'] = df[['a','c']].diff(axis=1)['c']
と、してみましたが['c']が納得いきません
列ラベル名があるときも[:1]みたいに取り出したいのですがエラーでした
df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]], columns=['a','b','c'])
df['c-a'] = df[['a','c']].diff(axis=1)['c']
と、してみましたが['c']が納得いきません
列ラベル名があるときも[:1]みたいに取り出したいのですがエラーでした
434デフォルトの名無しさん
2021/02/09(火) 13:12:01.53ID:YRe7Jw73 訂正 >df['c-a'] = df[['a','c']].diff(axis=1)['c']
df['c-a'] = df[['c','a']].diff(axis=1)['a']
でした
この['c','a']の順は保証されるのかも気になります
df['c-a'] = df[['c','a']].diff(axis=1)['a']
でした
この['c','a']の順は保証されるのかも気になります
435デフォルトの名無しさん
2021/02/09(火) 13:19:02.92ID:Vys7ayWD436デフォルトの名無しさん
2021/02/09(火) 13:20:02.81ID:YRe7Jw73437デフォルトの名無しさん
2021/02/09(火) 13:43:29.24ID:3rwMtM14438デフォルトの名無しさん
2021/02/09(火) 15:54:12.06ID:oB9H/ghx439デフォルトの名無しさん
2021/02/09(火) 19:52:16.41ID:F09oemYA tesseractの他にocrのライブラリってありますか?
教えて下さい。よろしくお願いします。
教えて下さい。よろしくお願いします。
440デフォルトの名無しさん
2021/02/09(火) 20:42:00.18ID:A4TUXs3r >>432
ありがとうございます。もうちょっとちゃんと勉強してみます。
ありがとうございます。もうちょっとちゃんと勉強してみます。
441デフォルトの名無しさん
2021/02/09(火) 22:37:06.14ID:48/GVgda Pathlibで特定のフォルダ以下のファイルを全てglobして
全てのファイルに対して特定の処理をし
その後別のフォルダにディレクトリ構造を維持しつつ保存していきたいです
フォルダ構造を維持しつつ保存するために
hoge_dir - base_dir みたいなものをしてPathの差分だけを取得したいのですが、そういった関数は無いのでしょうか?
全てのファイルに対して特定の処理をし
その後別のフォルダにディレクトリ構造を維持しつつ保存していきたいです
フォルダ構造を維持しつつ保存するために
hoge_dir - base_dir みたいなものをしてPathの差分だけを取得したいのですが、そういった関数は無いのでしょうか?
442デフォルトの名無しさん
2021/02/09(火) 22:48:35.91ID:48/GVgda Path(os.path.relpath)で出来ました
443デフォルトの名無しさん
2021/02/10(水) 00:20:56.79ID:3asw//Zv relative_to()
ドキュメント、読もう!
ドキュメント、読もう!
444デフォルトの名無しさん
2021/02/10(水) 07:56:31.78ID:lV7BodTW イテレータを使わなければならない状況がきてようやく仕組みがちょっと理解できた
今までfor inで回せばほとんどのことに対処できてたので、どこで使うんそれって感じやったけど
やっぱり必要になって使うべき場面がこないと覚わらんね
今までfor inで回せばほとんどのことに対処できてたので、どこで使うんそれって感じやったけど
やっぱり必要になって使うべき場面がこないと覚わらんね
445デフォルトの名無しさん
2021/02/10(水) 08:02:53.10ID:0JH6aNHf 使わなくても実装は出来るけどな。
446デフォルトの名無しさん
2021/02/10(水) 11:18:29.15ID:4pogzqlY PySide2のQDialogをESCで閉じさせない方法ってありますかね
調べても出てこない
調べても出てこない
447デフォルトの名無しさん
2021/02/10(水) 12:24:44.38ID:QctJSG9o >>444
イテレータイマイチ使うシーンが想像できんわ
イテレータイマイチ使うシーンが想像できんわ
448デフォルトの名無しさん
2021/02/10(水) 13:05:03.29ID:3asw//Zv 頭から順に処理するならイテレーター
値は取り出すまで評価されない
リストは生成時に全要素が評価、展開されるから、長いとメモリを圧迫する
値は取り出すまで評価されない
リストは生成時に全要素が評価、展開されるから、長いとメモリを圧迫する
449デフォルトの名無しさん
2021/02/10(水) 13:27:54.75ID:2MYUAlGB ジェネレータイテレーターな
450デフォルトの名無しさん
2021/02/10(水) 13:44:33.50ID:k3XYYQgl451デフォルトの名無しさん
2021/02/10(水) 18:42:03.34ID:li7FLtWZ 扱う分野で必要なもの全然違うしね
必要になったら学べば良い
必要になったら学べば良い
452デフォルトの名無しさん
2021/02/10(水) 19:51:19.06ID:deHLhqxB 画像比較作りたいけど
おすすめのサンプルプログラムある?
二つ比較して
似ている割合みたいのとれればいいんだけど
おすすめのサンプルプログラムある?
二つ比較して
似ている割合みたいのとれればいいんだけど
453デフォルトの名無しさん
2021/02/10(水) 19:55:11.67ID:FCUwCs4l また宗教的な話をw
OPENCV,numpy.openvino のどれかを使いたまえ
OPENCV,numpy.openvino のどれかを使いたまえ
454デフォルトの名無しさん
2021/02/11(木) 11:34:19.30ID:n0GRjtoR455デフォルトの名無しさん
2021/02/11(木) 11:43:19.74ID:n0GRjtoR >>452
https://www.imagazine.co.jp/%E9%A1%9E%E4%BC%BC%E7%94%BB%E5%83%8F%E6%A4%9C%E7%B4%A2%E3%81%AE3%E3%81%A4%E3%81%AE%E6%89%8B%E6%B3%95%E3%81%A8%E7%B2%BE%E5%BA%A6%E5%90%91%E4%B8%8A%E3%81%AE%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF/
https://qiita.com/best_not_best/items/669aaa9e1b8de647d29d
https://pystyle.info/opencv-match-shape/
https://www.imagazine.co.jp/%E9%A1%9E%E4%BC%BC%E7%94%BB%E5%83%8F%E6%A4%9C%E7%B4%A2%E3%81%AE3%E3%81%A4%E3%81%AE%E6%89%8B%E6%B3%95%E3%81%A8%E7%B2%BE%E5%BA%A6%E5%90%91%E4%B8%8A%E3%81%AE%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF/
https://qiita.com/best_not_best/items/669aaa9e1b8de647d29d
https://pystyle.info/opencv-match-shape/
456デフォルトの名無しさん
2021/02/12(金) 11:01:49.66ID:fibZz6ZJ GUIのテキストラベルを関数内で変更するには、そのテキストのインスタンス生成をグローバルで実施する必要があるのでしょうか?
main関数内でGUIを作成して、別の関数から呼び出そう、書き換えようとするとエラーが出てしまいます
main関数内でGUIを作成して、別の関数から呼び出そう、書き換えようとするとエラーが出てしまいます
457デフォルトの名無しさん
2021/02/12(金) 11:42:10.00ID:fibZz6ZJ 追記です
もともとメインだけのプログラムだったのですが、処理部などを分けていくにあたって、上記問題となりました。
ボタンやテキストラベルが多いため、GUIだけでも分離できたらなと思ってます。
もともとメインだけのプログラムだったのですが、処理部などを分けていくにあたって、上記問題となりました。
ボタンやテキストラベルが多いため、GUIだけでも分離できたらなと思ってます。
458デフォルトの名無しさん
2021/02/12(金) 12:56:12.11ID:9pKWi6uS エラーメッセージは飾りじゃないんだゾ
ちゃんと読むんだ
ちゃんと読むんだ
459デフォルトの名無しさん
2021/02/12(金) 13:28:10.74ID:x9NfpsA7 GUIってどれ使ってんの
460デフォルトの名無しさん
2021/02/12(金) 13:35:33.64ID:3wJJOYZl 恥ずかしがらずに再現できるコードを出しましょう
461デフォルトの名無しさん
2021/02/12(金) 15:15:13.03ID:Xi6F12r7 OCR使ってみたんですが画像にちょっとシミ付いただけでめっちゃ精度落ちるんですけど
462デフォルトの名無しさん
2021/02/12(金) 15:25:54.79ID:YkYoXOlY そんなもんだろ
実運用ならGoogle Vision APIとか使え
実運用ならGoogle Vision APIとか使え
463デフォルトの名無しさん
2021/02/12(金) 15:36:15.52ID:Xi6F12r7 d つこうてみる
464デフォルトの名無しさん
2021/02/13(土) 01:13:14.19ID:kyaOMlKJ ファイルfを新規open
なにか書く
*ファイルfをclose
*ファイルfを追記open
なにか書く
*ファイルfをclose
*ファイルfを追記open
(これを何回か繰り返す)
ファイルfをclose
ていうことをやってるんだけど、*印のファイルfをclose・ファイルfを追記openをdefにしたら
local variable 'f' referenced before assignment
ていうエラーが出てしまいました。
defの中でf=openて書けないんでしょうけど、こういう場合て繰り返しのところをコードのマクロとか部品みたいにできないのでしょうか?
ファイルfをclose・ファイルfを追記openてところが10行ぐらいの全く同じコードになってるので繰り返して書くのがキレイでない。
なにか書く
*ファイルfをclose
*ファイルfを追記open
なにか書く
*ファイルfをclose
*ファイルfを追記open
(これを何回か繰り返す)
ファイルfをclose
ていうことをやってるんだけど、*印のファイルfをclose・ファイルfを追記openをdefにしたら
local variable 'f' referenced before assignment
ていうエラーが出てしまいました。
defの中でf=openて書けないんでしょうけど、こういう場合て繰り返しのところをコードのマクロとか部品みたいにできないのでしょうか?
ファイルfをclose・ファイルfを追記openてところが10行ぐらいの全く同じコードになってるので繰り返して書くのがキレイでない。
465デフォルトの名無しさん
2021/02/13(土) 01:43:32.68ID:XqdE9YRe なんていうかwith使え
466デフォルトの名無しさん
2021/02/13(土) 07:57:55.39ID:dvbWR5uB with使えっていうのは当然として、設計寄りの話としてDAOあるいはRepositoryと言われるパターンを勉強すると良い。
467デフォルトの名無しさん
2021/02/13(土) 09:06:30.97ID:+Dfn0XQq468デフォルトの名無しさん
2021/02/13(土) 10:52:08.28ID:PYtZn7CJ >>464
Pythonの不便な点だな
def まくろ(何かを書く)
ファイルfを開く
何かを書く(f)
ファイルfを閉じる
まくろ(何かを書く1)
まくろ(何かを書く2)
ってやるのが定番
でもC#とかなら「何かを書く1」に直接処理を書けるけどPythonは関数を定義しないと駄目だからいまいちメリットが薄い
Pythonの不便な点だな
def まくろ(何かを書く)
ファイルfを開く
何かを書く(f)
ファイルfを閉じる
まくろ(何かを書く1)
まくろ(何かを書く2)
ってやるのが定番
でもC#とかなら「何かを書く1」に直接処理を書けるけどPythonは関数を定義しないと駄目だからいまいちメリットが薄い
469デフォルトの名無しさん
2021/02/13(土) 17:08:03.41470デフォルトの名無しさん
2021/02/13(土) 17:42:30.74ID:aD8q5Xup >>464
クロージャは?
def create_writer(f):
__fを新規作成
__def write(s):
____fを追記open
____sを追記
____f.close()
__return write
writer=create_writer(f)
writer(あああ)
writer(いいい)
クロージャは?
def create_writer(f):
__fを新規作成
__def write(s):
____fを追記open
____sを追記
____f.close()
__return write
writer=create_writer(f)
writer(あああ)
writer(いいい)
471デフォルトの名無しさん
2021/02/13(土) 18:56:29.59ID:QOknjIyX +aでopenすべし
472デフォルトの名無しさん
2021/02/13(土) 19:01:49.24ID:QOknjIyX def write_to(file_path):
__def write(string):
____with open(file_path, '+a') as f:
______f.write(string + '¥n')
__return write
write = write_to("foo.txt")
write("foo")
write("bar")
__def write(string):
____with open(file_path, '+a') as f:
______f.write(string + '¥n')
__return write
write = write_to("foo.txt")
write("foo")
write("bar")
473デフォルトの名無しさん
2021/02/13(土) 19:56:09.70ID:hraNkxQy wrapする意味がほとんどない気がする。
都度ファイル名が変わるなら、一緒に渡す方が間違いないだろうし、
逆に固定でいいなら、定数にするか、上で出ているようにDAOに閉じ込める方がいい。
都度ファイル名が変わるなら、一緒に渡す方が間違いないだろうし、
逆に固定でいいなら、定数にするか、上で出ているようにDAOに閉じ込める方がいい。
474デフォルトの名無しさん
2021/02/13(土) 20:57:02.03ID:PYtZn7CJ ケースバイケース
475デフォルトの名無しさん
2021/02/13(土) 21:05:50.85ID:QOknjIyX >>473
2つ意味がある
ファイル名を意識すべきレイヤーやタイミングと
何かを書き出したいレイヤーやタイミングが常に同じとは限らないので
その2つの関心事を分離できるという意味が一つ
もう一つはDAOでもファイルでもいいけど
それらが10個あった場合に同じコード(open/close)を10回書かなくてもいい
2つ意味がある
ファイル名を意識すべきレイヤーやタイミングと
何かを書き出したいレイヤーやタイミングが常に同じとは限らないので
その2つの関心事を分離できるという意味が一つ
もう一つはDAOでもファイルでもいいけど
それらが10個あった場合に同じコード(open/close)を10回書かなくてもいい
476デフォルトの名無しさん
2021/02/13(土) 21:15:03.69ID:OVGnVG6N 質問者のレベルを考えれば毎回ファイル名を渡すほうが親切かもな
間違ってもDAOやリポジトリを持ち出すような話じゃない
間違ってもDAOやリポジトリを持ち出すような話じゃない
477デフォルトの名無しさん
2021/02/13(土) 22:19:47.12ID:PYtZn7CJ478デフォルトの名無しさん
2021/02/13(土) 22:52:40.18ID:De6EzIPK ある時間が現在時刻より何時間経ってるかていうのを知りたいんだが
from datetime import datetime
d="2020/06/02 23:42"
x=datetime.strptime(d, '%Y/%m/%d %H:%M')
y=datetime.datetime.now()
print(x,' ',y)
last_time=(y-x)/3600
てやってみたんだが
type object 'datetime.datetime' has no attribute 'datetime'
というエラー
y=datetime.now()にすると
last_timeが1:42:23.156836という値
何百時間ていう数値を出せないんですか?
from datetime import datetime
d="2020/06/02 23:42"
x=datetime.strptime(d, '%Y/%m/%d %H:%M')
y=datetime.datetime.now()
print(x,' ',y)
last_time=(y-x)/3600
てやってみたんだが
type object 'datetime.datetime' has no attribute 'datetime'
というエラー
y=datetime.now()にすると
last_timeが1:42:23.156836という値
何百時間ていう数値を出せないんですか?
479デフォルトの名無しさん
2021/02/13(土) 23:06:29.50ID:Ylmwjazf >>477
この逆ギレは恥ずかしいww
この逆ギレは恥ずかしいww
480デフォルトの名無しさん
2021/02/13(土) 23:09:24.90ID:Jp6Ct9sY >>478
時間差はtimedeltaになる、それを数値で割るとこの場合255日を3600分割してしまうので
(y - x).total_seconds() / 3600か、(y - x) / timedelta(hours=1)とかかな
https://docs.python.org/ja/3/library/datetime.html#datetime.timedelta.total_seconds
時間差はtimedeltaになる、それを数値で割るとこの場合255日を3600分割してしまうので
(y - x).total_seconds() / 3600か、(y - x) / timedelta(hours=1)とかかな
https://docs.python.org/ja/3/library/datetime.html#datetime.timedelta.total_seconds
481デフォルトの名無しさん
2021/02/13(土) 23:14:28.96ID:De6EzIPK482デフォルトの名無しさん
2021/02/13(土) 23:27:47.37ID:PYtZn7CJ483デフォルトの名無しさん
2021/02/13(土) 23:39:31.79ID:QOknjIyX484デフォルトの名無しさん
2021/02/14(日) 00:10:37.48ID:D24G58JB485デフォルトの名無しさん
2021/02/14(日) 00:13:47.53ID:aLCsI6lK 見た感じcloseとopenでなにしてるかわかってないように思う
486デフォルトの名無しさん
2021/02/14(日) 02:04:56.58ID:2SnvaGjH >>477
身近にこういう奴が居なくて本当に良かった
身近にこういう奴が居なくて本当に良かった
487デフォルトの名無しさん
2021/02/14(日) 03:15:01.82ID:DLKN34Ks おっ
488デフォルトの名無しさん
2021/02/14(日) 04:01:51.29ID:m6EUmtlX >>484
464みたいな構造に書き直して見ました。
最初書こうとしてたコードはこういうことがしたかった。
def まくろ(何かを書く,関数名)
ファイルfを開く
引数で与えられた関数名の関数を呼び出す
何かを書く(f)
ファイルfを閉じる
ていうのがやりたかったんだけど、関数の中に動的に別々の関数を呼び出すことなんてできないよね。
#define マクロ名(引数リスト)みたいなことができれば実現できるのに。
464みたいな構造に書き直して見ました。
最初書こうとしてたコードはこういうことがしたかった。
def まくろ(何かを書く,関数名)
ファイルfを開く
引数で与えられた関数名の関数を呼び出す
何かを書く(f)
ファイルfを閉じる
ていうのがやりたかったんだけど、関数の中に動的に別々の関数を呼び出すことなんてできないよね。
#define マクロ名(引数リスト)みたいなことができれば実現できるのに。
489デフォルトの名無しさん
2021/02/14(日) 04:10:04.36ID:TDUjnB7+ そのやり方で普通にできるよ
490デフォルトの名無しさん
2021/02/14(日) 07:55:56.90ID:D24G58JB491デフォルトの名無しさん
2021/02/14(日) 10:46:04.70ID:vizEsFtD 最近はpythonでググると高確率で、nkmkというサイトに引っかかる
そこは目次が無いため、文字ばかりの細々とした説明の中から必要なコードを探さないといけないから、とてもストレス
そこは目次が無いため、文字ばかりの細々とした説明の中から必要なコードを探さないといけないから、とてもストレス
492デフォルトの名無しさん
2021/02/14(日) 10:47:27.53ID:HIb/uJW+ >>490
関数を呼び出すんじゃなくてソースコードをマクロ展開したいんだけど。
関数にしてしまうと変数のグローバル・ローカルという話が出てきてしまう。
単純に10行くらいのコードの一部を変えてコピーしたい。
defの関数てコードのコピーじゃないですよね?
関数を呼び出すんじゃなくてソースコードをマクロ展開したいんだけど。
関数にしてしまうと変数のグローバル・ローカルという話が出てきてしまう。
単純に10行くらいのコードの一部を変えてコピーしたい。
defの関数てコードのコピーじゃないですよね?
493デフォルトの名無しさん
2021/02/14(日) 11:19:31.18ID:D24G58JB >>492
なんでそんなことしたいのかよくわからんけど、m4とかのマクロプロセッサでも使えばいいんじゃね
なんでそんなことしたいのかよくわからんけど、m4とかのマクロプロセッサでも使えばいいんじゃね
494デフォルトの名無しさん
2021/02/14(日) 11:40:02.31ID:8wuPGef8 何が言いたいのかようやくわかった。
どんだけ質問下手やねん
どんだけ質問下手やねん
495デフォルトの名無しさん
2021/02/14(日) 11:40:35.87ID:AzULVuFC496デフォルトの名無しさん
2021/02/14(日) 11:53:57.69ID:PGTjJwEI >>481
馬鹿には無理
馬鹿には無理
497デフォルトの名無しさん
2021/02/14(日) 11:56:45.92ID:1NfnFEsp >>492
デコれ
デコれ
498デフォルトの名無しさん
2021/02/14(日) 12:00:51.30ID:IYZau0Ph >>492
Pythonにはその機能はないんで諦めてください
Pythonにはその機能はないんで諦めてください
499デフォルトの名無しさん
2021/02/14(日) 12:05:20.73ID:BvP4KASJ >>495
「お願いします!」
「お願いします!」
500デフォルトの名無しさん
2021/02/14(日) 12:09:30.76ID:IYZau0Ph501デフォルトの名無しさん
2021/02/14(日) 12:12:44.45ID:TDUjnB7+502デフォルトの名無しさん
2021/02/14(日) 12:13:45.18ID:LN4pPlYg503デフォルトの名無しさん
2021/02/14(日) 12:14:42.54ID:vizEsFtD >>499
あれ、イラッとするよなw
あれ、イラッとするよなw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- くそしてかがやけ
- 🎌日本の地震をお祝いします👏👏👏✨
- お茶だと思って飲んだらションベンだった
