Lably
Skip to content

Named parameter

  • 7 min read
  • 5 chapters

Related on Lably

Through Computer programming, Parameter (computer programming) and Java (programming language)

Overview

A function call using named parameters differs from a regular function call in that the arguments are passed by associating each one with a parameter name, instead of providing an ordered list of arguments.

For example, consider this Java or C# method call that doesn't use named parameters:

<span id="mwFg"></span><span class="n" id="mwFw">window</span><span class="p" id="mwGA">.</span><span class="na" id="mwGQ">addNewControl</span><span class="p" id="mwGg">(</span><span class="s" id="mwGw">"Title"</span><span class="p" id="mwHA">,</span><span class="w" id="mwHQ"> </span><span class="mi" id="mwHg">20</span><span class="p" id="mwHw">,</span><span class="w" id="mwIA"> </span><span class="mi" id="mwIQ">50</span><span class="p" id="mwIg">,</span><span class="w" id="mwIw"> </span><span class="mi" id="mwJA">100</span><span class="p" id="mwJQ">,</span><span class="w" id="mwJg"> </span><span class="mi" id="mwJw">50</span><span class="p" id="mwKA">,</span><span class="w" id="mwKQ"> </span><span class="kc" id="mwKg">true</span><span class="p" id="mwKw">);</span>

Using named parameters in Python, the call can be written as:

<span id="mwMA"></span><span class="n" id="mwMQ">window</span><span class="o" id="mwMg">.</span><span class="n" id="mwMw">addNewControl</span><span class="p" id="mwNA">(</span><span class="n" id="mwNQ">title</span><span class="o" id="mwNg">=</span><span class="s2" id="mwNw">"Title"</span><span class="p" id="mwOA">,</span> <span class="n" id="mwOQ">xPosition</span><span class="o" id="mwOg">=</span><span class="mi" id="mwOw">20</span><span class="p" id="mwPA">,</span> <span class="n" id="mwPQ">yPosition</span><span class="o" id="mwPg">=</span><span class="mi" id="mwPw">50</span><span class="p" id="mwQA">,</span> <span class="n" id="mwQQ">width</span><span class="o" id="mwQg">=</span><span class="mi" id="mwQw">100</span><span class="p" id="mwRA">,</span> <span class="n" id="mwRQ">height</span><span class="o" id="mwRg">=</span><span class="mi" id="mwRw">50</span><span class="p" id="mwSA">,</span> <span class="n" id="mwSQ">drawingNow</span><span class="o" id="mwSg">=</span><span class="kc" id="mwSw">True</span><span class="p" id="mwTA">)</span>

Using named parameters in PHP, the call can be written as:

<span id="mwUQ"></span><span class="nv" id="mwUg">$window</span><span class="o" id="mwUw">-></span><span class="na" id="mwVA">addNewControl</span><span class="p" id="mwVQ">(</span><span class="nx" id="mwVg">title</span><span class="o" id="mwVw">:</span> <span class="s2" id="mwWA">"Title"</span><span class="p" id="mwWQ">,</span> <span class="nx" id="mwWg">xPosition</span><span class="o" id="mwWw">:</span> <span class="mi" id="mwXA">20</span><span class="p" id="mwXQ">,</span> <span class="nx" id="mwXg">yPosition</span><span class="o" id="mwXw">:</span> <span class="mi" id="mwYA">50</span><span class="p" id="mwYQ">,</span> <span class="nx" id="mwYg">width</span><span class="o" id="mwYw">:</span> <span class="mi" id="mwZA">100</span><span class="p" id="mwZQ">,</span> <span class="nx" id="mwZg">height</span><span class="o" id="mwZw">:</span> <span class="mi" id="mwaA">50</span><span class="p" id="mwaQ">,</span> <span class="nx" id="mwag">drawingNow</span><span class="o" id="mwaw">:</span> <span class="k" id="mwbA">True</span><span class="p" id="mwbQ">);</span>

The version with positional arguments is more implicit. The versions that name parameters are more explicit. Depending on circumstance, a programmer may find one or the other to be easier to read.

Sign in to keep reading

4 more chapters are free with a Lably account.

More in Computing and communication