★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その40
http://mevius.5ch.net/test/read.cgi/tech/1542874174/
◆PythonのHome Page
http://www.python.org/
◆まとめwiki
ttp://python.rdy.jp/
◆Pythonのソースコードをそのまま5ちゃんにコピペすると
インデントが崩れるので
こういうところ↓にはってきてください
ttp://ideone.com/ Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
探検
くだすれPython(超初心者用) その41【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/02/04(月) 21:22:10.08ID:9MrdxUVg608デフォルトの名無しさん
2019/03/08(金) 12:03:17.67ID:JVGfVyzo 問題はprint(arg)が実行される時のargの値でしょ?
def num(arg=i):
の時に、argにはiへの参照が渡されるんじゃ無くて、iの値が渡されるってだけ。
def num(arg=i):
の時に、argにはiへの参照が渡されるんじゃ無くて、iの値が渡されるってだけ。
609デフォルトの名無しさん
2019/03/08(金) 13:20:03.26ID:enrIbZX0 >>607 def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。
つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。
つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。
610デフォルトの名無しさん
2019/03/08(金) 13:35:58.82ID:5FsfaYFV611デフォルトの名無しさん
2019/03/08(金) 13:36:28.88ID:0Uig+6Kq 仕様ですな
デフォルト引数の式は関数が定義されるときにただ一度だけ評価され、同じ "計算済みの" 値が呼び出しのたびに使用されることを意味します。
https://docs.python.org/ja/3.6/reference/compound_stmts.html#function-definitions
デフォルト引数の式は関数が定義されるときにただ一度だけ評価され、同じ "計算済みの" 値が呼び出しのたびに使用されることを意味します。
https://docs.python.org/ja/3.6/reference/compound_stmts.html#function-definitions
612デフォルトの名無しさん
2019/03/08(金) 13:39:30.34ID:0Uig+6Kq613デフォルトの名無しさん
2019/03/08(金) 13:57:33.85ID:JVGfVyzo >>610
真面目にやってんならこれは恥ずかしい。
真面目にやってんならこれは恥ずかしい。
614デフォルトの名無しさん
2019/03/08(金) 14:02:30.13ID:j3nR25S+ ガイガイ音頭踊っとれや…(嘆息)
615デフォルトの名無しさん
2019/03/08(金) 14:12:04.85ID:1m9JjIZU おもしろかったぞw
616デフォルトの名無しさん
2019/03/08(金) 14:51:41.35ID:enrIbZX0 >>610 デフォルトが解っていないみたいだな。 これとまったく同じことなんだぞ。
def num(arg=10)
print(arg)
print(num(7)) #> 7
print(num()) #> 10
def num(arg=10)
print(arg)
print(num(7)) #> 7
print(num()) #> 10
617デフォルトの名無しさん
2019/03/08(金) 14:53:37.91ID:enrIbZX0 >>616 printが2重になってたな。
618デフォルトの名無しさん
2019/03/08(金) 15:17:08.58ID:E9FXn3JR 勉強になったな!
619デフォルトの名無しさん
2019/03/08(金) 16:07:05.72ID:eYLLL/Dr よくはまるのは default=[] にしたとき
620デフォルトの名無しさん
2019/03/08(金) 16:35:59.46ID:DUow6Thg 二次元配列からの取り出しで、
X = hoge[:, [2,3]]
Y = hoge[:, 0]
って書かれている時、具体的にどこからどこまで取り出しているのでしょうか?
X = hoge[:, [2,3]]
Y = hoge[:, 0]
って書かれている時、具体的にどこからどこまで取り出しているのでしょうか?
621デフォルトの名無しさん
2019/03/08(金) 17:17:55.67ID:54yPjEY7 >>610
def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。
つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。
つまり、関数定義時点で、i=10 とデフォルト値が確定する。実行時ではない。デフォルト値が、10から7にころころ変わったりするものか。だから、結果は10なんだよ
…ってあれ?
def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。
つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。
つまり、関数定義時点で、i=10 とデフォルト値が確定する。実行時ではない。デフォルト値が、10から7にころころ変わったりするものか。だから、結果は10なんだよ
…ってあれ?
622デフォルトの名無しさん
2019/03/08(金) 17:20:46.97ID:54yPjEY7 仕様ですな
デフォルト引数の式は関数が定義されるときにただ一度だけ評価され、(つまり10と評価)同じ "計算済みの" 値(つまり10)が呼び出しのたびに使用されることを意味します。
https://docs.python.org/ja/3.6/reference/compound_stmts.html#function-definitions
見事に結果が違うな
下手に言葉でルール説明しなくていいから、インタプリタに動作アルゴリズムをそのまま公開してほしいわ
デフォルト引数の式は関数が定義されるときにただ一度だけ評価され、(つまり10と評価)同じ "計算済みの" 値(つまり10)が呼び出しのたびに使用されることを意味します。
https://docs.python.org/ja/3.6/reference/compound_stmts.html#function-definitions
見事に結果が違うな
下手に言葉でルール説明しなくていいから、インタプリタに動作アルゴリズムをそのまま公開してほしいわ
623デフォルトの名無しさん
2019/03/08(金) 17:41:30.86ID:SfpbmzlL ちょっと何言ってんだか分かんないw
624デフォルトの名無しさん
2019/03/08(金) 17:48:01.52ID:+fF7voFW625デフォルトの名無しさん
2019/03/08(金) 18:34:43.25ID:qP6cz7Aj >>622 言語リファレンスは明確に仕様を定義するだけのものだから、理解させるためのものではない。 絶対に間違いがあってはならないから下手な説明はない方が良い。
626デフォルトの名無しさん
2019/03/08(金) 19:17:40.56ID:1m9JjIZU >>622
>>下手に言葉でルール説明しなくていいから
オイオイ、これ以上分かりやすい説明ないだろう。しかも公式リファレンスだよ
>>インタプリタに動作アルゴリズムをそのまま公開してほしいわ
意味不明w
>>下手に言葉でルール説明しなくていいから
オイオイ、これ以上分かりやすい説明ないだろう。しかも公式リファレンスだよ
>>インタプリタに動作アルゴリズムをそのまま公開してほしいわ
意味不明w
627デフォルトの名無しさん
2019/03/08(金) 20:03:58.48ID:IGhZvnlG 公式の説明と実際の動作が一致しないんじゃなあ
628デフォルトの名無しさん
2019/03/08(金) 20:34:26.69ID:TVXnQmRl さすがに釣りでしょう
629デフォルトの名無しさん
2019/03/08(金) 21:33:30.47ID:1m9JjIZU >>627
その一致しないってコード貼ってみて
その一致しないってコード貼ってみて
630デフォルトの名無しさん
2019/03/08(金) 21:35:26.18ID:5FsfaYFV631デフォルトの名無しさん
2019/03/08(金) 21:45:16.90ID:mz9PUEDs まじかよこいつ…
632デフォルトの名無しさん
2019/03/08(金) 21:47:23.79ID:JVGfVyzo >>630
‥あの、最後の行でnum()が実行される前に、i=7にして、print(arg) のargに7入れてますよね。。
‥あの、最後の行でnum()が実行される前に、i=7にして、print(arg) のargに7入れてますよね。。
633デフォルトの名無しさん
2019/03/08(金) 21:48:50.29ID:6/VZFxCg >>630
まず関数の中ではprintじゃなくてreturn使えよ
まず関数の中ではprintじゃなくてreturn使えよ
634デフォルトの名無しさん
2019/03/08(金) 21:54:12.28ID:1m9JjIZU クソー、こんなバカでかい釣針に…
635デフォルトの名無しさん
2019/03/08(金) 21:58:20.32ID:0lCnL4hz636デフォルトの名無しさん
2019/03/08(金) 22:10:29.49ID:5FsfaYFV >>632
def と言うのが何かを考えよう。
def で関数を定義する。その時点でパラメータのデフォルト値も確定する。
つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。
デフォルト値がころころ変わったりするものか。
つまり、関数定義時点で、arg =None とデフォルト値が確定する。実行時ではない。デフォルト値が、None から7にころころ変わったりするものか。だから、結果はNone なんだよ
def と言うのが何かを考えよう。
def で関数を定義する。その時点でパラメータのデフォルト値も確定する。
つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。
デフォルト値がころころ変わったりするものか。
つまり、関数定義時点で、arg =None とデフォルト値が確定する。実行時ではない。デフォルト値が、None から7にころころ変わったりするものか。だから、結果はNone なんだよ
637デフォルトの名無しさん
2019/03/08(金) 22:38:20.41ID:5FsfaYFV638デフォルトの名無しさん
2019/03/08(金) 22:44:17.08ID:5FsfaYFV639デフォルトの名無しさん
2019/03/08(金) 22:48:11.06ID:5FsfaYFV640デフォルトの名無しさん
2019/03/08(金) 22:51:54.71ID:5FsfaYFV 要するに
この二つで
主力に差がある
おかしいだろ
言語仕様的にってこと
https://i.imgur.com/FNgAPWr.jpg
https://i.imgur.com/InFjQUr.jpg
i がグローバルだとか
def で引数確定だとか
じゃあ説明つかないわけで
この二つで
主力に差がある
おかしいだろ
言語仕様的にってこと
https://i.imgur.com/FNgAPWr.jpg
https://i.imgur.com/InFjQUr.jpg
i がグローバルだとか
def で引数確定だとか
じゃあ説明つかないわけで
641デフォルトの名無しさん
2019/03/08(金) 22:55:09.64ID:drDoyyDV 何もおかしくなくね?
642デフォルトの名無しさん
2019/03/08(金) 22:58:43.49ID:Bv9xm7M7 5FsfaYFVの頭がおかしい
643デフォルトの名無しさん
2019/03/08(金) 23:03:08.61ID:kqYYM5Yl 何が問題なのかわからん
最初のはnum()に引数渡してないんだから、定義時のarg = 10がデフォルト値と設定されて10が表示される
次のはnum(7)と引数に7を渡してるんだから、デフォルト値をarg = 7で上書きして7と表示される
最初のはnum()に引数渡してないんだから、定義時のarg = 10がデフォルト値と設定されて10が表示される
次のはnum(7)と引数に7を渡してるんだから、デフォルト値をarg = 7で上書きして7と表示される
644デフォルトの名無しさん
2019/03/08(金) 23:08:02.19ID:0lCnL4hz645デフォルトの名無しさん
2019/03/08(金) 23:25:29.70ID:33ZLM8BT >>640 何言ってんだこいつは? 長々とおちょくってるだけだろ。
何が言語仕様的にだ。言語仕様も理解できないで文句言うな。 言語仕様を100回読め。
何が言語仕様的にだ。言語仕様も理解できないで文句言うな。 言語仕様を100回読め。
646デフォルトの名無しさん
2019/03/08(金) 23:25:43.90ID:/RdmhwQH こんな基本的な事がおかしかったらとっくに修正されてる
ドキュメントを熟読してnum.__defaults__を確認しなさい
ドキュメントを熟読してnum.__defaults__を確認しなさい
647デフォルトの名無しさん
2019/03/08(金) 23:59:43.59ID:fVqLi10C648デフォルトの名無しさん
2019/03/09(土) 00:01:58.96ID:LldggWB2 この言語仕様がおかしい
https://i.imgur.com/FNgAPWr.jpg
i はグローバル変数なんだから、def で確定させてはいけない
それが直感的に正しい記述を目指すPython 的な文法
開発者は即刻インタプリタを修正すべき
すぐにだ!
https://i.imgur.com/FNgAPWr.jpg
i はグローバル変数なんだから、def で確定させてはいけない
それが直感的に正しい記述を目指すPython 的な文法
開発者は即刻インタプリタを修正すべき
すぐにだ!
649デフォルトの名無しさん
2019/03/09(土) 00:03:20.04ID:LldggWB2 黄猿は現行仕様を無批判に教祖のごとく崇め奉る無能者
そんな信者の擁護論をあてにしてはいけない
俺のような人間の言うことを開発者は聞くべき
そんな信者の擁護論をあてにしてはいけない
俺のような人間の言うことを開発者は聞くべき
650デフォルトの名無しさん
2019/03/09(土) 00:04:09.24ID:JrnVgIXe そもそもデフォルト引数に変数を入れるという使い方が間違ってるわけで…
651デフォルトの名無しさん
2019/03/09(土) 00:07:50.33ID:ScAo2omB >>650
初耳だ、詳しく
初耳だ、詳しく
652デフォルトの名無しさん
2019/03/09(土) 00:18:40.63ID:a1Hsl2rh なんかもやもやしてたけど>>650の発言でスッキリした
653デフォルトの名無しさん
2019/03/09(土) 00:31:23.52ID:ScAo2omB654デフォルトの名無しさん
2019/03/09(土) 00:32:14.31ID:a1Hsl2rh 前言撤回
numの()に何も入れないで呼び出しゃ何を渡すか不安定になって当然と思うが
違うのか?
numの()に何も入れないで呼び出しゃ何を渡すか不安定になって当然と思うが
違うのか?
655デフォルトの名無しさん
2019/03/09(土) 00:32:30.46ID:jmJNTA16 >>648 お前が言語を理解していないことがよくわかるな。
デフォルト値は変数ではなくて、固定の値なんだぞ。
デフォルト値は変数ではなくて、固定の値なんだぞ。
656デフォルトの名無しさん
2019/03/09(土) 00:32:49.42ID:QFJRtnnZ >>650
普通は
i = 10
def num(arg=i):
print(arg)
じゃなく、
def num(arg=10):
print(arg)
とするんだろうが、変数を介してデフォルト引数を指定して使う場合って
どんな時なんだろうって思うんだよな
普通は
i = 10
def num(arg=i):
print(arg)
じゃなく、
def num(arg=10):
print(arg)
とするんだろうが、変数を介してデフォルト引数を指定して使う場合って
どんな時なんだろうって思うんだよな
657デフォルトの名無しさん
2019/03/09(土) 00:34:24.26ID:jmJNTA16 >>654 何も入れない時に、どう言う値が入ったものとして動くかを決めるのがデフォルト値。
658デフォルトの名無しさん
2019/03/09(土) 00:46:43.68ID:LldggWB2 >>657
def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。
つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。
def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。
つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。
659デフォルトの名無しさん
2019/03/09(土) 00:49:26.21ID:a1Hsl2rh660デフォルトの名無しさん
2019/03/09(土) 00:51:38.41ID:LldggWB2 >numの()に何も入れないで呼び出しゃ何を渡すか不安定になって当然と思うが
不安定になるw
なにその情緒論
文法的に不可ならエラー吐けばOK
そうでないなら、「何らかの処理」をさせて終わり
その処理を場合分けして書いとくのが公式ドキュメントの仕事だろ
不安定になるw
なにその情緒論
文法的に不可ならエラー吐けばOK
そうでないなら、「何らかの処理」をさせて終わり
その処理を場合分けして書いとくのが公式ドキュメントの仕事だろ
661デフォルトの名無しさん
2019/03/09(土) 00:55:39.76ID:jmJNTA16 >>659
def num(arg=i):
print(arg)
と、
def num(i):
print(i)
は同じものだと思ってるのかな?
下の場合はまたそれはそれで誤解しそうな要素を孕んでるんだけど。 この場合の i は、ローカル変数となる。外でグローバル変数として使われていてもね。
def num(arg=i):
print(arg)
と、
def num(i):
print(i)
は同じものだと思ってるのかな?
下の場合はまたそれはそれで誤解しそうな要素を孕んでるんだけど。 この場合の i は、ローカル変数となる。外でグローバル変数として使われていてもね。
662デフォルトの名無しさん
2019/03/09(土) 01:02:30.05ID:ScAo2omB 誰か俺の疑問にも応えてよ〜
>>650について詳しく知りたいんだよ〜
>>650について詳しく知りたいんだよ〜
663デフォルトの名無しさん
2019/03/09(土) 01:03:05.66ID:jmJNTA16 もしかして、デフォルトというカタカナ英語が理解できないのかも。
省略した時の値、省略値といってあげれば理解できるのかな?
省略した時の値、省略値といってあげれば理解できるのかな?
664デフォルトの名無しさん
2019/03/09(土) 01:03:41.96ID:a1Hsl2rh >>661
そこでなくて
def num(i):
を呼ぶときに
num()にするとエラーが出るよね。
けど、
def num(agr=i)
に、するとエラーが出ない!!うまく行った!!
けど、思ってた作動しない!なんでや!
で騒いでんのと思う
そこでなくて
def num(i):
を呼ぶときに
num()にするとエラーが出るよね。
けど、
def num(agr=i)
に、するとエラーが出ない!!うまく行った!!
けど、思ってた作動しない!なんでや!
で騒いでんのと思う
665デフォルトの名無しさん
2019/03/09(土) 01:04:04.19ID:jmJNTA16 >>662 省略値って何をするものか理解したか?
666デフォルトの名無しさん
2019/03/09(土) 01:14:03.06ID:ScAo2omB667デフォルトの名無しさん
2019/03/09(土) 01:16:59.92ID:jmJNTA16 >>666 まずいも何もそんなことはできないし、それは省略値ではない。
省略値は何度も言うように関数を定義した時点で固定されるもので、一度その時に固定された値が後で変わるようなことはあり得ない。
省略値は何度も言うように関数を定義した時点で固定されるもので、一度その時に固定された値が後で変わるようなことはあり得ない。
668デフォルトの名無しさん
2019/03/09(土) 01:19:46.38ID:jmJNTA16 理解できなければ、デフォルト値には変数は使えないと覚えた方が身のためだよ。 あくまでも固定値なんだよ。
669デフォルトの名無しさん
2019/03/09(土) 01:31:22.96ID:gjM9SRoS670デフォルトの名無しさん
2019/03/09(土) 01:33:05.19ID:ScAo2omB 言い方がまずかったかな
私が言いたかったのは
def func(arg=var):
のvarの部分に変数を使うっていう意味で言ったつもりだったんですけど
私が言いたかったのは
def func(arg=var):
のvarの部分に変数を使うっていう意味で言ったつもりだったんですけど
671デフォルトの名無しさん
2019/03/09(土) 01:38:38.47ID:gjM9SRoS そう言い方がまずいんだよ
日本語の表現力が君には足りない
昨日からしつこく指摘されてようやく理解したようだね
以後は気をつけるように
君は言葉で説明するのはやめとけ
みんなが迷惑する
具体的なコード書いて、こうかくとこうなる、こう変えるとこうなる、そう具体的に書いたほうがいい
日本語の表現力が君には足りない
昨日からしつこく指摘されてようやく理解したようだね
以後は気をつけるように
君は言葉で説明するのはやめとけ
みんなが迷惑する
具体的なコード書いて、こうかくとこうなる、こう変えるとこうなる、そう具体的に書いたほうがいい
672デフォルトの名無しさん
2019/03/09(土) 01:48:10.74ID:a1Hsl2rh やっと言葉が見つかった
デフォルト値と引数の引き渡し方を混同してないかい?
デフォルト値と引数の引き渡し方を混同してないかい?
673デフォルトの名無しさん
2019/03/09(土) 01:54:11.30ID:CZjUTyKq674デフォルトの名無しさん
2019/03/09(土) 01:59:58.65ID:jmJNTA16675デフォルトの名無しさん
2019/03/09(土) 02:07:54.61ID:ScAo2omB676デフォルトの名無しさん
2019/03/09(土) 02:09:08.25ID:gjM9SRoS677デフォルトの名無しさん
2019/03/09(土) 02:15:15.17ID:gjM9SRoS678デフォルトの名無しさん
2019/03/09(土) 02:19:08.39ID:gjM9SRoS で、言語仕様的問題に戻るとだ。
インデント強制文法で売ってるPython 的には、こういう場合、i は、グローバル変数になるべきなのであって、
i 渡さない場合でも、上のi だけ参照するようなクソ仕様は直感に反するから修正しろということ
ちゃんと下の i も見るようにしろと。
インデント強制文法で売ってるPython 的には、こういう場合、i は、グローバル変数になるべきなのであって、
i 渡さない場合でも、上のi だけ参照するようなクソ仕様は直感に反するから修正しろということ
ちゃんと下の i も見るようにしろと。
679デフォルトの名無しさん
2019/03/09(土) 02:21:39.74ID:jmJNTA16 >>676 お前は人の言葉を聞いていないだろ。
i=10
def num(arg=i) と書いた時点で、
def num(arg=10) と置き換わるんだよ。定義した時に省略値は固定されるんだから。
その後で、iをどう変化させようが
省略値は変わらないんだよ。
お前わざとおちょくってるだろ。
i=10
def num(arg=i) と書いた時点で、
def num(arg=10) と置き換わるんだよ。定義した時に省略値は固定されるんだから。
その後で、iをどう変化させようが
省略値は変わらないんだよ。
お前わざとおちょくってるだろ。
680デフォルトの名無しさん
2019/03/09(土) 02:22:12.05ID:gjM9SRoS681デフォルトの名無しさん
2019/03/09(土) 02:24:09.75ID:gjM9SRoS >i=10
>def num(arg=i) と書いた時点で、
>def num(arg=10) と置き換わるんだよ。定義した時に省略値は固定されるんだから。
>その後で、iをどう変化させようが
>省略値は変わらないんだよ。
その日本語説明では、
https://i.imgur.com/iv7Capl.jpg
が説明できないな
もうお前日本語使うのやめろ
むいてないよ
コードで語れ
>def num(arg=i) と書いた時点で、
>def num(arg=10) と置き換わるんだよ。定義した時に省略値は固定されるんだから。
>その後で、iをどう変化させようが
>省略値は変わらないんだよ。
その日本語説明では、
https://i.imgur.com/iv7Capl.jpg
が説明できないな
もうお前日本語使うのやめろ
むいてないよ
コードで語れ
682デフォルトの名無しさん
2019/03/09(土) 02:24:20.95ID:jmJNTA16 >>678 お前がバカなのはよくわかった。 省略値は変数じゃないと何べん言ったらわかるんだ。
683デフォルトの名無しさん
2019/03/09(土) 02:25:17.72ID:ScAo2omB >>679
ねえってばー、荒しの相手してないでボクの疑問に答えてくださいよー
ねえってばー、荒しの相手してないでボクの疑問に答えてくださいよー
684デフォルトの名無しさん
2019/03/09(土) 02:29:04.29ID:jmJNTA16 >>683 お前も嵐だろ。
685デフォルトの名無しさん
2019/03/09(土) 02:30:13.44ID:gjM9SRoS 試しに置き換えてみた
出力結果を見てみろ
7だぞ
10じゃないぞ
>>679
>i=10
>def num(arg=i) と書いた時点で、
>def num(arg=10) と置き換わるんだよ。定義した時に省略値は固定されるんだから。
https://i.imgur.com/vJPCACP.jpg
出力結果を見てみろ
7だぞ
10じゃないぞ
>>679
>i=10
>def num(arg=i) と書いた時点で、
>def num(arg=10) と置き換わるんだよ。定義した時に省略値は固定されるんだから。
https://i.imgur.com/vJPCACP.jpg
686デフォルトの名無しさん
2019/03/09(土) 02:30:23.94ID:jmJNTA16687デフォルトの名無しさん
2019/03/09(土) 02:32:07.70ID:jmJNTA16 >>685 お前がただのバカだと言うことがよくわかった。
小学校は卒業したか?
小学校は卒業したか?
688デフォルトの名無しさん
2019/03/09(土) 02:33:18.73ID:gjM9SRoS コードとその実行結果だけが真実だよ
口汚く罵るのは素人の証拠
口汚く罵るのは素人の証拠
689デフォルトの名無しさん
2019/03/09(土) 02:37:03.26ID:jmJNTA16 >>688 ここを100回読んでから出直せ。
https://docs.python.org/ja/3/tutorial/controlflow.html#default-argument-values
4.7.1. デフォルトの引数値
https://docs.python.org/ja/3/tutorial/controlflow.html#default-argument-values
4.7.1. デフォルトの引数値
690デフォルトの名無しさん
2019/03/09(土) 02:37:28.33ID:ScAo2omB >>686
おいおい荒しと一緒にしないでくれよ
自分の間違えに気が付いたんで逃げるのかw
デフォルト値に変数を使えるよねえw
i = 3
def sum(x, y=i):
print(x + y)
sum(2)
おいおい荒しと一緒にしないでくれよ
自分の間違えに気が付いたんで逃げるのかw
デフォルト値に変数を使えるよねえw
i = 3
def sum(x, y=i):
print(x + y)
sum(2)
691デフォルトの名無しさん
2019/03/09(土) 02:39:33.41ID:gjM9SRoS692デフォルトの名無しさん
2019/03/09(土) 02:39:50.07ID:jmJNTA16 重要な警告: デフォルト値は 1 度だけしか評価されません。
693デフォルトの名無しさん
2019/03/09(土) 02:41:41.76ID:gjM9SRoS694デフォルトの名無しさん
2019/03/09(土) 02:44:04.32ID:ScAo2omB695デフォルトの名無しさん
2019/03/09(土) 02:45:06.52ID:jmJNTA16 重要な警告: デフォルト値は 1 度だけしか評価されません。
変わらないものは変数とは言いません。
変わらないものは変数とは言いません。
696デフォルトの名無しさん
2019/03/09(土) 02:47:13.43ID:gjM9SRoS697デフォルトの名無しさん
2019/03/09(土) 02:47:13.77ID:EXmOKVNB ガイガイ音頭踊っとれやとは言ったが
夜通し踊れとは言っとらん
夜通し踊れとは言っとらん
698デフォルトの名無しさん
2019/03/09(土) 02:51:29.61ID:ScAo2omB699デフォルトの名無しさん
2019/03/09(土) 02:53:31.44ID:WSwBoc7f 実引数を渡したら既定値は参照されないので、頓珍漢な主張
また既定値に変数を使用しても結び付きは変数ではなく実体
定義時に解決された割り当ては些か小細工せんと変化しない
また既定値に変数を使用しても結び付きは変数ではなく実体
定義時に解決された割り当ては些か小細工せんと変化しない
700デフォルトの名無しさん
2019/03/09(土) 03:16:44.80ID:ScAo2omB701デフォルトの名無しさん
2019/03/09(土) 03:47:01.64ID:WSwBoc7f >>700
元になった変数へ再代入したら仮引数の既定値も変化する事を期待するならば意図した動作にはならない
しかし実体を共有したり、ミュターブルなら代入を除く変更を反映させたり、コード次第で普遍的に意味がないという事もない
またnum.__defaults__ = (7,)等として既定値の再割り当ても可能ではあるが、これは基本的に与える実引数を変えるべきとされよう
元になった変数へ再代入したら仮引数の既定値も変化する事を期待するならば意図した動作にはならない
しかし実体を共有したり、ミュターブルなら代入を除く変更を反映させたり、コード次第で普遍的に意味がないという事もない
またnum.__defaults__ = (7,)等として既定値の再割り当ても可能ではあるが、これは基本的に与える実引数を変えるべきとされよう
702701
2019/03/09(土) 03:52:48.95ID:WSwBoc7f なぜ長音符が妙な位置に…ミュターブル→ミュータブル(mutable)、変更可能オブジェクト
703デフォルトの名無しさん
2019/03/09(土) 04:26:19.28ID:ScAo2omB >>701
もちろん意図した場合を除いて実引数が変化するなどとは思っておりません
単にデフォルト引数に変数は間違えというのに引っかかったわけで
__defaults__は知りませんでした
以前デフォルト引数を使ってオブジェクト指向チックにというお題をやったもんで
animal = 'human' # 'dog' になったり 'cat' になったり
numeral = '人' if animal == 'human' else '匹'
def count(c, n=numeral):
____print(str(c) + n)
count(3)
# 鶏になった
count(3, '羽')
どうもありがとうございました
もちろん意図した場合を除いて実引数が変化するなどとは思っておりません
単にデフォルト引数に変数は間違えというのに引っかかったわけで
__defaults__は知りませんでした
以前デフォルト引数を使ってオブジェクト指向チックにというお題をやったもんで
animal = 'human' # 'dog' になったり 'cat' になったり
numeral = '人' if animal == 'human' else '匹'
def count(c, n=numeral):
____print(str(c) + n)
count(3)
# 鶏になった
count(3, '羽')
どうもありがとうございました
704デフォルトの名無しさん
2019/03/09(土) 06:05:07.57ID:sGXnYTxg705デフォルトの名無しさん
2019/03/09(土) 07:29:28.52ID:jmJNTA16706デフォルトの名無しさん
2019/03/09(土) 07:50:08.53ID:sGXnYTxg >>705
外部の設定ファイル読んでデフォルト値設定、デフォルト値でいいなら引数省略可、とかやる時どうやんの?
外部の設定ファイル読んでデフォルト値設定、デフォルト値でいいなら引数省略可、とかやる時どうやんの?
707デフォルトの名無しさん
2019/03/09(土) 08:06:27.23ID:aHKuI1wh どうでもいいが、デフォルトって既定値って言わね?普通
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★3 [BFU★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 【硬貨】500円だと思ったら「500ウォンが入っていた」価値は約10分の1 全国で飲食店などで“500ウォントラブル”相次いで報告 [ぐれ★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 【東京】解体現場でブロック崩落、下敷きの男性作業員が死亡 外国籍の18歳との情報 台東 [ぐれ★]
- 【実況】博衣こよりのえちえちホロ分かり手クイズ🧪🏴‍☠🌸 ★3
- 【高市悲報】中国「国連安保理の許可なしに日本を攻撃可能だ」★2 [115996789]
- 【んな専🏡】華金もんなっしょいとはやれやれなのらね🍬(・o・🍬)🏰
- 日中戦争起きたら5日で自衛隊壊滅するらしい。じゃあ徴兵も無いし、俺等が必死になって反対してやる理由なくね? [237216734]
- 【画像】高市早苗のコスプレをする中国人 [834922174]
- 【動画】中国の対応、世界中でバカにされ始める… 高市さんの逆転か? [271912485]
