Lab guidePython

Python Lab 1: Math, Data Types, Variables

Last updated 8 February 2024

Python Lab 1: Math, Data Types, Variables

<div class="whitepaper-body-page">

<h3 class="wp-block-heading">The classic “Hello World” in Python. </h3>



<p class="margin-bottom">You can use both the Python console or create a file on your machine and then use the <span class="formatted-word">python filename.py</span> command to run the file and see the output.</p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-m0">print</span><span class="enlighter-g1">(</span><span class="enlighter-s0">&quot;Hello World!&quot;</span><span class="enlighter-g1">)</span></div></div></div><div class="enlighter-raw">print(&quot;Hello World!&quot;)</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">print(&quot;Hello World!&quot;)</pre>



<hr class="wp-block-separator has-text-color has-background has-cyan-bluish-gray-background-color has-cyan-bluish-gray-color is-style-default">



<h3 class="wp-block-heading">Numbers and Math</h3>



<p>There are two main <em>types </em>of numbers in Python. They are <strong>Integers </strong>and <strong>Floating-point</strong> numbers.</p>



<p>Integers, commonly referred to as simply <em><strong>Ints</strong> </em>are whole numbers, can be positive or negative, but without decimals and can have an unlimited length. Example are simple whole numbers, like <strong>1, 54, -145, 8892</strong> etc.</p>



<p>Floating-points numbers, commonly referred to as <strong><em>Floats </em></strong>are real numbers, that can be positive or negative and have decimal values. Examples are <strong>1.2, 35.322, 3.141519, -9.3 </strong>etc.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Math Operations</h4>



<p class="margin-bottom">You can use a range of built-in operators to do all sorts of mathematical operations on numbers. Below are the list of all the common Math operators.</p>



<figure class="wp-block-table"><table><thead><tr><th>Symbol</th><th>Operation</th></tr></thead><tbody><tr><td><code>+</code></td><td>Addition</td></tr><tr><td><code>-</code></td><td>Subtraction</td></tr><tr><td><code><em></code></td><td>Multiplication</td></tr><tr><td><code>/</code></td><td>Division (result is always a <strong>float</strong>)</td></tr><tr><td><code>*</em></code></td><td>Exponentiation</td></tr><tr><td><code>%</code></td><td>Modulo (remainder operator)</td></tr><tr><td><code>//</code></td><td>Integer Division (result is always in <strong>int </strong>and not a <strong>float</strong>)</td></tr></tbody></table></figure>



<p class="margin-bottom">When performing complex math, i.e. doing several operations together, don’t forget the <strong>PEMDAS </strong>rule. Hence to avoid problems, always group operations using parenthesis. Example below is that of code directly executed in the Python console. </p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">&gt;&gt;&gt; 2 + 2</span></div></div><div class=""><div><span class="enlighter-text">4</span></div></div><div class=""><div><span class="enlighter-text">&gt;&gt;&gt; 2.234 <em> 334</span></div></div><div class=""><div><span class="enlighter-text">746.156</span></div></div><div class=""><div><span class="enlighter-text">&gt;&gt;&gt; 10 / 5</span></div></div><div class=""><div><span class="enlighter-text">2.0</span></div></div><div class=""><div><span class="enlighter-text">&gt;&gt;&gt; 23 // 6</span></div></div><div class=""><div><span class="enlighter-text">3</span></div></div><div class=""><div><span class="enlighter-text">&gt;&gt;&gt; 50 % 2</span></div></div><div class=""><div><span class="enlighter-text">0</span></div></div><div class=""><div><span class="enlighter-text">&gt;&gt;&gt; 1122 - 334</span></div></div><div class=""><div><span class="enlighter-text">788</span></div></div><div class=""><div><span class="enlighter-text">&gt;&gt;&gt; 3 ** 4</span></div></div><div class=""><div><span class="enlighter-text">81</span></div></div><div class=""><div><span class="enlighter-text">&gt;&gt;&gt; 3 + 4 - 10 / 2 </em> 4</span></div></div><div class=""><div><span class="enlighter-text">-13.0</span></div></div><div class=""><div><span class="enlighter-text">&gt;&gt;&gt; ((3 + 4) - (10 / 2)) <em> 4</span></div></div><div class=""><div><span class="enlighter-text">8.0</span></div></div><div class=""><div><span class="enlighter-text">&gt;&gt;&gt;</span></div></div></div><div class="enlighter-raw">&gt;&gt;&gt; 2 + 2
4
&gt;&gt;&gt; 2.234 </em> 334
746.156
&gt;&gt;&gt; 10 / 5
2.0
&gt;&gt;&gt; 23 // 6
3
&gt;&gt;&gt; 50 % 2
0
&gt;&gt;&gt; 1122 - 334
788
&gt;&gt;&gt; 3 <strong> 4
81
&gt;&gt;&gt; 3 + 4 - 10 / 2 <em> 4
-13.0
&gt;&gt;&gt; ((3 + 4) - (10 / 2)) </em> 4
8.0
&gt;&gt;&gt;</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&gt;&gt;&gt; 2 + 2
4
&gt;&gt;&gt; 2.234 * 334
746.156
&gt;&gt;&gt; 10 / 5
2.0
&gt;&gt;&gt; 23 // 6
3
&gt;&gt;&gt; 50 % 2
0
&gt;&gt;&gt; 1122 - 334
788
&gt;&gt;&gt; 3 </strong> 4
81
&gt;&gt;&gt; 3 + 4 - 10 / 2 <em> 4
-13.0
&gt;&gt;&gt; ((3 + 4) - (10 / 2)) </em> 4
8.0
&gt;&gt;&gt;</pre>



<hr class="wp-block-separator has-text-color has-background has-cyan-bluish-gray-background-color has-cyan-bluish-gray-color is-style-default">



<h3 class="wp-block-heading">Comments</h3>



<p>Comments are just a way for us to write little notes inside our code that won’t actually run. Comments help yourself and other developers/team members understand whats happening in your code. Comments are written simply by adding a pound/hash symbol – <code class="formatted-word">#</code>, before anything that you want to comment. </p>



<p class="margin-bottom">Adding the <strong>#</strong> symbol to a line, will make Python, ignore that line. If you want to comment out multiple lines, add <strong>#</strong> to the start of all those line. </p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover enlighter-linenumbers "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-c0"># This is a comment</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-c0"># Never forget the PEMDAS rule </span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-m0">print</span><span class="enlighter-g1">((</span><span class="enlighter-n1">2</span><span class="enlighter-text"> + </span><span class="enlighter-n1">4</span><span class="enlighter-g1">)</span><span class="enlighter-text"> </span><span class="enlighter-g0"><em></span><span class="enlighter-text"> </span><span class="enlighter-n0">3.2</span><span class="enlighter-text"> + </span><span class="enlighter-g1">(</span><span class="enlighter-n1">10</span><span class="enlighter-text"> / </span><span class="enlighter-n0">2.5</span><span class="enlighter-g1">))</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-c0"># Division always returns floats, even when dividing ints</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-m0">print</span><span class="enlighter-g1">(</span><span class="enlighter-n1">1</span><span class="enlighter-text">/</span><span class="enlighter-n1">3</span><span class="enlighter-g1">)</span><span class="enlighter-text"> </span><span class="enlighter-c0"># comment here ----&gt; 0.3333333333333333</span></div></div></div><div class="enlighter-raw"># This is a comment
# Never forget the PEMDAS rule 

print((2 + 4) </em> 3.2 + (10 / 2.5))

# Division always returns floats, even when dividing ints

print(1/3) # comment here ----&gt; 0.3333333333333333</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># This is a comment
# Never forget the PEMDAS rule 

print((2 + 4) <em> 3.2 + (10 / 2.5))

# Division always returns floats, even when dividing ints

print(1/3) # comment here ----&gt; 0.3333333333333333</pre>



<hr class="wp-block-separator has-text-color has-background has-cyan-bluish-gray-background-color has-cyan-bluish-gray-color is-style-default">



<h3 class="wp-block-heading">Variables</h3>



<p><strong>Variables are like containers.</strong> They store some data which can be pulled out later. They can hold different types of data like numbers, booleans, and strings and others.</p>



<p class="margin-bottom">Variables are always assigned with the <em>variable name on the left and the value on the right of the equal sign.</em> Variables must be assigned before they can be used.</p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover enlighter-linenumbers "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">x = </span><span class="enlighter-n1">50</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">current_year = </span><span class="enlighter-n1">2020</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">average_salary_of_a_python_developer = </span><span class="enlighter-n1">50000</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">pi = </span><span class="enlighter-n0">3.14159</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">radius = </span><span class="enlighter-n1">10</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-c0"># you can do complex math and even assign them to other variables</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">circumference = </span><span class="enlighter-n1">2</span><span class="enlighter-text"> </em> pi <em> radius </span></div></div></div><div class="enlighter-raw">x = 50
current_year = 2020
average_salary_of_a_python_developer = 50000

pi = 3.14159
radius = 10
# you can do complex math and even assign them to other variables
circumference = 2 </em> pi <em> radius </div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">x = 50
current_year = 2020
average_salary_of_a_python_developer = 50000

pi = 3.14159
radius = 10
# you can do complex math and even assign them to other variables
circumference = 2 </em> pi * radius </pre>



<p class="no-margin-bottom">Variables can be:</p>



<ul><li>Assigned to other variables</li><li>Reassigned at any time</li><li>Assigned at the same time as other variables</li></ul>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover enlighter-linenumbers "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">new_score = </span><span class="enlighter-n1">4520</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">highest_score = new_score</span></div></div><div class=""><div><span class="enlighter-text">new_score = </span><span class="enlighter-n1">5000</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">x, y, z = </span><span class="enlighter-n1">20</span><span class="enlighter-text">, </span><span class="enlighter-n1">40</span><span class="enlighter-text">, </span><span class="enlighter-n1">100</span><span class="enlighter-text"> </span><span class="enlighter-c0"># Not recommended. It can get confusing to read. Hence avoid it.</span></div></div></div><div class="enlighter-raw">new_score = 4520
highest_score = new_score
new_score = 5000
x, y, z = 20, 40, 100 # Not recommended. It can get confusing to read. Hence avoid it.</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">new_score = 4520
highest_score = new_score
new_score = 5000
x, y, z = 20, 40, 100 # Not recommended. It can get confusing to read. Hence avoid it.</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Variable Naming Restrictions</h4>



<ul><li>Variables must start with a letter or underscore. So <code>_users</code> is ok, but <code><s>10users</s></code> is not.</li><li>The rest of the name must consist of letters, numbers, or underscores. Ex. <code>subscribers10</code>, <code><s>subscribers@paid</s></code></li><li>Names are case-sensitive. <code>USERS</code>, <code>Users </code>and <code>users </code>are all different.</li><li>Based on Python’s community convention, most variables should be <code>snake_case</code></li><li>Should be all lowercased with few exceptions, like constant variables use <code>CAPITAL_SNAKE_CASE</code> and class names use <code>PascalCase</code>. You will learn about them later.</li><li>Variables that start and end with <strong>two underscores (“dunder”)</strong> are supposed to be private or left alone. Ex. <code><strong>init</strong></code></li></ul>



<hr class="wp-block-separator has-text-color has-background has-cyan-bluish-gray-background-color has-cyan-bluish-gray-color is-style-default">



<h3 class="wp-block-heading">Data Types</h3>



<p>In any assignment, the assigned value must always be a valid data type.</p>



<figure class="wp-block-table"><table><thead><tr><th>Data Type</th><th>Description</th></tr></thead><tbody><tr><td><code>bool</code></td><td>True or False values</td></tr><tr><td><code>int</code></td><td>an integer, ex. 1, 3, 55, 1000</td></tr><tr><td><code>str</code></td><td>(string) a sequence of Unicode characters, ex. <code>&quot;RST Forum&quot;</code> or <code>&quot;こんにちは世界&quot;</code></td></tr><tr><td><code>list</code></td><td>an ordered sequence of values of other data types, ex. <code>[1,2,3]</code> or <code>[&quot;x&quot;, &quot;y&quot;]</code></td></tr><tr><td><code>dict</code></td><td>a collection of key:value pairs <code>{&quot;firstName&quot;: &quot;John&quot;, &quot;last_name&quot;: &quot;Doe&quot;}</code></td></tr></tbody></table><figcaption>There are more, which you will learn in later lectures</figcaption></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Dynamic Typing</h4>



<p>Python allows reassigning variables to different types:</p>



<p class="margin-bottom">Other languages, like C++, Rust etc. are statically-typed and variables are stuck with their originally-assigned type:</p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover enlighter-linenumbers "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">logged_in_user = </span><span class="enlighter-e0">True</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-m0">print</span><span class="enlighter-g1">(</span><span class="enlighter-text">logged_in_user</span><span class="enlighter-g1">)</span><span class="enlighter-text"> </span><span class="enlighter-c0"># True</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">logged_in_user = </span><span class="enlighter-s0">&quot;John Doe&quot;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-m0">print</span><span class="enlighter-g1">(</span><span class="enlighter-text">logged_in_user</span><span class="enlighter-g1">)</span><span class="enlighter-text"> </span><span class="enlighter-c0"># John Doe</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">logged_in_user = </span><span class="enlighter-e1">None</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-m0">print</span><span class="enlighter-g1">(</span><span class="enlighter-text">logged_in_user</span><span class="enlighter-g1">)</span><span class="enlighter-text"> </span><span class="enlighter-c0"># None</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">logged_in_user = </span><span class="enlighter-n1">10</span><span class="enlighter-text"> / </span><span class="enlighter-n1">5</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-m0">print</span><span class="enlighter-g1">(</span><span class="enlighter-text">logged_in_user</span><span class="enlighter-g1">)</span><span class="enlighter-text"> </span><span class="enlighter-c0"># 2.0</span></div></div></div><div class="enlighter-raw">logged_in_user = True
print(logged_in_user) # True

logged_in_user = &quot;John Doe&quot;
print(logged_in_user) # John Doe

logged_in_user = None
print(logged_in_user) # None

logged_in_user = 10 / 5
print(logged_in_user) # 2.0</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">logged_in_user = True
print(logged_in_user) # True

logged_in_user = &quot;John Doe&quot;
print(logged_in_user) # John Doe

logged_in_user = None
print(logged_in_user) # None

logged_in_user = 10 / 5
print(logged_in_user) # 2.0</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">None</h4>



<p class="margin-bottom"><strong>None </strong>represents the idea of nothingness. It’s similar to <strong>null </strong>from some other languages.</p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">twitter_handle = </span><span class="enlighter-e1">None</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-m0">type</span><span class="enlighter-g1">(</span><span class="enlighter-text">twitter_handle</span><span class="enlighter-g1">)</span><span class="enlighter-text"> </span><span class="enlighter-c0"># &lt;class &#39;NoneType&#39;&gt;</span></div></div></div><div class="enlighter-raw">twitter_handle = None
type(twitter_handle) # &lt;class &#39;NoneType&#39;&gt;</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">twitter_handle = None
type(twitter_handle) # &lt;class &#39;NoneType&#39;&gt;</pre>



<hr class="wp-block-separator has-text-color has-background has-cyan-bluish-gray-background-color has-cyan-bluish-gray-color is-style-default">



<h3 class="wp-block-heading">Strings</h3>



<h4 class="wp-block-heading">String Declaration</h4>



<p class="margin-bottom">String literals can be declared with either single or double quotes</p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">full_name = </span><span class="enlighter-s0">&#39;jane doe&#39;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">position = </span><span class="enlighter-s0">&quot;machine learning engineer&quot;</span></div></div></div><div class="enlighter-raw">full_name = &#39;jane doe&#39;
position = &quot;machine learning engineer&quot;</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">full_name = &#39;jane doe&#39;
position = &quot;machine learning engineer&quot;</pre>



<p class="margin-bottom">You can have quotes inside your strings, but make sure they are different</p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">linus_torvalds = </span><span class="enlighter-s0">&#39;Linus at FOSSConf, &quot;Talk is cheap. Show me the code.&quot;&#39;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">alan_turing = </span><span class="enlighter-s0">&quot;&#39;Machines&#39; take me by surprise with great frequency&quot;</span></div></div></div><div class="enlighter-raw">linus_torvalds = &#39;Linus at FOSSConf, &quot;Talk is cheap. Show me the code.&quot;&#39;
alan_turing = &quot;&#39;Machines&#39; take me by surprise with great frequency&quot;</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">linus_torvalds = &#39;Linus at FOSSConf, &quot;Talk is cheap. Show me the code.&quot;&#39;
alan_turing = &quot;&#39;Machines&#39; take me by surprise with great frequency&quot;</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">String Escape Sequences</h4>



<p>Python supports a range of <strong>“escape characters”</strong>, which get interpreted by Python to do something special.</p>



<p class="margin-bottom">Below are some of the most commonly used escape sequences. You can see the full in the official Python documentation here – <a rel="noreferrer noopener" href="https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals" target="_blank">https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals</a></p>



<figure class="wp-block-table"><table><thead><tr><th>Sequence</th><th>Meaning</th></tr></thead><tbody><tr><td><code>\n</code></td><td>Enter / Return</td></tr><tr><td><code>\t</code></td><td>Horizontal Tab</td></tr><tr><td><code>\v</code></td><td>Vertical Tab</td></tr><tr><td><code>\</code></td><td>Backslash</td></tr><tr><td><code>\&#39;</code></td><td>Single quote</td></tr><tr><td><code>\&quot;</code></td><td>Double quote</td></tr></tbody></table></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">String Concatenation</h4>



<p class="margin-bottom">Concatenation is combining multiple strings together. We do this using the<code> &quot;+&quot; </code>operator.</p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover enlighter-linenumbers "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">message = </span><span class="enlighter-s0">&quot;Welcome to RST Forum&quot;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">user = </span><span class="enlighter-s0">&quot;Guido&quot;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">greeting = message + </span><span class="enlighter-s0">&quot;, &quot;</span><span class="enlighter-text"> + user    </span><span class="enlighter-c0"># &#39;Welcome to RST Forum, Guido&#39;</span></div></div></div><div class="enlighter-raw">message = &quot;Welcome to RST Forum&quot;
user = &quot;Guido&quot;
greeting = message + &quot;, &quot; + user    # &#39;Welcome to RST Forum, Guido&#39;</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">message = &quot;Welcome to RST Forum&quot;
user = &quot;Guido&quot;
greeting = message + &quot;, &quot; + user    # &#39;Welcome to RST Forum, Guido&#39;</pre>



<p class="magin-bottom">You can also use the <code>&quot;+=&quot;</code> operator to do in-place assignments. (in-place operators)</p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover enlighter-linenumbers "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">name = </span><span class="enlighter-s0">&quot;Guido&quot;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">name += </span><span class="enlighter-s0">&quot;van Rossum&quot;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-m0">print</span><span class="enlighter-g1">(</span><span class="enlighter-text">name</span><span class="enlighter-g1">)</span><span class="enlighter-text"> </span><span class="enlighter-c0"># &#39;Guido van Rossum&#39;</span></div></div></div><div class="enlighter-raw">name = &quot;Guido&quot;
name += &quot;van Rossum&quot;
print(name) # &#39;Guido van Rossum&#39;</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">name = &quot;Guido&quot;
name += &quot;van Rossum&quot;
print(name) # &#39;Guido van Rossum&#39;</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Formatting Strings</h4>



<p class="margin-bottom">There are several ways to format strings in Python to <strong>interpolate </strong>variables. <br>The new and the recommended way is using,<strong> F-Strings </strong><em>(Python 3.6+)</em></p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover enlighter-linenumbers "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">items_in_cart = </span><span class="enlighter-n1">8</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">message = f</span><span class="enlighter-s0">&quot;You have {items_in_cart} items in your shopping cart.&quot;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-m0">print</span><span class="enlighter-g1">(</span><span class="enlighter-text">message</span><span class="enlighter-g1">)</span><span class="enlighter-text"> </span><span class="enlighter-c0"># You have 8 items in your shopping cart.</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">net_amount = </span><span class="enlighter-n1">100</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">GST_rate = </span><span class="enlighter-n1">12</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">GST_amount = </span><span class="enlighter-g1">(</span><span class="enlighter-text">GST_rate / </span><span class="enlighter-n1">100</span><span class="enlighter-g1">)</span><span class="enlighter-text"> <em> net_amount</span></div></div><div class=""><div><span class="enlighter-text">msg = f</span><span class="enlighter-s0">&quot;Your total is only ₹{net_amount + GST_amount}&quot;</span></div></div></div><div class="enlighter-raw">items_in_cart = 8
message = f&quot;You have {items_in_cart} items in your shopping cart.&quot;

print(message) # You have 8 items in your shopping cart.

net_amount = 100
GST_rate = 12
GST_amount = (GST_rate / 100) </em> net_amount
msg = f&quot;Your total is only ₹{net_amount + GST_amount}&quot;</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">items_in_cart = 8
message = f&quot;You have {items_in_cart} items in your shopping cart.&quot;

print(message) # You have 8 items in your shopping cart.

net_amount = 100
GST_rate = 12
GST_amount = (GST_rate / 100) * net_amount
msg = f&quot;Your total is only ₹{net_amount + GST_amount}&quot;</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="margin-bottom wp-block-heading">Older way of formatting strings using the <code>.format()</code> method</h4>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover enlighter-linenumbers "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">items_in_cart = </span><span class="enlighter-n1">8</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">msg = </span><span class="enlighter-s0">&quot;You have {} items in your shopping cart.&quot;</span><span class="enlighter-text">.</span><span class="enlighter-m1">format</span><span class="enlighter-g1">(</span><span class="enlighter-text">items_in_cart</span><span class="enlighter-g1">)</span></div></div></div><div class="enlighter-raw">items_in_cart = 8
msg = &quot;You have {} items in your shopping cart.&quot;.format(items_in_cart)</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">items_in_cart = 8
msg = &quot;You have {} items in your shopping cart.&quot;.format(items_in_cart)</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">String Indexes</h4>



<p class="margin-bottom">Every individual character in a string can be accessed using numeric values, basically accessing the string’s indexes. <br>String indexing is <strong>zero-based</strong>.</p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover enlighter-linenumbers "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-s0">&quot;hello&quot;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-s0">&quot;hello&quot;</span><span class="enlighter-g1">[</span><span class="enlighter-n1">0</span><span class="enlighter-g1">]</span><span class="enlighter-text">  </span><span class="enlighter-c0"># &#39;h&#39;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">name = </span><span class="enlighter-s0">&quot;RST Forum&quot;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">name</span><span class="enlighter-g1">[</span><span class="enlighter-n1">4</span><span class="enlighter-g1">]</span><span class="enlighter-text"> </span><span class="enlighter-c0"># &#39;F&#39;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">name</span><span class="enlighter-g1">[</span><span class="enlighter-n1">6</span><span class="enlighter-g1">]</span><span class="enlighter-text"> </span><span class="enlighter-c0"># &#39;r&#39;</span></div></div></div><div class="enlighter-raw">&quot;hello&quot;
&quot;hello&quot;[0]  # &#39;h&#39;

name = &quot;RST Forum&quot;
name[4] # &#39;F&#39;
name[6] # &#39;r&#39;</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&quot;hello&quot;
&quot;hello&quot;[0]  # &#39;h&#39;

name = &quot;RST Forum&quot;
name[4] # &#39;F&#39;
name[6] # &#39;r&#39;</pre>



<hr class="wp-block-separator has-text-color has-background has-cyan-bluish-gray-background-color has-cyan-bluish-gray-color is-style-default">



<h3 class="wp-block-heading">Converting Data Types</h3>



<p>In <strong><em>string interpolation</em></strong>, data types are implicitly converted into string form.</p>



<p class="margin-bottom">You can also explicitly convert variables by using the name of the builtin type as a function. For ex. <strong>int(), str()</strong> etc.</p>



<div class="enlighter-default enlighter-v-standard enlighter-t-minimal enlighter-hover enlighter-linenumbers "><div class="enlighter-toolbar-top enlighter-toolbar"><div class="enlighter-btn enlighter-btn-raw" title="Plain text"></div><div class="enlighter-btn enlighter-btn-copy" title="Copy to clipboard"></div><div class="enlighter-btn enlighter-btn-window" title="Open code in new window"></div><div class="enlighter-btn enlighter-btn-website" title="EnlighterJS 3 Syntax Highlighter"></div></div><div class="enlighter" style=""><div class=""><div><span class="enlighter-text">decimal = </span><span class="enlighter-n0">3.141592653589793238</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">integer = </span><span class="enlighter-m0">int</span><span class="enlighter-g1">(</span><span class="enlighter-text">decimal</span><span class="enlighter-g1">)</span><span class="enlighter-text">  </span><span class="enlighter-c0"># 3</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">python_list = </span><span class="enlighter-g1">[</span><span class="enlighter-n1">1</span><span class="enlighter-text">, </span><span class="enlighter-n1">2</span><span class="enlighter-text">, </span><span class="enlighter-n1">3</span><span class="enlighter-g1">]</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text">python_list_as_strings = </span><span class="enlighter-m0">str</span><span class="enlighter-g1">(</span><span class="enlighter-text">python_list</span><span class="enlighter-g1">)</span><span class="enlighter-text">   </span><span class="enlighter-c0"># &#39;[1, 2, 3]&#39;</span><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span></div></div><div class=""><div><span class="enlighter-text"></span><span class="enlighter-c0"># Don&#39;t worry about functions, lists, etc. You will learn about them in great detail in future lectures.</span></div></div></div><div class="enlighter-raw">decimal = 3.141592653589793238
integer = int(decimal)  # 3

python_list = [1, 2, 3]
python_list_as_strings = str(python_list)   # &#39;[1, 2, 3]&#39;

# Don&#39;t worry about functions, lists, etc. You will learn about them in great detail in future lectures.</div><div class="enlighter-toolbar-bottom enlighter-toolbar"></div></div><pre class="EnlighterJSRAW enlighter-origin" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">decimal = 3.141592653589793238
integer = int(decimal)  # 3

python_list = [1, 2, 3]
python_list_as_strings = str(python_list)   # &#39;[1, 2, 3]&#39;

# Don&#39;t worry about functions, lists, etc. You will learn about them in great detail in future lectures.</pre>

</div>
Learn this on the racks

Reading it is one thing. Configuring it is another.

Our batches run labs like this one end to end on real kit, in the Mumbai classroom or live online, taught by practicing engineers.