↑スレ立てる毎に減るので、減ってたら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:u6xixiUt0240デフォルトの名無しさん (ワッチョイ 1b3e-o1LZ)
2023/10/03(火) 23:15:37.13ID:3QaR5cka0 いっそCodec自作するのがよい
241デフォルトの名無しさん (ワッチョイ 8501-IetE)
2023/10/04(水) 19:48:31.85ID:vlFi92ca0 matplotlibでファイルとかWebAggにグラフを書き出すとき、show()する度に過去のグラフの上に新しいグラフが追加されていくじゃないですか。
show()する度にウインドウをリフレッシュして新しいグラフだけ表示するようにしたいんですが、そのためには毎回show()のあとにclose()かclf()するしかないですかね?
matplotlibの設定か何かでshow()の後のcloseを強制化か自動化する方法があったらご教示ください。
show()する度にウインドウをリフレッシュして新しいグラフだけ表示するようにしたいんですが、そのためには毎回show()のあとにclose()かclf()するしかないですかね?
matplotlibの設定か何かでshow()の後のcloseを強制化か自動化する方法があったらご教示ください。
242デフォルトの名無しさん (ワッチョイ 0d54-XGbB)
2023/10/04(水) 20:10:48.56ID:PXW0isNe0 グラフはなんかどうやっても面倒で、
その原因は隅々まで人間が指定できてしまうことにあるので、
不自由だけど全部やってくれる系のが出るのを待ってる
その原因は隅々まで人間が指定できてしまうことにあるので、
不自由だけど全部やってくれる系のが出るのを待ってる
243デフォルトの名無しさん (アウアウクー MMa1-u01H)
2023/10/04(水) 23:28:39.66ID:q7y7rPWzM244デフォルトの名無しさん (ワッチョイ 25a7-Gac/)
2023/10/05(木) 01:09:23.57ID:2PZdepi20 ロジックをどのようにすれば以下のような処理を実現できるか悩んでいて、知恵を拝借したいです…
何か良い方法はないでしょうか?
【前提条件】
◯ある配列があり、先頭から順に1日に3件ずつ処理しています
◯その配列には辞書が格納されています。キーの一つに処理日付カラムがあり、最後に処理された日付が格納されています
◯配列の末尾に到達すると、処理対象は先頭に戻ります
【実現したいこと】
配列の中のある一つのインデックスを選んだ時、そのインデックスが示す辞書が次に処理される日付を求める
何か良い方法はないでしょうか?
【前提条件】
◯ある配列があり、先頭から順に1日に3件ずつ処理しています
◯その配列には辞書が格納されています。キーの一つに処理日付カラムがあり、最後に処理された日付が格納されています
◯配列の末尾に到達すると、処理対象は先頭に戻ります
【実現したいこと】
配列の中のある一つのインデックスを選んだ時、そのインデックスが示す辞書が次に処理される日付を求める
245デフォルトの名無しさん (アウアウクー MMa1-u01H)
2023/10/05(木) 01:46:17.44ID:XUo8TI11M 配列の長さが固定でないなら長さが変わる法則がわからないので計算しようがない
固定なら長さを3で割って書いてある日付に足すだけでは?
固定なら長さを3で割って書いてある日付に足すだけでは?
246デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
2023/10/05(木) 07:27:27.90ID:Q+rj3wnZM python3.11.1からpython3.12.0に更新したら追加したモジュールがないってエラーになるんですが
更新するたびにモジュール入れなおさないといけないのですか
更新するたびにモジュール入れなおさないといけないのですか
247デフォルトの名無しさん (ワッチョイ cb7b-p502)
2023/10/05(木) 09:03:11.32ID:nAkSGUCB0248244 (ワッチョイ 25a7-skpN)
2023/10/05(木) 09:37:49.75ID:2PZdepi20 配列の長さは固定としてよいのですが、長さを3で割って日付に足すやり方は配列の長さが3の倍数でないと使えないと思うんです。
249デフォルトの名無しさん (ワッチョイ 25a7-skpN)
2023/10/05(木) 09:41:08.11ID:2PZdepi20250デフォルトの名無しさん (ワッチョイ 25a7-skpN)
2023/10/05(木) 09:41:08.94ID:2PZdepi20251デフォルトの名無しさん (ワッチョイ cb7b-p502)
2023/10/05(木) 09:52:04.06ID:nAkSGUCB0 >>250
格納するための配列が1つで、最大格納数が設定されてるって事ね?
格納する時の辞書を{‘day’:day,’contents’:[contentsA,contentsB,contentsC]}
みたいにしたらあかんの?
もしくは配列のmax数を3の倍数にしとくか。
max数が3の倍数にできなくても指定したインデックスの前後2つずつ調べれば済むだけだと思うけど。
格納するための配列が1つで、最大格納数が設定されてるって事ね?
格納する時の辞書を{‘day’:day,’contents’:[contentsA,contentsB,contentsC]}
みたいにしたらあかんの?
もしくは配列のmax数を3の倍数にしとくか。
max数が3の倍数にできなくても指定したインデックスの前後2つずつ調べれば済むだけだと思うけど。
252デフォルトの名無しさん (ワッチョイ 0d54-XGbB)
2023/10/05(木) 09:54:53.37ID:R2cxF7x40 3を固定にしないでいくつでもいいけど実際は3でしか使わない
という設計がいい
という設計がいい
253デフォルトの名無しさん (アウアウアー Sa2b-1W5y)
2023/10/05(木) 10:25:35.56ID:MScw1o+3a >>249
3×日数を配列の長さで割れば、ある日付けにどこを読んでいるかが計算できる
なので前回読まれた時にその日の処理の中で0番目1番目2番目のどれだったのか記録しておけば直接計算できる
あるいは配列の2つ前までが前回処理された日付を読んでもいい
Pythonの問題とかじゃなくて算数の問題じゃないか?
配列の長さがNとしたら3N日ごとに全く同じパターンが繰り返されるから、最初に3N日分計算すれば永遠に同じパターンが使える
上のやり方や3で割った余りで分類する関数を書いてもいいが最初に計算するパターンのほうがミスりづらいので俺ならこっちで書きそう
3×日数を配列の長さで割れば、ある日付けにどこを読んでいるかが計算できる
なので前回読まれた時にその日の処理の中で0番目1番目2番目のどれだったのか記録しておけば直接計算できる
あるいは配列の2つ前までが前回処理された日付を読んでもいい
Pythonの問題とかじゃなくて算数の問題じゃないか?
配列の長さがNとしたら3N日ごとに全く同じパターンが繰り返されるから、最初に3N日分計算すれば永遠に同じパターンが使える
上のやり方や3で割った余りで分類する関数を書いてもいいが最初に計算するパターンのほうがミスりづらいので俺ならこっちで書きそう
254デフォルトの名無しさん (アウアウアー Sa2b-1W5y)
2023/10/05(木) 10:25:53.00ID:MScw1o+3a >>249
3×日数を配列の長さで割れば、ある日付けにどこを読んでいるかが計算できる
なので前回読まれた時にその日の処理の中で0番目1番目2番目のどれだったのか記録しておけば直接計算できる
あるいは配列の2つ前までが前回処理された日付を読んでもいい
Pythonの問題とかじゃなくて算数の問題じゃないか?
配列の長さがNとしたら3N日ごとに全く同じパターンが繰り返されるから、最初に3N日分計算すれば永遠に同じパターンが使える
上のやり方や3で割った余りで分類する関数を書いてもいいが最初に計算するパターンのほうがミスりづらいので俺ならこっちで書きそう
3×日数を配列の長さで割れば、ある日付けにどこを読んでいるかが計算できる
なので前回読まれた時にその日の処理の中で0番目1番目2番目のどれだったのか記録しておけば直接計算できる
あるいは配列の2つ前までが前回処理された日付を読んでもいい
Pythonの問題とかじゃなくて算数の問題じゃないか?
配列の長さがNとしたら3N日ごとに全く同じパターンが繰り返されるから、最初に3N日分計算すれば永遠に同じパターンが使える
上のやり方や3で割った余りで分類する関数を書いてもいいが最初に計算するパターンのほうがミスりづらいので俺ならこっちで書きそう
255デフォルトの名無しさん (アウアウアー Sa2b-1W5y)
2023/10/05(木) 10:35:41.65ID:MScw1o+3a それプログラミングじゃなくて算数の問題だからプログラミングのお題スレとかに書くと喜ばれるよ
dictのまま書くなら2つ前までの要素がいつ処理されたのかを読んで余りで処理するしかないけどめんどいから常人はやらない
辞書を継承した自作クラスにして前回どこを読んだかのカウンターを付ける
これで次回読まれるのがいつかが計算できる
dictのまま書くなら2つ前までの要素がいつ処理されたのかを読んで余りで処理するしかないけどめんどいから常人はやらない
辞書を継承した自作クラスにして前回どこを読んだかのカウンターを付ける
これで次回読まれるのがいつかが計算できる
256デフォルトの名無しさん (ワッチョイ 9b90-AvD6)
2023/10/05(木) 11:58:22.11ID:1QWCM3G80257デフォルトの名無しさん (ワッチョイ 9b90-AvD6)
2023/10/05(木) 12:04:19.81ID:1QWCM3G80 それか
for i in range(start_idx, start_idx+3):
if i>=len(list_x): i -= len(list_x)
~本処理~
for i in range(start_idx, start_idx+3):
if i>=len(list_x): i -= len(list_x)
~本処理~
258デフォルトの名無しさん (ワッチョイ 0d54-XGbB)
2023/10/05(木) 12:10:07.58ID:R2cxF7x40 do whileが無いので、代わりに無限ループにしておいて、
whileの条件が成立しなかったらbreakで抜けるというのが標準の書き方だけど、
やっぱり低級に見える
whileの条件が成立しなかったらbreakで抜けるというのが標準の書き方だけど、
やっぱり低級に見える
259デフォルトの名無しさん (ワッチョイ 2361-tvb5)
2023/10/05(木) 13:24:00.30ID:Rw+E7y8Y0 >>246
pythonはマイナーバージョン毎に共存できるようになってるのだから入れ直すというか新たにモジュール入れてやらないとだめ
pythonはマイナーバージョン毎に共存できるようになってるのだから入れ直すというか新たにモジュール入れてやらないとだめ
260デフォルトの名無しさん (ワッチョイ eb01-JbMN)
2023/10/05(木) 18:46:58.77ID:ZQpyEfNY0 >>244
学校の宿題とかパズルとかならいいんだけど
現実のシステムだと変更に弱くなるから
最後に実行された日付に不必要に依存すべきでないと思う
次はどのインデックス位置からいつ処理を実行するのかといった進捗状態を
配列とは別に保存しておいてそれをもとに計算したほうがいい
イテレータと同じイメージ
学校の宿題とかパズルとかならいいんだけど
現実のシステムだと変更に弱くなるから
最後に実行された日付に不必要に依存すべきでないと思う
次はどのインデックス位置からいつ処理を実行するのかといった進捗状態を
配列とは別に保存しておいてそれをもとに計算したほうがいい
イテレータと同じイメージ
261デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
2023/10/05(木) 20:25:01.10ID:86J8E1XoM262デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
2023/10/05(木) 20:28:43.13ID:86J8E1XoM pip freezeでパッケージの一覧を作成できるのか
色々導入していたわ
色々導入していたわ
263デフォルトの名無しさん (アウアウウー Sa89-5C2y)
2023/10/06(金) 10:15:56.07ID:Zl0hPCVya なんで特定のバージョンに依存する描き方をしたがるんだろ
264デフォルトの名無しさん (ワッチョイ e3ff-uznD)
2023/10/06(金) 16:14:40.86ID:IoTyA8+w0 >>263
これどういうこと?
これどういうこと?
265デフォルトの名無しさん (ワッチョイ 25b1-iVkM)
2023/10/06(金) 19:45:56.36ID:1GaBjHDa0 dockerとかrequirements.txtとか再現性高めようとすると
必然的に特定のバージョンに依存するような書き方になると思うのだが。
最新バージョンで過去のバージョンの描き方してる、とかいう元も子もない前提条件なら知らんけど
必然的に特定のバージョンに依存するような書き方になると思うのだが。
最新バージョンで過去のバージョンの描き方してる、とかいう元も子もない前提条件なら知らんけど
266デフォルトの名無しさん (ワッチョイ 8501-IetE)
2023/10/06(金) 22:02:44.19ID:fyVU6Crm0 >>243
そのポリシーに賛同するかどうかはともかく、質問への回答にはなっていない
そのポリシーに賛同するかどうかはともかく、質問への回答にはなっていない
267デフォルトの名無しさん (ワッチョイ 8501-IetE)
2023/10/06(金) 22:02:55.99ID:fyVU6Crm0 >>243
そのポリシーに賛同するかどうかはともかく、質問への回答にはなっていない
そのポリシーに賛同するかどうかはともかく、質問への回答にはなっていない
268デフォルトの名無しさん (クスマテ MM7e-RHqV)
2023/10/07(土) 00:23:30.85ID:BGf9xocdM func( *l if a else l )
条件分岐で
*l と l
渡せると思ってたら
func( *(l if a else l) )
だった
親lがリストのときは*lで
親lがリスト以外のときは[l]
ってやりたいときこれでいいのかな
def func(*args):
print( list(*args) )
l=[{"a":1},{"b":2},{"c":3}]#[["a",1],["b",2]]
#l={"d":4}
func(*(l if isinstance(l,list) else [l]) )
#[{'a': 1}, {'b': 2}, {'c': 3}]
#[{'d': 4}]
条件分岐で
*l と l
渡せると思ってたら
func( *(l if a else l) )
だった
親lがリストのときは*lで
親lがリスト以外のときは[l]
ってやりたいときこれでいいのかな
def func(*args):
print( list(*args) )
l=[{"a":1},{"b":2},{"c":3}]#[["a",1],["b",2]]
#l={"d":4}
func(*(l if isinstance(l,list) else [l]) )
#[{'a': 1}, {'b': 2}, {'c': 3}]
#[{'d': 4}]
269デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/07(土) 00:26:09.11ID:sH3Ijf0D0 typeを使うのでは
270デフォルトの名無しさん (ワッチョイ 6e41-GmSQ)
2023/10/07(土) 02:03:39.77ID:RYTHxcGi0 では、とは?
271デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/08(日) 10:38:55.23ID:CrdCteTPa あるいは func(*l) if isinstance(l, list) else func(l)
あるいは func(*l) if type(l) is list else func(l)
あるいは func(*l) if type(l) is list else func(l)
272デフォルトの名無しさん (ワッチョイ 5a7a-b2+y)
2023/10/08(日) 13:04:34.27ID:DaqKIDwO0 func if func的に2度func書くメリットがいまいちわからん
273デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/08(日) 13:16:17.82ID:+xSVm5Mx0 三項演算子だからでは
274デフォルトの名無しさん (ワッチョイ 7646-ToyC)
2023/10/08(日) 13:40:38.67ID:RkxvDOHc0 Pythonの三項演算子カコワルイ
C言語とかの方がパッと見て解りやすい。
(isinstance(l, list)) ? func(*l) : func(l) ;
C言語とかの方がパッと見て解りやすい。
(isinstance(l, list)) ? func(*l) : func(l) ;
275デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/08(日) 13:52:37.91ID:+xSVm5Mx0 コロンにそうでなければ、という意味を持たせる文化圏は無い
276デフォルトの名無しさん (ワッチョイ da34-nQLp)
2023/10/08(日) 14:06:28.33ID:KpUyeA1F0 funcに返り値があったとして
f = func if func
f["res"]
# or
res = ( func if func )["res"]
またfunc内に引数分岐処理を隠蔽できる可能性を残したとして
func if func的に2度func書くメリットがいまいちわからん
f = func if func
f["res"]
# or
res = ( func if func )["res"]
またfunc内に引数分岐処理を隠蔽できる可能性を残したとして
func if func的に2度func書くメリットがいまいちわからん
277デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/08(日) 14:47:59.95ID:CrdCteTPa278デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/08(日) 14:54:32.17ID:CrdCteTPa >>276 みたいなのがいるから
true のときの func と false のときの func が常に同じことが確実な場合
tri(isinstance(l, list), func, (*l), (l))
でも良いが
true のときの func と false のときの func が常に同じことが確実な場合
tri(isinstance(l, list), func, (*l), (l))
でも良いが
279デフォルトの名無しさん (ワッチョイ aeda-XtdT)
2023/10/08(日) 15:02:00.39ID:kixUsqHh0 値を返せるifを追加してくれる方がうれしいわ
実装は関数のシンタックスシュガー
実装は関数のシンタックスシュガー
280デフォルトの名無しさん (ワッチョイ d50a-wTou)
2023/10/08(日) 16:02:51.80ID:J25crwC10 値を返せるifって例えばなんですか
281デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/08(日) 16:17:18.80ID:+xSVm5Mx0 むしろ値を返す方が主流だろうに
282デフォルトの名無しさん (ワッチョイ cd01-AeST)
2023/10/08(日) 16:57:27.95ID:Er3q4bv00 同じ関数を呼ぶのにアンパックするかしないかの条件分岐をさせるのは
あまり筋がよくないように感じるんだけど俺だけかな?
あまり筋がよくないように感じるんだけど俺だけかな?
283デフォルトの名無しさん (ワッチョイ 7646-ToyC)
2023/10/08(日) 17:44:40.59ID:RkxvDOHc0284デフォルトの名無しさん (ワッチョイ 76cf-GYY9)
2023/10/08(日) 18:05:22.35ID:wK2D7Ptr0 >>279
で、できたのが今の python の三項演算子
で、できたのが今の python の三項演算子
285デフォルトの名無しさん (ワッチョイ 0d01-wavJ)
2023/10/08(日) 18:54:48.99ID:e0NfdHuO0286デフォルトの名無しさん (ワッチョイ 46f1-WjDx)
2023/10/09(月) 00:17:46.66ID:XNvR9diB0 式か文かのお話
287デフォルトの名無しさん (ワッチョイ cd59-/0Ns)
2023/10/09(月) 13:00:29.46ID:T44TvStm0 printって
print(txt1,txt2,txt3)
って感じの仕様だけど
この仕様のメリットってなんなの?
t=[txt1,txt2,txt3]
print(*t)
みたいに書けて名前引数でもオプション設定できたりするくらい?
↑だとprintのソースコードは、def print(*values,,,option):な感じだけど
もしprintが
def print(values=[],option=,,,,**kwrgs):(valuesがlistか否かの処理)
みたいな仕様だったら実装上は
print([txt1,txt2,txt3],option)とかprint(txt1)
って書くことになる
個人的になんか見た目がダサいというか・・
単に好みの問題?
print(txt1,txt2,txt3)
って感じの仕様だけど
この仕様のメリットってなんなの?
t=[txt1,txt2,txt3]
print(*t)
みたいに書けて名前引数でもオプション設定できたりするくらい?
↑だとprintのソースコードは、def print(*values,,,option):な感じだけど
もしprintが
def print(values=[],option=,,,,**kwrgs):(valuesがlistか否かの処理)
みたいな仕様だったら実装上は
print([txt1,txt2,txt3],option)とかprint(txt1)
って書くことになる
個人的になんか見た目がダサいというか・・
単に好みの問題?
288デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/09(月) 13:50:57.64ID:3+LduzXw0 まあ、基本は一つだけprintだしな
スペースで区切っていくつも表示したいというデバッグ的な使い方で複数書くくらいでは
スペースで区切っていくつも表示したいというデバッグ的な使い方で複数書くくらいでは
289デフォルトの名無しさん (ワッチョイ 76cf-GYY9)
2023/10/09(月) 14:20:36.51ID:Xgju9ZEc0 print "result=", value
みたいにやってた流れだろ
みたいにやってた流れだろ
290デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/09(月) 15:08:30.25ID:gMk1hFfQa >>287
昔のPythonは()すら無かった
昔のPythonは()すら無かった
291デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/09(月) 15:08:44.75ID:gMk1hFfQa >>287
昔のPythonのprintは()すら無かった
昔のPythonのprintは()すら無かった
292デフォルトの名無しさん (アウアウアー Sa7e-wavJ)
2023/10/09(月) 17:42:01.48ID:DsI96EBHa >>287
実際pprintの方は引数1個しか取れなかったりする
深い意味ないんじゃない?
printは人間に見やすくするためにあるものなので今の仕様が悪いとは思わない
カッコ一つ多く書かされたらめんどい。今の仕様の理由もそんなんだろ
実際pprintの方は引数1個しか取れなかったりする
深い意味ないんじゃない?
printは人間に見やすくするためにあるものなので今の仕様が悪いとは思わない
カッコ一つ多く書かされたらめんどい。今の仕様の理由もそんなんだろ
293デフォルトの名無しさん (ワッチョイ 8901-AeST)
2023/10/09(月) 22:00:24.57ID:XTD+q5nh0 print(), print(a), print(a, b, c)と
print([]), print([a]), print([a, b, c])とどっちがいいかという話
関数定義の*argsは可変長の引数を扱う場合に
使いやすくしたり読みやすくしたりするためにある
pprintは用途的に位置引数1つで妥当
print([]), print([a]), print([a, b, c])とどっちがいいかという話
関数定義の*argsは可変長の引数を扱う場合に
使いやすくしたり読みやすくしたりするためにある
pprintは用途的に位置引数1つで妥当
294デフォルトの名無しさん (ワッチョイ 9501-iRlq)
2023/10/10(火) 00:57:06.49ID:DfzpOsqL0 a = b = {}
みたいにしたらaとbは同一の辞書を指すじゃん?
aとbが別々の辞書を指すように一行で初期化できますか
みたいにしたらaとbは同一の辞書を指すじゃん?
aとbが別々の辞書を指すように一行で初期化できますか
295デフォルトの名無しさん (ワッチョイ fa5c-X2d3)
2023/10/10(火) 01:14:32.36ID:28KhUAam0 a, b = {}, {}
296デフォルトの名無しさん (ワッチョイ 9501-iRlq)
2023/10/10(火) 04:09:25.99ID:DfzpOsqL0297デフォルトの名無しさん (ワッチョイ e964-wavJ)
2023/10/10(火) 04:36:44.80ID:x5TUUmSg0 >>293
オブジェクトを人間にわかる形に翻訳して見せるのがprintの目的なんだから
位置引数1個しか取れないとしてもそれはそれで合理的ではある
逆にprintが可変長引数取れるならpprintが取れても良い
実際の使用例で便利だから引数いっぱい送れるってだけだろうな
オブジェクトを人間にわかる形に翻訳して見せるのがprintの目的なんだから
位置引数1個しか取れないとしてもそれはそれで合理的ではある
逆にprintが可変長引数取れるならpprintが取れても良い
実際の使用例で便利だから引数いっぱい送れるってだけだろうな
298デフォルトの名無しさん (ワッチョイ ae7b-OOOs)
2023/10/10(火) 23:14:31.83ID:SP1p/Ht00 Twitterで自動投稿しようと思って練習してます。
文字の投稿は成功したんだけど、画像の投稿ができません。
最近(10月)取得の無料APIでは1.1での画像アップロードはできないのでしょうか?
文字の投稿は成功したんだけど、画像の投稿ができません。
最近(10月)取得の無料APIでは1.1での画像アップロードはできないのでしょうか?
299デフォルトの名無しさん (ワッチョイ ae7b-OOOs)
2023/10/10(火) 23:31:40.21ID:SP1p/Ht00 Twitterで自動投稿しようと思って練習してます。
文字の投稿は成功したんだけど、画像の投稿ができません。
最近(10月)取得の無料APIでは1.1での画像アップロードはできないのでしょうか?
文字の投稿は成功したんだけど、画像の投稿ができません。
最近(10月)取得の無料APIでは1.1での画像アップロードはできないのでしょうか?
300デフォルトの名無しさん (ワッチョイ 2601-AeST)
2023/10/10(火) 23:46:10.35ID:x1soPZHV0 >>297
>オブジェクトを人間にわかる形に翻訳して見せるのがprintの目的なんだから
人間にわかる形に翻訳するのは各オブジェクトに定義されている__str__の役割
どういう文字列表現にするかはprintを呼び出す前から各オブジェクトごとにすでに決まっていてprintは関知しない
逆にpprintの場合はどういう文字列表現にするかを基本的にpprintが決めている
同じ型のオブジェクトでも異なる文字列表現が要求されることを前提とした用途なので
便利な状況が多いかどうかで仕様が決まるのはその通り
つまりprintは可変長の位置引数が取れたほうが便利な状況が多いが
pprintは可変長の位置引数が取れても便利な状況があまりないということ
>オブジェクトを人間にわかる形に翻訳して見せるのがprintの目的なんだから
人間にわかる形に翻訳するのは各オブジェクトに定義されている__str__の役割
どういう文字列表現にするかはprintを呼び出す前から各オブジェクトごとにすでに決まっていてprintは関知しない
逆にpprintの場合はどういう文字列表現にするかを基本的にpprintが決めている
同じ型のオブジェクトでも異なる文字列表現が要求されることを前提とした用途なので
便利な状況が多いかどうかで仕様が決まるのはその通り
つまりprintは可変長の位置引数が取れたほうが便利な状況が多いが
pprintは可変長の位置引数が取れても便利な状況があまりないということ
301デフォルトの名無しさん (ワッチョイ 5ae7-ZI+Z)
2023/10/11(水) 13:09:57.77ID:4b2h4etA0 話が別の方向行ってる気がする
print、pprintであろうがなかろうが
リスト指定できるときは可変長の方がよくねって話じゃないのか
hoge([a,b,c])
ではなく
hoge(a,b,c,,,)
hoge(*args)
リスト形式とか行列扱うときは基本
それ専用のオブジェクト渡すわけだし
#objはリストを持つ
hoge(obj)
つまりかなりざっくり言うと
hoge(list)、hoge([])
はダサい、みたいな
print、pprintであろうがなかろうが
リスト指定できるときは可変長の方がよくねって話じゃないのか
hoge([a,b,c])
ではなく
hoge(a,b,c,,,)
hoge(*args)
リスト形式とか行列扱うときは基本
それ専用のオブジェクト渡すわけだし
#objはリストを持つ
hoge(obj)
つまりかなりざっくり言うと
hoge(list)、hoge([])
はダサい、みたいな
302デフォルトの名無しさん (ワッチョイ ee01-AeST)
2023/10/11(水) 18:07:12.31ID:PDwzRB+80 >>301
>リスト指定できるときは可変長の方がよくねって話じゃないのか
リストを受け渡すところを全部可変長引数にしたら
様々な弊害が出るのはもちろんだが根本的に想定してる用途が違う
可変長引数はコレクションやコンテナにまとまった一連の要素ではなく
それぞれ独立した値を受け渡すことを主たる使い方として想定している
コレクションまるごと受け渡すのが基本的に想定してる用途なら可変長引数は使わない
>リスト指定できるときは可変長の方がよくねって話じゃないのか
リストを受け渡すところを全部可変長引数にしたら
様々な弊害が出るのはもちろんだが根本的に想定してる用途が違う
可変長引数はコレクションやコンテナにまとまった一連の要素ではなく
それぞれ独立した値を受け渡すことを主たる使い方として想定している
コレクションまるごと受け渡すのが基本的に想定してる用途なら可変長引数は使わない
303デフォルトの名無しさん (ワッチョイ 5a8a-DaTE)
2023/10/11(水) 18:19:00.12ID:pWrOFW+D0 >様々な弊害が出る
例えば・・?
例えば・・?
304デフォルトの名無しさん (ワッチョイ e964-wavJ)
2023/10/11(水) 18:43:03.61ID:5UtQ/lO50305デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/11(水) 18:55:29.16ID:5Z/moFAt0 文字列にするところまでは別の人で、それをどう表示するかがpprint
306デフォルトの名無しさん (アウアウウー Sa39-k2x6)
2023/10/11(水) 20:10:05.07ID:Jxad2l7za 例えばRoomクラスとUserやUserクラス作ったときに
Userクラスのメソッドで[user1,user2,user3,]渡せたり
RoomクラスにUserインスタンスのリストを渡せる仕様にしたとき
まとめて渡せるけどむしろ野暮ったく感じるのはおれだけだろうか
可変長引数を使わない場合
user1=User(ユーザー1)
users = []
users.append(user1)
room = Room(users)
#room.add_user(users)
↑ユーザーを渡していますよ、というより(ユーザーだけが格納された)コレクションを渡していますよという意味合いが強まってしまう、気がする。もちろんリストを渡さなければいいわけだがそれだとadd_usersなど複数形のときにはリスト渡そうね、といったアノテーションが増える。なんか野暮い
可変長引数を使う場合
user1=User(ユーザー1)
room = Room()
room.add_user(user1)
#room.add_user(user2,user3,,)
#users=[user4]#users.append(user5)
#room.add_user(*users)
↑ユーザー単体を渡している感が強まる、気がする。add_userで可変長引数使いたくないときはそもそもひとつしか渡さなければいいし、複数可は可変長引数をもったadd_usersにでも任せればいい(なければ使えないだけ)。渡された値の正否に集中できるので例外処理がシンプル
リスト渡したいときは、リストの各値の扱いがバラバラのとき、[int,str,obj1,obj2,,,]みたいなときくらいしか無いような気がするんだがそれだと、そもそも設計ミスのような。もちろん近くのコンビニに部屋着で行く感覚ならどうでもいいと思うけど
Userクラスのメソッドで[user1,user2,user3,]渡せたり
RoomクラスにUserインスタンスのリストを渡せる仕様にしたとき
まとめて渡せるけどむしろ野暮ったく感じるのはおれだけだろうか
可変長引数を使わない場合
user1=User(ユーザー1)
users = []
users.append(user1)
room = Room(users)
#room.add_user(users)
↑ユーザーを渡していますよ、というより(ユーザーだけが格納された)コレクションを渡していますよという意味合いが強まってしまう、気がする。もちろんリストを渡さなければいいわけだがそれだとadd_usersなど複数形のときにはリスト渡そうね、といったアノテーションが増える。なんか野暮い
可変長引数を使う場合
user1=User(ユーザー1)
room = Room()
room.add_user(user1)
#room.add_user(user2,user3,,)
#users=[user4]#users.append(user5)
#room.add_user(*users)
↑ユーザー単体を渡している感が強まる、気がする。add_userで可変長引数使いたくないときはそもそもひとつしか渡さなければいいし、複数可は可変長引数をもったadd_usersにでも任せればいい(なければ使えないだけ)。渡された値の正否に集中できるので例外処理がシンプル
リスト渡したいときは、リストの各値の扱いがバラバラのとき、[int,str,obj1,obj2,,,]みたいなときくらいしか無いような気がするんだがそれだと、そもそも設計ミスのような。もちろん近くのコンビニに部屋着で行く感覚ならどうでもいいと思うけど
307デフォルトの名無しさん (ワッチョイ e964-wavJ)
2023/10/11(水) 21:05:21.93ID:5UtQ/lO50 そもそも可変長で追加したいと思ったことないや
1個追加するappendでforループ回したほうがバグりづらくない?
どうしても用意したいならappend, extend,で list の操作と名前を揃えるとか?
1個追加するappendでforループ回したほうがバグりづらくない?
どうしても用意したいならappend, extend,で list の操作と名前を揃えるとか?
308デフォルトの名無しさん (ワッチョイ e964-wavJ)
2023/10/11(水) 21:11:21.59ID:5UtQ/lO50 Pythonって配列の形状の指定がないことが多いから、長さ不明なスターアンパック自体やっぱ危険じゃね?と思う
それで書くのが明らかに簡潔なケースでは当然使うけど、そういうのも最終的にはリストかnumpy配列の委譲で実装しちゃうからメソッドの名付けで困ったことはないかも
委譲先のをパクる
それで書くのが明らかに簡潔なケースでは当然使うけど、そういうのも最終的にはリストかnumpy配列の委譲で実装しちゃうからメソッドの名付けで困ったことはないかも
委譲先のをパクる
309デフォルトの名無しさん (ワッチョイ 460f-1NJl)
2023/10/11(水) 21:48:59.91ID:dwLcTMya0 スターアンパックで危険って例えば・・?
310デフォルトの名無しさん (ワッチョイ 6eda-wjRd)
2023/10/11(水) 22:06:40.32ID:dWNDikg30 numpyとかはコレクション自体が本体みたいなもんだからリスト渡すのはわかる
しかしリストの各値を個別で扱いたい場合、各値を扱う目的とは別に
その値を格納したリストそのものに別の目的が生まれてしまう
その次元を下げてくれるのがスターの目的だと思う
しかしリストの各値を個別で扱いたい場合、各値を扱う目的とは別に
その値を格納したリストそのものに別の目的が生まれてしまう
その次元を下げてくれるのがスターの目的だと思う
311デフォルトの名無しさん (ワッチョイ 91ed-glRR)
2023/10/11(水) 22:14:51.53ID:lnf3XQiK0 >そもそも可変長で追加したいと思ったことない
それは普通にそれでいいんじゃね
可変長使わずにadd_users追加しましたってときに
「usersなんだから”当然”リスト渡すよねー(渡すのはリスト型だよねー)」(もっと言えばuserのみが格納されたリスト型だよねー、またはusersオブジェクトとかでもいい)
みたいなアノテーションが必然的に発生するのがモヤモヤするだけで。
それは普通にそれでいいんじゃね
可変長使わずにadd_users追加しましたってときに
「usersなんだから”当然”リスト渡すよねー(渡すのはリスト型だよねー)」(もっと言えばuserのみが格納されたリスト型だよねー、またはusersオブジェクトとかでもいい)
みたいなアノテーションが必然的に発生するのがモヤモヤするだけで。
312デフォルトの名無しさん (ワッチョイ 2601-AeST)
2023/10/11(水) 22:51:38.36ID:Z7/f/t+S0 >>306
そのケースは基本的に可変長引数を使う状況ではない
1件追加するためのAPIと複数一括で追加するためのAPIは分けるべき
複数一括で追加するメソッドの中身が1件1件追加するのと同じ処理なら
後者のAPIは用意せず利用者側がループを回すのでも十分
一括処理の最適化がされてるなら複数形にするだけでなく
複数件一括処理であることを示す命名を状況に合わせて考えればいいと思う
そのケースは基本的に可変長引数を使う状況ではない
1件追加するためのAPIと複数一括で追加するためのAPIは分けるべき
複数一括で追加するメソッドの中身が1件1件追加するのと同じ処理なら
後者のAPIは用意せず利用者側がループを回すのでも十分
一括処理の最適化がされてるなら複数形にするだけでなく
複数件一括処理であることを示す命名を状況に合わせて考えればいいと思う
313デフォルトの名無しさん (ワッチョイ 0594-cpkJ)
2023/10/11(水) 22:56:16.70ID:rx/2vzyO0 >そのケースは
どのケースのことを言ってるのかまったくわからんが
使わないなら使わなくていいって言ってるがな
どのケースのことを言ってるのかまったくわからんが
使わないなら使わなくていいって言ってるがな
314デフォルトの名無しさん (ワッチョイ 2601-AeST)
2023/10/11(水) 22:58:21.14ID:Z7/f/t+S0 >>304
各オブジェクトのreprを利用する場合もあればしない場合もある
そういうのを含めてどういう文字列表現にするかをpprintが決めてるということ
pprint自体はpythonで書かれててそんなに難しくないからソース見てみればいいよ
https://github.com/python/cpython/blob/3.12/Lib/pprint.py
各オブジェクトのreprを利用する場合もあればしない場合もある
そういうのを含めてどういう文字列表現にするかをpprintが決めてるということ
pprint自体はpythonで書かれててそんなに難しくないからソース見てみればいいよ
https://github.com/python/cpython/blob/3.12/Lib/pprint.py
315デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/12(木) 10:46:44.12ID:u59ybXeVa >>301
呼ぶ側でパラメータが複数のときと1個であることが判ってるときに
fuga = [a, b, c]
hoge(*fuga)
と
hage = [p]
hoge(*hage)
の様に無理やりくっつけるのはダサくないのか?
hoge(p)
で良いだろ?
呼ぶ側でパラメータが複数のときと1個であることが判ってるときに
fuga = [a, b, c]
hoge(*fuga)
と
hage = [p]
hoge(*hage)
の様に無理やりくっつけるのはダサくないのか?
hoge(p)
で良いだろ?
316デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/12(木) 11:11:35.88ID:QP/ncIDa0 不合理なこと、手間がかかること、読みにくいことを避ける
合理的で簡潔で読みやすければ、ダサくてもそれが正解
合理的で簡潔で読みやすければ、ダサくてもそれが正解
317デフォルトの名無しさん (ワッチョイ 859e-iLfk)
2023/10/12(木) 11:47:55.21ID:ff5KX8HX0 みんなが何の話をしてるのかわからん
ある特定のケースで関数が引数に可変長引数かリストのどっちを受け取るべきかっていう話?
それとも、そもそも可変引数は引数は必要かっていう話?
今の議論に** オペレータは含まれる?
ある特定のケースで関数が引数に可変長引数かリストのどっちを受け取るべきかっていう話?
それとも、そもそも可変引数は引数は必要かっていう話?
今の議論に** オペレータは含まれる?
318デフォルトの名無しさん (ワッチョイ 859e-iLfk)
2023/10/12(木) 11:49:19.75ID:ff5KX8HX0319デフォルトの名無しさん (ワッチョイ 859e-iLfk)
2023/10/12(木) 11:49:27.64ID:ff5KX8HX0320デフォルトの名無しさん (ワッチョイ 8d2a-dsh4)
2023/10/12(木) 13:25:38.85ID:B82UzHiK0 PythonでStableDiffusionで使われるsafetensorsをonnxファイルに変換するアプリを作り、ユーザーに配布したいのですが、ユーザーにPython環境を構築させないで済む方法があれば教えてください
GUIから使用したいのでPythonでコマンドラインアプリを作成しC#で作ったGUIからC#のProsses.Start()で起動して動かしたいと思いますが
例えばPythonをインストールしていないPCでProsses.Start("〇〇.py")をやっても動きませんよね?
どうすればいいでしょうか?
GUIから使用したいのでPythonでコマンドラインアプリを作成しC#で作ったGUIからC#のProsses.Start()で起動して動かしたいと思いますが
例えばPythonをインストールしていないPCでProsses.Start("〇〇.py")をやっても動きませんよね?
どうすればいいでしょうか?
321デフォルトの名無しさん (ワッチョイ d56a-S03z)
2023/10/12(木) 13:35:59.07ID:XSGwFcLX0 >>315
>複数のときと1個であることが判ってるとき
うん、だからadd_itemで可変長使いたくないなら使わなくていいしadd_itemsで可変長使えばいいし
別に可変長使ったadd_itemでitem複数追加できる仕様にしてもいいしって言ってる
add_itemであろうがadd_itemsであろうが
リスト渡す場合に「当然リスト形式で渡すよね」というアノテーション発生が問題なのであって、と言っている
リストに限らず、リスト渡すなら渡すで、オブジェクト渡すなら渡すで、
どうしてその形式なの?の前提があるでしょ
>複数のときと1個であることが判ってるとき
うん、だからadd_itemで可変長使いたくないなら使わなくていいしadd_itemsで可変長使えばいいし
別に可変長使ったadd_itemでitem複数追加できる仕様にしてもいいしって言ってる
add_itemであろうがadd_itemsであろうが
リスト渡す場合に「当然リスト形式で渡すよね」というアノテーション発生が問題なのであって、と言っている
リストに限らず、リスト渡すなら渡すで、オブジェクト渡すなら渡すで、
どうしてその形式なの?の前提があるでしょ
322デフォルトの名無しさん (ワッチョイ 6eb9-atGC)
2023/10/12(木) 13:41:54.06ID:vYXKnMxn0 >>303,309
が知りたい
が知りたい
323デフォルトの名無しさん (ワッチョイ b17c-/Lnu)
2023/10/12(木) 14:32:29.65ID:WrmmhFIY0 あえて複数形のない日本語で考えるとわかりやすいかもな
add_うどん()
add_うどん(うどん)
うどんが何うどんだとかどこ産のうどんだとかは、add_うどんメソッドには依存しない
とにかく、うどんを渡せばよくて
そのうどんが、うどんクラスのインスタンスだったりするかもしれないってだけ
だが、リストで渡せてしてしまうと
add_うどん([うどん、うどん、うどん、、])
[]←これなに? → うどん(など)の配膳カートです
これはうどんじゃなくてカートを渡したってことになる
「カートには入れたが、複数杯(や玉)のうどんを渡したって意味な」
というのが自分も含め通じてしまうのは
Listはそうときに使う(使いたい)からっていう共通認識だけでしかない
"add_うどん_を_配膳カート_で_()"
とかだったら配膳カートをクラス化して渡せばいいし
(リストの機能で十分なら)クラス化せずともリストで渡してもいいのはわかる
でも大抵、リストを渡す時はそこらへん省略されてるかアノテーションで判断してる気がする
なぜならadd_うどん内部での配膳カートはイテラブル程度の機能しか使わないことが多いから
リストを渡す、は本当はそれ自体に意図があり
可変長引数はその意図を論理的に省略することができる
add_うどん()
add_うどん(うどん)
うどんが何うどんだとかどこ産のうどんだとかは、add_うどんメソッドには依存しない
とにかく、うどんを渡せばよくて
そのうどんが、うどんクラスのインスタンスだったりするかもしれないってだけ
だが、リストで渡せてしてしまうと
add_うどん([うどん、うどん、うどん、、])
[]←これなに? → うどん(など)の配膳カートです
これはうどんじゃなくてカートを渡したってことになる
「カートには入れたが、複数杯(や玉)のうどんを渡したって意味な」
というのが自分も含め通じてしまうのは
Listはそうときに使う(使いたい)からっていう共通認識だけでしかない
"add_うどん_を_配膳カート_で_()"
とかだったら配膳カートをクラス化して渡せばいいし
(リストの機能で十分なら)クラス化せずともリストで渡してもいいのはわかる
でも大抵、リストを渡す時はそこらへん省略されてるかアノテーションで判断してる気がする
なぜならadd_うどん内部での配膳カートはイテラブル程度の機能しか使わないことが多いから
リストを渡す、は本当はそれ自体に意図があり
可変長引数はその意図を論理的に省略することができる
324デフォルトの名無しさん (ワッチョイ 0548-3JHV)
2023/10/12(木) 15:36:59.50ID:gAp1qlED0 なんか知らんが草
325デフォルトの名無しさん (アウアウクー MM35-wavJ)
2023/10/12(木) 15:40:56.90ID:B5sD+hFhM >>309
危険というか単にバグりやすくなるってだけ
多重配列が危ない
リストのリスト、リストのリストのリストとかでアンパック使うと少なくとも俺はすぐバグる
あんまり入れ子になるなら普通は自作クラス定義するがリストとタプルで済ませたいこともあるから
自作データクラスのリストとかは多重配列に近いと思うのでアンパックをホイホイ使うとバグりやすいんじゃないかなと
危険というか単にバグりやすくなるってだけ
多重配列が危ない
リストのリスト、リストのリストのリストとかでアンパック使うと少なくとも俺はすぐバグる
あんまり入れ子になるなら普通は自作クラス定義するがリストとタプルで済ませたいこともあるから
自作データクラスのリストとかは多重配列に近いと思うのでアンパックをホイホイ使うとバグりやすいんじゃないかなと
326デフォルトの名無しさん (アウアウクー MM35-wavJ)
2023/10/12(木) 15:47:06.45ID:B5sD+hFhM アンパック使ってもforで書いてもほとんど同じだけど多重配列ならforの入れ子で書いたほうが階層の把握に間違いがないってことね
1重配列なことが確実ならスターアンパックで問題ないと思う
1重配列なことが確実ならスターアンパックで問題ないと思う
327デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/12(木) 16:07:06.78ID:QP/ncIDa0 組み込みの型を使ったらそうなるって
listにはlistという意味しか無いんだから
型に意味を持たせたいならクラスを作るしか
listにはlistという意味しか無いんだから
型に意味を持たせたいならクラスを作るしか
328デフォルトの名無しさん (ワッチョイ 85cf-d6sz)
2023/10/12(木) 16:22:18.67ID:a6KaL/fa0 >バグりやすくなる >少なくとも俺はすぐバグる
なにこれ
めっちゃふわふわしてて全然わからん
具体的にどういうとき・・?
なにこれ
めっちゃふわふわしてて全然わからん
具体的にどういうとき・・?
329デフォルトの名無しさん (ワッチョイ 69e4-NDEe)
2023/10/12(木) 16:27:05.61ID:kcOw/s7X0330328 (ワッチョイ 0d01-5AJl)
2023/10/12(木) 16:39:38.79ID:qIe0UAcP0 一応自分でも考えてみたが多次元配列をスターで再帰するときとか?
def recursive_array_print(*args):
for item in args:
if isinstance(item, list):
recursive_array_print(*item)
else:
print(item)
nested_array = [1, [2, [3, 4], 5], 6, [7, 8]]
recursive_array_print(nested_array)
例えばこれは数値だけだからまだいいけど
辞書やらだった場合に条件分岐が面倒とか・・?
でもそれバグというより設計ミスだしな
バグってなんだろ
def recursive_array_print(*args):
for item in args:
if isinstance(item, list):
recursive_array_print(*item)
else:
print(item)
nested_array = [1, [2, [3, 4], 5], 6, [7, 8]]
recursive_array_print(nested_array)
例えばこれは数値だけだからまだいいけど
辞書やらだった場合に条件分岐が面倒とか・・?
でもそれバグというより設計ミスだしな
バグってなんだろ
331デフォルトの名無しさん (ワッチョイ 05b1-h3B4)
2023/10/12(木) 18:00:33.28ID:D2IWbE4K0 個人的に第一引数設計の優先順位は
①単数
②単数・複数(可変長引数)= ③単数・複数(関数名に引数の意図を明示&リスト)
④単数・複数(単純展開が目的のリスト)
①はよく見る(というか複数しなければほぼ必須なので当たり前)
②は①で実装できる範囲なのであまり見ない(例 [ list.append(i) for ])
③をするくらいなら渡す値をクラス化していることが多い
④は①で実装できる範囲なのであまり見ない、個人用途コードでよく見る
第一引数でなくとも(行列の演算でもない限り)リストを渡すのは微妙
①単数
②単数・複数(可変長引数)= ③単数・複数(関数名に引数の意図を明示&リスト)
④単数・複数(単純展開が目的のリスト)
①はよく見る(というか複数しなければほぼ必須なので当たり前)
②は①で実装できる範囲なのであまり見ない(例 [ list.append(i) for ])
③をするくらいなら渡す値をクラス化していることが多い
④は①で実装できる範囲なのであまり見ない、個人用途コードでよく見る
第一引数でなくとも(行列の演算でもない限り)リストを渡すのは微妙
332317 (ワッチョイ e943-nnu1)
2023/10/13(金) 10:32:08.61ID:uOHCnao90 誰か教えて下さい、、
333デフォルトの名無しさん (ワッチョイ 46f4-SXiR)
2023/10/13(金) 10:36:29.66ID:b6IM7MTY0 >>331
>②単数・複数(可変長引数)
可変長引数は単数・複数を同時にサポートするためにあるんじゃないんだよ
そもそもの大前提として一つの関数や一つの変数で単数・複数を同時にサポートしようとするのは特殊なケースを除いて基本的に悪手だからね
>②単数・複数(可変長引数)
可変長引数は単数・複数を同時にサポートするためにあるんじゃないんだよ
そもそもの大前提として一つの関数や一つの変数で単数・複数を同時にサポートしようとするのは特殊なケースを除いて基本的に悪手だからね
334デフォルトの名無しさん (ワッチョイ 7610-n4m4)
2023/10/13(金) 10:40:10.61ID:AODTp1VX0 >同時にサポートするためにあるんじゃない
printさん・・
printさん・・
335デフォルトの名無しさん (ワッチョイ 7a36-580C)
2023/10/13(金) 10:44:37.94ID:YTjLrT3n0 ん・・ちょっとまてよだったら可変長引数使う時は
hoge() ←ダメ
hoge(a) ←ダメ
↑は条件分岐でそもそも実行させないようにして
少なくとも
hoge(a,b)
ここから推奨ってこと?
可変長ってそんな概念だったっけ・・?
hoge() ←ダメ
hoge(a) ←ダメ
↑は条件分岐でそもそも実行させないようにして
少なくとも
hoge(a,b)
ここから推奨ってこと?
可変長ってそんな概念だったっけ・・?
336デフォルトの名無しさん (ワッチョイ da93-3Xrj)
2023/10/13(金) 10:48:38.24ID:zcTNSeqM0337デフォルトの名無しさん (ワッチョイ ae68-zwJs)
2023/10/13(金) 11:33:13.84ID:9tKKj3QG0 pythonの設計思想は知らんけど
>かへん‐ちょう〔‐チヤウ〕【可変長】 長さ・桁数・文字数・データの大きさなどが定まっていないこと。
言葉の意味からして
>同時にサポートするためにあるんじゃない
はさすがに違和感あるわ
>かへん‐ちょう〔‐チヤウ〕【可変長】 長さ・桁数・文字数・データの大きさなどが定まっていないこと。
言葉の意味からして
>同時にサポートするためにあるんじゃない
はさすがに違和感あるわ
338デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/13(金) 11:46:57.67ID:CVigb7Ut0 > 長さ・桁数・文字数・データの大きさ
のどれでもなく、パラメータの個数だよな
のどれでもなく、パラメータの個数だよな
339デフォルトの名無しさん (ワッチョイ 01bc-bwTL)
2023/10/13(金) 12:01:59.94ID:Ovg0M26I0 などが
340デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/13(金) 12:21:03.84ID:CVigb7Ut0 lengthが数を表すという文化が歪んでるんだよな
なんでlenじゃなくてsizeにしなかったんだろう
なんでlenじゃなくてsizeにしなかったんだろう
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 「韓国人の高市早苗評」、限界突破。 [592058334]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 【悲報】サッカー北朝鮮代表、日本代表に思いっきりグーパン。想像以上に殴ってるやつが居る [483862913]
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
- 青森のラーメン店、ライス・メンマ無料サービスを始める→ありえない残し方をした人が100人になったら即終了→すでに2人残してあと98人 [808139444]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
