↑スレ立てる毎に減るので、減ってたら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://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
※前スレ
Pythonのお勉強 Part70
https://mevius.5ch.net/test/read.cgi/tech/1677856680/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part71
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ cffb-p/wP)
2023/09/20(水) 09:13:41.41ID:u6xixiUt0578デフォルトの名無しさん (ワッチョイ c551-ZTan)
2023/11/08(水) 13:26:28.57ID:82yhyslz0 =を本来の意味と違う意味で使ってるんだからそりゃ間違ってると思うわな
プログラム言語作ったやつが悪い
プログラム言語作ったやつが悪い
579デフォルトの名無しさん (ワッチョイ 9901-L2tG)
2023/11/08(水) 13:31:21.96ID:M+eAhKpj0 lispのように
(set a 3)
の方がよかったか?
(set a 3)
の方がよかったか?
580デフォルトの名無しさん (アウアウウー Saa5-2ws7)
2023/11/08(水) 13:35:14.32ID:o1wz1QuQa CS知ってればそんな勘違いするはずないんだけどな
数式をメタファーとして用いてるが関数型言語でもない言語は数学とは全く違うってことが理解できてない
CSは中学生から必要
数式をメタファーとして用いてるが関数型言語でもない言語は数学とは全く違うってことが理解できてない
CSは中学生から必要
581デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/08(水) 15:55:32.78ID:0RzzgATi0 >>577
その話題のおかげで久しぶりにPythonを触ってみようという気になった。
例えば2^16倍精度浮動小数点数の最大値を計算するのに、Python3のDecimalではEmaxを最大にしても桁あふれするが、
Mpmathを使う以外にもPython2のDecimalが使える。
そのDecimalの書き方でもともとやっていた書き方よりも短く工夫できた。
その話題のおかげで久しぶりにPythonを触ってみようという気になった。
例えば2^16倍精度浮動小数点数の最大値を計算するのに、Python3のDecimalではEmaxを最大にしても桁あふれするが、
Mpmathを使う以外にもPython2のDecimalが使える。
そのDecimalの書き方でもともとやっていた書き方よりも短く工夫できた。
582デフォルトの名無しさん (ワッチョイ 2e89-cBWW)
2023/11/08(水) 17:45:04.49ID:EFPFqmm90 Incoぽ?ち
583デフォルトの名無しさん (ワッチョイ c261-ubk5)
2023/11/08(水) 22:59:11.98ID:EduYhT2N0 >>574
Ruby で説明すると、
デスクトップにショートカットを作って、
例えば、コマンドプロンプトでRubyを起動するなら、リンク先を以下のように設定する
C:\Windows\System32\cmd@exe /k "ruby C:/Users/Owner/Documents/a.rb"
ただし、@はドットに変えて下さい
コマンドプロンプトを経由しない場合は、
直接Rubyの実行ファイルがある絶対パスを書く
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/a.rb
これで、Drag & Drop したファイルパスが、
a.rb の中で、ARGV[ 0 ] に入ってくる
Ruby で説明すると、
デスクトップにショートカットを作って、
例えば、コマンドプロンプトでRubyを起動するなら、リンク先を以下のように設定する
C:\Windows\System32\cmd@exe /k "ruby C:/Users/Owner/Documents/a.rb"
ただし、@はドットに変えて下さい
コマンドプロンプトを経由しない場合は、
直接Rubyの実行ファイルがある絶対パスを書く
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/a.rb
これで、Drag & Drop したファイルパスが、
a.rb の中で、ARGV[ 0 ] に入ってくる
584デフォルトの名無しさん (ワッチョイ fd54-EDsj)
2023/11/08(水) 23:01:59.61ID:rOfRZ5Bf0 Goだと?
585デフォルトの名無しさん (ワッチョイ d2bd-sdYh)
2023/11/08(水) 23:05:05.88ID:hH3k8goZ0 関連?スレか
「京大生でもx=x+1が分からない」、喜多教授が明かすPython教育の実態 ★3 [少考さん★]
http://asahi.5ch.net/test/read.cgi/newsplus/1699429080/
「京大生でもx=x+1が分からない」、喜多教授が明かすPython教育の実態 ★3 [少考さん★]
http://asahi.5ch.net/test/read.cgi/newsplus/1699429080/
586デフォルトの名無しさん (ワッチョイ fd54-EDsj)
2023/11/08(水) 23:10:06.00ID:rOfRZ5Bf0 =を等しいという意味だとしても、1+1=2を無批判に受け入れるのはおかしい
1+1=1+1は正しい
1+1と2は明らかに違うもの
1+1=1+1は正しい
1+1と2は明らかに違うもの
587デフォルトの名無しさん (スプッッ Sdc2-9iD6)
2023/11/08(水) 23:26:13.31ID:HvIjZsS8d Python世界だともう少しややこしく
確か256以下は同じになるんじゃなかった?
2=1+1は正しい
2000=1000+1000は間違い
とかなんとか
確か256以下は同じになるんじゃなかった?
2=1+1は正しい
2000=1000+1000は間違い
とかなんとか
588デフォルトの名無しさん (ワッチョイ 8905-xu6s)
2023/11/08(水) 23:29:18.59ID:lU2++3tG0 やはりPythonでも代入は:=にすべきだったな
589デフォルトの名無しさん (オイコラミネオ MM75-H91/)
2023/11/09(木) 05:37:23.81ID:u7A0OM5bM590デフォルトの名無しさん (オイコラミネオ MM75-H91/)
2023/11/09(木) 05:40:30.95ID:u7A0OM5bM >>585
分からないんじゃなくて知らないだけだな
分からないんじゃなくて知らないだけだな
591デフォルトの名無しさん (ワッチョイ fd54-EDsj)
2023/11/09(木) 07:11:40.89ID:i4b+P9OO0 =使わずに:=だけ使っても書ける?
592デフォルトの名無しさん (ワッチョイ fd54-EDsj)
2023/11/09(木) 07:14:51.81ID:i4b+P9OO0 書けないな
ifの中に無いとSyntaxErrorになる
ifの中にあっても無くてもよくて代入結果が評価可能になるだけ、という演算子でも良かったのに
ifの中に無いとSyntaxErrorになる
ifの中にあっても無くてもよくて代入結果が評価可能になるだけ、という演算子でも良かったのに
593デフォルトの名無しさん (ワッチョイ 0954-MVD/)
2023/11/09(木) 10:07:00.20ID:Wk14M+OK0 >>586
そんなもん文脈次第であって何も注釈がなければ式の値で比較するのが普通だろうよ
そんなもん文脈次第であって何も注釈がなければ式の値で比較するのが普通だろうよ
594デフォルトの名無しさん (ワッチョイ fd54-EDsj)
2023/11/09(木) 10:38:26.14ID:i4b+P9OO0 1+1=2を習う時点で批判的思考ができる奴は少ないので、
こうなんだと言われたらそうなんだと丸呑みしてるだけ
そのまま現在に至る
こうなんだと言われたらそうなんだと丸呑みしてるだけ
そのまま現在に至る
595デフォルトの名無しさん (ワッチョイ 0954-MVD/)
2023/11/09(木) 10:46:29.67ID:Wk14M+OK0 偉そうな事言ってるだけでなんの反論にもなってない
596デフォルトの名無しさん (ワッチョイ fd54-EDsj)
2023/11/09(木) 10:47:28.47ID:i4b+P9OO0 反論?
教導だよ
教導だよ
597デフォルトの名無しさん (ワッチョイ 0954-MVD/)
2023/11/09(木) 10:56:43.22ID:Wk14M+OK0 偉そうな事言ってるだけでなんの教導にもなってない
598デフォルトの名無しさん (ワッチョイ c218-dElW)
2023/11/09(木) 11:37:06.85ID:gopD44tH0 x=x+1くらいは1度説明したらすぐわかるやろ
学生よりも京大の教授がこのレベルというのが衝撃的
日本が沈没するわけだわ
学生よりも京大の教授がこのレベルというのが衝撃的
日本が沈没するわけだわ
599デフォルトの名無しさん (アウアウウー Saa5-CWlg)
2023/11/09(木) 12:09:23.93ID:Fo7n9qIpa 単に記号の問題なので
x := x + 1
でも
x :~ x + 1
でも
x <- x + 1
でも
x ← x + 1
でもなんでも良い
手間がかからないのが
x = x + 1
それだけ
x := x + 1
でも
x :~ x + 1
でも
x <- x + 1
でも
x ← x + 1
でもなんでも良い
手間がかからないのが
x = x + 1
それだけ
600デフォルトの名無しさん (アウアウウー Saa5-CWlg)
2023/11/09(木) 12:10:16.09ID:Fo7n9qIpa601デフォルトの名無しさん (ワッチョイ 0954-MVD/)
2023/11/09(木) 12:18:15.60ID:Wk14M+OK0602デフォルトの名無しさん (ワッチョイ e1f0-2ws7)
2023/11/09(木) 12:49:40.60ID:Nh0igmG80 guido氏が来るぞ
https://pyconjp.connpass.com/event/301716/
https://pyconjp.connpass.com/event/301716/
603デフォルトの名無しさん (アウアウウー Saa5-CWlg)
2023/11/09(木) 13:11:26.45ID:Fo7n9qIpa >>602
灯台ωωω
灯台ωωω
604デフォルトの名無しさん (ワッチョイ fd54-EDsj)
2023/11/09(木) 13:15:59.83ID:i4b+P9OO0 代入が := で、比較が == なのに、= も使う言語がある
= も比較で、文字列の大文字小文字を無視するという違いがある
= も比較で、文字列の大文字小文字を無視するという違いがある
605デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 14:24:11.67ID:iUBVM1B70 >>602
PyPyの例えば2.7.13ではDecimalで桁数が10^10^5程度まで数値が扱える(最大値は不明)が、
Python3のDecimalでは桁数が999999999999999999までしか数値が扱えない。
この点を今後どうするのか聞いてほしいな。
PyPyの例えば2.7.13ではDecimalで桁数が10^10^5程度まで数値が扱える(最大値は不明)が、
Python3のDecimalでは桁数が999999999999999999までしか数値が扱えない。
この点を今後どうするのか聞いてほしいな。
606デフォルトの名無しさん (ワッチョイ 0954-MVD/)
2023/11/09(木) 14:53:50.44ID:Wk14M+OK0 ID:Fo7n9qIpaもID:i4b+P9OO0も話を放りだしちゃったな
607デフォルトの名無しさん (アウアウウー Saa5-CWlg)
2023/11/09(木) 15:02:43.48ID:Fo7n9qIpa import decimal
decimal.getcontext().prec = 15
decimal.getcontext().prec = 15
608デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 15:11:21.88ID:iUBVM1B70 とりあえずPython3でもMpmathでprecを巨大にすれば巨大数が扱えて誤差は出ないようだが、
検算にPython3のMpmath、計算にPyPy2.7.13のDecimalを使っている。
環境が異なるために1つのプログラムで検算までできないという問題点がある。
ちなみに2^128倍精度浮動小数点数の最大値の計算をするときには、
PyPy2.7.13のDecimalではprecを1000に、Python3のMpmathではprecを10000とか100000とかにしないと誤差が出る。
検算にPython3のMpmath、計算にPyPy2.7.13のDecimalを使っている。
環境が異なるために1つのプログラムで検算までできないという問題点がある。
ちなみに2^128倍精度浮動小数点数の最大値の計算をするときには、
PyPy2.7.13のDecimalではprecを1000に、Python3のMpmathではprecを10000とか100000とかにしないと誤差が出る。
609デフォルトの名無しさん (ワッチョイ 0954-MVD/)
2023/11/09(木) 15:14:41.36ID:Wk14M+OK0610デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 15:21:06.86ID:iUBVM1B70611デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 15:31:52.00ID:iUBVM1B70 python3では
getcontext().prec = 1000
getcontext().Emax = 999999999999999999
まで、
PyPy2.7.13では
getcontext().prec = 1000
getcontext().Emax = 10**10**5
程度まで、Emaxを10**10**6にするとエラーになる。
getcontext().prec = 1000
getcontext().Emax = 999999999999999999
まで、
PyPy2.7.13では
getcontext().prec = 1000
getcontext().Emax = 10**10**5
程度まで、Emaxを10**10**6にするとエラーになる。
612デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 15:54:04.12ID:iUBVM1B70 mpmathでprecが1000での実行結果
2023-11-09 15:40:37.341115
8.693707727864259530039258884770161044063845806590697696822196758051010321507084364738474185393716049143428269592664416299506985821607020...
e+258313751232903212140244172706732768962283773495639777019746650509389263410185892774365178070439343470463409842392677007886631633129570799399839688363235723
2023-11-09 15:40:37.821113
0:00:00.479998
mpmathでprecが100での実行結果
2023-11-09 15:40:42.917141
1.73874154557285190600785177695403220881276916131813953936443935161020206430141687294769483707874321
e+258313751232903212140244172706732768962283773495639777019746650509389263410185892774365178070439343470463409842392677007886631633129570799399839688363235724
2023-11-09 15:40:42.969102
0:00:00.051961
precが100だと明らかに誤差がある。これも問題。
前者は先頭から100桁程度までと桁数は正確なのを確認している。
2023-11-09 15:40:37.341115
8.693707727864259530039258884770161044063845806590697696822196758051010321507084364738474185393716049143428269592664416299506985821607020...
e+258313751232903212140244172706732768962283773495639777019746650509389263410185892774365178070439343470463409842392677007886631633129570799399839688363235723
2023-11-09 15:40:37.821113
0:00:00.479998
mpmathでprecが100での実行結果
2023-11-09 15:40:42.917141
1.73874154557285190600785177695403220881276916131813953936443935161020206430141687294769483707874321
e+258313751232903212140244172706732768962283773495639777019746650509389263410185892774365178070439343470463409842392677007886631633129570799399839688363235724
2023-11-09 15:40:42.969102
0:00:00.051961
precが100だと明らかに誤差がある。これも問題。
前者は先頭から100桁程度までと桁数は正確なのを確認している。
613デフォルトの名無しさん (アウアウウー Saa5-CWlg)
2023/11/09(木) 16:07:17.61ID:Fo7n9qIpa614デフォルトの名無しさん (ワッチョイ 0954-MVD/)
2023/11/09(木) 16:16:09.89ID:Wk14M+OK0615デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 16:16:32.99ID:iUBVM1B70 >>602
PyPyのDecimalの誤差の問題は言いにくいが、Python3のDecimalの桁数限界の問題は言っても良さそうだよな。
Python3で動くMpmathの誤差の問題についても言っていいのかな?
Pythonの計算能力は非常に高いので高く評価できる。そのことも言っておきたい。
あとMSのVscodeからダウンロードできるPythonではいまだに3.10が使われているが、なぜまだ3.11や3.12にならないのか?も。
PyPyのDecimalの誤差の問題は言いにくいが、Python3のDecimalの桁数限界の問題は言っても良さそうだよな。
Python3で動くMpmathの誤差の問題についても言っていいのかな?
Pythonの計算能力は非常に高いので高く評価できる。そのことも言っておきたい。
あとMSのVscodeからダウンロードできるPythonではいまだに3.10が使われているが、なぜまだ3.11や3.12にならないのか?も。
616デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 16:33:36.64ID:iUBVM1B70 こういう計算ではprecを大きくしないと誤差が出る。
また、2^16倍精度浮動小数点数の最大値あたりから桁数が999999999999999999を超えてしまいPython3のDecimalではオーバーフローする。
https://ideone.com/B7quXx
2^256倍精度浮動小数点数の最大値は計算してみたが、2^512倍精度浮動小数点数の最大値は未確認。
また、2^16倍精度浮動小数点数の最大値あたりから桁数が999999999999999999を超えてしまいPython3のDecimalではオーバーフローする。
https://ideone.com/B7quXx
2^256倍精度浮動小数点数の最大値は計算してみたが、2^512倍精度浮動小数点数の最大値は未確認。
617デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 18:53:31.64ID:iUBVM1B70 Python2のDecimalのEmaxの最大値はたぶん10**999999
https://paiza.io/projects/_3oy4rG43bzr-zUb-bO3CQ
これを超えてもエラーすら出ないが計算結果も出ないのでたぶん最大値。
https://paiza.io/projects/_3oy4rG43bzr-zUb-bO3CQ
これを超えてもエラーすら出ないが計算結果も出ないのでたぶん最大値。
618デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 18:54:46.14ID:iUBVM1B70 書くのが面倒くさいので10の指数表現にしてしまったので、実際にはもっと大きいかも?
619デフォルトの名無しさん (ワッチョイ 02ea-TR5P)
2023/11/10(金) 15:53:55.15ID:5sYei61M0 >>585
xなんか使うからややこしいだけでnum=num+1にしたら誰でもわかる
xなんか使うからややこしいだけでnum=num+1にしたら誰でもわかる
620デフォルトの名無しさん (ワッチョイ 2e46-tR/v)
2023/11/10(金) 16:33:17.33ID:FbH8Mxce0 ヌムって何
621デフォルトの名無しさん (ワッチョイ fd54-EDsj)
2023/11/10(金) 19:08:35.02ID:smhSXpZ/0 変数か定数かにざっくり2種類に分かれるので、
xとかvarならいいけど、numと書いてしまうとそれは定数
xとかvarならいいけど、numと書いてしまうとそれは定数
622あぼーん
NGNGあぼーん
623デフォルトの名無しさん (ワッチョイ 1f01-qIOU)
2023/11/11(土) 10:26:25.79ID:HDC3RNtv0 >>622
こういう方法もあるんだな
こういう方法もあるんだな
624デフォルトの名無しさん (ワッチョイ 1f27-xIya)
2023/11/13(月) 22:27:11.06ID:V0ByRftD0 paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
というプログラムで、フォルダ内の画像を作成日時順にソートできたのですが、
ここの中から上位10個を取り出してそれぞれ関数に入れたいのですが、
どのような手法でやったらいいのでしょうか?
(例:001.png→data1,002.png→data2へのような形にしたいのです。)
よろしくお願いします。
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
というプログラムで、フォルダ内の画像を作成日時順にソートできたのですが、
ここの中から上位10個を取り出してそれぞれ関数に入れたいのですが、
どのような手法でやったらいいのでしょうか?
(例:001.png→data1,002.png→data2へのような形にしたいのです。)
よろしくお願いします。
625デフォルトの名無しさん (ワッチョイ ff30-hgj4)
2023/11/13(月) 23:08:29.99ID:hIb2N2Ge0 >>624
https://docs.python.org/ja/3/library/stdtypes.html#list.sort
ソート載ってたこの文書にスライスってのがあるのでそれで取り出しはできる
端から公式文書に目を通すつもりないならChatGPTさんに聞くのもいいよ
https://docs.python.org/ja/3/library/stdtypes.html#list.sort
ソート載ってたこの文書にスライスってのがあるのでそれで取り出しはできる
端から公式文書に目を通すつもりないならChatGPTさんに聞くのもいいよ
626デフォルトの名無しさん (ワッチョイ 1f27-xIya)
2023/11/14(火) 00:03:28.13ID:3XtDLzP+0627デフォルトの名無しさん (ワッチョイ 7f19-qIOU)
2023/11/14(火) 00:35:16.33ID:c91qDKwg0 >>622
コスパ良いポイ活だな
コスパ良いポイ活だな
628デフォルトの名無しさん (ワッチョイ 1f01-vgtH)
2023/11/14(火) 00:44:14.40ID:eAuNTGnN0 こいつ自演レス2回やるようになったんだな
以前は1回だった
以前は1回だった
629デフォルトの名無しさん (テテンテンテン MM4f-9Nvu)
2023/11/14(火) 01:34:46.08ID:KAjgCxWWM >>624
画像ファイルを関数に入れるってどういう意味?
画像ファイルを関数に入れるってどういう意味?
630デフォルトの名無しさん (ワッチョイ 9f54-NzoM)
2023/11/14(火) 09:59:04.47ID:POS4QBLh0 スライスはpython入門の1時間目でやるだろ
631デフォルトの名無しさん (ワッチョイ 1fa7-uZuc)
2023/11/14(火) 12:04:58.19ID:a6f/tVQx0632デフォルトの名無しさん (ワッチョイ 9f7c-gFzT)
2023/11/14(火) 19:06:35.65ID:xujXPfzz0 >>631
画像のバイナリを関数に渡すって考える方が普通じゃ?
画像のバイナリを関数に渡すって考える方が普通じゃ?
633デフォルトの名無しさん (ワッチョイ 9f54-NzoM)
2023/11/14(火) 19:12:22.18ID:POS4QBLh0 そんなアホな取り回しはせんやろ
634デフォルトの名無しさん (ワッチョイ 7f5c-wD1F)
2023/11/14(火) 20:05:40.30ID:lvDQJ2KR0 ワロタw
635デフォルトの名無しさん (JP 0H4f-9Nvu)
2023/11/15(水) 08:14:14.82ID:PY3kt1RSH そもそも10個の関数を順番に呼び出す仕組みがPythonにはないよね
636デフォルトの名無しさん (ワッチョイ 9f54-NzoM)
2023/11/15(水) 08:38:19.84ID:+heJlrgN0 >>624に書いてある、data1というのは関数名なのか
命名のセンスが悪い
命名のセンスが悪い
637デフォルトの名無しさん (ワッチョイ 9f46-uMtu)
2023/11/15(水) 10:00:41.77ID:4ca/PT+K0638デフォルトの名無しさん (ワッチョイ ff89-Xl/w)
2023/11/15(水) 11:08:40.78ID:t2csacDc0639デフォルトの名無しさん (ワッチョイ 9f54-NzoM)
2023/11/15(水) 11:11:13.85ID:+heJlrgN0 似たような関数が並んでるなら引数でどうにかするし、
全然違うのならテーブルで並べるか、シーケンシャルに書いちゃうか
全部画像を処理するんだから、似てると思うけど
全然違うのならテーブルで並べるか、シーケンシャルに書いちゃうか
全部画像を処理するんだから、似てると思うけど
640デフォルトの名無しさん (JP 0H4f-9Nvu)
2023/11/15(水) 15:31:22.25ID:PY3kt1RSH641デフォルトの名無しさん (ワッチョイ 1ff0-Gf4c)
2023/11/15(水) 15:38:36.15ID:/tSVEj7/0 そんなことする必要ないことに気がついてくれ
642デフォルトの名無しさん (ワッチョイ ffce-hgj4)
2023/11/15(水) 15:44:53.45ID:VGv7kGCa0 仮にやりたいって話でしょ
Pythonは関数もファーストクラスだから余裕
Pythonは関数もファーストクラスだから余裕
643デフォルトの名無しさん (スプッッ Sd1f-bSx2)
2023/11/15(水) 17:45:49.81ID:olanfxkjd # 超適当に答えてみる
def data1(path):
pass
paths = ["path1.txt","path2.txt","path3.txt",]
datas = [data1,data2,data3,]
# こっちはべた書き
data1(paths[0])
data2(paths[1])
data3(paths[2])
# こっちはグルグル
for data,path in zip(datas,paths):
data(path)
def data1(path):
pass
paths = ["path1.txt","path2.txt","path3.txt",]
datas = [data1,data2,data3,]
# こっちはべた書き
data1(paths[0])
data2(paths[1])
data3(paths[2])
# こっちはグルグル
for data,path in zip(datas,paths):
data(path)
644デフォルトの名無しさん (ワッチョイ 1f79-oqYz)
2023/11/15(水) 20:01:43.64ID:qjPY1w3P0 配列定義する手間で全部書けるだろなにがしたいんだ
645デフォルトの名無しさん (ワッチョイ 1f27-XI6K)
2023/11/15(水) 21:38:54.96ID:SiUAlBQI0 >>629-643
624です。
Lineを使ってStableDiffutionで作成した画像をソートして作成日時が新しいもの10個を自分用に送り付ける方法を考えてました。
んで、関数の話としては>>643のべた書きが近く・・・というかまんまで、文字通りべた書きで10回処理を行いそれぞれ別関数へ突っ込んでます。
本当はもっといい処理方法あると思いまが、あまりプログラム系は触ったことがなく、自分でできる範囲で最適化するつもりです。
>>629 の画像ファイルを関数に入れるに関しては、
im1 = Image.open(data)
という処理を別でやっており、10枚の画像ファイルを、2列5行の画像ファイルで書き出して送信するするつもりです。(ランダムで10枚を1枚にしてLineに送る処理はできたので・・)
LINE NotifyやLineAPIを叩いても、複数画像をまとめて送る手法がなかったので、1つの画像で送る方法をとっています。
で、そのプログラムですが以下のようになってます。
(Google Colabで実行)
from pathlib import Path
import os
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
print (paths.sort)
l_reversed = paths[0::-1]
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
このプログラムでソートした上から3つを取り出せたのですがいかがでしょうか。
また、
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
の処理があまりよくわかっていないのですが、
これは、for file in pathsでフォルダ指定したフォルダ内の全ファイルに対して、{file.stat().st_mtime:.0f} で更新日、{file.name}でファイル名の表示で会っていますでしょうか。
それか、ほかにもっとスマートな手法ありますでしょうか。 よろしくお願いします。
624です。
Lineを使ってStableDiffutionで作成した画像をソートして作成日時が新しいもの10個を自分用に送り付ける方法を考えてました。
んで、関数の話としては>>643のべた書きが近く・・・というかまんまで、文字通りべた書きで10回処理を行いそれぞれ別関数へ突っ込んでます。
本当はもっといい処理方法あると思いまが、あまりプログラム系は触ったことがなく、自分でできる範囲で最適化するつもりです。
>>629 の画像ファイルを関数に入れるに関しては、
im1 = Image.open(data)
という処理を別でやっており、10枚の画像ファイルを、2列5行の画像ファイルで書き出して送信するするつもりです。(ランダムで10枚を1枚にしてLineに送る処理はできたので・・)
LINE NotifyやLineAPIを叩いても、複数画像をまとめて送る手法がなかったので、1つの画像で送る方法をとっています。
で、そのプログラムですが以下のようになってます。
(Google Colabで実行)
from pathlib import Path
import os
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
print (paths.sort)
l_reversed = paths[0::-1]
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
このプログラムでソートした上から3つを取り出せたのですがいかがでしょうか。
また、
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
の処理があまりよくわかっていないのですが、
これは、for file in pathsでフォルダ指定したフォルダ内の全ファイルに対して、{file.stat().st_mtime:.0f} で更新日、{file.name}でファイル名の表示で会っていますでしょうか。
それか、ほかにもっとスマートな手法ありますでしょうか。 よろしくお願いします。
646デフォルトの名無しさん (ワッチョイ fff0-fgGr)
2023/11/16(木) 00:51:14.98ID:Q2M7jM7u0 たぶんやりたいことはこんなかんじだろ
for i in range(10):
eval("data" +i)(paths[i])
for i in range(10):
eval("data" +i)(paths[i])
647デフォルトの名無しさん (ワッチョイ ff89-Xl/w)
2023/11/16(木) 01:17:55.83ID:YpHIXhGK0 >>645
from pathlib import Path
import os
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
print (paths.sort)
l_reversed = paths[0::-1] <- ここと同様に似た部分は重複処理なので値の変化量を保存する処理にするともっと良くなるかも
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
from pathlib import Path
import os
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
print (paths.sort)
l_reversed = paths[0::-1] <- ここと同様に似た部分は重複処理なので値の変化量を保存する処理にするともっと良くなるかも
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
648デフォルトの名無しさん (アウアウウー Sae3-Xzxn)
2023/11/16(木) 10:39:16.68ID:QXdh7keCa print (l_reversed)
print (l2_reversed)
print (l3_reversed)
かっこわるい
print (l2_reversed)
print (l3_reversed)
かっこわるい
649デフォルトの名無しさん (スプッッ Sd1f-bSx2)
2023/11/16(木) 11:03:41.52ID:pvCpT+Yld もしかして、
「関数」じゃなくて「変数」だったり?
「関数」じゃなくて「変数」だったり?
650デフォルトの名無しさん (ワッチョイ ffce-hgj4)
2023/11/16(木) 13:24:54.46ID:eCSrCCxs0651デフォルトの名無しさん (スプッッ Sd1f-7z1d)
2023/11/16(木) 17:03:02.71ID:1QM1kixjd l_reversed = paths[0::-1]
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
こんな書き方してるのに
> ランダムで10枚を1枚にしてLineに送る処理はできたので
ここまで辿り着けたのがすげぇ
ランダムのソースコード(I/F部分だけでも)を貼ったら、答えがすぐ返ってくると思う
他の部分もめちゃくちゃ言われるだろうけど、そっちはお勉強ということで
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
こんな書き方してるのに
> ランダムで10枚を1枚にしてLineに送る処理はできたので
ここまで辿り着けたのがすげぇ
ランダムのソースコード(I/F部分だけでも)を貼ったら、答えがすぐ返ってくると思う
他の部分もめちゃくちゃ言われるだろうけど、そっちはお勉強ということで
652デフォルトの名無しさん (ワッチョイ ff7b-zK++)
2023/11/16(木) 17:12:01.88ID:KD9PIbB20 このプログラム系の知識感でAPI叩いてるってのが逆にすごい。
653デフォルトの名無しさん (ワッチョイ 1f8a-vmna)
2023/11/17(金) 00:14:30.55ID:7IofKhtq0 subprocessとsubprocess.PIPEを1行でimportする方法ってある?
654デフォルトの名無しさん (ワッチョイ ff7b-zK++)
2023/11/17(金) 09:10:23.93ID:40Zys+6x0 import subprocess; from subprocess import PIPE て事ではなく?
655デフォルトの名無しさん (アウアウウー Sae3-OPKY)
2023/11/17(金) 10:18:44.46ID:BqbQlbW7a inport subprocess
だけでよくね?
だけでよくね?
656デフォルトの名無しさん (ワッチョイ ff46-uMtu)
2023/11/17(金) 11:02:23.16ID:HkmKeaDT0 >>655
許せない。。
>>> inport subprocess
File "<stdin>", line 1
inport subprocess
^
SyntaxError: invalid syntax
>>>
許せない。。
>>> inport subprocess
File "<stdin>", line 1
inport subprocess
^
SyntaxError: invalid syntax
>>>
657デフォルトの名無しさん (スプッッ Sd7f-Xzxn)
2023/11/17(金) 11:28:45.83ID:180/RciHd もちつけ
>>> import subprocess
>>> print(subprocess)
<module 'subprocess' from '.../subprocess.py'>
>>> print(subprocess.PIPE)
-1
>>> import subprocess
>>> print(subprocess)
<module 'subprocess' from '.../subprocess.py'>
>>> print(subprocess.PIPE)
-1
658デフォルトの名無しさん (ワッチョイ 1fb1-u6Hu)
2023/11/17(金) 13:19:32.60ID:FFgkWy7J0 使えなくなるまで
os.system()を使います><。
os.system()を使います><。
659デフォルトの名無しさん (ワッチョイ ff7f-vmna)
2023/11/17(金) 15:17:29.47ID:Y0aXBNXC0660デフォルトの名無しさん (ワッチョイ ff63-kIyz)
2023/11/17(金) 22:22:21.30ID:i6SiN6NQ0661659ではない (ワッチョイ 6e46-eNDp)
2023/11/18(土) 03:49:04.58ID:0Uy+05Nv0 >>660
import subprocess {self as sp, PIPE as spp}
みたいにして、subprocessとsubprocess.PIPE各々を別名にして、1ステートメントでimportする方法ってある?
import subprocess {self as sp, PIPE as spp}
みたいにして、subprocessとsubprocess.PIPE各々を別名にして、1ステートメントでimportする方法ってある?
662デフォルトの名無しさん (JP 0H66-ue97)
2023/11/18(土) 07:14:32.15ID:kMLLK9REH >>661
無理でしょ
subprocess に別名を付けるには import
subprocess.PIPE に別名を付けるには from import
import と from import は別の構文だから並べられない
無理でしょ
subprocess に別名を付けるには import
subprocess.PIPE に別名を付けるには from import
import と from import は別の構文だから並べられない
663デフォルトの名無しさん (ワッチョイ 6e63-Cy+q)
2023/11/18(土) 08:04:12.74ID:Kfn2l2LH0 可読性を犠牲にしてまで1行にこだわるのかが謎だ
664デフォルトの名無しさん (アウアウウー Sa85-UHOz)
2023/11/18(土) 17:02:58.33ID:rXJKESWNa from subprocess import *
665デフォルトの名無しさん (ワッチョイ 6e46-4xZ8)
2023/11/18(土) 17:19:32.77ID:gr23gvrO0666デフォルトの名無しさん (ワッチョイ 8690-tE+F)
2023/11/18(土) 20:47:54.52ID:fIOteNuc0667661 (ワッチョイ 6e46-4xZ8)
2023/11/18(土) 21:57:39.08ID:gr23gvrO0668デフォルトの名無しさん (ワッチョイ 29b1-ettz)
2023/11/18(土) 22:09:39.15ID:2M9ZJit40 昔パールを初めてやってた時
open($fp,"/bin/ls | ") || die 'cant open /bin/ls';
while(<$fp>){
print;
}
close($fp);
これスゲーって思った。
コマンドをパイプつきでオープンして、while文で読み込むって。
でもパールはダメだ、見切りを付けてpythonに移った。
久し振りすぎて、上の書くのも苦労したww
open($fp,"/bin/ls | ") || die 'cant open /bin/ls';
while(<$fp>){
print;
}
close($fp);
これスゲーって思った。
コマンドをパイプつきでオープンして、while文で読み込むって。
でもパールはダメだ、見切りを付けてpythonに移った。
久し振りすぎて、上の書くのも苦労したww
669デフォルトの名無しさん (ワッチョイ 5d54-fbAv)
2023/11/18(土) 22:57:41.75ID:STIOjWGd0 pythonでも似たようなことやるがな
670デフォルトの名無しさん (ワッチョイ 29b1-ettz)
2023/11/18(土) 23:18:59.79ID:2M9ZJit40 え、できるの?知らんかった。
671デフォルトの名無しさん (ワッチョイ 5d54-fbAv)
2023/11/18(土) 23:26:44.76ID:STIOjWGd0 話題のsubprocess.PIPEにstdoutを流す
672デフォルトの名無しさん (ワッチョイ 29b1-ettz)
2023/11/19(日) 00:05:14.88ID:B+HVId7D0 まあ、そりゃそうだけど。
perl の open()関数でコマンド起動してファイルを読み込むのと同じ仕様で書けるって
力技感一杯じゃんw
perl の open()関数でコマンド起動してファイルを読み込むのと同じ仕様で書けるって
力技感一杯じゃんw
673デフォルトの名無しさん (ワッチョイ 6e63-Cy+q)
2023/11/19(日) 02:07:38.68ID:S9/JwIsQ0 >>667
最初、改行文字の節約って思ったけど、
セミコロン+スペースと変わらんもんなぁ
LFなら改行のほうが少ないし
pythonは行あたり80文字という一応の目安を文書化した言語だから、
改行に抵抗がない人が多そうだけど、そうでもないのかな?
最初、改行文字の節約って思ったけど、
セミコロン+スペースと変わらんもんなぁ
LFなら改行のほうが少ないし
pythonは行あたり80文字という一応の目安を文書化した言語だから、
改行に抵抗がない人が多そうだけど、そうでもないのかな?
674デフォルトの名無しさん (ワッチョイ 6e46-4xZ8)
2023/11/19(日) 07:30:36.55ID:vAXGDL640 >>673
敢えて利点を挙げるなら、
import urllib2.{Amodule, Bmodule} # Rust風?
と書ければ、キーワードが集約されるので、
import urllib2.Amodule
import urllib.Bmodule # 「2」字脱落
みたいな片ちんばな誤記にならない。
from urllib import Bmodule と誤記して、Bmodule.same_function() を呼ぶと、
urllib2 の関数を扱っているつもりが、実は
urllib を使用していたという、自分では解りにくいミスになるかも。
なまじ Amodule はマトモなので、思い込みに泣く。
敢えて利点を挙げるなら、
import urllib2.{Amodule, Bmodule} # Rust風?
と書ければ、キーワードが集約されるので、
import urllib2.Amodule
import urllib.Bmodule # 「2」字脱落
みたいな片ちんばな誤記にならない。
from urllib import Bmodule と誤記して、Bmodule.same_function() を呼ぶと、
urllib2 の関数を扱っているつもりが、実は
urllib を使用していたという、自分では解りにくいミスになるかも。
なまじ Amodule はマトモなので、思い込みに泣く。
675デフォルトの名無しさん (アウアウウー Sa85-UHOz)
2023/11/19(日) 12:19:59.30ID:/G2k3fWta >>667 観て造った
>>653
https://paiza.io/projects/kIZMaC_GHS4Albu4tapOTQ
def rust(mod, names):
globals()[mod] = __import__(mod)
for n in names:
globals()[n] = getattr(__import__(mod, globals(), locals(), [n], 0), n)
rust('subprocess', ['PIPE', 'STDOUT'])
print(dir(subprocess))
print(PIPE)
print(STDOUT)
>>653
https://paiza.io/projects/kIZMaC_GHS4Albu4tapOTQ
def rust(mod, names):
globals()[mod] = __import__(mod)
for n in names:
globals()[n] = getattr(__import__(mod, globals(), locals(), [n], 0), n)
rust('subprocess', ['PIPE', 'STDOUT'])
print(dir(subprocess))
print(PIPE)
print(STDOUT)
676デフォルトの名無しさん (ワッチョイ fe95-fy5B)
2023/11/19(日) 16:33:07.78ID:oPb7CqgG0 >>675
ネタだとしてもサブパッケージ等対応出来てないものがいくつかあるので却下ですね
ネタだとしてもサブパッケージ等対応出来てないものがいくつかあるので却下ですね
677デフォルトの名無しさん (ワッチョイ ae4d-8oJ/)
2023/11/19(日) 16:51:15.74ID:j9gIHEdT0 DAOデザインパターンのセッションオブジェクトって
どこで持つべき?
ロジッククラス?それともセッション管理クラスを新しく作る?
それともDAOの中でセッション張る?
どこで持つべき?
ロジッククラス?それともセッション管理クラスを新しく作る?
それともDAOの中でセッション張る?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- とらせん IPあり
- 巨専】
- 【DAZN】ワールドカップ欧州予選総合 ★5
- こいせん 全レス転載禁止
- 【J SPORTS】FIFA U-17ワールドカップ ★10
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- トヨタ、反日だった。2027年に中国にレクサスのEV工場を設立。高市 [931948549]
- 日本政府、ネトウヨに媚びるために韓国との関係も悪化させてしまう [603416639]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 【悲報】SP500今日も暴落で完全に世界恐慌。高市恐慌として全世界で語り継がれそう [686538148]
- 自閉症が「んなっしょい」と連呼するお🏡
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
