★当スレにRubyのソースコード類を書くことを禁ず★
☆Ruby等、Pythonではないプログラミング言語での回答類を書くのも禁止
☆「Ruby では」「Rubyでは」をNGワード登録推奨
◆エラーを解決したいときはエラー文(勝手に省略禁止)と
環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと
◆Pythonのソースコードを5ちゃんにコピペするとインデントが崩壊するので
↓等のソースコードうp用サイトに貼ってきてくだしあ
(スクリーンショットをimgur等にうpる「横着」禁止)
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう。
◇Pythonオフィシャルサイト
http://www.python.org/
◇まとめwiki
ttp://python.rdy.jp/
●関連スレ●
くだすれPython(超初心者用) その44【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1563969768/
〇前スレ
Pythonのお勉強 Part61
http://mevius.5ch.net/test/read.cgi/tech/1563622784/
次スレの建立は>>985あたりが挑戦する。 [EOF]
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part62
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7301-e0wG)
2019/09/15(日) 16:06:00.08ID:E+Kc3PWT0122デフォルトの名無しさん (アウアウエー Sa1f-yXpG)
2019/10/02(水) 13:01:18.79ID:55+aQRnYa >二進数の浮動小数点演算では誤差が出る。
だから違うから初心者に誤解を招く表現はやめろ
十進数でも浮動小数点演算では誤差が出る
原因は二進数じゃない
だから違うから初心者に誤解を招く表現はやめろ
十進数でも浮動小数点演算では誤差が出る
原因は二進数じゃない
123デフォルトの名無しさん (ワッチョイ 07b3-W7nV)
2019/10/02(水) 13:27:56.11ID:vkK/4cs10 >>122
from decimal import *
getcontext().prec = 6
print(Decimal('0.0001')*3 , 0.0001*3)
# 0.0003 0.00030000000000000003
from decimal import *
getcontext().prec = 6
print(Decimal('0.0001')*3 , 0.0001*3)
# 0.0003 0.00030000000000000003
124デフォルトの名無しさん (ワッチョイ 07b3-W7nV)
2019/10/02(水) 14:07:38.62ID:vkK/4cs10 decimal --- 十進固定及び浮動小数点数の算術演算
https://docs.python.org/ja/3/library/decimal.html?highlight=decimal#module-decimal
decimal モジュールは正確に丸められた十進浮動小数点算術をサポートします。
数値間の等価性を厳しく保たなければならないようなアプリケーションを考えるなら、十進数による数値表現が望ましいということになります。
ハードウェアによる 2 進浮動小数点表現と違い、decimal モジュールでは計算精度をユーザが変更できます(デフォルトでは 28 桁です)。
この桁数はほとんどの問題解決に十分な大きさです:
https://docs.python.org/ja/3/library/decimal.html?highlight=decimal#module-decimal
decimal モジュールは正確に丸められた十進浮動小数点算術をサポートします。
数値間の等価性を厳しく保たなければならないようなアプリケーションを考えるなら、十進数による数値表現が望ましいということになります。
ハードウェアによる 2 進浮動小数点表現と違い、decimal モジュールでは計算精度をユーザが変更できます(デフォルトでは 28 桁です)。
この桁数はほとんどの問題解決に十分な大きさです:
125デフォルトの名無しさん (ワッチョイ 5f11-qPRK)
2019/10/02(水) 14:15:23.16ID:BQ6RkETu0 三進数で 0.1 - 0.001 = 0.022 で有限小数となるけど十進数で問題解決できるの?
十進数では1/3も1/27も有限小数じゃなくなるけど。
十進数では1/3も1/27も有限小数じゃなくなるけど。
126デフォルトの名無しさん (ワッチョイ 07b3-W7nV)
2019/10/02(水) 15:22:36.64ID:vkK/4cs10 >>125 数字をどう扱うかだろうね。
途中演算は全て分数で計算し結果も分数ならそれで終わりだし、最終的に浮動小数点数で表したければ何桁で丸めるかと言うだけの話だろ。
有理数として扱いたければ分数で最終まで扱うしかない。
from decimal import *
from fractions import Fraction
getcontext().prec = 28
f137 = Fraction(1,3)+Fraction(1,7) # 1/3 + 1/7 -> f137= 10/21
print(f137 , Decimal(float(f137)))
# 10/21 0.47619047619047616404230893749627284705638885498046875
同じことを普通の浮動小数点演算すると
print(13/+1/7)
# 0.47619047619047616
途中演算は全て分数で計算し結果も分数ならそれで終わりだし、最終的に浮動小数点数で表したければ何桁で丸めるかと言うだけの話だろ。
有理数として扱いたければ分数で最終まで扱うしかない。
from decimal import *
from fractions import Fraction
getcontext().prec = 28
f137 = Fraction(1,3)+Fraction(1,7) # 1/3 + 1/7 -> f137= 10/21
print(f137 , Decimal(float(f137)))
# 10/21 0.47619047619047616404230893749627284705638885498046875
同じことを普通の浮動小数点演算すると
print(13/+1/7)
# 0.47619047619047616
127デフォルトの名無しさん (アウウィフ FF8b-wGQq)
2019/10/02(水) 15:30:33.78ID:dOlpIXopF >>124
丸めてるじゃねーかωωω
丸めてるじゃねーかωωω
128デフォルトの名無しさん (アウウィフ FF8b-wGQq)
2019/10/02(水) 15:32:50.13ID:dOlpIXopF >>126
二進数でも二進数のまま全て分数で計算すればそれで終わり
二進数でも二進数のまま全て分数で計算すればそれで終わり
129デフォルトの名無しさん (ワッチョイ 07b3-W7nV)
2019/10/02(水) 15:33:03.55ID:vkK/4cs10130デフォルトの名無しさん (ササクッテロル Spbb-b7Cm)
2019/10/02(水) 15:47:10.47ID:gHIFLYdkp >>128 分数で扱うのなら二進数も10進数も無い。
ただ、最終的に浮動小数点数として扱うなら
2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから自分の好みの結果が得られる。
ただ、最終的に浮動小数点数として扱うなら
2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから自分の好みの結果が得られる。
131デフォルトの名無しさん (アウウィフ FF8b-wGQq)
2019/10/02(水) 15:59:41.87ID:dOlpIXopF なんでそうなる
132デフォルトの名無しさん (ササクッテロル Spbb-b7Cm)
2019/10/02(水) 16:10:31.11ID:gHIFLYdkp なんでそうなるって、decimal が、そう言う仕様で作られてるからに決まってんじゃん。
133デフォルトの名無しさん (アウウィフ FF8b-wGQq)
2019/10/02(水) 16:14:01.35ID:dOlpIXopF わざとボケてんのか?
>2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、
なんでそうなる
2進数の浮動小数点数だって自分で自由に決められるだろ
>2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、
なんでそうなる
2進数の浮動小数点数だって自分で自由に決められるだろ
134デフォルトの名無しさん (ササクッテロル Spbb-b7Cm)
2019/10/02(水) 16:37:42.79ID:gHIFLYdkp >>133 ボケてるのどっち?
15. 浮動小数点演算、その問題と制限
https://docs.python.org/ja/3.7/tutorial/floatingpoint.html
近年の殆どのコンピュータでは float 型は、分子に最も重大なビットから始めて最初の 53 ビットを使い、分母に 2 の累乗を使った、二進小数を使って近似されます。
1/10 の場合は、二進小数は 3602879701896397 / 2 ** 55 となります。
これは、1/10 に近いですが、厳密に同じ値ではありません。
ハードウェアの浮動小数点演算をサポートしている全ての言語で同じ種類の問題を見つけることができます
Python は 本当に float の正確な値が必要なレアケースに対応するためのツールを提供しています。 float.as_integer_ratio() メソッドは float の値を有理数として表現します:
>>> x = 3.14159
>>> x.as_integer_ratio()
(3537115888337719, 1125899906842624)
>>> x == 3537115888337719 / 1125899906842624
true
fractions モジュールと decimal モジュールを使うとこれらの計算を簡単に行えます
15. 浮動小数点演算、その問題と制限
https://docs.python.org/ja/3.7/tutorial/floatingpoint.html
近年の殆どのコンピュータでは float 型は、分子に最も重大なビットから始めて最初の 53 ビットを使い、分母に 2 の累乗を使った、二進小数を使って近似されます。
1/10 の場合は、二進小数は 3602879701896397 / 2 ** 55 となります。
これは、1/10 に近いですが、厳密に同じ値ではありません。
ハードウェアの浮動小数点演算をサポートしている全ての言語で同じ種類の問題を見つけることができます
Python は 本当に float の正確な値が必要なレアケースに対応するためのツールを提供しています。 float.as_integer_ratio() メソッドは float の値を有理数として表現します:
>>> x = 3.14159
>>> x.as_integer_ratio()
(3537115888337719, 1125899906842624)
>>> x == 3537115888337719 / 1125899906842624
true
fractions モジュールと decimal モジュールを使うとこれらの計算を簡単に行えます
135デフォルトの名無しさん (アウウィフ FF8b-wGQq)
2019/10/02(水) 17:00:45.15ID:dOlpIXopF >>134
朝鮮人みたいな絡み方だなお前
朝鮮人みたいな絡み方だなお前
136デフォルトの名無しさん (ササクッテロル Spbb-b7Cm)
2019/10/02(水) 17:51:41.97ID:gHIFLYdkp >>135 最後は捨て台詞? 勉強してね。
137デフォルトの名無しさん (ササクッテロ Spbb-IRS8)
2019/10/02(水) 17:55:40.23ID:wzM2k9fzp ここまでIEEE-754の単語の一つも出ないのは何故なのか
138デフォルトの名無しさん (アウウィフ FF8b-wGQq)
2019/10/02(水) 18:08:35.75ID:dOlpIXopF 捨て台詞っていうか論点がかみ合わないなと思ってね
139デフォルトの名無しさん (ワッチョイ 0701-HmT3)
2019/10/02(水) 18:09:09.11ID:qnjdQ6x30 知らないんでしょw
知ってりゃ
「二進数の浮動小数点演算では誤差が出る」
「数値間の等価性を厳しく保たなければならないようなアプリケーションを考えるなら、十進数による数値表現が望ましい」
「2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから」
とか出てこない。
知ってりゃ
「二進数の浮動小数点演算では誤差が出る」
「数値間の等価性を厳しく保たなければならないようなアプリケーションを考えるなら、十進数による数値表現が望ましい」
「2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから」
とか出てこない。
140デフォルトの名無しさん (ワッチョイ 7f63-S/NQ)
2019/10/02(水) 18:15:52.10ID:QS7AdVKy0 Pythonの話はしないのか
しないなら次スレからタイトル変えて
しないなら次スレからタイトル変えて
141デフォルトの名無しさん (ササクッテロル Spbb-b7Cm)
2019/10/02(水) 18:21:26.45ID:4+yUm89/p142デフォルトの名無しさん (ワッチョイ 0701-HmT3)
2019/10/02(水) 18:51:41.09ID:qnjdQ6x30 >>141
IEEE 754よめw
IEEE 754よめw
143デフォルトの名無しさん (ササクッテロル Spbb-b7Cm)
2019/10/02(水) 19:00:26.82ID:4+yUm89/p >>142 アホ、IEEE を理解していないな。
144デフォルトの名無しさん (ワッチョイ 0701-HmT3)
2019/10/02(水) 19:05:33.69ID:qnjdQ6x30 一応説明しとく
「二進数の浮動小数点演算では誤差が出る」
→間違い。一般的に言われる「浮動小数点問題」は
https://docs.python.org/ja/3/tutorial/floatingpoint.html#representation-error
に説明がある。雑に言うと、10進数に近似するときに出る誤差を問題にしている。
「数値間の等価性を厳しく保たなければならないようなアプリケーションを考えるなら、十進数による数値表現が望ましい」
→そもそも10進数で表現する必要がないのであれば、等価性を厳しく保つために2進数を採用するのが適切。
「2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから」
→これこそIEEE754の制限でしょw高速性を求めないのであれば、2進数だろうが10進数だろうが精度は自由に設定できる。
「二進数の浮動小数点演算では誤差が出る」
→間違い。一般的に言われる「浮動小数点問題」は
https://docs.python.org/ja/3/tutorial/floatingpoint.html#representation-error
に説明がある。雑に言うと、10進数に近似するときに出る誤差を問題にしている。
「数値間の等価性を厳しく保たなければならないようなアプリケーションを考えるなら、十進数による数値表現が望ましい」
→そもそも10進数で表現する必要がないのであれば、等価性を厳しく保つために2進数を採用するのが適切。
「2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから」
→これこそIEEE754の制限でしょw高速性を求めないのであれば、2進数だろうが10進数だろうが精度は自由に設定できる。
145デフォルトの名無しさん (ワッチョイ 7f63-S/NQ)
2019/10/02(水) 19:43:16.62ID:QS7AdVKy0 IEEEと二進数をNGにしておこうか
146デフォルトの名無しさん (アメ MM4b-qPRK)
2019/10/02(水) 19:46:16.71ID:U7L7TEhBM 各言語での 0.1 + 0.2 の結果
http://0.30000000000000004.com/
http://0.30000000000000004.com/
147デフォルトの名無しさん (ワッチョイ 5ff0-wRkC)
2019/10/02(水) 19:55:32.68ID:328phbLi0 仮数部と指数部の話はPythonの話やんけ
148デフォルトの名無しさん (アウアウクー MMbb-8Iv7)
2019/10/02(水) 20:27:29.73ID:R3JG1dEeM 相変わらずクソどうでもいいことで言い争ってるな
>>146のリンク貼れば終わる話だろうが
>>146のリンク貼れば終わる話だろうが
149デフォルトの名無しさん (ワッチョイ 2763-i9+B)
2019/10/02(水) 23:40:17.77ID:8TApxQXN0 2進数の浮動小数点数、10進数の浮動小数点数ってものが
それぞれネイティブのIEEE754のfloatとBinary Coded Decimalを指してる立場でものを言ってるのか、
純粋に「2進数」の「浮動小数点」などと捉えてものを言っているのかで違っているような
floatはfloatって言うべきだし、BCDはBCDって言うべきだし、それぞれを2進数、10進数の浮動小数点数って言うのは
正確なものの言い方ではないと思うけどね
それぞれネイティブのIEEE754のfloatとBinary Coded Decimalを指してる立場でものを言ってるのか、
純粋に「2進数」の「浮動小数点」などと捉えてものを言っているのかで違っているような
floatはfloatって言うべきだし、BCDはBCDって言うべきだし、それぞれを2進数、10進数の浮動小数点数って言うのは
正確なものの言い方ではないと思うけどね
150デフォルトの名無しさん (ワッチョイ b501-Cwv9)
2019/10/03(木) 00:33:06.53ID:4GYQfqj50 >>144 おいおい、ここはPython スレだぞ。 どこの言語の話をしてるんだ。
151デフォルトの名無しさん (ワッチョイ b501-Cwv9)
2019/10/03(木) 00:39:40.00ID:4GYQfqj50 >>149 Python で話せよ。 くだらん話をすんな。
152デフォルトの名無しさん (ワッチョイ 6d3c-BbZh)
2019/10/03(木) 00:52:45.07ID:8EsWJ49w0 俺はくだらないと思わないが、引き際は大事だと思うよ
これ以上掘り下げてもほとんど意味ないしね
これ以上掘り下げてもほとんど意味ないしね
153デフォルトの名無しさん (ワッチョイ aabd-G1PU)
2019/10/03(木) 00:53:02.11ID:T7eEfky90 scipyで数値積分をおこなうときに積分範囲をベクトルで与えて
積分の値もベクトルで返す方法はありますか?
例えば ∫_0^x 2*t dt の積分を積分範囲を 0から x=0,1.5, 3 と3通りにかえて
積分結果をベクトルで [0, 2.25, 9] とかえしてくれるようなプログラムを書きたいです。
import numpy as np
from scipy import integrate
from scipy import stats
y = lambda t: 2*t
x = np.linspace(0,3,3)
inty = integrate.quad(y, np.zeros(3), x)
としても
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
とエラーがでます。for文を使わずにうまいこと書く方法を教えてください。
積分の値もベクトルで返す方法はありますか?
例えば ∫_0^x 2*t dt の積分を積分範囲を 0から x=0,1.5, 3 と3通りにかえて
積分結果をベクトルで [0, 2.25, 9] とかえしてくれるようなプログラムを書きたいです。
import numpy as np
from scipy import integrate
from scipy import stats
y = lambda t: 2*t
x = np.linspace(0,3,3)
inty = integrate.quad(y, np.zeros(3), x)
としても
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
とエラーがでます。for文を使わずにうまいこと書く方法を教えてください。
154デフォルトの名無しさん (ワッチョイ 6d3c-qLdE)
2019/10/03(木) 01:42:20.97ID:8EsWJ49w0 >>153
残念ながらfloatにnp.arrayを突っ込むような使い方はできない
こういうときは仕方がないので、以下のようにarray_likeな引数を受け取るような関数を作ることになる
https://ideone.com/czl80w
他にうまい方法があるなら俺も知りたい
残念ながらfloatにnp.arrayを突っ込むような使い方はできない
こういうときは仕方がないので、以下のようにarray_likeな引数を受け取るような関数を作ることになる
https://ideone.com/czl80w
他にうまい方法があるなら俺も知りたい
155デフォルトの名無しさん (ワッチョイ aabd-G1PU)
2019/10/03(木) 03:22:12.23ID:3+KdsVIy0156デフォルトの名無しさん (ワッチョイ ea01-XtwS)
2019/10/03(木) 06:10:56.73ID:Eu2t0lrZ0157デフォルトの名無しさん (ワッチョイ 6610-Zj0d)
2019/10/03(木) 06:32:35.92ID:4qlP7y1B0 今の主流のコンピュータでは2進数に対応する電圧の状態を利用して計算している
ソフトウェアでそれをどう上手く使って計算するか
IEEEの浮動小数点数の形式で扱うと誤差が出ることがある
Pythonのライブラリで色んな工夫をしている
自分で課題を解決できるライブラリを開発して貢献する事も可能だろう
現在のコンピュータで計算するには
10進数→2進数→10進数
の変換があるからこの過程で
必要な精度を保てるように工夫が必要だろう
ソフトウェアでそれをどう上手く使って計算するか
IEEEの浮動小数点数の形式で扱うと誤差が出ることがある
Pythonのライブラリで色んな工夫をしている
自分で課題を解決できるライブラリを開発して貢献する事も可能だろう
現在のコンピュータで計算するには
10進数→2進数→10進数
の変換があるからこの過程で
必要な精度を保てるように工夫が必要だろう
158デフォルトの名無しさん (ワッチョイ 7963-V2QA)
2019/10/03(木) 06:37:12.39ID:/3F4mXI80 木曜日だから今NGすれば一週間消せる
159デフォルトの名無しさん (ワッチョイ b501-Cwv9)
2019/10/03(木) 08:36:04.46ID:4GYQfqj50 >>156
Pythonの浮動小数点数float型の範囲(最大値・最小値)
https://note.nkmk.me/python-sys-float-info-max-min/
Pythonの浮動小数点数float型は64ビットの浮動小数点数表現である倍精度浮動小数点数で、Cなどほかのプログラミング言語におけるdoubleに相当する。
Pythonの浮動小数点数float型の範囲(最大値・最小値)
https://note.nkmk.me/python-sys-float-info-max-min/
Pythonの浮動小数点数float型は64ビットの浮動小数点数表現である倍精度浮動小数点数で、Cなどほかのプログラミング言語におけるdoubleに相当する。
160デフォルトの名無しさん (ドコグロ MMb1-XtwS)
2019/10/03(木) 11:45:59.34ID:z1c5xmGqM で?
整数演算機能しか持たない8bit CPUでも多倍長の浮動小数点演算をすることもできる
当然今君が使ってる目の前のPythonでも多倍長の浮動小数点演算ができる
君にできるかどうかは知らんけどねw
なので
> 2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まる
と言うのは真っ赤な嘘
整数演算機能しか持たない8bit CPUでも多倍長の浮動小数点演算をすることもできる
当然今君が使ってる目の前のPythonでも多倍長の浮動小数点演算ができる
君にできるかどうかは知らんけどねw
なので
> 2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まる
と言うのは真っ赤な嘘
161デフォルトの名無しさん (ワッチョイ b501-Cwv9)
2019/10/03(木) 12:14:43.08ID:4GYQfqj50 >>160 負け惜しみはやめろ。そりゃなんだってゴリゴリやればなんでも出来る。
ここで話してるのはPython の仕様の話だ。
float は、倍精度しか無いと仕様書に書かれている。
それが全てだ。 仮数部53ビット。
これは一般的な64ビット浮動小数点演算機の物理的な制限からきているのは明らか。
ここで話してるのはPython の仕様の話だ。
float は、倍精度しか無いと仕様書に書かれている。
それが全てだ。 仮数部53ビット。
これは一般的な64ビット浮動小数点演算機の物理的な制限からきているのは明らか。
162デフォルトの名無しさん (ワッチョイ b67c-WcZE)
2019/10/03(木) 12:35:57.29ID:YSTER/9m0 ctypes.c_longdouble()
163デフォルトの名無しさん (ワッチョイ b501-aTPZ)
2019/10/03(木) 12:36:57.80ID:2k415C0d0 まだ言ってんのか^^;
> 一般的な64ビット浮動小数点演算機の物理的な制限からきているのは明らか。
違うぞ。どっちもIEEEによって縛られてるだけ。
> 一般的な64ビット浮動小数点演算機の物理的な制限からきているのは明らか。
違うぞ。どっちもIEEEによって縛られてるだけ。
164デフォルトの名無しさん (ドコグロ MMb1-XtwS)
2019/10/03(木) 12:55:46.18ID:z1c5xmGqM >>161
負け惜しみ?
Pythonの話?
馬鹿にされてるのは2進数と10進数の話だぞw
> ただ、最終的に浮動小数点数として扱うなら
> 2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから自分の好みの結果が得られる。
負け惜しみ?
Pythonの話?
馬鹿にされてるのは2進数と10進数の話だぞw
> ただ、最終的に浮動小数点数として扱うなら
> 2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから自分の好みの結果が得られる。
165デフォルトの名無しさん (ワッチョイ 9e6e-jw9j)
2019/10/03(木) 19:19:02.85ID:9IWXvZRK0 ラムダ式のリストを作りたいのですが、
def func(n):
return lambda n: print(n)
list = [func(n) for n in range(10) ]
list[0]
list[1]
list[2]
は狙い通りに
0
1
2
という結果が出るのに
list = [lambda n: print(n) for n in range(10)]
list[0]
list[1]
list[2]
だと
9
9
9
になってしまうのはなぜですか?
def func(n):
return lambda n: print(n)
list = [func(n) for n in range(10) ]
list[0]
list[1]
list[2]
は狙い通りに
0
1
2
という結果が出るのに
list = [lambda n: print(n) for n in range(10)]
list[0]
list[1]
list[2]
だと
9
9
9
になってしまうのはなぜですか?
166デフォルトの名無しさん (ラクペッ MM65-V2QA)
2019/10/03(木) 19:59:14.72ID:W+JElR6/M ならないと思うけど
後者のラムダ式は評価されてないから
<function <listcomp>.<lambda> at 0x2b850b976ea0>
とか出るだろ
サンプルは正確に頼む
後者のラムダ式は評価されてないから
<function <listcomp>.<lambda> at 0x2b850b976ea0>
とか出るだろ
サンプルは正確に頼む
167165 (ワッチョイ f16e-jw9j)
2019/10/03(木) 20:19:26.33ID:nXwJdy3O0 すみません
def func(n):
return lambda : print(n)
list = [func(n) for n in range(10) ]
list[0]()
list[1]()
list[2]()
と
list = [lambda : print(n) for n in range(10)]
list[0]()
list[1]()
list[2]()
でした
ID変わってるかもしれないけど165です
def func(n):
return lambda : print(n)
list = [func(n) for n in range(10) ]
list[0]()
list[1]()
list[2]()
と
list = [lambda : print(n) for n in range(10)]
list[0]()
list[1]()
list[2]()
でした
ID変わってるかもしれないけど165です
168デフォルトの名無しさん (ワッチョイ f13c-G1PU)
2019/10/03(木) 20:31:44.96ID:0JhZY07I0 list = [lambda x=n : print(x) for n in range(10)]
169165 (ワッチョイ f16e-jw9j)
2019/10/03(木) 20:33:42.58ID:nXwJdy3O0170デフォルトの名無しさん (ワッチョイ fa02-65eU)
2019/10/03(木) 22:34:54.68ID:MIbrEnWV0 Pythonでファイルの一括処理を行うと
他の言語やシェルの結果と比較してエラーが多い気がしますが、(特にテキスト処理)
気のせいでしょうか?
他の言語やシェルの結果と比較してエラーが多い気がしますが、(特にテキスト処理)
気のせいでしょうか?
171デフォルトの名無しさん (ブーイモ MM81-k3BS)
2019/10/03(木) 23:13:50.33ID:twcV991sM 僕が論理的に原因分析できないのはここのスレ住民のせいだと思います。気のせいでしょうか?
172デフォルトの名無しさん (ワッチョイ b501-OCbg)
2019/10/03(木) 23:55:55.59ID:4GYQfqj50 >>171 気の所為です。 被害妄想とも言います。
ひたすら練習あるのみ。
ひたすら練習あるのみ。
173デフォルトの名無しさん (ワッチョイ 6d3c-BbZh)
2019/10/04(金) 02:06:06.17ID:kLahYNxr0 >>170
エラーではないけど、この関数は将来廃止予定です、みたいな警告はよく見る
エラーではないけど、この関数は将来廃止予定です、みたいな警告はよく見る
174デフォルトの名無しさん (ワッチョイ b67c-MsYi)
2019/10/04(金) 16:24:44.36ID:JXWhYfPM0 def func(n):
return lambda n: print(n)
list = [func(n) for n in range(10) ]
これと
list = [lambda n: print(n) for n in range(10)]
これは等価ではない
前者と等価になるのは
list = [(lambda n: print(n))(n) for n in range(10)]
return lambda n: print(n)
list = [func(n) for n in range(10) ]
これと
list = [lambda n: print(n) for n in range(10)]
これは等価ではない
前者と等価になるのは
list = [(lambda n: print(n))(n) for n in range(10)]
175デフォルトの名無しさん (ワッチョイ ea02-G1PU)
2019/10/04(金) 16:56:37.71ID:6EiJ+2U20 >>174
ならないんだけど
ならないんだけど
176デフォルトの名無しさん (エムゾネ FF0a-MsYi)
2019/10/04(金) 17:07:14.16ID:FW+Y/3wmF177デフォルトの名無しさん (ワッチョイ ea02-G1PU)
2019/10/04(金) 17:28:13.79ID:6EiJ+2U20178デフォルトの名無しさん (ワッチョイ 2ac5-G1PU)
2019/10/05(土) 00:12:25.64ID:JlWvx+CH0 コンパイラにコード食べさせるのは「コンパイルする」ですけど、インタプリタにコード食べさせるのは何て言うんでしょうか?
「インタプリタする」ですか?
「インタプリタする」ですか?
179デフォルトの名無しさん (ラクペッ MM65-V2QA)
2019/10/05(土) 03:32:00.51ID:3zp7gEabM 今時のインタプリタはバイトコードへのコンパイルと実行がセットなので
コンパイルではないとされるとすげえ違和感がある
コンパイルではないとされるとすげえ違和感がある
180デフォルトの名無しさん (ワッチョイ f15a-Pspk)
2019/10/05(土) 07:15:18.06ID:2xd3HXJk0 インタプリタがプログラムを解釈interpretするときにはいろんなことを行う
その総体をさしていうなら実行するexecute、走らせるrunだけど、何らの副作用を伴わないなら評価evaluateするという言い方もありだろう
しかし死刑執行人をexecutionerと婉曲にいうように、インタプリタによるinterpretが特別な帰結をもたらす状況もあるかもしれない
昨夜エジョフがスターリンの言葉を解釈した、といわれれば恐ろしい何かが行われたことを想像するであろう
その総体をさしていうなら実行するexecute、走らせるrunだけど、何らの副作用を伴わないなら評価evaluateするという言い方もありだろう
しかし死刑執行人をexecutionerと婉曲にいうように、インタプリタによるinterpretが特別な帰結をもたらす状況もあるかもしれない
昨夜エジョフがスターリンの言葉を解釈した、といわれれば恐ろしい何かが行われたことを想像するであろう
181デフォルトの名無しさん (ワッチョイ f14e-/Xc4)
2019/10/05(土) 09:34:05.96ID:oVPf95FK0 interpretは子音で終わってるから正確にはインタープリッする
182デフォルトの名無しさん (ワッチョイ b501-OCbg)
2019/10/05(土) 10:30:34.58ID:SKPk8UHd0 >>178 実行するだろうな。
183デフォルトの名無しさん (ワッチョイ 7d01-Qh1z)
2019/10/05(土) 10:43:06.70ID:RY9rLLlz0184デフォルトの名無しさん (ワッチョイ b67c-MsYi)
2019/10/05(土) 11:44:35.13ID:xk/GxZ7j0185デフォルトの名無しさん (アメ MM11-/Xc4)
2019/10/05(土) 15:18:28.45ID:0WeqN8Y0M 生ける忠達 死せる孔明をはしらす
だっけ?
だっけ?
186デフォルトの名無しさん (ワッチョイ 7d01-Qh1z)
2019/10/05(土) 15:21:10.15ID:RY9rLLlz0 >>185
うるおぼえだなwww
うるおぼえだなwww
187デフォルトの名無しさん (ワッチョイ 6663-G1PU)
2019/10/05(土) 16:32:56.72ID:yQxHyjqi0 >>185
ゾンビかよ
ゾンビかよ
188178 (ワッチョイ 2ac5-G1PU)
2019/10/06(日) 11:10:37.65ID:kRqXlweR0 走らせる、実行するですか
なるほどm(_ _)m
なるほどm(_ _)m
189デフォルトの名無しさん (ワッチョイ 6663-G1PU)
2019/10/06(日) 11:21:21.15ID:GF2THHlm0 このプログラムが起動するのは一度きりである。実行ののち、消去される。
非実行が選択された場合は起動せずに消去される。
Ready?
非実行が選択された場合は起動せずに消去される。
Ready?
190デフォルトの名無しさん (ワッチョイ f14e-/Xc4)
2019/10/06(日) 14:54:40.23ID:VRfDnOhz0 非実行なら消去も実行されないじゃんバカなの?w
191デフォルトの名無しさん (ワッチョイ 7d01-Qh1z)
2019/10/06(日) 15:23:13.43ID:qpx1VOF30 スパイ大作戦のネタのつもりだろ
192デフォルトの名無しさん (アウアウウー Sa21-hKCn)
2019/10/06(日) 15:23:41.08ID:/HJX1kUSa ハルヒの消失だっけ?
193デフォルトの名無しさん (エムゾネ FF0a-WcZE)
2019/10/06(日) 17:41:30.75ID:pvG0vkV+F そもそもメッセージ出してるのは誰よ
実行してんじゃん
実行してんじゃん
194デフォルトの名無しさん (ブーイモ MM0a-k3BS)
2019/10/06(日) 18:24:32.40ID:P4FibN0lM おOSがメタデータを読み取って画面表示してるんですよ
ぜ全然破綻してないですよ
ぜ全然破綻してないですよ
195デフォルトの名無しさん (ワッチョイ 6663-G1PU)
2019/10/06(日) 19:13:30.23ID:GF2THHlm0196デフォルトの名無しさん (ワッチョイ 7d01-Qh1z)
2019/10/06(日) 19:22:02.88ID:qpx1VOF30197デフォルトの名無しさん (ワッチョイ a612-k3BS)
2019/10/06(日) 19:58:52.81ID:nHvdH+7w0 非実行が選択された場合はおまいらのPCが等幅フォント、半角カタカナになる。
Ready?
Ready?
198デフォルトの名無しさん (ワッチョイ 7d01-Qh1z)
2019/10/06(日) 20:02:06.85ID:qpx1VOF30 >>197
PC(機械)がフォント(データ)に化けるとはまた面妖な!
PC(機械)がフォント(データ)に化けるとはまた面妖な!
199デフォルトの名無しさん (ワッチョイ 6663-G1PU)
2019/10/06(日) 20:07:23.59ID:GF2THHlm0 昔の16ビットPCに変わるなら、ありかもw
200デフォルトの名無しさん (ブーイモ MMc9-Pspk)
2019/10/07(月) 09:25:23.00ID:i5RoY7ITM polish pillarとかの時代
201デフォルトの名無しさん (ワッチョイ 7559-eADx)
2019/10/07(月) 09:41:56.19ID:SdznGAt+0 Ready? と言われると V-MAX発動!と返したくなる
あれ、発動宣言してからReadyだったっけ?
あれ、発動宣言してからReadyだったっけ?
202デフォルトの名無しさん (ワッチョイ c55f-KLvH)
2019/10/07(月) 12:01:35.88ID:Lz0AbqdP0 VMAX発動!
「Ready!」
「Ready!」
203デフォルトの名無しさん (ワッチョイ 7d01-Qh1z)
2019/10/07(月) 12:36:46.60ID:UkX/bq2a0 蒼き流星
204デフォルトの名無しさん (アウアウクー MM7d-601y)
2019/10/07(月) 19:06:00.76ID:1o1RFUhAM ラズパイに繋いだ圧電ブザーで
周波数で音の高さが変わるのは分かりましたが
音の音色を変えるにはどう制御すればいいですか?
具体的には音色をピアノ風にしたいです。
周波数で音の高さが変わるのは分かりましたが
音の音色を変えるにはどう制御すればいいですか?
具体的には音色をピアノ風にしたいです。
205デフォルトの名無しさん (ワッチョイ f15a-Pspk)
2019/10/07(月) 20:58:09.87ID:QGOUHRCn0 スピーカーをつないでピアノの音を鳴らすか
鍵盤を用意して物理的に叩くギミックを用意する
鍵盤を用意して物理的に叩くギミックを用意する
206デフォルトの名無しさん (ワッチョイ 9ece-G1PU)
2019/10/07(月) 21:12:02.49ID:yg0UiPau0207デフォルトの名無しさん (ワッチョイ 152c-W79r)
2019/10/08(火) 13:55:30.56ID:fIh6S9d10 プログラミング言語人気トップ8、過去15年間で安定 - 例外はPython
2019/10/07 14:16 後藤大地
https://news.mynavi.jp/article/20191007-905781/
TIOBE Softwareから、2019年10月のTIOBE Programming Community Index (PCI)が公開された。
TIOBE PCIは、複数の検索エンジンの検索結果から、対象となるプログラミング言語がどれだけ話題に
なっているかをインデックス化したもの。(中略)
TIOBE Softwareは発表の中で、毎年新たなプログラミング言語が登場しているものの、TIOBE
Programming Community Indexのトップ8は過去15年間でほとんど変化していないと説明した。
Perlが消えてPythonに入れ替わったことや、Objective-Cが消えてSwiftに替わったというのが大きな
例外で、それ以外に大きな変動はないと指摘している。
ただし、プログラミング言語の分野に関してはいくつかの傾向があるとして、その例としてPHPやPerlから
Pythonへ移っていること、新しいプログラミング言語としてDart、Scala、Lua、Rust、Kotlin、TypeScript
などが人気上昇の渦中にあることなどを説明している。
10月TIOBE Programming Community Index / 円グラフ
https://news.mynavi.jp/article/20191007-905781/images/001.jpg
2019/10/07 14:16 後藤大地
https://news.mynavi.jp/article/20191007-905781/
TIOBE Softwareから、2019年10月のTIOBE Programming Community Index (PCI)が公開された。
TIOBE PCIは、複数の検索エンジンの検索結果から、対象となるプログラミング言語がどれだけ話題に
なっているかをインデックス化したもの。(中略)
TIOBE Softwareは発表の中で、毎年新たなプログラミング言語が登場しているものの、TIOBE
Programming Community Indexのトップ8は過去15年間でほとんど変化していないと説明した。
Perlが消えてPythonに入れ替わったことや、Objective-Cが消えてSwiftに替わったというのが大きな
例外で、それ以外に大きな変動はないと指摘している。
ただし、プログラミング言語の分野に関してはいくつかの傾向があるとして、その例としてPHPやPerlから
Pythonへ移っていること、新しいプログラミング言語としてDart、Scala、Lua、Rust、Kotlin、TypeScript
などが人気上昇の渦中にあることなどを説明している。
10月TIOBE Programming Community Index / 円グラフ
https://news.mynavi.jp/article/20191007-905781/images/001.jpg
208デフォルトの名無しさん (エムゾネ FF0a-2rUB)
2019/10/08(火) 13:59:03.18ID:YDJb962sF >人気上昇の渦中
終わってるのあるやん
終わってるのあるやん
209デフォルトの名無しさん (ワッチョイ 397c-StTZ)
2019/10/08(火) 14:11:07.35ID:J68M6wrj0 ちおべは説得力ない
210デフォルトの名無しさん (ワッチョイ a612-k3BS)
2019/10/08(火) 20:51:01.81ID:oYvZ36SI0 Rubyは24.6%もあるじゃん
211デフォルトの名無しさん (ワッチョイ 6d63-V2QA)
2019/10/08(火) 20:56:57.87ID:eKdwgre+0 Pythonが最強なのは知ってるからわざわざ貼らなくてよい
212デフォルトの名無しさん (ワッチョイ d72c-8Rbt)
2019/10/10(木) 23:57:06.99ID:wQAIptsN0 PyPy、JSONパーサを大幅高速化 - CPythonとNodeより高速 2019/10/10 09:47 後藤大地
https://news.mynavi.jp/article/20191010-907234/
高速なPythonの実装系を開発しているPyPyチームは2019年10月8日(米国時間)、「PyPy Status
Blog: PyPy's new JSON parser」において、ここ1、2年で取り組んできたJSONパーサの高速化の取り
組みについて発表した。
JSONデータは特に扱いが増えているデータ形式。さまざまなプログラミング言語が基本的なデータ
形式として扱っており、設定ファイルのような使い方から大規模データ保持の方法としてまで幅広く
使われている。
PyPyチームはいくつかの手法を試して高速化に取り組んだ。結果、処理速度は、CPythonおよびNodeの
双方よりも高速化することに成功したとしている。この新しいパーサは次のリリースバージョンとなるPyPy
7.2に同梱が予定されている。
ただし、PyPyチームはこの新しい実装にはいくつかの課題があると説明。課題とは、高速なJSONパーサと
して知られているRapidJSONほどは高速化を実現できなかったこと、仕組み上採用した仕掛けがPyPyの
世代別ガベージコレクタとの相性が最悪であること、メモリ使用量に関してはNode/V8のほうに分がある
ことなどだ。PyPyチームは、今後さらに多くのベンチマークを実施する必要があるだろうと説明している。
Pythonは現在人気があるプログラミング言語の1つで、デフォルトの処理系以外にもいくつかの実装系が
存在しており、処理速度の高速化に力を入れたている。
https://news.mynavi.jp/article/20191010-907234/
高速なPythonの実装系を開発しているPyPyチームは2019年10月8日(米国時間)、「PyPy Status
Blog: PyPy's new JSON parser」において、ここ1、2年で取り組んできたJSONパーサの高速化の取り
組みについて発表した。
JSONデータは特に扱いが増えているデータ形式。さまざまなプログラミング言語が基本的なデータ
形式として扱っており、設定ファイルのような使い方から大規模データ保持の方法としてまで幅広く
使われている。
PyPyチームはいくつかの手法を試して高速化に取り組んだ。結果、処理速度は、CPythonおよびNodeの
双方よりも高速化することに成功したとしている。この新しいパーサは次のリリースバージョンとなるPyPy
7.2に同梱が予定されている。
ただし、PyPyチームはこの新しい実装にはいくつかの課題があると説明。課題とは、高速なJSONパーサと
して知られているRapidJSONほどは高速化を実現できなかったこと、仕組み上採用した仕掛けがPyPyの
世代別ガベージコレクタとの相性が最悪であること、メモリ使用量に関してはNode/V8のほうに分がある
ことなどだ。PyPyチームは、今後さらに多くのベンチマークを実施する必要があるだろうと説明している。
Pythonは現在人気があるプログラミング言語の1つで、デフォルトの処理系以外にもいくつかの実装系が
存在しており、処理速度の高速化に力を入れたている。
213デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/11(金) 10:41:11.87ID:hkXt1GtmF msgpackの勝利
214デフォルトの名無しさん (ワッチョイ 5701-5UQo)
2019/10/15(火) 23:44:28.20ID:LXkkA+L30 CでコンパイルするCython は評判が良く無いけど、Dropbox が開発してる Mypyc は、評判が良さそうだね。
https://news.ycombinator.com/item?id=17846341
https://blogs.dropbox.com/tech/2019/09/our-journey-to-type-checking-4-million-lines-of-python/
https://news.ycombinator.com/item?id=17846341
https://blogs.dropbox.com/tech/2019/09/our-journey-to-type-checking-4-million-lines-of-python/
215デフォルトの名無しさん (アウアウクー MMcb-h80m)
2019/10/16(水) 08:29:54.15ID:n3310tdeM Pythonってどんな用途向けの言語んでしょうか?
216デフォルトの名無しさん (ワッチョイ 5701-5UQo)
2019/10/16(水) 09:12:05.86ID:Mi1dGaVf0 >>215 統計処理、科学技術関係、AI 等。
スクリプト言語はパラメータをこまめに変えて結果を見ると言う用途には適している。
沢山のライプラリが揃ってるから、今や理系の標準ツールになりつつある。
Excel との相性も抜群だから事務処理用としてもよく使われる。
スクリプト言語はパラメータをこまめに変えて結果を見ると言う用途には適している。
沢山のライプラリが揃ってるから、今や理系の標準ツールになりつつある。
Excel との相性も抜群だから事務処理用としてもよく使われる。
217デフォルトの名無しさん (ワッチョイ 9f4b-NJTS)
2019/10/16(水) 12:13:08.45ID:FpMoQEu50218デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/16(水) 12:28:14.79ID:dmmazo8PF ネイティブコードにコンパイルって
for x in range(hoge): みたいなのでも
レジスタ使ってループとかしてくれるのかな
for x in range(hoge): みたいなのでも
レジスタ使ってループとかしてくれるのかな
219デフォルトの名無しさん (ワッチョイ 1704-8Rbt)
2019/10/16(水) 17:42:09.39ID:1Hum/8RQ0 「Python 3.8」リリース、新たに代入式を導入 2019年10月16日16:00 末岡洋子
https://mag.osdn.jp/19/10/16/160000
プログラミング言語Python開発チームは10月14日、「Python 3.8」を公開した。
Python 3.8は2008年末に公開されたバージョン3系の最新版で、2018年6月の3.7公開以来の
メジャーリリースとなる。
変数に値を代入するための新たな「:=」演算子(「セイウチ演算子」)が導入された。従来のPythonに
おいて変数への代入は値を返さない文であり、代入結果を参照するような式は文法エラーとなっていた。
今回導入された「:=」演算子では代入された値を返し、それを参照する式を記述できるようになる。また、
関数に引数を与える際にキーワード呼び出しの順序を指定する文法が加わった。
CPython向けの高速な呼び出しプロトコル「Vectorcall」も加わった。CPythonが用いるfastcallを
ベースとし、任意のユーザー定義クラスで用いることができるという。
コンパイルされたバイトコードを格納するディレクトリを変更するためのPYTHONPYCACHEPREFIXも
新たに導入された。これによって、Pythonコードが格納されたディレクトリやファイルシステムとは異なる
ディレクトリ/ファイルシステム上にバイトコードキャッシュを作成できる。
このほか、Python 3.6で導入されたf文字列の機能強化、Pickleプロトコル5の導入などさまざまな
強化が加わっている。
https://mag.osdn.jp/19/10/16/160000
プログラミング言語Python開発チームは10月14日、「Python 3.8」を公開した。
Python 3.8は2008年末に公開されたバージョン3系の最新版で、2018年6月の3.7公開以来の
メジャーリリースとなる。
変数に値を代入するための新たな「:=」演算子(「セイウチ演算子」)が導入された。従来のPythonに
おいて変数への代入は値を返さない文であり、代入結果を参照するような式は文法エラーとなっていた。
今回導入された「:=」演算子では代入された値を返し、それを参照する式を記述できるようになる。また、
関数に引数を与える際にキーワード呼び出しの順序を指定する文法が加わった。
CPython向けの高速な呼び出しプロトコル「Vectorcall」も加わった。CPythonが用いるfastcallを
ベースとし、任意のユーザー定義クラスで用いることができるという。
コンパイルされたバイトコードを格納するディレクトリを変更するためのPYTHONPYCACHEPREFIXも
新たに導入された。これによって、Pythonコードが格納されたディレクトリやファイルシステムとは異なる
ディレクトリ/ファイルシステム上にバイトコードキャッシュを作成できる。
このほか、Python 3.6で導入されたf文字列の機能強化、Pickleプロトコル5の導入などさまざまな
強化が加わっている。
220デフォルトの名無しさん (ワッチョイ 1663-S3Tg)
2019/10/17(木) 02:13:23.52ID:BHqopZt30221デフォルトの名無しさん (ドコグロ MM32-i14O)
2019/10/17(木) 06:54:57.02ID:ytwdVAJ4M■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★9 [BFU★]
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 植田日銀総裁 「円安進行が物価高を起こしている」 ★4 [お断り★]
- 高市首相が異例の“買春行為の罰則化の検討”に言及…世界では“買う側”に罰則を科すのが先進国のスタンダード ★2 [樽悶★]
- 脳ぶっ壊れワイにおすすめの快楽手段
- 【ガチ正論】一般人「中国に規制制裁されて、『中国ムカつく』じゃなくて矛先が『許さんぞ高市』になってる奴、頭おかしいの?」 ★2 [153490809]
- ジャパニーズってジャパニーズじゃん?
- 中国のロボット部隊がすごい。仮に中国と戦争になったら日本人はロボットと戦わないとならなくなる [805596214]
- 医学部中退したけど別にいいや
- ツキノワグマ vs ヒグマ vs メカヒグマ vs モスラ vs キングギドラ
