- 1 名前:デフォルトの名無しさん [2019/02/04(月) 21:22:10.08 ID:9MrdxUVg.net]
- ★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その40 mevius.5ch.net/test/read.cgi/tech/1542874174/ ◆PythonのHome Page www.python.org/ ◆まとめwiki ttp://python.rdy.jp/ ◆Pythonのソースコードをそのまま5ちゃんにコピペすると インデントが崩れるので こういうところ↓にはってきてください ttp://ideone.com/ Pythonするにはぷち手間あるのがめんどうかなぁ ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste
- 596 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:15:05.56 ID:k6ZLJER9.net]
- >>573 試験範囲がそこから出されると言うだけの話だよ。
公式チュートリアルと変わりない。 それの書き写しがオライリーのだから。 どちらも全くの初心者には難しいと感じるみたいだから、そう言う人は先ずその前に超初心者用的な入門書をいくつか読んだ方が良いのでは? その類は対して読むのに時間はかからない。 ネットに落ちてるものでも十分。 ただし、自分で書いて練習することが重要。 jupyter でもなんでも良いから確認する環境を作ること。 読むだけでは身につかない。
- 597 名前:572 [2019/03/07(木) 01:20:20.63 ID:FPeGgUJ/.net]
- >>576
洋書特有の文体だから慣れてないと違和感あるけど 言語のチュートリアルとしては良い方の部類だよ ただ他の言語をマスターしてることが前提のところあるから ガチ入門者なら国産の本を勧める NECがスポンサーの試験か・・・ Pythonに力入れてるイメージはないがどうなんだろ
- 598 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 02:47:07.76 ID:7hJ/R58z.net]
- .,、- ' `´  ̄ ̄` ''‐ 、
,r'´ .`ヽ、 /. -t‐'''l´ .`l'‐t、 .\ /´. 'lliiiill lliiii!. ヽ, ./ __ i,_,ノ .i, ,! ', な、なんなんですか…? { (´__,) ,..., ~ (`ヽ l .l - 、..,_ .l_ i ,、-"'-、 l ここ、どこですか…? .l `i .l,_ソ f´ .l ', ノ .l, ,' どうして私、こんなとこに貼られてるんですか…? '、 ,.、-' .,' 'i、 ー一 '´ /':, l ヽ, ノ } .l `‐、,_ ._,.-.' ,' l `‐- 、,........,..、-‐'` / .\_ ノ l ,/ `'''ー‐ '´ ヽ、 _, -'  ̄ ̄
- 599 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 02:50:45.25 ID:bl19yUau.net]
- 殺人ピンク玉は去れ
- 600 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 03:49:17.97 ID:9XzeaP/N.net]
- >>529
Decimal で文字列使う https://i.imgur.com/QQ0npTS.jpg
- 601 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:12:07.95 ID:wzWG3iLc.net]
- 3000円もする専門書買うよりさ、わからないことがあったらネットで調べれば無料で答えがみつかるよ。
英文でも翻訳ソフト使えばいいだけだし。 ネットで調べても答えが見つけられないやつは、そもそもプログラミングに向いてないんじゃないか。
- 602 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:42:09.79 ID:E2eXaClF.net]
- 公式チュートリアルで良いだろ。
Japanese 指定して一括ダウンロードすればPDFが大量にある その中のtutorial 開くと日本語訳 tutorial (pdf版)が入手できる
- 603 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:50:54.08 ID:IMd+ImAh.net]
- ソース嫁からググれカスに移行したが今ではググったらカスばっか。
- 604 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 11:38:00.92 ID:Gktreo0e.net]
- LearnPython.orgやCodeacademyみたいにWeb上でインタラクティブシェル開いて
一つ一つお題を実行させる形式のも良いんじゃない。 読んでるだけじゃなかなか身につかないよ
- 605 名前:デフォルトの名無しさん [2019/03/07(木) 14:15:07.44 ID:N/cPeE83.net]
- >>567
そういえば >>> print(1) 1 だとNoneは表示されないのに >>> print(1, end=''),print(2) 12 (None, None) のときだけ表示されるのは変だと思わない?
- 606 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 14:31:29.61 ID:E2eXaClF.net]
- >>586 下はタプルだからだろ。
- 607 名前:デフォルトの名無しさん [2019/03/07(木) 15:40:41.57 ID:lgGD2eax.net]
- >>586
None単体の場合は表示されないようにインタラクティブシェルがなってる >>> None >>>
- 608 名前:デフォルトの名無しさん [2019/03/07(木) 16:03:31.61 ID:aOVGrksh.net]
- >>566
>>> print(1, end='') or print(2) 12
- 609 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 16:38:38.56 ID:UepKFInK.net]
- 以下のURLを参考に、フォントファイルから画像を描画しようと思っています
指定した文字がフォントファイルにあるかどうかの判定は、どのようにすれば良いでしょうか? d.hatena.ne.jp/nakamura001/20101228/1293522309 それとも一度描画して、真っ白かどうかで判定・・・しかないでしょうか pprintで取得したところ、参照のような感じと思いますが、以下のようになりました。 <PIL.Image.Image image mode=RGB size=256x256 at 0x13FF7DEE2E8>
- 610 名前:デフォルトの名無しさん [2019/03/07(木) 16:58:16.83 ID:aOVGrksh.net]
- freetypeならFT_Get_Char_Index
- 611 名前:デフォルトの名無しさん [2019/03/07(木) 17:01:47.98 ID:aOVGrksh.net]
- ここも参考になるかな
https://qiita.com/496_/items/f6efb650dcf7e9d2dfe4
- 612 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 17:34:33.92 ID:UepKFInK.net]
- >>591-592
ありがとうございます 使い方を教えていただけないでしょうか 引数が二個必要とかいてると思うのですが https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_Get_Char_Index 実際に二個設定するとエラーがでます import pprint import freetype face = freetype.Face('C:/Users/a/font/src.ttc') pprint.pprint(freetype.FT_Get_Char_Index(face,"33")) これはエラーになります import pprint import freetype pprint.pprint(freetype.FT_Get_Char_Index("33")) OSError: exception: access violation writing 0x000001CA5F00FF01 お助け下さい
- 613 名前:デフォルトの名無しさん [2019/03/07(木) 17:49:06.09 ID:aOVGrksh.net]
- 先にinit呼べ
- 614 名前:デフォルトの名無しさん [2019/03/07(木) 17:53:31.19 ID:aOVGrksh.net]
- FreeTypeの使い方 https://qiita.com/496_/items/6d2540e26d66c9ed5f9a
OpenTypeの仕様前編 https://qiita.com/496_/items/f6efb650dcf7e9d2dfe4 OpenTypeの仕様中編 https://qiita.com/496_/items/4f8327fe741cf0c87736 OpenTypeの仕様後編 https://qiita.com/496_/items/02f2d63fe4bd5603e4dc
- 615 名前:デフォルトの名無しさん [2019/03/07(木) 19:18:41.40 ID:aOVGrksh.net]
- FONT_PATH = b'mikaP.ttf'
ft2 = ctypes.windll.freetype ft2lib = ctypes.c_void_p() ft2.FT_Init_FreeType(ctypes.byref(ft2lib)) face = ctypes.c_void_p() font_path = ctypes.create_string_buffer(FONT_PATH) ft2.FT_New_Face(ft2lib, font_path, 0, ctypes.byref(face)) idx = ft2.FT_Get_Char_Index(face, b'A'[0]) print(f'{idx:04x}') # 0023 idx = ft2.FT_Get_Char_Index(face, ord('あ')) print(f'{idx:04x}') # 07bd ft2.FT_Done_Face(face) ft2.FT_Done_FreeType(ft2lib) 一応動いた
- 616 名前:デフォルトの名無しさん [2019/03/07(木) 19:21:06.42 ID:aOVGrksh.net]
- idx = ft2.FT_Get_Char_Index(face, ord('鷗'))
print(f'{idx:04x}') # 38c1 idx = ft2.FT_Get_Char_Index(face, ord('𠮟')) print(f'{idx:04x}') # 0000
- 617 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 20:31:42.10 ID:VtililUQ.net]
- >>581
これ何使ってんの? スマホだよね?
- 618 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 20:32:20.69 ID:VtililUQ.net]
- >>582
いい本に出逢えばそれに越したことはない
- 619 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 21:37:32.00 ID:D1nw//Ty.net]
- >>598
Pythonista 3 iPad, iPhone のアプリ
- 620 名前:デフォルトの名無しさん [2019/03/08(金) 01:56:52.91 ID:FktPmjXq.net]
- i = 10
def num(arg=i): print(arg) i = 7 num() iはどちらもグローバル変数ですよね? 関数の中身変えて7の方を出力させることってできますか?
- 621 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:04:22.64 ID:Nky3or7z.net]
- def num(arg=None):
arg == i print(arg)
- 622 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:05:04.82 ID:Nky3or7z.net]
- def num(arg=None):
_arg = i _print(arg) の誤り
- 623 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:15:56.15 ID:5FsfaYFV.net]
- >>601
https://i.imgur.com/2LoxSbi.jpg
- 624 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:20:26.52 ID:5FsfaYFV.net]
- >>603
https://i.imgur.com/FNgAPWr.jpg
- 625 名前:デフォルトの名無しさん [2019/03/08(金) 02:47:32.14 ID:FktPmjXq.net]
- >>604
ありがとうございます でも7になる理由がわかりません。 どういった処理になるのか教えて欲しいです、
- 626 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 06:55:10.03 ID:49yeJutG.net]
- >>600
ありがとー
- 627 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 11:24:52.69 ID:enrIbZX0.net]
- >>606
i = 10 def num(arg=i): print(arg) i = 7 num() この場合は、def を定義するときにarg= でarg のデフォルト値をセットする。 この時の i は 10だろ。 まだ下の行は実行されていないんだから。 i = 10 def num(arg=None): arg == i print(arg) i = 7 num() この時のnum内の実行文は実行されたときに動くんだから、i=7 がセットされた値を参照する事になる。 関数のデフォルト値は関数を定義したときに決定される。 関数内の実行文は実行時に決定される。
- 628 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 11:33:20.13 ID:5FsfaYFV.net]
- >>608
>この時の i は 10だろ。 まだ下の行は実行されていないんだから。 実行されるときの i は7だろ。
- 629 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 12:03:17.67 ID:JVGfVyzo.net]
- 問題はprint(arg)が実行される時のargの値でしょ?
def num(arg=i): の時に、argにはiへの参照が渡されるんじゃ無くて、iの値が渡されるってだけ。
- 630 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:20:03.26 ID:enrIbZX0.net]
- >>609 def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。
つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。
- 631 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:35:58.82 ID:5FsfaYFV.net]
- それこの実行結果の前でも同じこと言えんの?
https://i.imgur.com/LmkiE6A.jpg
- 632 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:36:28.88 ID:0Uig+6Kq.net]
- 仕様ですな
デフォルト引数の式は関数が定義されるときにただ一度だけ評価され、同じ "計算済みの" 値が呼び出しのたびに使用されることを意味します。 https://docs.python.org/ja/3.6/reference/compound_stmts.html#function-definitions
- 633 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:39:30.34 ID:0Uig+6Kq.net]
- >>612
デフォルト引数じゃないしw 引数渡しちゃってるしw
- 634 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:57:33.85 ID:JVGfVyzo.net]
- >>612
真面目にやってんならこれは恥ずかしい。
- 635 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 14:02:30.13 ID:j3nR25S+.net]
- ガイガイ音頭踊っとれや…(嘆息)
- 636 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 14:12:04.85 ID:1m9JjIZU.net]
- おもしろかったぞw
- 637 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 14:51:41.35 ID:enrIbZX0.net]
- >>612 デフォルトが解っていないみたいだな。 これとまったく同じことなんだぞ。
def num(arg=10) print(arg) print(num(7)) #> 7 print(num()) #> 10
- 638 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 14:53:37.
]
- [ここ壊れてます]
- 639 名前:91 ID:enrIbZX0.net mailto: >>618 printが2重になってたな。 []
- [ここ壊れてます]
- 640 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 15:17:08.58 ID:E9FXn3JR.net]
- 勉強になったな!
- 641 名前:デフォルトの名無しさん [2019/03/08(金) 16:07:05.72 ID:eYLLL/Dr.net]
- よくはまるのは default=[] にしたとき
- 642 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 16:35:59.46 ID:DUow6Thg.net]
- 二次元配列からの取り出しで、
X = hoge[:, [2,3]] Y = hoge[:, 0] って書かれている時、具体的にどこからどこまで取り出しているのでしょうか?
- 643 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 17:17:55.67 ID:54yPjEY7.net]
- >>612
def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。 つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。 つまり、関数定義時点で、i=10 とデフォルト値が確定する。実行時ではない。デフォルト値が、10から7にころころ変わったりするものか。だから、結果は10なんだよ …ってあれ?
- 644 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 17:20:46.97 ID:54yPjEY7.net]
- 仕様ですな
デフォルト引数の式は関数が定義されるときにただ一度だけ評価され、(つまり10と評価)同じ "計算済みの" 値(つまり10)が呼び出しのたびに使用されることを意味します。 https://docs.python.org/ja/3.6/reference/compound_stmts.html#function-definitions 見事に結果が違うな 下手に言葉でルール説明しなくていいから、インタプリタに動作アルゴリズムをそのまま公開してほしいわ
- 645 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 17:41:30.86 ID:SfpbmzlL.net]
- ちょっと何言ってんだか分かんないw
- 646 名前:デフォルトの名無しさん [2019/03/08(金) 17:48:01.52 ID:+fF7voFW.net]
- >>622
Xは2列目と3列目 Yは0列目
- 647 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 18:34:43.25 ID:qP6cz7Aj.net]
- >>624 言語リファレンスは明確に仕様を定義するだけのものだから、理解させるためのものではない。 絶対に間違いがあってはならないから下手な説明はない方が良い。
- 648 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 19:17:40.56 ID:1m9JjIZU.net]
- >>624
>>下手に言葉でルール説明しなくていいから オイオイ、これ以上分かりやすい説明ないだろう。しかも公式リファレンスだよ >>インタプリタに動作アルゴリズムをそのまま公開してほしいわ 意味不明w
- 649 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 20:03:58.48 ID:IGhZvnlG.net]
- 公式の説明と実際の動作が一致しないんじゃなあ
- 650 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 20:34:26.69 ID:TVXnQmRl.net]
- さすがに釣りでしょう
- 651 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:33:30.47 ID:1m9JjIZU.net]
- >>629
その一致しないってコード貼ってみて
- 652 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:35:26.18 ID:5FsfaYFV.net]
- >>631
https://i.imgur.com/2LoxSbi.jpg
- 653 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:45:16.90 ID:mz9PUEDs.net]
- まじかよこいつ…
- 654 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:47:23.79 ID:JVGfVyzo.net]
- >>632
‥あの、最後の行でnum()が実行される前に、i=7にして、print(arg) のargに7入れてますよね。。
- 655 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:48:50.29 ID:6/VZFxCg.net]
- >>632
まず関数の中ではprintじゃなくてreturn使えよ
- 656 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:54:12.28 ID:1m9JjIZU.net]
- クソー、こんなバカでかい釣針に…
- 657 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:58:20.32 ID:0lCnL4hz.net]
- >>632
レベル高すぎて俺分からんが、へんだとPythonを作っているところに 激しく抗議したほうが良いな。
- 658 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:10:29.49 ID:5FsfaYFV.net]
- >>634
def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。 つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。 つまり、関数定義時点で、arg =None とデフォルト値が確定する。実行時ではない。デフォルト値が、None から7にころころ変わったりするものか。だから、結果はNone なんだよ
- 659 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:38:20.41 ID:5FsfaYFV.net]
- >>635
https://i.imgur.com/idkGAYZ.jpg
- 660 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:44:17.08 ID:5FsfaYFV.net]
- >>631
https://i.imgur.com/cVbw05B.jpg
- 661 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:48:11.06 ID:5FsfaYFV.net]
- >>614
同じことだよ Def で確定なんかしないんだな https://i.imgur.com/InFjQUr.jpg
- 662 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:51:54.71 ID:5FsfaYFV.net]
- 要するに
この二つで 主力に差がある おかしいだろ 言語仕様的にってこと https://i.imgur.com/FNgAPWr.jpg https://i.imgur.com/InFjQUr.jpg i がグローバルだとか def で引数確定だとか じゃあ説明つかないわけで
- 663 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:55:09.64 ID:drDoyyDV.net]
- 何もおかしくなくね?
- 664 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:58:43.49 ID:Bv9xm7M7.net]
- 5FsfaYFVの頭がおかしい
- 665 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 23:03:08.61 ID:kqYYM5Yl.net]
- 何が問題なのかわからん
最初のはnum()に引数渡してないんだから、定義時のarg = 10がデフォルト値と設定されて10が表示される 次のはnum(7)と引数に7を渡してるんだから、デフォルト値をarg = 7で上書きして7と表示される
- 666 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 23:08:02.19 ID:0lCnL4hz.net]
- >>643
俺ら低脳はおかしくなくねだろうが、高脳は説明つかないわけで になるんだよ。 脳レベルがずっと低い低脳は高脳が言っていることはレベル高すぎて理解できないことがよくあるからな 高脳がすごいことをカキコしても俺らはついていけないからスルー(何言っているの)になってしまう。 >>642 超初心者(低脳)スレで言ってもしょうがないから,teratailあたりで、これ説明つかないよね と意見を求めたほうが良いよ
- 667 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 23:25:29.70 ID:33ZLM8BT.net]
- >>642 何言ってんだこいつは? 長々とおちょくってるだけだろ。
何が言語仕様的にだ。言語仕様も理解できないで文句言うな。 言語仕様を100回読め。
- 668 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 23:25:43.90 ID:/RdmhwQH.net]
- こんな基本的な事がおかしかったらとっくに修正されてる
ドキュメントを熟読してnum.__defaults__を確認しなさい
- 669 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 23:59:43.59 ID:fVqLi10C.net]
- >>645
>次のはnum(7)と引数に7を渡してるんだから、デフォルト値をarg = 7で上書きして7と表示される デフォルトは確定だから上書き不可能
- 670 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:01:58.96 ID:LldggWB2.net]
- この言語仕様がおかしい
https://i.imgur.com/FNgAPWr.jpg i はグローバル変数なんだから、def で確定させてはいけない それが直感的に正しい記述を目指すPython 的な文法 開発者は即刻インタプリタを修正すべき すぐにだ!
- 671 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:03:20.04 ID:LldggWB2.net]
- 黄猿は現行仕様を無批判に教祖のごとく崇め奉る無能者
そんな信者の擁護論をあてにしてはいけない 俺のような人間の言うことを開発者は聞くべき
- 672 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:04:09.24 ID:JrnVgIXe.net]
- そもそもデフォルト引数に変数を入れるという使い方が間違ってるわけで…
- 673 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:07:50.33 ID:ScAo2omB.net]
- >>652
初耳だ、詳しく
- 674 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:18:40.63 ID:a1Hsl2rh.net]
- なんかもやもやしてたけど>>652の発言でスッキリした
- 675 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:31:23.52 ID:ScAo2omB.net]
- >>654
エー、どういうこと? 俺のモヤモヤ晴らしてくれよー
- 676 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:32:14.31 ID:a1Hsl2rh.net]
- 前言撤回
numの()に何も入れないで呼び出しゃ何を渡すか不安定になって当然と思うが 違うのか?
- 677 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:32:30.46 ID:jmJNTA16.net]
- >>650 お前が言語を理解していないことがよくわかるな。
デフォルト値は変数ではなくて、固定の値なんだぞ。
- 678 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:32:49.42 ID:QFJRtnnZ.net]
- >>652
普通は i = 10 def num(arg=i): print(arg) じゃなく、 def num(arg=10): print(arg) とするんだろうが、変数を介してデフォルト引数を指定して使う場合って どんな時なんだろうって思うんだよな
- 679 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:34:24.26 ID:jmJNTA16.net]
- >>656 何も入れない時に、どう言う値が入ったものとして動くかを決めるのがデフォルト値。
- 680 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:46:43.68 ID:LldggWB2.net]
- >>659
def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。 つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。
- 681 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:49:26.21 ID:a1Hsl2rh.net]
- >>659 そうなんだけど
多分>>650は引数のこと理解してないをわかってないんだろ。 デフォルト値を使いたい訳じゃなく、defに数値を渡したいだけじゃないのか?
- 682 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:51:38.41 ID:LldggWB2.net]
- >numの()に何も入れないで呼び出しゃ何を渡すか不安定になって当然と思うが
不安定になるw なにその情緒論 文法的に不可ならエラー吐けばOK そうでないなら、「何らかの処理」をさせて終わり その処理を場合分けして書いとくのが公式ドキュメントの仕事だろ
- 683 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:55:39.76 ID:jmJNTA16.net]
- >>661
def num(arg=i): print(arg) と、 def num(i): print(i) は同じものだと思ってるのかな? 下の場合はまたそれはそれで誤解しそうな要素を孕んでるんだけど。 この場合の i は、ローカル変数となる。外でグローバル変数として使われていてもね。
- 684 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:02:30.05 ID:ScAo2omB.net]
- 誰か俺の疑問にも応えてよ〜
>>652について詳しく知りたいんだよ〜
- 685 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:03:05.66 ID:jmJNTA16.net]
- もしかして、デフォルトというカタカナ英語が理解できないのかも。
省略した時の値、省略値といってあげれば理解できるのかな?
- 686 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:03:41.96 ID:a1Hsl2rh.net]
- >>663
そこでなくて def num(i): を呼ぶときに num()にするとエラーが出るよね。 けど、 def num(agr=i) に、するとエラーが出ない!!うまく行った!! けど、思ってた作動しない!なんでや! で騒いでんのと思う
- 687 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:04:04.19 ID:jmJNTA16.net]
- >>664 省略値って何をするものか理解したか?
- 688 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:14:03.06 ID:ScAo2omB.net]
- >>667
どういうことですか? 条件によってデフォルト値を変えるような使い方はまずいんでしょうか?
- 689 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:16:59.92 ID:jmJNTA16.net]
- >>668 まずいも何もそんなことはできないし、それは省略値ではない。
省略値は何度も言うように関数を定義した時点で固定されるもので、一度その時に固定された値が後で変わるようなことはあり得ない。
- 690 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:19:46.38 ID:jmJNTA16.net]
- 理解できなければ、デフォルト値には変数は使えないと覚えた方が身のためだよ。 あくまでも固定値なんだよ。
- 691 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:31:22.96 ID:gjM9SRoS.net]
- https://i.imgur.com/InFjQUr.jpg
> 一度その時に固定された値(10)が後で変わるようなことはあり得ない。 変わってるじゃん 7 に
- 692 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:33:05.19 ID:ScAo2omB.net]
- 言い方がまずかったかな
私が言いたかったのは def func(arg=var): のvarの部分に変数を使うっていう意味で言ったつもりだったんですけど
- 693 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:38:38.47 ID:gjM9SRoS.net]
- そう言い方がまずいんだよ
日本語の表現力が君には足りない 昨日からしつこく指摘されてようやく理解したようだね 以後は気をつけるように 君は言葉で説明するのはやめとけ みんなが迷惑する 具体的なコード書いて、こうかくとこうなる、こう変えるとこうなる、そう具体的に書いたほうがいい
- 694 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:48:10.74 ID:a1Hsl2rh.net]
- やっと言葉が見つかった
デフォルト値と引数の引き渡し方を混同してないかい?
- 695 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:54:11.30 ID:CZjUTyKq.net]
- >>672
別にいいんじゃないの なんかまずいことでもあるのかな?
- 696 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:59:58.65 ID:jmJNTA16.net]
- >>674 そう言うことだな。
>>671 は完全に混同してる。 省略値が全くわかっていない。 下の方で i= 7 num(i) で呼んだ場合は、パラメーターとして7を渡したんだから、パラメータは省略されていないんだから省略値が使われるわけがないと言うことを理解しない限りは堂々巡りだな。 num() と言う形でパラメータを渡さなかった場合にだけ、省略値が使われる事を理解しなさい。 なんのための省略値だよ。 呼び出し元がパラメータを渡さなかった場合に使われる値が省略値だよ。 def num(arg=10) であれば、num() で呼べば、num(10) と呼んだのと等しくなる。
|

|