はじめに
ダックタイピングについて本で読んだ内容を記録に残します。
ダックタイピングとは
「あるオブジェクトが必要なデータ属性やメソッドを備えていれば、どのクラスのオブジェクトであるかは問わない」という考え方。
Pythonはダックタイピングを採用しており、引数がどのクラスのオブジェクトかは問わない。
duck.py
def add(x, y):
print(x, '+', y, '=', x+y)
add(1, 2)
# 1+2=3
add('Hello', 'Python')
# Hello+Python=HelloPython
関数addに渡す引数のオブジェクトが+演算子に対応していれば、オブジェクトのクラスは問わない。
→整数も文字列も引数にして関数を呼び出すことができる
名前の由来
ダックタイピングという名前は、「もしもアヒルのように歩き、アヒルのように鳴くならば、それはアヒルに違いない」という考え方(=ダックテストと呼ばれる)に由来している。
参考書籍
『Python[完全]入門』 松浦健一郎, 司ゆき 著