Aşağıdaki örneği anlamıyorum, diyelim ki bu işlevlere sahibim:
# python likes
def save(filename, data, **kwargs):
fo = openX(filename, "w", **kwargs) # <- #1
fo.write(data)
fo.close()
# python doesnt like
def save2(filename, data, **kwargs):
fo = openX(filename, "w", kwargs) # <- #2
fo.write(data)
fo.close()
def openX(filename, mode, **kwargs):
#doing something fancy and returning a file object
# 1 neden doğru çözüm ve # 2 yanlış çözüm? **kwargstemelde bir diksiyon, bu yüzden openX konusundaki argümanı aktarmak istersem, doğru yolun söz konusu olmadan **ve sadece doğru yol olacağını düşünüyorum . Ama python açıkça ikincisini sevmiyor ve bana 2 argüman yerine 3 verdiğimi söylüyor. Peki bunun sebebi ne?
**argskodda çağırdığını merak ediyorum . İnsanların kafasını karıştıracağı için bu muhtemelen en kötü isim*args