見出し画像

#1 Python学習でreturn()とprint()が最初の難関でした

文系でなーんにもわからん人が、急にAI作ろって独学でできるところまでやってみる企画(長い)
いわば、ド素人のPythonとかAI関連について学んだことのメモ。


記録している人

はるまき
・HTMLをかじって古のサイトを作った経験はあるという程度。
・学生時代、座学なら物理と国語が壊滅的だった。
・機械生命体を推しがち。
・ナルコレプシーⅡ型なので、めちゃくちゃ寝る。

記録開始日

開始日:2023.9.10
総勉強日数:7日
(体調が崩れたり仕事に追われたりして、なかなか進まなかったのは言いわけにしないぞ)

メモ

return()とprint()の違いってなんですか~未解決編~

Pythonの勉強がそこそこ進んで、記録としては1日目のこと。
(始めて1日でそこそこ進んでっていうのは早すぎる気もするけど、まあいいや)

関数の話。
def 関数名(引数)で、任意の名前を関数名として使えるようにするところ。

def a(b,c):
    print(b+c) #関数aに数字を代入すると、引数b,cを足し算して出力するよ!

a(2,3) #2+3の答えを出力するよ!

これはスタンダードなやつね。

def a(b,c):
    d=b+c
    return d

e=a(1,2)
print(e)

わからん。

関数aは引数bとcを含む。
dは引数b,cを足したもの。
dを返す。

eはb=1,c=2
eを返す。

はにゃ?
なんで2回も返すの??
return()いる???
いらないのはprint()????
そもそも最後の関数aがいらない?????


return()とprint()の違いってなんですか~解決編~

素人ならではの壁で、たぶん本業の方が今までの迷走を聞いたら、笑っちゃうんだろうなと思っているけれど。(実際、勉強メモの迷走は倍くらいあるし、意味わからないことばっかり書いてる)

とにかく。
return()→関数の計算内容をモジュール化して、この関数はこう返すと定義
print()→実際に見えるところに出力する

モジュール化って、かっこよく言ってみてるけど、ようは
前のコードだと、関数aの引数b,cには数字が入ってくる。その数字を足してほしい。それをいちいち記述するのはだるいから、関数aの記述をしたらdの計算内容で返しますよって定義しちゃう。

面倒なことに名前をつける=モジュール化だと思っている。\アイマイ/

一方、print()は本当に見えるものの話をしている。
return()以上の記述とは何のかかわりもなく(語弊がありそうだが、理解のための便宜上の言い方)直前の指示を目に見える形で表示するよってこと。


ここ、なぜか無駄に悩んでいて、2時間くらい足踏みしていた気がする。知らんけど。
ここはともかく、全体でみるとPythonって関数だけで見ると、HTMLのタグみがあってとっつきやすさはある。
コードを動かしながら、これってゲーム作りとかもできそうとぼんやり考えているから、最終的にAI作りからゲーム作りの方に進展していたりするかもしれない。

とにかく、Pythonを含めてAI関連の勉強は楽しい。

今回の参考文献

Pythonで動かして学ぶ!あたらしい数学の教科書 機械学習・深層学習に必要な基礎知識


この記事が気に入ったらサポートをしてみませんか?