🍼

プログラミング初心者が詰まりやすい、引数と戻り値について

2022/03/08に公開

僕はプログラミングを始めたとき、引数と戻り値が良くわかってなかった覚えがある。
Pythonで説明します。

Pythonでは、def の後ろにメソッド名(xxxx)と引数(a,b)を書き定義します。
その後ろにコロンを書き、改行すればメソッドが作れます。

def xxxx(a,b):
	print(a)
	print(b)
	
	c = a+b
	print(c)
	
	return c

こういうメソッドがあったとする。

引数について

print('あああ')
print('いいい')
xxxx(1,2)
xxxx("うんち","したい")

メソッドは何度でも呼び出せる。

xxxx(1,2)で、xxxxメソッドを呼び出した。
引数(a,b)のところに(1,2)が入る。

そこからは通常の変数と同じように、a と b が利用できる。
xxxx("うんち","したい") この部分の場合こうなる。

def xxxx(うんち,したい ):
	print(a)
	print(b)
	
	c = a+b
	print(c)
	
	return c

a,bには、a = うんち b =したい が代入される。

本当はdef xxxx(a = うんち , b = したい)と書きたかったが、
名前付き引数のようになるので、このような形した。

名前付き引数は、上のように書けばいい。ちなみに、bを先に書いても良い。
引数のイメージは、メソッドの外から定義できる変数

戻り値について

def xxxx(a,b):
	print(a)
	print(b)
	
	c = a+b
	print(c)
	
	return c ←戻り値

return c が戻り値。
イメージとしては、def xxxx = c となり、
メソッドを呼び出せば c で出した値が表示される。

print('あああ')
print('いいい')
d = xxxx(1,2)
e = xxxx("うんち","したい")
print(d)
print(e)

この場合、実行したら以下のように表示される

'あああ'
'いいい'
'3'
'うんちしたい'

戻り値は return c の値が、def xxxxに代入されて
表示されていると考えると、戻り値を使いこなしやすいと思う。
※厳密には違うかと思うが、大体このように利用できる。

わかりやすかったプログラミング本

スッキリわかるシリーズは非常に良かった。

https://amzn.to/3IYB5Y4
Pythonの基礎がしっかり身に付くと思う。

https://amzn.to/3sWGcCk
「Pythonふりがなプログラミング」を大きくして読みやすく、内容を充実させて改訂したものとある。僕は読んだことはないが、javascriptの方の本を読んだことがあり、非常にわかりやすかった覚えがある。プログラミング中、頭の中で考えていることが日本語になったようだとエンジニア界隈で評判の本

https://amzn.to/3MAKYNH
オブジェクト指向の理解が物凄く進む。
Javaの解説部分は飛ばして、オブジェクト指向の説明部分だけ読んでも良いかと思う。

Discussion