[過去ログ]
Pythonのお勉強 Part68 (1002レス)
Pythonのお勉強 Part68 http://mevius.5ch.net/test/read.cgi/tech/1663235546/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
129: デフォルトの名無しさん (ワッチョイ 372c-nvXy) [] 2022/09/25(日) 17:41:46.06 ID:iEmY5l+s0 dataclassええで http://mevius.5ch.net/test/read.cgi/tech/1663235546/129
130: デフォルトの名無しさん (ワッチョイ 4b08-KM/t) [sage] 2022/09/25(日) 17:54:34.18 ID:AFTbeWYX0 クラスは実装の詳細を見せたくない時に限る http://mevius.5ch.net/test/read.cgi/tech/1663235546/130
131: デフォルトの名無しさん (ワッチョイ 1610-Nf8B) [sage] 2022/09/26(月) 07:24:51.77 ID:ciNDFZ6I0 クラス名をclass Hoge ファイル名をhoge.py インポートでimport hoge インスタンス名何にしようかいつも悩む ??? = hoge.Hoge() http://mevius.5ch.net/test/read.cgi/tech/1663235546/131
132: デフォルトの名無しさん (ワッチョイ 2f97-5djn) [] 2022/09/26(月) 09:07:29.52 ID:P9G+/qqR0 >>81 そもそも[0,1]のときにx[0]を2つ取り出したいのかどうかがよくわからないな あと、最大(?)は[0,10]じゃないか? [0,9]のときと[0,10]のときでどう処理を変えたいのかよくわからない 半開区間に含まれる最小最大を取り出したいなら、 for i in [idxs[0], idxs[1] - 1]でいいと思うのだけどこれは嫌? http://mevius.5ch.net/test/read.cgi/tech/1663235546/132
133: デフォルトの名無しさん (ワッチョイ 2f97-5djn) [] 2022/09/26(月) 09:12:30.59 ID:P9G+/qqR0 木構造とかグラフ構造を自作したいなら(間々ある)、 クラスにした方が便利なときある気がするけどな。 get_tree_children(node)とかしだすなら、node.children()の方が名前空間がすっきりしていいし。 実装の詳細を見せたくないかどうかというよりは、関心の分離をしたいかどうかによるような気がするな。 確かにクラス作るまでもないようなことは多いけど。 http://mevius.5ch.net/test/read.cgi/tech/1663235546/133
134: デフォルトの名無しさん (ワッチョイ 1e66-yYUR) [sage] 2022/09/26(月) 20:32:27.38 ID:b9hyANFk0 >>128 値が変えられないがな http://mevius.5ch.net/test/read.cgi/tech/1663235546/134
135: デフォルトの名無しさん (ワッチョイ 429b-+bWc) [sage] 2022/09/26(月) 23:15:54.08 ID:QR+uVx8I0 python 3.9.10 a = (1, 2, 3) b = a c = (1, 2, 3) print(a==b) print(a is b) print(a==c) print(a is c) #True? なぜ a is c が true になるのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1663235546/135
136: デフォルトの名無しさん (ワッチョイ 429b-+bWc) [sage] 2022/09/26(月) 23:17:59.46 ID:QR+uVx8I0 >>135 ideone に貼っときます https://ideone.com/yVmxfv なぜでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1663235546/136
137: デフォルトの名無しさん (ワッチョイ 1e66-yYUR) [sage] 2022/09/26(月) 23:31:03.60 ID:b9hyANFk0 a = 1 c = 1 の時と同じ理由 http://mevius.5ch.net/test/read.cgi/tech/1663235546/137
138: デフォルトの名無しさん (ワッチョイ 4b17-NGtF) [sage] 2022/09/26(月) 23:32:02.41 ID:Gide+MMY0 >>136 ならない http://mevius.5ch.net/test/read.cgi/tech/1663235546/138
139: デフォルトの名無しさん (ワッチョイ 4b17-NGtF) [sage] 2022/09/26(月) 23:33:01.37 ID:Gide+MMY0 ほらよ https://i.imgur.com/mESpBvj.jpg http://mevius.5ch.net/test/read.cgi/tech/1663235546/139
140: デフォルトの名無しさん (ワッチョイ d201-/Peb) [sage] 2022/09/26(月) 23:49:19.92 ID:eE4Lst2k0 >>139 それREPLでやってるからinterningが効いてないじゃないかな >>135 Tupleはimmutableだからaとcが同じオブジェクトを指しても問題なくて Pythonが最適化をした場合はa is cがTrueになるケースがある 「interning」でググってみて 例えばTupleを関数で返すようにすればinterningされずにFalseになると思う def foo(x): return (x, x+1, x+2) a = foo(1) c = foo(1) http://mevius.5ch.net/test/read.cgi/tech/1663235546/140
141: デフォルトの名無しさん (ワッチョイ 4212-+bWc) [sage] 2022/09/27(火) 00:20:20.92 ID:LFY5tutJ0 >>140 ありがとうございます、オプティマイゼーションの余地がある、ということですね、納得しました http://mevius.5ch.net/test/read.cgi/tech/1663235546/141
142: デフォルトの名無しさん (ワッチョイ 2f97-5djn) [] 2022/09/27(火) 19:02:24.07 ID:zjZtbJ3M0 a is cが真になるかはかなりケースバイケースな気がするし、 中身を比較したいんだったら使うべきじゃないね 本当に同じtupleインスタンスかどうかを確認したいときだけにすべき http://mevius.5ch.net/test/read.cgi/tech/1663235546/142
143: デフォルトの名無しさん (ワッチョイ 3733-tX/F) [] 2022/09/27(火) 22:33:08.85 ID:3OHfLHhN0 tupleだけの話ではなくてどの型でも同じだけどね 例えば文字列とか http://mevius.5ch.net/test/read.cgi/tech/1663235546/143
144: デフォルトの名無しさん [sage] 2022/09/27(火) 23:35:04.66 ID:tKd9rAjb n=12345.67 小数点以下が何桁あるのか調べたいのですが len(str(n).split(".")[1]) if isinstance(n, float) else 0 こんなんでいいですかね・・? http://mevius.5ch.net/test/read.cgi/tech/1663235546/144
145: デフォルトの名無しさん (ワッチョイ 3733-tX/F) [] 2022/09/27(火) 23:51:45.87 ID:3OHfLHhN0 >>144 https://ideone.com/pSUvOH http://mevius.5ch.net/test/read.cgi/tech/1663235546/145
146: デフォルトの名無しさん (ワッチョイ 1610-DrlT) [] 2022/09/27(火) 23:53:56.84 ID:+joc5Asc0 >>144 誤差で予想外の挙動しそうだからDecimal使う方がいい http://mevius.5ch.net/test/read.cgi/tech/1663235546/146
147: デフォルトの名無しさん (ワッチョイ 2701-tX/F) [sage] 2022/09/28(水) 02:27:12.38 ID:OOL0jr8Q0 >>144 それだと n=1.0 -> 1 n=0.00001 -> IndexError になる len(format(n,".17f").split(".")[1].rstrip("0")) 後ろのif isinstance(n, float) else 0も不要 n=1.0 -> 0 n=0.00001 -> 5 http://mevius.5ch.net/test/read.cgi/tech/1663235546/147
148: デフォルトの名無しさん [sage] 2022/09/28(水) 09:19:00.77 ID:9I9ISsCh >>145-147 たしかに 0.30000000000000004に対して17得られたのは正解だと思いますが 0.00001で1e-05になっててエラーでました Decimalかformat使ってみようと思います ありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1663235546/148
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 854 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s