Python Lab 1: Math, Data Types, Variables

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>