defのreturnのことばかり考えてたPython

Python

強い気持ちは伝わるのです。

こんにちは。サキナオコです。
爽やかな陽気です。いいですね。

いつもご覧いただき、スキ、フォロー、コメントまでも
本当にほんとうにどうもありがとうございます!*^o^*

さて。
「スッキリわかるPython入門」国本 大悟 著
で学び直しをしています。

で、やっぱりdefがよくわかっていないことに気づきました。
どうしてreturnを使うのか、使ったらなんなのか。

以前に理解したつもりでしたが、理解していませんでした。

ああ〜↑やっぱりわかってなかった〜><

def 関数名(仮引数)
    処理
    return 戻り値 # 変数とか値

戻り値 = 関数名(実引数)  # 呼び出し元

このように書くべきでした。あとで元を直しておこうと思います。

で、どうしても理解できず
ここ3日程ずっとdef のreturnのことを考えていました。
考えすぎて夢にまで出てきました。

本の内容を読み、webでも調べ、どうにかシンプルに理解したいと
ずっと考えていました。

今日ようやく理解できた気がします。
本に親切に書いてあるそのままを理解すればよかったのですが…

で、私がどう理解したかというと

「returnを書くと他の関数でも使えるようになる。通行手形(古)。」

ということです。まとめすぎてよくわかりませんね。

まず、def 自分でつけた関数名:
     〜〜
は独立した1つの世界であって、その中で処理した結果の変数は
その自分でつけた関数名の中でしか通用しないらしいです。
ローカル変数というみたいです。

他の世界のdefの中でも使いたい場合は「return 変数」を書くと
他でもその変数が使えるそうです。

ある世界の変数さんが他の世界へ行くことのできる通行手形な訳です。
あ、パスポートっていうか。輸出っていうか。

ちなみにreturnなくて

def 関数名(仮引数)
    処理

関数名(実引数)  # 呼び出し元

という場合、呼び出し元がdef 関数名の世界へ引数を渡しています。
輸入?

まあ、とりあえずそんな感じで理解をしましたので、
ちょっと以前に書いたコードで実験してみました。

You tube用の番号のです。前のがこちら。

これを

としてみたら無事実行成功しました!

って、コードがなんか複雑になっただけのような…
…まぁいいか…

コメント

タイトルとURLをコピーしました