Python入門 位置引数とキーワード引数とデフォルト引数、デフォルト引数で気をつけること

# 位置引数とキーワード引数とデフォルト引数
def menu(entree='beef', drink='wine', dessert='ice'):
   print('entree = ', entree)
   print('drink = ', drink)
   print('dessert = ', dessert)

menu(entree='beef', dessert='ice', drink='beer')

# デフォルト引数で気をつけること
def test_func(x, l=[]):
   l.append(x)
   return l

# y = [1, 2, 3]
# r = test_func(100, y)
# print(r)
#
# y = [1, 2, 3]
# r = test_func(200, y)
# print(r)

r = test_func(100)
print(r) # [100]

r = test_func(100)
print(r) # [100, 100]

print('################')

def test_func(x, l=None):
   if l is None:
       l = []
   l.append(x)
   return l

r = test_func(100)
print(r) # [100]

r = test_func(100)
print(r) # [100]


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