The key is consistency I think. For matplotlib (which is probably one of the most commonly used modules that heavily uses args and kwargs), it&#x27;s really useful. On the other hand it&#x27;s only useful because their web documentation is really good and most of the time the args&#x2F;kwargs are consistent between functions.<p>It also helps that most matplotlib kwargs can be controlled using an additional function, if you have a reference to the line&#x2F;plot you want to modify. So you could do:<p><pre><code>    plt.plot(range(10), ls=&#x27;solid&#x27;)
</code></pre>
or equally:<p><pre><code>    lines = plt.plot(range(10))
    lines[0].set_linestyle(&#x27;solid&#x27;)
</code></pre>
But in the end it comes down to documentation. I think Python traces are generally pretty good at telling you what you did wrong.