<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.koansoftware.com/index.php?action=history&amp;feed=atom&amp;title=Python_assignment_operators</id>
	<title>Python assignment operators - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.koansoftware.com/index.php?action=history&amp;feed=atom&amp;title=Python_assignment_operators"/>
	<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;action=history"/>
	<updated>2026-05-02T14:35:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.15</generator>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;diff=231&amp;oldid=prev</id>
		<title>Koan at 13:52, 15 May 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;diff=231&amp;oldid=prev"/>
		<updated>2019-05-15T13:52:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:52, 15 May 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l51&quot;&gt;Line 51:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 51:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;override the setting of the ?=. Any following ?= and ??= will not change&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;override the setting of the ?=. Any following ?= and ??= will not change&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;the setting.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;the setting.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;diff=230&amp;oldid=prev</id>
		<title>Koan: /* Python assignment operators */</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;diff=230&amp;oldid=prev"/>
		<updated>2019-05-15T13:52:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Python assignment operators&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:52, 15 May 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot;&gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 48:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;variable, the last one will be used.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;variable, the last one will be used.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A ?= following a ??= will set the variable. Only a = will be&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;override the setting of the ?=. Any following ?= and ??= will not change&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the setting.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;diff=229&amp;oldid=prev</id>
		<title>Koan: /* Python assignment operators */</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;diff=229&amp;oldid=prev"/>
		<updated>2019-05-15T13:51:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Python assignment operators&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:51, 15 May 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Early Default Value Assignment (?=)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Early Default Value Assignment (?=)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;diff=228&amp;oldid=prev</id>
		<title>Koan: /* Python assignment operators */</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;diff=228&amp;oldid=prev"/>
		<updated>2019-05-15T13:51:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Python assignment operators&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;amp;diff=228&amp;amp;oldid=227&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;diff=227&amp;oldid=prev</id>
		<title>Koan: Created page with &quot;== Python assignment operators ==  -  *Variable Setting (=)*  Set a variable by assigning it a value using the *=* sign. Values must be surrounded by double quotes.  * VAR = &quot;...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Python_assignment_operators&amp;diff=227&amp;oldid=prev"/>
		<updated>2019-05-15T13:41:51Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Python assignment operators ==  -  *Variable Setting (=)*  Set a variable by assigning it a value using the *=* sign. Values must be surrounded by double quotes.  * VAR = &amp;quot;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Python assignment operators ==&lt;br /&gt;
&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
*Variable Setting (=)*&lt;br /&gt;
&lt;br /&gt;
Set a variable by assigning it a value using the *=* sign. Values must&lt;br /&gt;
be surrounded by double quotes.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
VAR = &amp;quot;value&amp;quot;&lt;br /&gt;
   *&lt;br /&gt;
&lt;br /&gt;
In this example, *VAR* is set to *value*.&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
*Early Default Value Assignment (?=)*&lt;br /&gt;
&lt;br /&gt;
A variable can be early-assigned a default value using the *?=* assignment&lt;br /&gt;
operator:&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
A ?= &amp;quot;1&amp;quot;&lt;br /&gt;
B ?= &amp;quot;2&amp;quot;&lt;br /&gt;
B ?= &amp;quot;3&amp;quot;&lt;br /&gt;
   *&lt;br /&gt;
&lt;br /&gt;
In this example *A* will contain *1* if it was not previously set. *B* will&lt;br /&gt;
contain *2* because the *?=* assignment operator is immediate meaning&lt;br /&gt;
that if there are multiple *?=* assignments to a single variable, the&lt;br /&gt;
first one will be used.&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
*Late Default Value Assignment (??=)*&lt;br /&gt;
&lt;br /&gt;
A variable can be late-assigned a default value using the *??=* assignment&lt;br /&gt;
operator:&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
A ??= &amp;quot;1&amp;quot;&lt;br /&gt;
B ??= &amp;quot;2&amp;quot;&lt;br /&gt;
B ??= &amp;quot;3&amp;quot;&lt;br /&gt;
   *&lt;br /&gt;
&lt;br /&gt;
In this example *A* will contain *1* if it was not previously set. *B* will&lt;br /&gt;
contain *3* because the *??=* assignment operator is a late or lazy&lt;br /&gt;
assignment operator and assignment will not take place until the end of the&lt;br /&gt;
parsing process. If there are multiple *??=* assignments to a single&lt;br /&gt;
variable, the last one will be used.&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
*Variable Expansion*&lt;br /&gt;
&lt;br /&gt;
Bitbake supports referencing a variables content similar to shell&lt;br /&gt;
scripting.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
A = &amp;quot;jumps over&amp;quot;&lt;br /&gt;
B = &amp;quot;The quick brown fox ${A} the lazy dog.&amp;quot;&lt;br /&gt;
echo $B&lt;br /&gt;
   *&lt;br /&gt;
&lt;br /&gt;
This results in the the text *The quick brown fox jumps over the lazy&lt;br /&gt;
dog.* printed to the console.&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
*Immediate Variable Expansion (:=)*&lt;br /&gt;
&lt;br /&gt;
Typically, Bitbake expands a variable when it is used. The *:=* assignment&lt;br /&gt;
operator however expands the variable immediately when it is assigned.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
A = &amp;quot;11&amp;quot;&lt;br /&gt;
B = &amp;quot;B:${A}&amp;quot;&lt;br /&gt;
A = &amp;quot;22&amp;quot;&lt;br /&gt;
C := &amp;quot;C:${A}&amp;quot;&lt;br /&gt;
echo $C $B&lt;br /&gt;
   *&lt;br /&gt;
&lt;br /&gt;
This results in *C:22 B:22* printed to the console since the content of *&lt;br /&gt;
A* is expanded immediately on assignment to variable *C*. Variable *B* did&lt;br /&gt;
not get expanded until it was actually used in the *echo*statement.&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
*Appending (+=) and Prepending (=+)*&lt;br /&gt;
&lt;br /&gt;
The *+=* and *=+* append and prepend variables respectively while adding&lt;br /&gt;
a single space between the values.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
A = &amp;quot;12&amp;quot;&lt;br /&gt;
A += &amp;quot;34&amp;quot;&lt;br /&gt;
B = &amp;quot;89&amp;quot;&lt;br /&gt;
B =+ &amp;quot;67&amp;quot;&lt;br /&gt;
   *&lt;br /&gt;
&lt;br /&gt;
This results in variable *A* containing *12 34* and variable *B*&lt;br /&gt;
containing *67 89*.&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
*Appending (.=) and Prepending (=.) without Spaces*&lt;br /&gt;
&lt;br /&gt;
The *.=* and *=.* work like the above appending and prepending operators&lt;br /&gt;
however without placing an additional space between the values.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
A = &amp;quot;12&amp;quot;&lt;br /&gt;
A .= &amp;quot;34&amp;quot;&lt;br /&gt;
B = &amp;quot;89&amp;quot;&lt;br /&gt;
B =. &amp;quot;67&amp;quot;&lt;br /&gt;
   *&lt;br /&gt;
&lt;br /&gt;
This results in variable *A* containing *1234* and variable *B*&lt;br /&gt;
containing *6789*.&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
</feed>