diff --git a/media/break.PNG b/media/break.PNG new file mode 100644 index 0000000..3728d17 Binary files /dev/null and b/media/break.PNG differ diff --git a/media/continue.PNG b/media/continue.PNG new file mode 100644 index 0000000..5c45e1f Binary files /dev/null and b/media/continue.PNG differ diff --git a/media/exception.PNG b/media/exception.PNG new file mode 100644 index 0000000..d81065f Binary files /dev/null and b/media/exception.PNG differ diff --git a/media/file_methods1.PNG b/media/file_methods1.PNG new file mode 100644 index 0000000..7c009f1 Binary files /dev/null and b/media/file_methods1.PNG differ diff --git a/media/file_methods2.PNG b/media/file_methods2.PNG new file mode 100644 index 0000000..df6d052 Binary files /dev/null and b/media/file_methods2.PNG differ diff --git a/media/imports.PNG b/media/imports.PNG new file mode 100644 index 0000000..615b24c Binary files /dev/null and b/media/imports.PNG differ diff --git a/media/loops.PNG b/media/loops.PNG new file mode 100644 index 0000000..b1ef40f Binary files /dev/null and b/media/loops.PNG differ diff --git a/media/modes.PNG b/media/modes.PNG new file mode 100644 index 0000000..779dc8e Binary files /dev/null and b/media/modes.PNG differ diff --git a/media/mro.PNG b/media/mro.PNG new file mode 100644 index 0000000..39fde1e Binary files /dev/null and b/media/mro.PNG differ diff --git a/media/mro1.PNG b/media/mro1.PNG new file mode 100644 index 0000000..568194c Binary files /dev/null and b/media/mro1.PNG differ diff --git a/media/multilevel.PNG b/media/multilevel.PNG new file mode 100644 index 0000000..928dba4 Binary files /dev/null and b/media/multilevel.PNG differ diff --git a/media/multiple.PNG b/media/multiple.PNG new file mode 100644 index 0000000..e5ab6b0 Binary files /dev/null and b/media/multiple.PNG differ diff --git a/media/scopes.PNG b/media/scopes.PNG new file mode 100644 index 0000000..074192e Binary files /dev/null and b/media/scopes.PNG differ diff --git a/media/subpackages.PNG b/media/subpackages.PNG new file mode 100644 index 0000000..7e5172b Binary files /dev/null and b/media/subpackages.PNG differ diff --git a/notebooks/Session1-variable_data_types.ipynb b/notebooks/1_funamentals_of_python.ipynb similarity index 100% rename from notebooks/Session1-variable_data_types.ipynb rename to notebooks/1_funamentals_of_python.ipynb diff --git a/notebooks/2_controlflow_loops_functions.ipynb b/notebooks/2_controlflow_loops_functions.ipynb new file mode 100644 index 0000000..37aebfd --- /dev/null +++ b/notebooks/2_controlflow_loops_functions.ipynb @@ -0,0 +1,1394 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Session 2 - Control Flow, Loops and Functions" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## If Statements" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "What is an *if* statement?\n", + "===\n", + "An *if* statement tests for a condition, and then responds to that condition. If the condition is true, then whatever action is listed next gets carried out. You can test for multiple conditions at the same time, and respond appropriately to each condition." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "The if-elif...else chain\n", + "===\n", + "You can test whatever series of conditions you want to, and you can test your conditions in any combination you want." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Simple if statements\n", + "---\n", + "The simplest test has a single **if** statement, and a single statement to execute if the condition is **True**." + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wow, we have a lot of robbers here!\n" + ] + } + ], + "source": [ + "robbers = ['berlin', 'moscow', 'rio', 'tokyo']\n", + "\n", + "if len(robbers) > 3:\n", + " print(\"Wow, we have a lot of robbers here!\")" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [], + "source": [ + "robbers = ['berlin', 'moscow']\n", + "\n", + "if len(robbers) > 3:\n", + " print(\"Wow, we have a lot of robbers here!\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "Notice that there are no errors. The condition `len(robbers) > 3` evaluates to False, and the program moves on to any lines after the **if** block." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "if-else statements\n", + "---\n", + "Many times you will want to respond in two possible ways to a test. If the test evaluates to **True**, you will want to do one thing. If the test evaluates to **False**, you will want to do something else. The **if-else** structure lets you do that easily. Here's what it looks like:" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Okay, this is a reasonable number of robbers.\n" + ] + } + ], + "source": [ + "robbers = ['berlin', 'moscow', 'rio', 'tokyo']\n", + "\n", + "if len(robbers) > 3:\n", + " print(\"Wow, we have a lot of robbers here!\")\n", + "else:\n", + " print(\"Okay, this is a reasonable number of robbers.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Our results have not changed in this case, because if the test evaluates to **True** only the statements under the **if** statement are executed. The statements under **else** area only executed if the test fails:" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Okay, this is a reasonable number of robbers.\n" + ] + } + ], + "source": [ + "robbers = ['berlin', 'moscow']\n", + "\n", + "if len(robbers) > 3:\n", + " print(\"Wow, we have a lot of robbers here!\")\n", + "else:\n", + " print(\"Okay, this is a reasonable number of robbers.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "The test evaluated to **False**, so only the statement under `else` is run." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "if-elif...else chains\n", + "---\n", + "Many times, you will want to test a series of conditions, rather than just an either-or situation. You can do this with a series of if-elif-else statements\n", + "\n", + "There is no limit to how many conditions you can test. You always need one if statement to start the chain, and you can never have more than one else statement. But you can have as many elif statements as you want." + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Holy shit!, the whole money heist team is here!\n" + ] + } + ], + "source": [ + "robbers = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi', 'professor']\n", + "\n", + "if len(robbers) >= 5:\n", + " print(\"Holy shit!, the whole money heist team is here!\")\n", + "elif len(robbers) >= 3:\n", + " print(\"Wow, we have a lot of robbers here!\")\n", + "else:\n", + " print(\"Okay, this is a reasonable number of robbers.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "It is important to note that in situations like this, only the first test is evaluated. In an if-elif-else chain, once a test passes the rest of the conditions are ignored." + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wow, we have a lot of robbers here!\n" + ] + } + ], + "source": [ + "robbers = ['berlin', 'moscow', 'rio', 'denver']\n", + "\n", + "if len(robbers) >= 5:\n", + " print(\"Holy shit!, the whole money heist team is here!\")\n", + "elif len(robbers) >= 3:\n", + " print(\"Wow, we have a lot of robbers here!\")\n", + "else:\n", + " print(\"Okay, this is a reasonable number of robbers.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "The first test failed, so Python evaluated the second test. That test passed, so the statement corresponding to `len(robbers) >= 3` is executed." + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Okay, this is a reasonable number of robbers.\n" + ] + } + ], + "source": [ + "robbers = ['berlin', 'moscow']\n", + "\n", + "if len(robbers) >= 5:\n", + " print(\"Holy shit!, the whole money heist team is here!\")\n", + "elif len(robbers) >= 3:\n", + " print(\"Wow, we have a lot of robbers here!\")\n", + "else:\n", + " print(\"Okay, this is a reasonable number of robbers.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "In this situation, the first two tests fail, so the statement in the else clause is executed. Note that this statement would be executed even if there are no robbers at all:" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Okay, this is a reasonable number of robbers.\n" + ] + } + ], + "source": [ + "robbers = []\n", + "\n", + "if len(robbers) >= 5:\n", + " print(\"Holy shit!, the whole money heist team is here!\")\n", + "elif len(robbers) >= 3:\n", + " print(\"Wow, we have a lot of robbers here!\")\n", + "else:\n", + " print(\"Okay, this is a reasonable number of robbers.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Note that you don't have to take any action at all when you start a series of if statements. You could simply do nothing in the situation that there are no robbers by replacing the `else` clause with another `elif` clause:" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "robbers = ['berlin', 'moscow', 'rio', 'denver']\n", + "\n", + "'professor' in robbers" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello, berlin! and Moscow\n" + ] + } + ], + "source": [ + "robbers = ['berlin', 'moscow']\n", + "\n", + "if ('berlin' in robbers) or ('moscow' in robbers):\n", + " print(\"Hello, berlin! and Moscow\")\n", + "elif 'moscow' in robbers:\n", + " print(\"Hello, moscow!\")\n", + "elif 'rio' in robbers:\n", + " print(\"Hello, rio!\")\n", + "elif 'denver' in robbers:\n", + " print(\"Hello, denver!\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [], + "source": [ + "robbers = ['berlin', 'moscow']\n", + "\n", + "if 'berlin' in robbers:\n", + " print(\"Hello, berlin!\")\n", + "elif 'moscow' in robbers:\n", + " print(\"Hello, moscow!\")\n", + "elif 'rio' in robbers:\n", + " print(\"Hello, rio!\")\n", + "elif 'denver' in robbers:\n", + " print(\"Hello, denver!\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ + "Of course, this could be written much more cleanly using lists and for loops. See if you can follow this code." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [], + "source": [ + "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", + "robbers_present = ['berlin', 'moscow']\n", + "\n", + "# Go through all the robbers that are present, and greet the robbers we know.\n", + "for robber in robbers_present:\n", + " if robber in robbers_we_know:\n", + " print(\"Hello, %s!\" % robber.title())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "This is the kind of code you should be aiming to write. It is fine to come up with code that is less efficient at first. When you notice yourself writing the same kind of code repeatedly in one program, look to see if you can use a loop or a function to make your code more efficient." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "True and False values\n", + "===\n", + "Every value can be evaluated as True or False. The general rule is that any non-zero or non-empty value will evaluate to True. If you are ever unsure, you can open a Python terminal and write two lines to find out if the value you are considering is True or False." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "source": [ + "Take a look at the following examples, keep them in mind, and test any value you are curious about." + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This evaluates to False.\n" + ] + } + ], + "source": [ + "if 0:\n", + " print(\"This evaluates to True.\")\n", + "else:\n", + " print(\"This evaluates to False.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This evaluates to True.\n" + ] + } + ], + "source": [ + "if 1:\n", + " print(\"This evaluates to True.\")\n", + "else:\n", + " print(\"This evaluates to False.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This evaluates to True.\n" + ] + } + ], + "source": [ + "# Arbitrary non-zero numbers evaluate to True.\n", + "if 1253756:\n", + " print(\"This evaluates to True.\")\n", + "else:\n", + " print(\"This evaluates to False.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This evaluates to True.\n" + ] + } + ], + "source": [ + "# Negative numbers are not zero, so they evaluate to True.\n", + "if -1:\n", + " print(\"This evaluates to True.\")\n", + "else:\n", + " print(\"This evaluates to False.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This evaluates to False.\n" + ] + } + ], + "source": [ + "# An empty string evaluates to False.\n", + "if '':\n", + " print(\"This evaluates to True.\")\n", + "else:\n", + " print(\"This evaluates to False.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This evaluates to True.\n" + ] + } + ], + "source": [ + "# Any other string, including a space, evaluates to True.\n", + "if ' ':\n", + " print(\"This evaluates to True.\")\n", + "else:\n", + " print(\"This evaluates to False.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This evaluates to True.\n" + ] + } + ], + "source": [ + "# Any other string, including a space, evaluates to True.\n", + "if 'hello':\n", + " print(\"This evaluates to True.\")\n", + "else:\n", + " print(\"This evaluates to False.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This evaluates to False.\n" + ] + } + ], + "source": [ + "# None is a special object in Python. It evaluates to False.\n", + "if None:\n", + " print(\"This evaluates to True.\")\n", + "else:\n", + " print(\"This evaluates to False.\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Loops\n", + "---\n", + "\n", + "#### For Loops\n", + "\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "berlin\n", + "moscow\n", + "rio\n", + "denver\n", + "tokyo\n", + "naomi\n" + ] + } + ], + "source": [ + "# for loop syntax using in operator\n", + "\n", + "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", + "\n", + "for robber in robbers_we_know:\n", + " print(robber)\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# TODO \n", + "Timeit" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "range() function\n", + "---\n" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "berlin\n", + "moscow\n", + "rio\n", + "denver\n", + "tokyo\n", + "naomi\n" + ] + } + ], + "source": [ + "for i in range(len(robbers_we_know)):\n", + " print(robbers_we_know[i])" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "range(0, 10)\n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", + "[2, 3, 4, 5, 6, 7]\n", + "[2, 5, 8, 11, 14, 17]\n" + ] + } + ], + "source": [ + "# using range function\n", + "\n", + "print(range(10))\n", + "\n", + "print(list(range(10)))\n", + "\n", + "print(list(range(2, 8)))\n", + "\n", + "print(list(range(2, 20, 3)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### How to use for else" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "do something\n", + "do something\n", + "do something\n", + "do something\n", + "do something\n", + "do something\n", + "Professor is arrested\n" + ] + } + ], + "source": [ + "# using for else syntax\n", + "\n", + "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", + "\n", + "for robber in robbers_we_know:\n", + " if robber == 'professor':\n", + " break\n", + " else:\n", + " print('do something')\n", + "else:\n", + " print(\"Professor is arrested\")" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "moscow\n", + "rio\n", + "denver\n", + "tokyo\n", + "naomi\n", + "loop completed, do something now\n" + ] + } + ], + "source": [ + "# another example and pass statement\n", + "\n", + "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", + "\n", + "for robber in robbers_we_know:\n", + " if robber == \"berlin\":\n", + " pass\n", + " else:\n", + " print(robber)\n", + "else:\n", + " print(\"loop completed, do something now\")\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Use of break statement\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Robber catched with name berlin\n", + "Robber catched with name moscow\n", + "Robber catched with name rio\n", + "3 robbers catched, that's enough for today\n" + ] + } + ], + "source": [ + "# break statement\n", + "count = 0\n", + "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", + "\n", + "for robber in robbers_we_know:\n", + " print(\"Robber catched with name\", robber)\n", + " count += 1\n", + " if count == 3:\n", + " print(\"3 robbers catched, that's enough for today\")\n", + " break\n", + " " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Use of Continue statement\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Professor we got you!\n" + ] + } + ], + "source": [ + "# continue statement\n", + "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi', 'professor']\n", + "\n", + "for robber in robbers_we_know:\n", + " if robber != 'professor':\n", + " pass\n", + " print('Professor we got you!')\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### While Loops" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A while loop tests an initial condition. If that condition is true, the loop starts executing. Every time the loop finishes, the condition is reevaluated. As long as the condition remains true, the loop keeps executing. As soon as the condition becomes false, the loop stops executing." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Set an initial condition.\n", + "game_active = True\n", + "\n", + "# Set up the while loop.\n", + "while game_active:\n", + " # Run the game.\n", + " # At some point, the game ends and game_active will be set to False.\n", + " # When that happens, the loop will stop executing.\n", + " \n", + "# Do anything else you want done after the loop runs." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- Every while loop needs an initial condition that starts out true.\n", + "- The while statement includes a condition to test.\n", + "- All of the code in the loop will run as long as the condition remains true.\n", + "- As soon as something in the loop changes the condition such that the test no longer passes, the loop stops executing.\n", + "- Any code that is defined after the loop will run at this point." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "berlin\n", + "moscow\n", + "rio\n", + "denver\n", + "tokyo\n", + "naomi\n", + "loop execution finished, do something if you want!\n" + ] + } + ], + "source": [ + "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", + "\n", + "i = 0\n", + "\n", + "while (iWhat are functions?\n", + "===\n", + "Functions are a set of actions that we group together, and give a name to. You have already used a number of functions from the core Python language, such as *string.title()* and *list.sort()*. We can define our own functions, which allows us to \"teach\" Python new behavior." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "General Syntax\n", + "---\n", + "A general function looks something like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "ename": "IndentationError", + "evalue": "expected an indented block (, line 7)", + "output_type": "error", + "traceback": [ + "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m7\u001b[0m\n\u001b[1;33m function_name(value_1, value_2)\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mIndentationError\u001b[0m\u001b[1;31m:\u001b[0m expected an indented block\n" + ] + } + ], + "source": [ + "# Let's define a function.\n", + "def function_name(argument_1, argument_2):\n", + " # Do whatever we want this function to do,\n", + " # using argument_1 and argument_2\n", + " \n", + "# Use function_name to call the function.\n", + "function_name(value_1, value_2)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Our robbers are currently in alphabetical order.\n", + "Berlin\n", + "Denvor\n", + "Monica\n", + "Rio\n", + "\n", + "Our robbers are now in reverse alphabetical order.\n", + "Rio\n", + "Monica\n", + "Denvor\n", + "Berlin\n" + ] + } + ], + "source": [ + "# something without a function\n", + "\n", + "robbers = ['denvor', 'monica', 'rio', 'berlin']\n", + "\n", + "# Put students in alphabetical order.\n", + "robbers.sort()\n", + "\n", + "# Display the list in its current order.\n", + "print(\"Our robbers are currently in alphabetical order.\")\n", + "for robber in robbers:\n", + " print(robber.title())\n", + "\n", + "# Put robbers in reverse alphabetical order.\n", + "robbers.sort(reverse=True)\n", + "\n", + "# Display the list in its current order.\n", + "print(\"\\nOur robbers are now in reverse alphabetical order.\")\n", + "for robber in robbers:\n", + " print(robber.title())" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Our robbers are currently in alphabetical order.\n", + "Berlin\n", + "Denvor\n", + "Monica\n", + "Rio\n", + "\n", + "Our robbers are currently in reverse alphabetical order.\n", + "Rio\n", + "Monica\n", + "Denvor\n", + "Berlin\n" + ] + } + ], + "source": [ + "# now with a function\n", + "\n", + "def print_robbers(robbers, message):\n", + " print(message)\n", + " for robber in robbers:\n", + " print(robber.title())\n", + " \n", + "\n", + "robbers = ['denvor', 'monica', 'rio', 'berlin']\n", + "\n", + "# Put robbers in alphabetical order.\n", + "message = \"Our robbers are currently in alphabetical order.\"\n", + "robbers.sort()\n", + "print_robbers(robbers, message)\n", + "\n", + "# Put robbers in reverse alphabetical order.\n", + "message = \"\\nOur robbers are currently in reverse alphabetical order.\"\n", + "robbers.sort(reverse=True)\n", + "print_robbers(robbers, message)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Returning a Value\n", + "---\n", + "Each function you create can return a value. This can be in addition to the primary work the function does, or it can be the function's main job. The following function takes in a number, and returns the corresponding word for that number:" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 ('one', 'one', 'one')\n", + "2 two\n", + "3 three\n", + "4 This is an unknown number\n", + "5 This is an unknown number\n", + "6 This is an unknown number\n", + "7 This is an unknown number\n", + "8 This is an unknown number\n", + "9 This is an unknown number\n" + ] + } + ], + "source": [ + "def get_number_word(number):\n", + " # Takes in a numerical value, and returns\n", + " # the word corresponding to that number.\n", + " if number == 1:\n", + " return 'one', 'one', 'one'\n", + " elif number == 2:\n", + " return 'two'\n", + " elif number == 3:\n", + " return 'three'\n", + " else:\n", + " return \"This is an unknown number\"\n", + " \n", + "# Let's try out our function.\n", + "for current_number in range(1,10):\n", + " number_word = get_number_word(current_number)\n", + " print(current_number, number_word)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/notebooks/3_exceptions_filehandling.ipynb b/notebooks/3_exceptions_filehandling.ipynb new file mode 100644 index 0000000..242587b --- /dev/null +++ b/notebooks/3_exceptions_filehandling.ipynb @@ -0,0 +1,1005 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# File Handling" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Opening and Closing a File in Python\n", + "When you want to work with a file, the first thing to do is to open it. This is done by invoking the open() built-in function. open() has a single required argument that is the path to the file. open() has a single return, the file object:" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [], + "source": [ + "file = open('Session1-variable_data_types.ipynb', encoding=\"utf-8\")\n", + "\n", + "# ToDO - Read about encoding works and which encoding should be used while playing around with string and file" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Volume in drive C is EPINHYDW1086\n", + " Volume Serial Number is 4247-02EF\n", + "\n", + " Directory of C:\\cygwin64\\home\\Sanchit_Balchandani\\Workspace\\python-ws\\python-for-devops\\notebooks\n", + "\n", + "06/02/2020 03:46 PM .\n", + "06/02/2020 03:46 PM ..\n", + "06/02/2020 02:59 PM .ipynb_checkpoints\n", + "05/29/2020 02:53 PM 46,971 Session1-variable_data_types.ipynb\n", + "05/29/2020 03:39 PM 293,225 Session2-ControlFlow, Loops & functions.ipynb\n", + "06/02/2020 02:47 PM 232,945 Session3 - Exceptions & File Handling.ipynb\n", + "06/02/2020 03:46 PM 22,939 Session3 - More on Functions.ipynb\n", + " 4 File(s) 596,080 bytes\n", + " 3 Dir(s) 78,167,195,648 bytes free\n" + ] + } + ], + "source": [ + "ls" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "<_io.TextIOWrapper name='Session1-variable_data_types.ipynb' mode='r' encoding='utf-8'>" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "file" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [], + "source": [ + "open?" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [], + "source": [ + "# close the file\n", + "file.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "I/O operation on closed file.", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mfile\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mValueError\u001b[0m: I/O operation on closed file." + ] + } + ], + "source": [ + "file.read()" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "7\n" + ] + } + ], + "source": [ + "# another way of opening file and making sure it gets closed\n", + "with open('Session1-variable_data_types.ipynb', 'r+', encoding='utf-8') as f:\n", + " print(f.write(\"kljdlkj\"))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "a bytes-like object is required, not 'str'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"file.txt\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'ab'\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Hey there!\\n\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m: a bytes-like object is required, not 'str'" + ] + } + ], + "source": [ + "with open(\"file.txt\", 'ab') as f:\n", + " f.write(\"Hey there!\\n\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### modes\n", + "\n", + "We can specify the mode while opening a file. In mode, we specify whether we want to read r, write w or append a to the file. We can also specify if we want to open the file in text mode or binary mode.\n", + "\n", + "The default is reading in text mode. In this mode, we get strings when reading from the file.\n", + "\n", + "On the other hand, binary mode returns bytes and this is the mode to be used when dealing with non-text files like images or executable files.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# TODO explore the other file modes like t, X" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are three different categories of file objects:\n", + "\n", + "- Text files\n", + "- Buffered binary files\n", + "- Raw binary files\n", + "\n", + "Each of these file types are defined in the io module. Here’s a quick rundown of how everything lines up." + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "f = open('../apps/todo-cli/data.txt')\n", + "\n", + "f1 = open('../apps/todo-cli/data.txt', 'r')\n", + "\n", + "f2 = open('../apps/todo-cli/data.txt', 'w')" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "<_io.TextIOWrapper name='../apps/todo-cli/data.txt' mode='r' encoding='cp1252'>\n", + "<_io.TextIOWrapper name='../apps/todo-cli/data.txt' mode='r' encoding='cp1252'>\n", + "<_io.TextIOWrapper name='../apps/todo-cli/data.txt' mode='w' encoding='cp1252'>\n" + ] + } + ], + "source": [ + "print(f, f1, f2, sep=\"\\n\")" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "f1 = open('../apps/todo-cli/data.txt', 'rb')\n", + "\n", + "f2 = open('../apps/todo-cli/data.txt', 'wb')" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "<_io.BufferedReader name='../apps/todo-cli/data.txt'>\n", + "<_io.BufferedWriter name='../apps/todo-cli/data.txt'>\n" + ] + } + ], + "source": [ + "print(f1, f2, sep=\"\\n\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Reading Files in Python\n", + "\n", + "\n", + "To read a file in Python, we must open the file in reading r mode.\n", + "\n", + "There are various methods available for this purpose. We can use the read(size) method to read in the size number of data. If the size parameter is not specified, it reads and returns up to the end of the file.\n", + "\n", + "We can read the text.txt file we wrote in the above section in the following way:" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ID, \n", + "Titl\n", + "e, DueDate, Description, Status\n", + "1, Session-4 prep, today, Demostrate CLI app again, [ ]\n", + "\n" + ] + } + ], + "source": [ + "f = open(\"../apps/todo-cli/data.txt\", 'r',encoding = 'utf-8')\n", + "print(f.read(4)) # read the first 4 data\n", + "\n", + "print(f.read(4)) # read the next 4 data\n", + "\n", + "\n", + "print(f.read()) # read in the rest till end of file\n" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ID, Title, DueDate, Description, Status\n", + "Something SomethingSomething Something\n" + ] + } + ], + "source": [ + "f = open(\"../apps/todo-cli/data.txt\", 'r+',encoding = 'utf-8')\n", + "data = f.read()\n", + "print(data)\n", + "f.write(\"Something Something\")\n", + "f.close()\n", + "\n", + "# f = open(\"../apps/todo-cli/data.txt\", 'r+',encoding = 'utf-8')\n", + "# data = f.read()\n", + "# print(data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "100\n" + ] + }, + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We can change our current file cursor (position) using the seek() method. \n", + "# Similarly, the tell() method returns our current position (in number of bytes).\n", + "print(f.tell())\n", + "f.seek(0)" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'ID, Title, DueDate, Description, Status\\n1, Session-4 prep, today, Demostrate CLI app again, [ ]\\n'" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f.read()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Python File Methods\n", + "There are various methods available with the file object. Some of them have been used in the above examples.\n", + "\n", + "Here is the complete list of methods in text mode with a brief description:" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Exceptions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Exceptions which are events that can modify the *flow* of control through a program. \n", + "\n", + "In Python, exceptions are triggered automatically on errors, and they can be triggered and intercepted by your code.\n", + "\n", + "They are processed by **four** statements we’ll study in this notebook, the first of which has two variations (listed separately here) and the last of which was an optional extension until Python 2.6 and 3.0:\n", + "\n", + "* `try/except`:\n", + " * Catch and recover from exceptions raised by Python, or by you\n", + " \n", + "* `try/finally`:\n", + " * Perform cleanup actions, whether exceptions occur or not.\n", + "\n", + "* `raise`:\n", + " * Trigger an exception manually in your code.\n", + " \n", + "* `assert`:\n", + " * Conditionally trigger an exception in your code.\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "ename": "ZeroDivisionError", + "evalue": "division by zero", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Exceptions\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;36m1\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mZeroDivisionError\u001b[0m: division by zero" + ] + } + ], + "source": [ + "# Exceptions - Example 1\n", + "\n", + "1/0" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "EOL while scanning string literal (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m print(\"jkhfkhk)\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m EOL while scanning string literal\n" + ] + } + ], + "source": [ + "print(\"jkhfkhk)" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "can only concatenate str (not \"int\") to str", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Exceptions - Example 2\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[1;34m\"sanchit\"\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;36m5\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str" + ] + } + ], + "source": [ + "# Exceptions - Example 2\n", + "\"sanchit\"+Obj" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "ename": "KeyError", + "evalue": "5", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Exceptions - Example 3\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0md\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m3\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;36m4\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0md\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m5\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mKeyError\u001b[0m: 5" + ] + } + ], + "source": [ + "# Exceptions - Example 3\n", + "d = {1: 2, 3:4}\n", + "print(d[5])" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", + "1\n", + "1\n", + "2\n", + "2\n", + "3\n", + "3\n", + "4\n", + "4\n", + "5\n", + "5\n", + "6\n", + "6\n", + "7\n", + "7\n", + "8\n", + "8\n", + "9\n", + "9\n", + "10\n" + ] + }, + { + "ename": "IndexError", + "evalue": "list index out of range", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0marr\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 9\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marr\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 10\u001b[0m \u001b[0mx\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mIndexError\u001b[0m: list index out of range" + ] + } + ], + "source": [ + "# Exceptions - Example 4\n", + "\n", + "arr = list(range(10))\n", + "print(arr)\n", + "\n", + "x = 1\n", + "for i in arr:\n", + " print(x)\n", + " print(arr[x])\n", + " x += 1\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Raising an Exception\n", + "\n", + "We can use raise to throw an exception if a condition occurs. The statement can be complemented with a custom exception.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "ename": "Exception", + "evalue": "x should not exceed 5. The value of x was: 10", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mException\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m10\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m5\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 5\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mException\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'x should not exceed 5. The value of x was: {}'\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mException\u001b[0m: x should not exceed 5. The value of x was: 10" + ] + } + ], + "source": [ + "# how to raise exceptions forcefully\n", + "\n", + "x = 10\n", + "if x > 5:\n", + " raise Exception('x should not exceed 5. The value of x was: {}'.format(x))" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "ename": "AssertionError", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAssertionError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Use of Assert statements\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;32massert\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Sanchit!\"\u001b[0m \u001b[1;32min\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m\"Sanchit\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"Balchandani\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;31m# if \"Sanchit!\" in [\"Sanchit\", \"Balchandani\"]:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mAssertionError\u001b[0m: " + ] + } + ], + "source": [ + "# Use of Assert statements\n", + "\n", + "assert(\"Sanchit!\" in [\"Sanchit\", \"Balchandani\"])\n", + "\n", + "# if \"Sanchit!\" in [\"Sanchit\", \"Balchandani\"]:\n", + "# print(\"Somethhing\")\n", + "# else:\n", + "# print(\"Something else\")" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"Sanchit!\" in [\"Sanchit\", \"Balchandani\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# TODO - Read about Recursion \n", + "\n", + "# Fibonacci 0,1,1,2,3,5,8,13" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "ename": "AssertionError", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAssertionError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfib\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 15\u001b[1;33m \u001b[0mprint_fib\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 16\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m\u001b[0m in \u001b[0;36mprint_fib\u001b[1;34m(num)\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mprint_fib\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 10\u001b[1;33m \u001b[1;32massert\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnum\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 11\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Fibonacci sequence:\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mAssertionError\u001b[0m: " + ] + } + ], + "source": [ + "# another example on assert\n", + "\n", + "def fib(n):\n", + " if n == 0 or n ==1:\n", + " return n\n", + " else:\n", + " return fib(n-1)+fib(n-2)\n", + " \n", + "def print_fib(num):\n", + " assert(num > 0)\n", + " print(\"Fibonacci sequence:\")\n", + " for i in range(num):\n", + " print(fib(i))\n", + " \n", + "print_fib(-1)\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# `try/except` Statement syntax" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```\n", + "try:\n", + " statements # Run this main action first\n", + "except name1: \n", + " # Run if name1 is raised during try block\n", + " statements\n", + "except (name2, name3): \n", + " # Run if any of these exceptions occur\n", + " statements \n", + "except name4 as var: \n", + " # Run if name4 is raised, assign instance raised to var \n", + " statements\n", + "except: # Run for all other exceptions raised\n", + " statements\n", + "else:\n", + " statements # Run if no exception was raised during try block\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Try & Except - Example 1\n", + "\n", + "id = int(input())\n" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The entry is a\n", + "Oops! occurred.\n", + "Next entry.\n", + "\n", + "The entry is 0\n", + "Oops! occurred.\n", + "Next entry.\n", + "\n", + "The entry is 2\n", + "The reciprocal of 2 is 0.5\n" + ] + } + ], + "source": [ + "# Try & Except - Example 2\n", + "import sys\n", + "\n", + "randomList = ['a', 0, 2]\n", + "\n", + "for entry in randomList:\n", + " try:\n", + " print(\"The entry is\", entry)\n", + " r = 1/int(entry)\n", + " break\n", + " except Exception as e:\n", + " print(\"Oops!\", e.__class__, \"occurred.\")\n", + " print(\"Next entry.\")\n", + " print()\n", + "print(\"The reciprocal of\", entry, \"is\", r)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Try & Except - Example 3\n", + "\n", + "try:\n", + " with open('file.log', 'r') as file:\n", + " lines = file.readlines()\n", + " print(lines[1])\n", + "except FileNotFoundError as fnf_error:\n", + " raise\n", + "except IndexError:\n", + " print(\"list index out of error\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# `try/finally` Statement" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The other flavor of the try statement is a specialization that has to do with finalization (a.k.a. termination) actions. If a finally clause is included in a try, Python will always run its block of statements “on the way out” of the try statement, whether an exception occurred while the try block was running or not. \n", + "\n", + "In it's general form, it is:\n", + "\n", + "```\n", + "try:\n", + " statements # Run this action first \n", + "finally:\n", + " statements # Always run this code on the way out\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "try:\n", + " f = open(\"Session3-Exceptions.ipynb\", encoding = 'utf-8')\n", + " # perform file operations\n", + "except:\n", + " pass\n", + "finally:\n", + " f.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## User Defined Exceptions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Example 1\n", + "\n", + "class AlreadyGotOne(Exception):\n", + " pass\n", + "\n", + "def my_func():\n", + " raise AlreadyGotOne()\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "got exception\n" + ] + } + ], + "source": [ + "try:\n", + " my_func()\n", + "except AlreadyGotOne:\n", + " print('got exception')" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "ename": "Career", + "evalue": "So I became a waiter of Engineer", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mCareer\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;34m'So I became a waiter of {}'\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_job\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 10\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mCareer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Engineer'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mCareer\u001b[0m: So I became a waiter of Engineer" + ] + } + ], + "source": [ + "# Example 2\n", + "class Career(Exception):\n", + " \n", + " def __init__(self, job, *args, **kwargs):\n", + " super(Career, self).__init__(*args, **kwargs)\n", + " self._job = job\n", + " \n", + " def __str__(self): \n", + " return 'So I became a waiter of {}'.format(self._job)\n", + " \n", + "raise Career('Engineer')" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Enter salary amount: 12\n" + ] + }, + { + "ename": "SalaryNotInRangeError", + "evalue": "Salary is not in (5000, 15000) range", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mSalaryNotInRangeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 10\u001b[0m \u001b[0msalary\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Enter salary amount: \"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;36m5000\u001b[0m \u001b[1;33m<\u001b[0m \u001b[0msalary\u001b[0m \u001b[1;33m<\u001b[0m \u001b[1;36m15000\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 12\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mSalaryNotInRangeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msalary\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mSalaryNotInRangeError\u001b[0m: Salary is not in (5000, 15000) range" + ] + } + ], + "source": [ + "# Example 3\n", + "\n", + "class SalaryNotInRangeError(Exception):\n", + " def __init__(self, salary, message=\"Salary is not in (5000, 15000) range\"):\n", + " self.salary = salary\n", + " self.message = message\n", + " super().__init__(self.message)\n", + "\n", + "\n", + "salary = int(input(\"Enter salary amount: \"))\n", + "if not 5000 < salary < 15000:\n", + " raise SalaryNotInRangeError(salary)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/notebooks/Session3 - More on Functions.ipynb b/notebooks/4_more_on_functions.ipynb similarity index 100% rename from notebooks/Session3 - More on Functions.ipynb rename to notebooks/4_more_on_functions.ipynb diff --git a/notebooks/5_map_reduce_filter_lambda_scoping.ipynb b/notebooks/5_map_reduce_filter_lambda_scoping.ipynb new file mode 100644 index 0000000..82033e5 --- /dev/null +++ b/notebooks/5_map_reduce_filter_lambda_scoping.ipynb @@ -0,0 +1,650 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### What are lambda functions in Python?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Python, an anonymous function is a function that is defined without a name.\n", + "\n", + "While normal functions are defined using the def keyword in Python, anonymous functions are defined using the lambda keyword.\n", + "\n", + "Hence, anonymous functions are also called lambda functions.\n", + "\n", + "\n", + "Syntax of Lambda Function in python
\n", + "```lambda arguments: expression```" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10\n" + ] + } + ], + "source": [ + "# use of lambda functions - Example 1\n", + "double = lambda x: x * 2\n", + "\n", + "print(double(5))" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "13\n" + ] + } + ], + "source": [ + "# use of lambda functions - Example 2\n", + "add_square = lambda x,y: x**2+y**2\n", + "\n", + "print(add_square(2,3))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Map function\n", + "\n", + "Basic Syntax
\n", + "```map(function_object, iterable1, iterable2,...)```" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Example 1\n", + "\n", + "def multiply2(x):\n", + " return x * 2\n", + " \n", + "map(multiply2, [1, 2, 3, 4]) # Output [2, 4, 6, 8]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Example 2\n", + "\n", + "map(lambda x : x*2, [1, 2, 3, 4]) #Output [2, 4, 6, 8]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['python', 'java']\n", + "[100, 80]\n", + "[True, False]\n" + ] + } + ], + "source": [ + "# Example 3\n", + "\n", + "dict_a = [{'name': 'python', 'points': 10}, {'name': 'java', 'points': 8}]\n", + " \n", + "print(list(map(lambda x : x['name'], dict_a)))\n", + " \n", + "print(list(map(lambda x : x['points']*10, dict_a)))\n", + "\n", + "print(list(map(lambda x : x['name'] == \"python\", dict_a)))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[11, 22, 33]\n" + ] + } + ], + "source": [ + "# Example 4\n", + "\n", + "list_a = [1, 2, 3]\n", + "list_b = [10, 20, 30]\n", + " \n", + "print(list(map(lambda x, y: x + y, list_a, list_b)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Filter function\n", + "\n", + "Basic Syntax
\n", + "```filter(function_object, iterable1, iterable2,...)```" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Example 1\n", + "\n", + "a = [1, 2, 3, 4, 5, 6]\n", + "filter(lambda x : x % 2 == 0, a)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Example 2\n", + "\n", + "dict_a = [{'name': 'python', 'points': 10}, {'name': 'java', 'points': 8}, {'name': 'python', 'points': 10}]\n", + "\n", + "filter(lambda x : x['name'] == 'python', dict_a)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Comprehensions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Dictionary Comprehensions" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'milk': 0.7752, 'coffee': 1.9, 'bread': 1.9}\n" + ] + } + ], + "source": [ + "# Example 1 \n", + "\n", + "old_price = {'milk': 1.02, 'coffee': 2.5, 'bread': 2.5}\n", + "\n", + "dollar_to_pound = 0.76\n", + "new_price = {item: value*dollar_to_pound for (item, value) in old_price.items()}\n", + "print(new_price)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'john': 33}\n" + ] + } + ], + "source": [ + "# Example 2 - with if condition\n", + "\n", + "original_dict = {'jack': 38, 'michael': 48, 'guido': 57, 'john': 33}\n", + "\n", + "new_dict = {k: v for (k, v) in original_dict.items() if v % 2 != 0 if v < 40}\n", + "print(new_dict)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'jack': 'young', 'michael': 'old', 'guido': 'old', 'john': 'young'}\n" + ] + } + ], + "source": [ + "# Example 3 - with if else\n", + "\n", + "original_dict = {'jack': 38, 'michael': 48, 'guido': 57, 'john': 33}\n", + "\n", + "new_dict_1 = {k: ('old' if v > 40 else 'young')\n", + " for (k, v) in original_dict.items()}\n", + "print(new_dict_1)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{2: {1: 2, 2: 4, 3: 6, 4: 8, 5: 10}, 3: {1: 3, 2: 6, 3: 9, 4: 12, 5: 15}, 4: {1: 4, 2: 8, 3: 12, 4: 16, 5: 20}}\n" + ] + } + ], + "source": [ + "# Example 4 - nested dictionary comprehensions\n", + "\n", + "dictionary = {\n", + " k1: {k2: k1 * k2 for k2 in range(1, 6)} for k1 in range(2, 5)\n", + "}\n", + "print(dictionary)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Set Comprehensions" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Alice', 'Arnold', 'Bill', 'Mary'}" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Example\n", + "\n", + "names = [ 'Arnold', 'BILL', 'alice', 'arnold', 'MARY', 'J', 'BIll' ,'maRy']\n", + "res = {name.capitalize() for name in names if len(name) > 1}\n", + "res" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Global, Local and Nonlocal" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Variable Scoping\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Global Variables
\n", + "In Python, a variable declared outside of the function or in global scope is known as a global variable. This means that a global variable can be accessed inside or outside of the function." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x inside: global\n", + "x outside: global\n" + ] + } + ], + "source": [ + "# example 1\n", + "\n", + "x = \"global\"\n", + "\n", + "def foo():\n", + " print(\"x inside:\", x)\n", + "\n", + "\n", + "foo()\n", + "print(\"x outside:\", x)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10\n" + ] + } + ], + "source": [ + "# Example 2\n", + "\n", + "x = 5\n", + "\n", + "def foo():\n", + " x = 5\n", + " x = x * 2\n", + " print(x)\n", + "\n", + "foo()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10\n", + "11\n", + "11\n" + ] + } + ], + "source": [ + "# Example 3\n", + "\n", + "x = 10\n", + "def foobar():\n", + " global x\n", + " print(x)\n", + " x += 1\n", + " print(x)\n", + "\n", + "foobar()\n", + "print(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Rules of global Keyword
\n", + "The basic rules for global keyword in Python are:
\n", + "\n", + "- When we create a variable inside a function, it is local by default.
\n", + "- When we define a variable outside of a function, it is global by default. You don't have to use global keyword.
\n", + "- We use global keyword to read and write a global variable inside a function.
\n", + "- Use of global keyword outside a function has no effect.
" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Before calling bar: 20\n", + "Calling bar now\n" + ] + }, + { + "ename": "NameError", + "evalue": "name 'd' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"After calling bar: \"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0md\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 16\u001b[1;33m \u001b[0mfoo\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 17\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 18\u001b[0m \u001b[1;31m# print(\"x in main: \", d)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m\u001b[0m in \u001b[0;36mfoo\u001b[1;34m()\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Before calling bar: \"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0md\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Calling bar now\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 13\u001b[1;33m \u001b[0mbar\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 14\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"After calling bar: \"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0md\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m\u001b[0m in \u001b[0;36mbar\u001b[1;34m()\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mbar\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;32mglobal\u001b[0m \u001b[0md\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[0md\u001b[0m \u001b[1;33m+=\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 9\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0md\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 10\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mNameError\u001b[0m: name 'd' is not defined" + ] + } + ], + "source": [ + "# global keyword in nested functions\n", + "\n", + "def foo():\n", + " d = 20\n", + "\n", + " def bar():\n", + " global d\n", + " d +=1\n", + " print(d)\n", + " \n", + " print(\"Before calling bar: \", d)\n", + " print(\"Calling bar now\")\n", + " bar()\n", + " print(\"After calling bar: \", d)\n", + "\n", + "foo()\n", + "\n", + "# print(\"x in main: \", d)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Understanding nonlocal variable\n", + "\n", + "Nonlocal variables are used in nested functions whose local scope is not defined. This means that the variable can be neither in the local nor the global scope." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Some value + Something else\n", + "Some local value + Something else\n" + ] + } + ], + "source": [ + "gv = \"Some value\" # global variable\n", + "\n", + "def func():\n", + " lv = \"Some local value\" # local variable\n", + " def nested_func():\n", + " global gv\n", + " gv += \" + Something else\"\n", + " print(gv)\n", + " nonlocal lv\n", + " lv += \" + Something else\"\n", + " print(lv)\n", + " nested_func()\n", + " \n", + "func()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "no binding for nonlocal 'gv' found (, line 8)", + "output_type": "error", + "traceback": [ + "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m8\u001b[0m\n\u001b[1;33m nonlocal gv\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m no binding for nonlocal 'gv' found\n" + ] + } + ], + "source": [ + "# Using nonlocal we can't change global scope variables\n", + "\n", + "gv = \"Some value\" # global variable\n", + "\n", + "def func():\n", + " lv = \"Some local value\" # local variable\n", + " def nested_func():\n", + " nonlocal gv\n", + " gv += \" + Something else\"\n", + " print(gv)\n", + " nonlocal lv\n", + " lv += \" + Something else\"\n", + " print(lv)\n", + " nested_func()\n", + " \n", + "func()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Automation Ideas using Python\n", + "\n", + "- Write a CLI to check COVID-19 cases on terminal\n", + "- Write a CLI to check weather details on terminal\n", + "- Automate the clutter in your Download/Desktop folder\n", + "- Write a Script to keep your mouse moving (#WFH hack :D)\n", + "- Write a watcher script to check for item with less price [to be picked later]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/6_imports_module_packages.ipynb b/notebooks/6_imports_module_packages.ipynb new file mode 100644 index 0000000..c268be0 --- /dev/null +++ b/notebooks/6_imports_module_packages.ipynb @@ -0,0 +1,737 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding \\__name\\__ built in\n", + "\n", + "The \\__name\\__ is a special built-in variable which evaluates to the name of the current module. However, if a module is being run directly (from command line), then \\__name\\__ instead is set to the string “\\__main\\__”." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "foo.__name__ set to __main__\n" + ] + } + ], + "source": [ + "# foo.py\n", + "import bar\n", + "\n", + "print(\"foo.__name__ set to \", __name__)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "bar.__name__ set to __main__\n" + ] + } + ], + "source": [ + "# bar.py\n", + "\n", + "print(\"bar.__name__ set to \", __name__)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Use of \\__name\\__ == \"\\__main__\\\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using \\__name\\__ == \"\\__main\\__\" we can find out whether the value of \"\\__name\\__\" built in is equals to \"\\__main\\__\" or not. If it is equivalent it means module is directly being called form the terminal itself. If not then means it is being called form some other module." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# let's look at some of the examples" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "top-level in person module\n", + "person mod is run directly\n" + ] + } + ], + "source": [ + "v edf" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# module utils.py\n", + "import person\n", + "\n", + "person.creds()\n", + "\n", + "if __name__ == \"__main__\":\n", + " print(\"utils mod is run directly\")\n", + "else:\n", + " print(\"utils mod is imported into another module\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Modules and Packages" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Python modules and Python packages, two mechanisms that facilitate modular programming." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Modular Programming\n", + "\n", + "It refers to the process of breaking a large, unwieldy programming task into separate, smaller, more manageable subtasks or modules. Advantages are below - \n", + "\n", + "- Simplicity\n", + "- Maintainability\n", + "- Reusability\n", + "- Scoping" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### What are modules in Python?\n", + "\n", + "Modules refer to a file containing Python statements and definitions.\n", + "\n", + "A file containing Python code, for example: example.py, is called a module, and its module name would be example." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# example.py\n", + "# Python Module example\n", + "\n", + "def add(a, b):\n", + " \"\"\"This program adds two\n", + " numbers and return the result\"\"\"\n", + "\n", + " result = a + b\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# let's try and import this in Python terminal\n", + "# call function add()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of pi is 3.141592653589793\n" + ] + } + ], + "source": [ + "# import some native libraies\n", + "# standard module math\n", + "\n", + "import math\n", + "print(\"The value of pi is\", math.pi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The Module Search Path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import example" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When the interpreter executes the above import statement, it searches for example.py in a list of directories assembled from the following sources:\n", + "\n", + "- The directory from which the input script was run or the current directory\n", + "- The list of directories contained in the PYTHONPATH environment variable, if it is set.\n", + "- An installation-dependent list of directories configured at the time Python is installed\n", + "\n", + "The resulting search path is accessible in the Python variable sys.path, which is obtained from a module named sys:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C:\\cygwin64\\home\\Sanchit_Balchandani\\Workspace\\python-ws\\python-for-devops\\notebooks\n", + "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\python37.zip\n", + "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\DLLs\n", + "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\n", + "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\n", + "\n", + "C:\\Users\\Sanchit_Balchandani\\AppData\\Roaming\\Python\\Python37\\site-packages\n", + "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\n", + "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\win32\n", + "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\win32\\lib\n", + "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\Pythonwin\n", + "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\IPython\\extensions\n", + "C:\\cygwin64\\home\\Sanchit_Balchandani\\.ipython\n" + ] + } + ], + "source": [ + "import sys\n", + "for i in sys.path: print(i)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'c:\\\\users\\\\sanchit_balchandani\\\\appdata\\\\local\\\\programs\\\\python\\\\python37\\\\lib\\\\site-packages\\\\requests\\\\__init__.py'" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import requests\n", + "\n", + "requests.__file__" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C:\\cygwin64\\home\\Sanchit_Balchandani\\Workspace\\python-ws\\python-for-devops\\notebooks\\modules_and_packages\\math.py\n" + ] + }, + { + "data": { + "text/plain": [ + "1234" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# using from keyword to import \n", + "\n", + "import math\n", + "from modules_and_packages import math\n", + "\n", + "print(math.__file__)\n", + "\n", + "math.pi" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "# Use of as keyword (renaming module)\n", + "\n", + "# let look an example on terminal\n", + "\n", + "# rom import as \n", + "\n", + "# import as " + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Module not found\n" + ] + } + ], + "source": [ + "# Use of try and except for import validations\n", + "\n", + "try:\n", + " # Non-existent module\n", + " import baz\n", + "except ImportError:\n", + " print('Module not found')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The dir() Function\n", + "The built-in function dir() returns a list of defined names in a namespace. Without arguments, it produces an alphabetically sorted list of names in the current local symbol table:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['In',\n", + " 'Out',\n", + " '_',\n", + " '_23',\n", + " '_27',\n", + " '_28',\n", + " '_29',\n", + " '_30',\n", + " '_31',\n", + " '_32',\n", + " '_34',\n", + " '_35',\n", + " '__',\n", + " '___',\n", + " '__builtin__',\n", + " '__builtins__',\n", + " '__doc__',\n", + " '__loader__',\n", + " '__name__',\n", + " '__package__',\n", + " '__spec__',\n", + " '_dh',\n", + " '_i',\n", + " '_i1',\n", + " '_i10',\n", + " '_i11',\n", + " '_i12',\n", + " '_i13',\n", + " '_i14',\n", + " '_i15',\n", + " '_i16',\n", + " '_i17',\n", + " '_i18',\n", + " '_i19',\n", + " '_i2',\n", + " '_i20',\n", + " '_i21',\n", + " '_i22',\n", + " '_i23',\n", + " '_i24',\n", + " '_i25',\n", + " '_i26',\n", + " '_i27',\n", + " '_i28',\n", + " '_i29',\n", + " '_i3',\n", + " '_i30',\n", + " '_i31',\n", + " '_i32',\n", + " '_i33',\n", + " '_i34',\n", + " '_i35',\n", + " '_i36',\n", + " '_i37',\n", + " '_i38',\n", + " '_i39',\n", + " '_i4',\n", + " '_i40',\n", + " '_i41',\n", + " '_i5',\n", + " '_i6',\n", + " '_i7',\n", + " '_i8',\n", + " '_i9',\n", + " '_ih',\n", + " '_ii',\n", + " '_iii',\n", + " '_oh',\n", + " 'add',\n", + " 'creds',\n", + " 'exit',\n", + " 'get_ipython',\n", + " 'i',\n", + " 'math',\n", + " 'proj',\n", + " 'quit',\n", + " 'requests',\n", + " 'sys']" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir()" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "my_funny_randon_horrible_variable = [\"Sanchit\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['In',\n", + " 'Out',\n", + " '_',\n", + " '_23',\n", + " '_27',\n", + " '_28',\n", + " '_29',\n", + " '_30',\n", + " '_31',\n", + " '_32',\n", + " '_34',\n", + " '_35',\n", + " '_41',\n", + " '__',\n", + " '___',\n", + " '__builtin__',\n", + " '__builtins__',\n", + " '__doc__',\n", + " '__loader__',\n", + " '__name__',\n", + " '__package__',\n", + " '__spec__',\n", + " '_dh',\n", + " '_i',\n", + " '_i1',\n", + " '_i10',\n", + " '_i11',\n", + " '_i12',\n", + " '_i13',\n", + " '_i14',\n", + " '_i15',\n", + " '_i16',\n", + " '_i17',\n", + " '_i18',\n", + " '_i19',\n", + " '_i2',\n", + " '_i20',\n", + " '_i21',\n", + " '_i22',\n", + " '_i23',\n", + " '_i24',\n", + " '_i25',\n", + " '_i26',\n", + " '_i27',\n", + " '_i28',\n", + " '_i29',\n", + " '_i3',\n", + " '_i30',\n", + " '_i31',\n", + " '_i32',\n", + " '_i33',\n", + " '_i34',\n", + " '_i35',\n", + " '_i36',\n", + " '_i37',\n", + " '_i38',\n", + " '_i39',\n", + " '_i4',\n", + " '_i40',\n", + " '_i41',\n", + " '_i42',\n", + " '_i43',\n", + " '_i5',\n", + " '_i6',\n", + " '_i7',\n", + " '_i8',\n", + " '_i9',\n", + " '_ih',\n", + " '_ii',\n", + " '_iii',\n", + " '_oh',\n", + " 'add',\n", + " 'creds',\n", + " 'exit',\n", + " 'get_ipython',\n", + " 'i',\n", + " 'math',\n", + " 'my_funny_randon_horrible_variable',\n", + " 'proj',\n", + " 'quit',\n", + " 'requests',\n", + " 'sys']" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Reloading a Module" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For reasons of efficiency, a module is only loaded once per interpreter session. That is fine for function and class definitions, which typically make up the bulk of a module’s contents. But a module can contain executable statements as well, usually for initialization. Be aware that these statements will only be executed the first time a module is imported." + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "# Let's try some examples on Terminal" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'mod'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;36m100\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m200\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m300\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'mod'" + ] + } + ], + "source": [ + "# Sample Example, will not work here\n", + "\n", + "import mod\n", + "a = [100, 200, 300]\n", + "\n", + "import mod\n", + "\n", + "import importlib\n", + "importlib.reload(mod)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### What are packages?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Package Initialization\n", + "If a file named \\__init\\__.py is present in a package directory, it is invoked when the package or a module in the package is imported. This can be used for execution of package initialization code, such as initialization of package-level data.\n", + "\n", + "For example, consider the following \\__init\\__.py file:" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Let's try some examples on terminal" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Subpackages\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Absolute Import\n", + "In this type of import, we specify the full path of the package/module/function to be imported. A dot(.) is used in pace of slash(/) for the directory structure.\n", + "\n", + "Consider the following directory structure for a package.\n", + "\n", + "python_project_name/packageA/moduleA1.py\n", + "python_project_name/packageA/moduleA2.py" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "# from packageA.moduleA2 import myfunc" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Relative Import\n", + "In relative import, we mention the path of the imported package as relative to the location of the current script which is using the imported module.\n", + "\n", + "A dot indicates one directory up from the current location and two dots indicates two directories up and so on.\n", + "\n", + "Consider the following directory structure for a package.\n", + "\n", + "python_project_name/packageA/moduleA1.py \n", + "\n", + "\n", + "python_project_name/packageB/moduleB1.py" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ..packageA import moduleA1" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/Session7.ipynb b/notebooks/7_decorators_generators_iterators.ipynb similarity index 100% rename from notebooks/Session7.ipynb rename to notebooks/7_decorators_generators_iterators.ipynb diff --git a/notebooks/Session8.ipynb b/notebooks/8_packaging_vnenv.ipynb similarity index 99% rename from notebooks/Session8.ipynb rename to notebooks/8_packaging_vnenv.ipynb index 62bed11..dc2d80e 100644 --- a/notebooks/Session8.ipynb +++ b/notebooks/8_packaging_vnenv.ipynb @@ -378,7 +378,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.9" + "version": "3.7.5" } }, "nbformat": 4, diff --git a/notebooks/9_object_oriented_programming.ipynb b/notebooks/9_object_oriented_programming.ipynb new file mode 100644 index 0000000..dde4461 --- /dev/null +++ b/notebooks/9_object_oriented_programming.ipynb @@ -0,0 +1,2241 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Object Oriented Programming?\n", + "\n", + "Object-oriented programming (OOP) is a programming paradigm based on the concept of objects, which can contain data in the form of attributes and code in the form of methods. Another definition of OOP is a way to build flexible and reusable code to develop more advanced modules and libraries." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### What is Class?\n", + "\n", + "Class is a blueprint for creating custom data structures that contain arbitrary information about something. In the case of an Employee, we could create an Employee() class to track properties about the Employee like the name, age, salary etc" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "# define your first class\n", + "\n", + "class Employee:\n", + " def __init__(self, name, age, salary):\n", + " self.name = name\n", + " self.age = age\n", + " self.salary = salary\n", + " \n", + " \n", + "print(Employee)\n", + "\n", + "# to note that this Employee class is just setting up the blueprint of Employee Structure but not defining/specifying a Employee" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### What is Object?\n", + "\n", + "While the class is the blueprint, an instance is a copy of the class with actual values, literally an object belonging to a specific class. It’s not an idea anymore; it’s an actual Employee, like a employee named Sanchit who’s salary is X INR.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Engineer\n" + ] + } + ], + "source": [ + "class Employee: # compare it with a Docker Image\n", + " skill = \"Engineer\"\n", + " def __init__(self, name, age, salary):\n", + " self.name = name\n", + " self.age = age\n", + " self.salary = salary\n", + " \n", + "# create object of Employee class\n", + "sanchit = Employee(\"Sanchit\", \"32\", 100) # compare it with a Docker Container\n", + "santosh = Employee(\"Santosh\", \"32\", 100)\n", + "print(Employee)\n", + "print(sanchit)\n", + "# print(dir(sanchit))\n", + "\n", + "print(sanchit.name)\n", + "print(sanchit.age)\n", + "print(sanchit.salary)\n", + "\n", + "print(dir(sanchit)) # uncomment and run this line first\n", + "print(sanchit.skill)\n", + "print(sanchit.__class__.skill)\n", + "print(sanchit.__getattribute__(\"skill\"))\n", + "\n", + "# read this blog to understand class variables and instance variables in detail" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Instance Attributes & Class Attributes" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Blue Parrot is a bird\n", + "Green Parrot is also a bird\n", + "Blue Parrot is 10 years old\n", + "Green Parrot is 15 years old\n" + ] + } + ], + "source": [ + "class Parrot:\n", + "\n", + " # class attribute\n", + " species = \"bird\"\n", + "\n", + " # instance attribute\n", + " def __init__(self, name, age):\n", + " self.name = name\n", + " self.age = age\n", + "\n", + "blue = Parrot(\"Blue Parrot\", 10)\n", + "green = Parrot(\"Green Parrot\", 15)\n", + "\n", + "# class attributes\n", + "print(\"{} is a {}\".format(blue.name, blue.species))\n", + "print(\"{} is also a {}\".format(green.name, green.species))\n", + "\n", + "# access the instance attributes\n", + "print(\"{} is {} years old\".format( blue.name, blue.age))\n", + "print(\"{} is {} years old\".format( green.name, green.age))\n", + "\n", + "# blue.species = \"Human\"\n", + "# print(blue.species)\n", + "\n", + "# print(green.species)" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sanchit\n", + "[]\n", + "[1]\n", + "[1]\n", + "[1, 2]\n" + ] + } + ], + "source": [ + "# gotcha\n", + "\n", + "class Service:\n", + " data = []\n", + " def __init__(self, name):\n", + " self.name = name\n", + " \n", + " \n", + "obj = Service(\"Sanchit\")\n", + "\n", + "print(obj.name)\n", + "print(obj.data)\n", + "obj.data.append(1)\n", + "print(obj.data)\n", + "\n", + "\n", + "obj1 = Service(\"Santosh\")\n", + "print(obj1.data)\n", + "obj1.data.append(2)\n", + "print(obj1.data)\n", + "\n", + "# reson of above behaviour is given in the blog I've mentioned above" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#-5 to 256\n", + "a = 256\n", + "b = 256\n", + "id(a)== id(b)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The self\n", + "\n", + "Methods in class have only one specific difference from ordinary functions - they must have an extra first name that has to be added to the beginning of the parameter list, but you do not give a value for this parameter when you call the method, Python will provide it. This particular variable refers to the OBJECT itself, and by convention, it is given the name self.\n", + "\n", + "Although, you can give any name for this parameter, it is strongly recommended that you use the name self - any other name is definitely frowned upon. There are many advantages to using a standard name - any reader of your program will immediately recognize it and even specialized IDEs (Integrated Development Environments) can help you if you use self.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class Employee:\n", + " def __init__(self, name):\n", + " self.name = name\n", + " \n", + " def get_employee_name(self):\n", + " return self.name\n", + " \n", + "e = Employee(\"Sanchit\")\n", + "e.get_employee_name()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Contructor \\__init__() method\n", + "\n", + "A constructor is a special method that is called by default whenever you create an object of a class.\n", + "\n", + "To create a constructor, you have to create a init method in your class. The \\__init__() method gets called as soon as you create an object of your class. Init method's responsibility is to initialize your class instance with defined instance attributes." + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Web\n", + "Python\n" + ] + } + ], + "source": [ + "class Developer:\n", + " def __init__(self, domain, language):\n", + " self.domain = domain\n", + " self.language = language\n", + " \n", + " \n", + "dev = Developer(\"Web\", \"Python\") # __new__ method --> __init__\n", + "print(dev.domain)\n", + "print(dev.language)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The \\__new__() method\n", + "\n", + "new method here is the one which actually does the magic of creating objects in Python and once you create a class object Python behind the scene calls \\__new__() method and it takes care of creating the object and post that the \\__init__() method gets called which initializes the class with instance attributes" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# magic methods or dunder methods" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Create and return a new object. See help(type) for accurate signature.\n" + ] + } + ], + "source": [ + "class Developer:\n", + " def __init__(self, domain, language):\n", + " self.domain = domain\n", + " self.language = language\n", + " \n", + "\n", + "dev = object.__new__(Developer) # object\n", + "print(dev)\n", + "dev.__init__(\"Backend\", \"Python\")\n", + "print(dev.domain, dev.language)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class A:\n", + " def xyz():\n", + " pass\n", + "\n", + "class B(A):\n", + " def xyz():\n", + " return \"124\"\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### More on \\__new__() method\n", + "\n", + "As mentioned, we use the \\__new__() method to create the instance. In other words, the returned value for the \\__new__() method is the instance.\n", + "What happens if we don’t let the \\__new__() method return anything?" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "__new__ gets called.\n" + ] + }, + { + "data": { + "text/plain": [ + "NoneType" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class Student:\n", + " def __new__(cls):\n", + " print('__new__ gets called.')\n", + " def __init__(self):\n", + " print('__init__ gets called.')\n", + "\n", + "student = Student()\n", + "type(student)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the example above, nothing is returned from the __new__() method. When we call the constructor (i.e. Student()), only the __new__() method gets called, but not the __init__() method. When we check the type of the created instance, it is NoneType.\n", + "\n", + "As a side note, one thing to mention is that the __new__() method takes an argument called cls, which is the class for which we want to create an instance object. This argument is named cls, which is just a convention in Python, the same as the argument named self in an instance method (i.e., the greet() method in the example above).\n", + "\n", + "\n", + "To instantiate a Student object, the __new__() method should return a newly created Student instance." + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "__new__ gets called.\n", + "__init__ is called\n", + "\n" + ] + } + ], + "source": [ + "class Student:\n", + " def __new__(cls):\n", + " print('__new__ gets called.')\n", + " student = object.__new__(cls)\n", + " return student\n", + " def __init__(self):\n", + " print('__init__ is called')\n", + "\n", + "student = Student()\n", + "\n", + "\n", + "print(type(student))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### What if \\__init__() has other arguments?" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "__new__ gets called.\n", + "__init__ is called\n" + ] + } + ], + "source": [ + "class Student:\n", + " def __new__(cls, *args):\n", + " print('__new__ gets called.')\n", + " student = object.__new__(cls)\n", + " return student\n", + " def __init__(self, name, id_number):\n", + " self.name = name\n", + " self.id_number = id_number\n", + " print('__init__ is called')\n", + "\n", + "student = Student('John Smith', 983044)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# Read more about __init__ and __new__ here \n", + "# https://medium.com/better-programming/understand-python-custom-class-instantiation-beyond-init-85ad1cbe90d" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Class method, Instance Method & Static Method" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('class method called', )\n", + "('instance method called', <__main__.MyClass object at 0x000001C74CC53348>)\n", + "static method called\n" + ] + } + ], + "source": [ + "class MyClass:\n", + " def method(self):\n", + " return 'instance method called', self\n", + "\n", + " @classmethod\n", + " def classmethod(cls):\n", + " return 'class method called', cls\n", + "\n", + " @staticmethod\n", + " def staticmethod():\n", + " return 'static method called'\n", + " \n", + "obj = MyClass()\n", + "\n", + "print(obj.classmethod())\n", + "print(obj.method())\n", + "print(obj.staticmethod())" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(32, 'Sanchit')\n", + "(34, 'Santosh')\n" + ] + } + ], + "source": [ + "class Person:\n", + " def __init__(self, name, age):\n", + " self.name = name\n", + " self.age = age\n", + " \n", + " def get_age(self):\n", + " return self.age*2, self.name\n", + " \n", + "sanchit = Person(\"Sanchit\", 16)\n", + "print(sanchit.get_age())\n", + "\n", + "\n", + "santosh = Person(\"Santosh\", 17)\n", + "print(santosh.get_age())\n" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('class method called', , )\n" + ] + } + ], + "source": [ + "class MyClass:\n", + "\n", + " @classmethod\n", + " def classmethod(cls):\n", + " return 'class method called', cls, type(cls)\n", + "\n", + " \n", + "obj = MyClass()\n", + "\n", + "print(obj.classmethod())\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Instance Methods\n", + "The first method on MyClass, called method, is a regular instance method. That’s the basic, no-frills method type you’ll use most of the time. You can see the method takes one parameter, self, which points to an instance of MyClass when the method is called (but of course instance methods can accept more than just one parameter).\n", + "\n", + "Through the self parameter, instance methods can freely access attributes and other methods on the same object. This gives them a lot of power when it comes to modifying an object’s state.\n", + "\n", + "Not only can they modify object state, instance methods can also access the class itself through the self.__class__ attribute. This means instance methods can also modify class state.\n", + "\n", + "#### Class Methods\n", + "Let’s compare that to the second method, MyClass.classmethod. I marked this method with a @classmethod decorator to flag it as a class method.\n", + "\n", + "Instead of accepting a self parameter, class methods take a cls parameter that points to the class—and not the object instance—when the method is called.\n", + "\n", + "Because the class method only has access to this cls argument, it can’t modify object instance state. That would require access to self. However, class methods can still modify class state that applies across all instances of the class.\n", + "\n", + "#### Static Methods\n", + "The third method, MyClass.staticmethod was marked with a @staticmethod decorator to flag it as a static method.\n", + "\n", + "This type of method takes neither a self nor a cls parameter (but of course it’s free to accept an arbitrary number of other parameters).\n", + "\n", + "Therefore a static method can neither modify object state nor class state. Static methods are restricted in what data they can access - and they’re primarily a way to namespace your methods." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Practical Usage of @classmethod\n", + "\n", + "1. Factory methods\n", + "\n", + "Factory methods are those methods which return a class object (like constructor) for different use cases" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Adam's age is: 19\n", + "John's age is: 35\n" + ] + } + ], + "source": [ + "# now let's see a practical example\n", + "\n", + "from datetime import date\n", + "\n", + "# random Person\n", + "class Person:\n", + " def __init__(self, name, age):\n", + " self.name = name\n", + " self.age = age\n", + "\n", + " @classmethod\n", + " def fromBirthYear(cls, name, birthYear):\n", + " return cls(name, date.today().year - birthYear) # Person(name, date.today().year - birthYear)\n", + "\n", + " def display(self):\n", + " print(self.name + \"'s age is: \" + str(self.age))\n", + "\n", + "person = Person('Adam', 19)\n", + "person.display()\n", + "\n", + "person1 = Person.fromBirthYear('John', 1985)\n", + "person1.display()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here, we have two class instance creator, a constructor and a fromBirthYear method.\n", + "\n", + "Constructor takes normal parameters name and age. While, fromBirthYear takes class, name and birthYear, calculates the current age by subtracting it with the current year and returns the class instance.\n", + "\n", + "The fromBirthYear method takes Person class (not Person object) as the first parameter cls and returns the constructor by calling cls(name, date.today().year - birthYear), which is equivalent to Person(name, date.today().year - birthYear)\n", + "\n", + "Before the method, we see @classmethod. This is called a decorator for converting fromBirthYear to a class method as classmethod()." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2. Correct instance creation in inheritance\n", + " \n", + "Whenever you derive a class from implementing a factory method as a class method, it ensures correct instance creation of the derived class.\n", + "\n", + "You can create a static method for the above example but the object it creates, will always be hardcoded as Base class.\n", + "\n", + "But, when you use a class method, it creates the correct instance of the derived class." + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [], + "source": [ + "isinstance?" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "<__main__.Man object at 0x000001FB9ACA5C88>\n", + "True\n", + "False\n" + ] + } + ], + "source": [ + "from datetime import date\n", + "\n", + "# random Person\n", + "class Person:\n", + " def __init__(self, name, age):\n", + " self.name = name\n", + " self.age = age\n", + "\n", + " @staticmethod\n", + " def fromFathersAge(name, fatherAge, fatherPersonAgeDiff):\n", + " return Person(name, date.today().year - fatherAge + fatherPersonAgeDiff)\n", + "\n", + " @classmethod\n", + " def fromBirthYear(cls, name, birthYear):\n", + " return cls(name, date.today().year - birthYear)\n", + "\n", + " def display(self):\n", + " print(self.name + \"'s age is: \" + str(self.age))\n", + "\n", + "class Man(Person):\n", + " sex = 'Male'\n", + "\n", + "print(Man)\n", + "man = Man.fromBirthYear('John', 1985)\n", + "print(man)\n", + "print(isinstance(man, Man))\n", + "\n", + "man1 = Man.fromFathersAge('John', 1965, 20)\n", + "print(isinstance(man1, Man))" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<__main__.Person at 0x1fb9a8e8b48>" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Man.fromFathersAge('Sanchit', 65, 30)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n" + ] + } + ], + "source": [ + "man = Man.fromBirthYear('John', 1985)\n", + "print(isinstance(man, Man))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Inheritance\n", + "\n", + "Inheritance\n", + "One of the major benefits of object oriented programming is reuse of code and one of the ways this is achieved is through the inheritance mechanism. Inheritance can be best imagined as implementing a type and subtype relationship between classes.\n", + "\n", + "Suppose you want to write a program which has to keep track of the teachers and students in a college. They have some common characteristics such as name, age and address. They also have specific characteristics such as salary, courses and leaves for teachers and, marks and fees for students.\n", + "\n", + "You can create two independent classes for each type and process them but adding a new common characteristic would mean adding to both of these independent classes. This quickly becomes unwieldy.\n", + "\n", + "A better way would be to create a common class called SchoolMember and then have the teacher and student classes inherit from this class, i.e. they will become sub-types of this type (class) and then we can add specific characteristics to these sub-types.\n", + "\n", + "There are many advantages to this approach. If we add/change any functionality in SchoolMember, this is automatically reflected in the subtypes as well. For example, you can add a new ID card field for both teachers and students by simply adding it to the SchoolMember class. However, changes in the subtypes do not affect other subtypes. Another advantage is that you can refer to a teacher or student object as a SchoolMember object which could be useful in some situations such as counting of the number of school members. This is called polymorphism where a sub-type can be substituted in any situation where a parent type is expected, i.e. the object can be treated as an instance of the parent class.\n", + "\n", + "Also observe that we reuse the code of the parent class and we do not need to repeat it in the different classes as we would have had to in case we had used independent classes.\n", + "\n", + "The SchoolMember class in this situation is known as the base class or the superclass. The Teacher and Student classes are called the derived classes or subclasses.\n", + "\n", + "We will now see this example as a program (save as oop_subclass.py):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Person > Father > Son" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(Initialized SchoolMember: XYZ)\n", + "(Initialized Teacher: XYZ)\n", + "(Initialized SchoolMember: ABC)\n", + "(Initialized Student: ABC)\n", + "\n", + "Name:\"XYZ\" Age:\"40\" Salary: \"30000\"\n", + "Name:\"ABC\" Age:\"25\" Marks: \"75\"\n" + ] + } + ], + "source": [ + "class SchoolMember:\n", + " '''Represents any school member.'''\n", + " def __init__(self, name, age):\n", + " self.name = name\n", + " self.age = age\n", + " print('(Initialized SchoolMember: {})'.format(self.name))\n", + "\n", + " def tell(self):\n", + " '''Tell my details.'''\n", + " print('Name:\"{}\" Age:\"{}\"'.format(self.name, self.age), end=\" \")\n", + "\n", + "\n", + "class Teacher(SchoolMember):\n", + " '''Represents a teacher.'''\n", + " def __init__(self, name, age, salary):\n", + " SchoolMember.__init__(self, name, age)\n", + " self.salary = salary\n", + " print('(Initialized Teacher: {})'.format(self.name))\n", + "\n", + " def tell(self):\n", + " SchoolMember.tell(self)\n", + " print('Salary: \"{:d}\"'.format(self.salary))\n", + "\n", + "\n", + "class Student(SchoolMember):\n", + " '''Represents a student.'''\n", + " def __init__(self, name, age, marks):\n", + " SchoolMember.__init__(self, name, age)\n", + " self.marks = marks\n", + " print('(Initialized Student: {})'.format(self.name))\n", + "\n", + " def tell(self):\n", + " SchoolMember.tell(self)\n", + " print('Marks: \"{:d}\"'.format(self.marks))\n", + "\n", + "t = Teacher('XYZ', 40, 30000)\n", + "s = Student('ABC', 25, 75)\n", + "\n", + "# prints a blank line\n", + "print()\n", + "\n", + "members = [t, s]\n", + "for member in members:\n", + " # Works for both Teachers and Students\n", + " member.tell()" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [], + "source": [ + "A\n", + "B(A)\n", + "C(B)\n", + "\n", + "A\n", + "B(A) C(A)\n", + "D(B, C)" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Bird is ready\n", + "Penguin is ready\n", + "Penguin\n", + "Swim faster\n", + "Run faster\n" + ] + } + ], + "source": [ + "# parent class\n", + "class Bird:\n", + " bird_var = \"Some value\"\n", + " def __init__(self):\n", + " print(\"Bird is ready\")\n", + "\n", + " def whoisThis(self):\n", + " print(\"Bird\")\n", + "\n", + " def swim(self):\n", + " print(\"Swim faster\")\n", + "\n", + "# child class\n", + "class Penguin(Bird):\n", + " p_var = \"some other value\"\n", + " def __init__(self):\n", + " self.name = \"Penguin\"\n", + " # call super() function\n", + " #Bird.__init__()\n", + " super().__init__()\n", + " print(\"Penguin is ready\")\n", + "\n", + " def whoisThis(self):\n", + " print(\"Penguin\")\n", + "\n", + " def run(self):\n", + " print(\"Run faster\")\n", + "\n", + "peggy = Penguin()\n", + "peggy.whoisThis()\n", + "peggy.swim()\n", + "peggy.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Bird is ready\n", + "Penguin is ready\n", + "ASDF Penguin\n", + "Bird is ready\n", + "Penguin is ready\n", + "Some value Penguin\n" + ] + } + ], + "source": [ + "ob = Penguin()\n", + "ob.bird_var = \"ASDF\"\n", + "print(ob.bird_var, ob.name)\n", + "\n", + "new_ob = Penguin()\n", + "print(new_ob.bird_var, new_ob.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### super() method\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Let's understand super with an example, but for that let's again look at an inheritance related example\n", + "\n", + "class Rectangle:\n", + " def __init__(self, length, width):\n", + " self.length = length\n", + " self.width = width\n", + "\n", + " def area(self):\n", + " return self.length * self.width\n", + "\n", + " def perimeter(self):\n", + " return 2 * self.length + 2 * self.width\n", + "\n", + "class Square:\n", + " def __init__(self, length):\n", + " self.length = length\n", + "\n", + " def area(self):\n", + " return self.length * self.length\n", + "\n", + " def perimeter(self):\n", + " return 4 * self.length" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "square = Square(4)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "16" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "square.area()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "rectangle = Rectangle(2,4)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rectangle.area()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# By using inheritance, you can reduce the amount of code you write while simultaneously reflecting \n", + "# the real-world relationship between rectangles and squares and also \n", + "\n", + "class Rectangle:\n", + " def __init__(self, length, width):\n", + " self.length = length\n", + " self.width = width\n", + "\n", + " def area(self):\n", + " return self.length * self.width\n", + "\n", + " def perimeter(self):\n", + " return 2 * self.length + 2 * self.width\n", + "\n", + "# Here we declare that the Square class inherits from the Rectangle class\n", + "class Square(Rectangle):\n", + " def __init__(self, length):\n", + " super().__init__(length, length)\n", + " \n", + "# Here, you’ve used super() to call the __init__() of the Rectangle class, \n", + "# allowing you to use it in the Square class without repeating code. Below, \n", + "# the core functionality remains after making changes:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "obj = Square(4)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "square = Square(4)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "16 16\n" + ] + } + ], + "source": [ + "print(square.area(), square.perimeter())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### What Can super() Do for You?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like in other object-oriented languages, it allows you to call methods of the superclass in your subclass. The primary use case of this is to extend the functionality of the inherited method.\n", + "\n", + "In the example below, you will create a class Cube that inherits from Square and extends the functionality of .area() (inherited from the Rectangle class through Square) to calculate the surface area and volume of a Cube instance:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "class Square(Rectangle):\n", + " def __init__(self, length):\n", + " print(\"Square init is getting called\")\n", + " super().__init__(length, length)\n", + "\n", + "class Cube(Square):\n", + " def surface_area(self):\n", + " face_area = super().area()\n", + " return face_area * 6\n", + "\n", + " def volume(self):\n", + " face_area = super().area()\n", + " return face_area * self.length" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Square init is getting called\n", + "<__main__.Cube object at 0x000001B1454AC408>\n" + ] + } + ], + "source": [ + "c = Cube(5)\n", + "print(c)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "150" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.surface_area()" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "125" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.volume()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Play further with Super()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "# another way of calling super look at the comments\n", + "\n", + "class Rectangle1:\n", + " def __init__(self, length, width):\n", + " self.length = length\n", + " self.width = width\n", + "\n", + " def area(self):\n", + " return self.length * self.width\n", + "\n", + " def perimeter(self):\n", + " return 2 * self.length + 2 * self.width\n", + "\n", + "class Square1(Rectangle1):\n", + " def __init__(self, length):\n", + " super(Square1, self).__init__(length, length) # this is equivalent to super().__init__(length, length)\n", + " \n", + " def area(self):\n", + " print(\"Square's area is being called!\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example, you are setting Square as the subclass argument to super(), instead of Cube. This causes super() to start searching for a matching method (in this case, .area()) at one level above Square in the instance hierarchy, in this case Rectangle.\n", + "\n", + "In this specific example, the behavior doesn’t change. But imagine that Square also implemented an .area() function that you wanted to make sure Cube did not use. Calling super() in this way allows you to do that." + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "class Cube1(Square1):\n", + " def surface_area(self):\n", + " face_area = super(Square1, self).area()\n", + " return face_area * 6\n", + "\n", + " def volume(self):\n", + " face_area = super(Square, self).area()\n", + " return face_area * self.length" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "150" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = Cube1(5)\n", + "c.surface_area()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Encapsulation\n", + "\n", + "Encapsulation is the packing of data and functions operating on that data into a single component and restricting the access to some of the object’s components.\n", + "\n", + "\n", + "Encapsulation means that the internal representation of an object is generally hidden from view outside of the object’s definition.A class is an example of encapsulation as it encapsulates all the data that is member functions,variables etc.\n", + "\n", + "\n", + "Difference between Abstraction and Encapsulation\n", + "\n", + "Abstraction is a mechanism whicrh represent the essential features without including implementation details -\n", + "\n", + "Encapsulation: — Information hiding.\n", + "\n", + "Abstraction: — Implementation hiding." + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Selling Price: 900\n", + "Selling Price: 1000\n", + "Selling Price: 21000\n" + ] + } + ], + "source": [ + "# Let's take a look at an example before seeing what encapsulation is\n", + "# Where we will create a computer class with few attributes and try and change the attribute values\n", + "\n", + "\n", + "class Computer:\n", + "\n", + " def __init__(self):\n", + " self.ram = \"1GB\"\n", + " self.maxprice = 900\n", + "\n", + " def sell(self):\n", + " print(\"Selling Price: {}\".format(self.maxprice))\n", + "\n", + " def setMaxPrice(self, price):\n", + " self.maxprice = price\n", + "\n", + "c = Computer()\n", + "c.sell()\n", + "\n", + "# change the price\n", + "c.maxprice = 1000\n", + "c.sell()\n", + "\n", + "# using setter function\n", + "c.setMaxPrice(20000)\n", + "c.maxprice = 21000\n", + "c.sell()" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Selling Price: 900\n", + "Selling Price: 400\n", + "1GB\n", + "2GB\n" + ] + } + ], + "source": [ + "### Encapsulation Example & Private Variables\n", + "class Computer:\n", + "\n", + " def __init__(self):\n", + " self._ram = \"1GB\" # partially private and its just a convention\n", + " self.__maxprice = 900 # makes variable private\n", + "\n", + " def sell(self):\n", + " print(\"Selling Price: {}\".format(self.__maxprice))\n", + "\n", + " def setMaxPrice(self, price):\n", + " self.__maxprice = price\n", + "\n", + "c = Computer()\n", + "c.sell()\n", + "\n", + "c.setMaxPrice(400)\n", + "c.sell()\n", + "print(c._ram)\n", + "c._ram = \"2GB\"\n", + "print(c._ram)\n", + "\n", + "# c.__dir__()\n", + "# c.__maxprice\n", + "\n", + "# # change the price\n", + "# c.__maxprice = 1000\n", + "# print(c.__dir__())\n", + "\n", + "# c.sell()\n", + "\n", + "# # using setter function\n", + "# c.setMaxPrice(1000)\n", + "# c.sell()" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['_ram', '_Computer__maxprice', '__module__', '__init__', 'sell', '_Computer__change_ram', 'setMaxPrice', '__dict__', '__weakref__', '__doc__', '__repr__', '__hash__', '__str__', '__getattribute__', '__setattr__', '__delattr__', '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__new__', '__reduce_ex__', '__reduce__', '__subclasshook__', '__init_subclass__', '__format__', '__sizeof__', '__dir__', '__class__']\n" + ] + }, + { + "ename": "AttributeError", + "evalue": "'Computer' object has no attribute '__change_ram'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 18\u001b[0m \u001b[0mc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mComputer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__dir__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m \u001b[0mc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__change_ram\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 21\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mAttributeError\u001b[0m: 'Computer' object has no attribute '__change_ram'" + ] + } + ], + "source": [ + "### Understanding Private methods\n", + "\n", + "class Computer:\n", + "\n", + " def __init__(self):\n", + " self._ram = \"1GB\" # partially private and its just a convention to let developers know\n", + " self.__maxprice = 900 # makes variable privateFibonacci -  No\n", + "\n", + " def sell(self):\n", + " print(\"Selling Price: {}\".format(self.__maxprice))\n", + " \n", + " def __change_ram(self):\n", + " self.ram = \"0.5GB\"\n", + "\n", + " def setMaxPrice(self, price):\n", + " self.__maxprice = price\n", + " self.__change_ram()\n", + "\n", + "c = Computer()\n", + "print(c.__dir__())\n", + "c.__change_ram()\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Python Multiple Inheritance\n", + "A class can be derived from more than one base class in Python, similar to C++. This is called multiple inheritance.\n", + "\n", + "In multiple inheritance, the features of all the base classes are inherited into the derived class. The syntax for multiple inheritance is similar to single inheritance.\n", + "\n", + "Example" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [], + "source": [ + "class Base1:\n", + " pass\n", + "\n", + "class Base2:\n", + " pass\n", + "\n", + "class MultiDerived(Base1, Base2):\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(, , , )\n", + "[, , , ]\n" + ] + } + ], + "source": [ + "print(MultiDerived.__mro__)\n", + "print(MultiDerived.mro())" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Python Multilevel Inheritance\n", + "\n", + "We can also inherit from a derived class. This is called multilevel inheritance. It can be of any depth in Python.\n", + "\n", + "In multilevel inheritance, features of the base class and the derived class are inherited into the new derived class.\n", + "\n", + "An example with corresponding visualization is given below." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "class Base:\n", + " pass\n", + "\n", + "class Derived1(Base):\n", + " pass\n", + "\n", + "class Derived2(Derived1):\n", + " pass" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the multiple inheritance scenario, any specified attribute is searched first in the current class. If not found, the search continues into parent classes in depth-first, left-right fashion without searching the same class twice.\n", + "\n", + "So, in the above example of MultiDerived class the search order is [MultiDerived, Base1, Base2, object]. This order is also called linearization of MultiDerived class and the set of rules used to find this order is called Method Resolution Order (MRO).\n", + "\n", + "MRO must prevent local precedence ordering and also provide monotonicity. It ensures that a class always appears before its parents. In case of multiple parents, the order is the same as tuples of base classes.\n", + "\n", + "MRO of a class can be viewed as the __mro__ attribute or the mro() method. The former returns a tuple while the latter returns a list." + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[__main__.D, __main__.C, __main__.B, __main__.A, object]" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class A:\n", + " def myfunc(self):\n", + " print(\"A\")\n", + "\n", + "class B(A):\n", + " pass\n", + "# def myfunc(self):\n", + "# print(\"B\")\n", + "\n", + "class C(B):\n", + " pass\n", + "# def myfunc(self):\n", + "# print(\"C\")\n", + "\n", + "class D(C):\n", + " pass\n", + "# def myfunc(self):\n", + "# print(\"D\")\n", + " \n", + "obj = D()\n", + "\n", + "D.mro()\n", + "\n", + "# obj.myfunc()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(, , , )\n", + "[, , , ]\n" + ] + } + ], + "source": [ + "print(MultiDerived.__mro__)\n", + "print(MultiDerived.mro())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets look at one more example" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[__main__.D, __main__.B, __main__.C, __main__.A, object]" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class A:\n", + " def process(self):\n", + " print(\"Class A Process called\")\n", + " \n", + "class B(A):\n", + " pass\n", + "# def process(self):\n", + "# print(\"Class B Process called\")\n", + " \n", + "\n", + "class C(A):\n", + " def process(self):\n", + " print(\"Class C Process called\")\n", + " \n", + "\n", + "class D(B,C):\n", + " pass\n", + " \n", + "obj = D()\n", + "D.mro()\n", + "# obj.process()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "## Rules of MRO\n", + "\n", + "# it will always go from bottom to top in the parent classes to find method\n", + "# in above chain if python finds any class which is being inhertied by a subclass so it will call method from subclass first" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[, , , , , , ]\n" + ] + } + ], + "source": [ + "# Complex example\n", + "\n", + "# Demonstration of MRO\n", + "\n", + "class X:\n", + " pass\n", + "\n", + "\n", + "class Y:\n", + " pass\n", + "\n", + "\n", + "class Z:\n", + " pass\n", + "\n", + "\n", + "class A(X, Y):\n", + " pass\n", + "\n", + "\n", + "class B(Y, Z):\n", + " pass\n", + "\n", + "\n", + "class M(B, A, Z):\n", + " pass\n", + "\n", + "# Output:\n", + "# [, ,\n", + "# , ,\n", + "# , ,\n", + "# ]\n", + "\n", + "print(M.mro())" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### What is Polymorphism?\n", + "The literal meaning of polymorphism is the condition of occurrence in different forms.\n", + "\n", + "Polymorphism is a very important concept in programming. It refers to the use of a single type entity (method, operator or object) to represent different types in different scenarios." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Operator overloading in Python" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "1+2" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__abs__',\n", + " '__add__',\n", + " '__and__',\n", + " '__bool__',\n", + " '__ceil__',\n", + " '__class__',\n", + " '__delattr__',\n", + " '__dir__',\n", + " '__divmod__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__float__',\n", + " '__floor__',\n", + " '__floordiv__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__getnewargs__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__index__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__int__',\n", + " '__invert__',\n", + " '__le__',\n", + " '__lshift__',\n", + " '__lt__',\n", + " '__mod__',\n", + " '__mul__',\n", + " '__ne__',\n", + " '__neg__',\n", + " '__new__',\n", + " '__or__',\n", + " '__pos__',\n", + " '__pow__',\n", + " '__radd__',\n", + " '__rand__',\n", + " '__rdivmod__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__rfloordiv__',\n", + " '__rlshift__',\n", + " '__rmod__',\n", + " '__rmul__',\n", + " '__ror__',\n", + " '__round__',\n", + " '__rpow__',\n", + " '__rrshift__',\n", + " '__rshift__',\n", + " '__rsub__',\n", + " '__rtruediv__',\n", + " '__rxor__',\n", + " '__setattr__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__sub__',\n", + " '__subclasshook__',\n", + " '__truediv__',\n", + " '__trunc__',\n", + " '__xor__',\n", + " 'bit_length',\n", + " 'conjugate',\n", + " 'denominator',\n", + " 'from_bytes',\n", + " 'imag',\n", + " 'numerator',\n", + " 'real',\n", + " 'to_bytes']" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = 5\n", + "dir(a)" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "int.__add__(1,2)" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'12'" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"1\"+\"2\"" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'12'" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "str.__add__(\"1\", \"2\")" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'PythonforDevOps'" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"Python\"+\"for\"+\"DevOps\"" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "1*5" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[1, 1, 1, 1, 1]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[1]*5" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'PythonPythonPythonPythonPython'" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"Python\"*5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You might have wondered how the same built-in operator or function shows different behavior for objects of different classes. This is called operator overloading or function overloading respectively" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "17\n", + "3\n", + "2\n" + ] + } + ], + "source": [ + "# function overloading\n", + "\n", + "print(len(\"Python for DevOps\"))\n", + "print(len([\"OOPs\", \"Singleton\", \"Meta classes\"]))\n", + "print(len({\"Name\": \"Sanchit\", \"Address\": \"India\"}))" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "unsupported operand type(s) for +: 'Student' and 'Student'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[0ms1\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mStudent\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m56\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m67\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[0ms2\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mStudent\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m34\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m56\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[0ms1\u001b[0m\u001b[1;33m+\u001b[0m\u001b[0ms2\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'Student' and 'Student'" + ] + } + ], + "source": [ + "class Student:\n", + " def __init__(self, m1, m2):\n", + " self.m1 = m1\n", + " self.m2 = m2\n", + " \n", + "s1 = Student(56, 67)\n", + "s2 = Student(34, 56)\n", + "s1+s2\n" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "<__main__.Student object at 0x000002714E030548>\n", + "<__main__.Student object at 0x000002714DFA42C8>\n", + "<__main__.Student object at 0x000002714DFA4748>\n", + "90 123\n" + ] + } + ], + "source": [ + "class Student:\n", + " def __init__(self, m1, m2):\n", + " self.m1 = m1\n", + " self.m2 = m2\n", + " \n", + " def __add__(self, item):\n", + " m1 = self.m1 + item.m1\n", + " m2 = self.m2 + item.m2\n", + " return Student(m1, m2)\n", + " \n", + "s1 = Student(56, 67)\n", + "print(s1)\n", + "s2 = Student(34, 56)\n", + "print(s2)\n", + "s3 = s1 + s2\n", + "print(s3)\n", + "print(s3.m1, s3.m2)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "S1 is better\n" + ] + } + ], + "source": [ + "class Student:\n", + " def __init__(self, m1, m2):\n", + " self.m1 = m1\n", + " self.m2 = m2\n", + " \n", + " def __add__(self, item):\n", + " m1 = self.m1 + item.m1\n", + " m2 = self.m2 + item.m2\n", + " return Student(m1, m2)\n", + " \n", + " def __gt__(self, item):\n", + " marks1 = self.m1 + self.m2\n", + " marks2 = item.m1 + item.m2\n", + " return marks1 > marks2\n", + " \n", + "\n", + "s1 = Student(56, 67)\n", + "s2 = Student(34, 56)\n", + "\n", + "if s1 > s2:\n", + " print(\"S1 is better\")\n", + "else:\n", + " print(\"S2 is better\")" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Meow\n", + "I am a cat. My name is Kitty. I am 2.5 years old.\n", + "Meow\n", + "Bark\n", + "I am a dog. My name is Fluffy. I am 4 years old.\n", + "Bark\n" + ] + } + ], + "source": [ + "class Cat:\n", + " def __init__(self, name, age):\n", + " self.name = name\n", + " self.age = age\n", + "\n", + " def info(self):\n", + " print(f\"I am a cat. My name is {self.name}. I am {self.age} years old.\")\n", + "\n", + " def make_sound(self):\n", + " print(\"Meow\")\n", + "\n", + "\n", + "class Dog:\n", + " def __init__(self, name, age):\n", + " self.name = name\n", + " self.age = age\n", + "\n", + " def info(self):\n", + " print(f\"I am a dog. My name is {self.name}. I am {self.age} years old.\")\n", + "\n", + " def make_sound(self):\n", + " print(\"Bark\")\n", + "\n", + "\n", + "cat1 = Cat(\"Kitty\", 2.5)\n", + "dog1 = Dog(\"Fluffy\", 4)\n", + "\n", + "for animal in (cat1, dog1):\n", + " animal.make_sound()\n", + " animal.info()\n", + " animal.make_sound()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/notebooks/Session2-ControlFlow, Loops & functions.ipynb b/notebooks/Session2-ControlFlow, Loops & functions.ipynb deleted file mode 100644 index 782f7b6..0000000 --- a/notebooks/Session2-ControlFlow, Loops & functions.ipynb +++ /dev/null @@ -1,1405 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Session 2 - Control Flow, Loops and Functions" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## If Statements" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "What is an *if* statement?\n", - "===\n", - "An *if* statement tests for a condition, and then responds to that condition. If the condition is true, then whatever action is listed next gets carried out. You can test for multiple conditions at the same time, and respond appropriately to each condition." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "The if-elif...else chain\n", - "===\n", - "You can test whatever series of conditions you want to, and you can test your conditions in any combination you want." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "Simple if statements\n", - "---\n", - "The simplest test has a single **if** statement, and a single statement to execute if the condition is **True**." - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Wow, we have a lot of robbers here!\n" - ] - } - ], - "source": [ - "robbers = ['berlin', 'moscow', 'rio', 'tokyo']\n", - "\n", - "if len(robbers) > 3:\n", - " print(\"Wow, we have a lot of robbers here!\")" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [], - "source": [ - "robbers = ['berlin', 'moscow']\n", - "\n", - "if len(robbers) > 3:\n", - " print(\"Wow, we have a lot of robbers here!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "source": [ - "Notice that there are no errors. The condition `len(robbers) > 3` evaluates to False, and the program moves on to any lines after the **if** block." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "if-else statements\n", - "---\n", - "Many times you will want to respond in two possible ways to a test. If the test evaluates to **True**, you will want to do one thing. If the test evaluates to **False**, you will want to do something else. The **if-else** structure lets you do that easily. Here's what it looks like:" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Okay, this is a reasonable number of robbers.\n" - ] - } - ], - "source": [ - "robbers = ['berlin', 'moscow', 'rio', 'tokyo']\n", - "\n", - "if len(robbers) > 3:\n", - " print(\"Wow, we have a lot of robbers here!\")\n", - "else:\n", - " print(\"Okay, this is a reasonable number of robbers.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "Our results have not changed in this case, because if the test evaluates to **True** only the statements under the **if** statement are executed. The statements under **else** area only executed if the test fails:" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Okay, this is a reasonable number of robbers.\n" - ] - } - ], - "source": [ - "robbers = ['berlin', 'moscow']\n", - "\n", - "if len(robbers) > 3:\n", - " print(\"Wow, we have a lot of robbers here!\")\n", - "else:\n", - " print(\"Okay, this is a reasonable number of robbers.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "source": [ - "The test evaluated to **False**, so only the statement under `else` is run." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "if-elif...else chains\n", - "---\n", - "Many times, you will want to test a series of conditions, rather than just an either-or situation. You can do this with a series of if-elif-else statements\n", - "\n", - "There is no limit to how many conditions you can test. You always need one if statement to start the chain, and you can never have more than one else statement. But you can have as many elif statements as you want." - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Holy shit!, the whole money heist team is here!\n" - ] - } - ], - "source": [ - "robbers = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi', 'professor']\n", - "\n", - "if len(robbers) >= 5:\n", - " print(\"Holy shit!, the whole money heist team is here!\")\n", - "elif len(robbers) >= 3:\n", - " print(\"Wow, we have a lot of robbers here!\")\n", - "else:\n", - " print(\"Okay, this is a reasonable number of robbers.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "It is important to note that in situations like this, only the first test is evaluated. In an if-elif-else chain, once a test passes the rest of the conditions are ignored." - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Wow, we have a lot of robbers here!\n" - ] - } - ], - "source": [ - "robbers = ['berlin', 'moscow', 'rio', 'denver']\n", - "\n", - "if len(robbers) >= 5:\n", - " print(\"Holy shit!, the whole money heist team is here!\")\n", - "elif len(robbers) >= 3:\n", - " print(\"Wow, we have a lot of robbers here!\")\n", - "else:\n", - " print(\"Okay, this is a reasonable number of robbers.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "The first test failed, so Python evaluated the second test. That test passed, so the statement corresponding to `len(robbers) >= 3` is executed." - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Okay, this is a reasonable number of robbers.\n" - ] - } - ], - "source": [ - "robbers = ['berlin', 'moscow']\n", - "\n", - "if len(robbers) >= 5:\n", - " print(\"Holy shit!, the whole money heist team is here!\")\n", - "elif len(robbers) >= 3:\n", - " print(\"Wow, we have a lot of robbers here!\")\n", - "else:\n", - " print(\"Okay, this is a reasonable number of robbers.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "In this situation, the first two tests fail, so the statement in the else clause is executed. Note that this statement would be executed even if there are no robbers at all:" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Okay, this is a reasonable number of robbers.\n" - ] - } - ], - "source": [ - "robbers = []\n", - "\n", - "if len(robbers) >= 5:\n", - " print(\"Holy shit!, the whole money heist team is here!\")\n", - "elif len(robbers) >= 3:\n", - " print(\"Wow, we have a lot of robbers here!\")\n", - "else:\n", - " print(\"Okay, this is a reasonable number of robbers.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "Note that you don't have to take any action at all when you start a series of if statements. You could simply do nothing in the situation that there are no robbers by replacing the `else` clause with another `elif` clause:" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "robbers = ['berlin', 'moscow', 'rio', 'denver']\n", - "\n", - "'professor' in robbers" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Hello, berlin! and Moscow\n" - ] - } - ], - "source": [ - "robbers = ['berlin', 'moscow']\n", - "\n", - "if ('berlin' in robbers) or ('moscow' in robbers):\n", - " print(\"Hello, berlin! and Moscow\")\n", - "elif 'moscow' in robbers:\n", - " print(\"Hello, moscow!\")\n", - "elif 'rio' in robbers:\n", - " print(\"Hello, rio!\")\n", - "elif 'denver' in robbers:\n", - " print(\"Hello, denver!\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [], - "source": [ - "robbers = ['berlin', 'moscow']\n", - "\n", - "if 'berlin' in robbers:\n", - " print(\"Hello, berlin!\")\n", - "elif 'moscow' in robbers:\n", - " print(\"Hello, moscow!\")\n", - "elif 'rio' in robbers:\n", - " print(\"Hello, rio!\")\n", - "elif 'denver' in robbers:\n", - " print(\"Hello, denver!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "Of course, this could be written much more cleanly using lists and for loops. See if you can follow this code." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [], - "source": [ - "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", - "robbers_present = ['berlin', 'moscow']\n", - "\n", - "# Go through all the robbers that are present, and greet the robbers we know.\n", - "for robber in robbers_present:\n", - " if robber in robbers_we_know:\n", - " print(\"Hello, %s!\" % robber.title())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "source": [ - "This is the kind of code you should be aiming to write. It is fine to come up with code that is less efficient at first. When you notice yourself writing the same kind of code repeatedly in one program, look to see if you can use a loop or a function to make your code more efficient." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "True and False values\n", - "===\n", - "Every value can be evaluated as True or False. The general rule is that any non-zero or non-empty value will evaluate to True. If you are ever unsure, you can open a Python terminal and write two lines to find out if the value you are considering is True or False." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "source": [ - "Take a look at the following examples, keep them in mind, and test any value you are curious about." - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This evaluates to False.\n" - ] - } - ], - "source": [ - "if 0:\n", - " print(\"This evaluates to True.\")\n", - "else:\n", - " print(\"This evaluates to False.\")" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This evaluates to True.\n" - ] - } - ], - "source": [ - "if 1:\n", - " print(\"This evaluates to True.\")\n", - "else:\n", - " print(\"This evaluates to False.\")" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This evaluates to True.\n" - ] - } - ], - "source": [ - "# Arbitrary non-zero numbers evaluate to True.\n", - "if 1253756:\n", - " print(\"This evaluates to True.\")\n", - "else:\n", - " print(\"This evaluates to False.\")" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This evaluates to True.\n" - ] - } - ], - "source": [ - "# Negative numbers are not zero, so they evaluate to True.\n", - "if -1:\n", - " print(\"This evaluates to True.\")\n", - "else:\n", - " print(\"This evaluates to False.\")" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This evaluates to False.\n" - ] - } - ], - "source": [ - "# An empty string evaluates to False.\n", - "if '':\n", - " print(\"This evaluates to True.\")\n", - "else:\n", - " print(\"This evaluates to False.\")" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This evaluates to True.\n" - ] - } - ], - "source": [ - "# Any other string, including a space, evaluates to True.\n", - "if ' ':\n", - " print(\"This evaluates to True.\")\n", - "else:\n", - " print(\"This evaluates to False.\")" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This evaluates to True.\n" - ] - } - ], - "source": [ - "# Any other string, including a space, evaluates to True.\n", - "if 'hello':\n", - " print(\"This evaluates to True.\")\n", - "else:\n", - " print(\"This evaluates to False.\")" - ] - }, - { - "cell_type": "code", - "execution_count": 78, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This evaluates to False.\n" - ] - } - ], - "source": [ - "# None is a special object in Python. It evaluates to False.\n", - "if None:\n", - " print(\"This evaluates to True.\")\n", - "else:\n", - " print(\"This evaluates to False.\")" - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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IUwPgi62u5ped2193DAYSsK37TN/AZuSKH5TCahMKjmW7cgjj0yff/75EAvw0UcfpVtvvTXdfPPNadu2bZnmc889l6655poEqHB33313evzxx7MyPvXUU+ncc8/N1pHh5U033ZQArcquwk6ePDkDEsume+ONNxIgZEj6z3/+My1ZsiQDUIBS9plnnkkXXHBBOu+88zJP69atawBt+fLlmVfKzZ07N5199tnpjDPOSB9++KFV7NcHtMhEIDOUdjhdLVzAVpVIud5HAlWLRAYAwrBu0aJFWVFfe+21tGHDhlz2zjvvzMCYMWNG+uWXXzIYUHiGi5Y955xzMjAeffTRdMkll6QTTzwxKzvDRUGqAgMaQHjUUUelb775JoPlpZdeysNYADplypRcFvADbBxDQuIPOeSQzOt1112X54rHH398HupBmzkn1vnvf/97HtoCaPigXZ999tk+likT3s/fm2++mS1bXbYCtjqplLiGBLQsRBBGSbmbYymOPfbYbJEYAjJ3w1LgABhg4nffffdlhcYKYXEoD/CwILp58+al//iP/0jLli1rWAjSBBv1ATbq+e6773IxaAMcwIf78ccfG3NB5mTEA6QLL7ywQWfNmjUZSMwXcSzukOehhx7K1/yxEMMc9OWXX27ENQsgE60w+ZyzEa+FtXwBm5IoflMJCDQzATasxvvvv582b96cWCUUTOSZM2dOtkSAEAWODqAwDBVMDOOwKKxo4gBrdNSNZQJcGzduzHNEgIdFkgaWDAuJdWOoCbhZwMFaCYYvv/wyg436cVjlQw89NFs4ruEfsBBHfQfiqIObwnvvvZdWr15daxUL2A5Eon2aF2WPDsViGInCf/311w3FMh8AuP7667PVwIox1GMRBYdCsxpJeRwKyhBUyxhXBKlHMDG8BATM57Ba5Ic2zjynnHJKBhN5sJZY3ltuuSXn4Q9eKcccD16xbAwZsWJaIeaSWLunn366QbdBoCZgmz/99NM8V5s+fXp67LHH8lCS+Wt0BWxRGiW8jwRUJnwtBJkADEo5e/bsbBkADMNAHBYKJWYIyaIIw7KHH344p0EDyyLYiHz11VczLRY54gIIALB+wAt4mEvhGFYCHBZYADJzP8D/j3/8IwPYRwxYOuZR3377bbr22muzdXziiScyDXijDQxp169fnxhmwhsWEYtt3Tlzkz/ywQ+W9corr0yXX355/l1xxRUZsKTzK2BrIsSSNCABlUV5OCdD2Vm0YAj4l7/8JT87+/nnn7MlY2WPeRSOeROAW7p0ab6+6KKL8oIGdHFYIqwfw1IXQVyuJw+WCwsFmBiyEsfcjToAIGVOOOGETAMLg8Nivvvuu/mmAHjIxw2AVVEcQGaBhLLQJs32YJ1G6rwBAeirrroqA+7SSy9Nl112WcM6Kr8CtpFKtc/zqfQoMQ5LgcIzNAMAAIYwIMHScK3jmjkdQ0TSN23alK9Jhy5WCLpYRJbdicMRpzIzdNSqQceh4wcffJAtFyAzr2nQ4PkbcyjmZ9SLc6iKNcayMeQkDctMm6Qj4HOhJn/wy00GIAM4fH7MEUnzV8DWRIglaWA+JMCiPFRI4qJSGk8Zld7y5hNM5oUGeYiPcSpprNe5lbSq9cd4acqHdKgD2oCNYSaLKTrKRBrGN/NtzwMPPJB30TCX5Pmf9ZhewNZMiiUtSwBlRXFUWgGB4gsk0uqU1HR9CEpHJZSe4jY+XluetFhP9Vpa+paLtAhTjjkbw0csm/nNx3WVD9OqPnlpExaUeSFzNmgSBw3pFLBVJVeuh0hAYMTIqgJH5f/pp59yVhRQBdZH6arL+qZRqJpOmnXFOuRFJfY6LqhQznR8ww4hycuwlxVJhsQ46pAfNkmP1FkvQ1b2h7KYU1e+gG2kEu3jfCqqvqJAyXDewY1XobmOIBE45PdHHujGfCq89CynT/6Yp3pDID3yFoEnTXzykGZ5acq/NGKZatgyxt9///15OxrAq7oCtqpEyvWwElCxUGZ+VUe68TEPYRTaNMoJHMIqO2EVXGUlLabLQ6xbuqZ5HcuZn3rNZ1zMZ9kIfvMN50NP0LJYxPM16cQyBWxRGiVcJNBGCRSwtVG4hXSRQJRAAVuURgkXCbRRAgVsbRRuIV0kECVQwBalUcJFAm2UQAFbG4VbSBcJRAkUsEVplHCRQBslUMDWRuEW0kUCUQIFbFEaJVwk0EYJFLC1UbiFdJFAlEABW5RGCRcJtFECBWxtFG4hXSQQJVDAFqVRwkUCbZRAAVsbhVtIFwlECRSwRWmUcJFAGyVQwNZG4RbSRQJRAgVsURolXCTQRgkUsLVRuIV0kUCUQAFblEYJFwm0UQIFbG0UbiFdJBAlUMAWpVHCRQJtlEABWxuFW0gXCUQJFLBFaZRwkUAbJVDA1kbhFtJFAlECPQ82D9yMB216oi1HS/NlFD4NNH/+/LRq1ap84Oe9996bP4BHGQ7TtKw+AvKwUPMQ58GiMY74eCAnYXki7GGf0qvLH8tblnzU4zV+zEcaX/ScNWsWWRttyBeDf+TBxbpNl655YtvIU01//vnn8zfVpk2b1vgKjLSQKx+T4NtmlsPnF3lWFpSzXmmQj48U8nEKXPWY8lg20jSsX0c71kHYvFUezNcuv+fBpuDsXAWFIPm4Ht/l4jteF198cbrrrrtyMgoz3DeT7dS6jkAhVVzrM5/Kav2k6/gkUrwmXjqEpeFNwjaRRljaM2fOzN/8suyDDz445KuZ8o5vHnmADr940rD0rc/6iZcWfPP5Jz5AwYcH/RQU6ZSjHr63xqeS/LqodVh35MW2kEYYGrb/b3/7W+ILozrj9WNZ8si3PvXAr9eU49ry0o1lY1y7wxMGbAgqCpYw31P2C5d2AB3CBxW2bNnS6ATCfDaIb2xxfDR5+BFGcaIS2lF8QOLtt99ufPOLePLyHTEUEaXk+8rR0el8oM/vjKE81MO3wbiTf/755zk7HxGENt/3wtEWvsjJRwVvvfXWzD/xfPMMHs0DvZUrVzY+FEF9/Mi3bdu23A6+tEIYF2WSI1LK9fAFTkFF/DvvvJM/eAhPVYsDLSwaHxD04/KU+eSTT/IH7a0L3pAj7UA+yBwnqJEddG6//fbMF/UA3uXLl2cfGeCQF4428f3ryCc3Na83bNjQ+AZcLCfw9DOxDv31PNiQk0pDmE71+rbbbkt8aB0AADDvuAxX+Bws+QAEX5zks7UMhbiD8ymhrVu35i9hPvTQQ42u8AstfG+ZL2kCZMryLS7qpQzlURrqxaryRU0caeSnDj4ry5dOcAxxoUEa1hclpTw0iePzsfAJH3xLjK9oQpu2QIt2oGTr1q3L+bHifByeelW8U089NQ/R/AIo5aCJ4ior8lKG8qeffnriE7UAky+8EEe9lOODgVHxyQtfyA9Li4Mn4uAf/5FHHsn1MKzn44NYQsrpkB2O+mk37oUXXshfBSWOuqEpMPlS6EknnZTbieyeffbZBn2+TnraaadlGVI3nxcG5LYT3vkJ2lxZh/4mBNgiwKLc6DhAQcfQKVgvBI3yMOzBoUBcI3wsC/mY5+HeeuutrLCxY7BCAArA4bAkKBCfeSWNT9XS+Ti/FY2luOeeexog4SuZlOHuzFyS8EsvvdSwUrSHTw5Bk8/Q+kkjQBo/yA6ovAagKCZlsXYoP/MflIzvhfHdMMIMn1FCbkDRkZebEDclHDKhPhxxf/3rXzMf0cqrwORdsmRJVmoABTiwSLgZM2Zkq4iF4+ufgIHvcGuRc6bBGyYgZBiJhYSGcsSiwjPy4FPBBx10UIM+FhWZQ4+bJB+5Jz/uX//6VwYeMuGHNZNn0mNYPtrpTwiwRQEhVN11112XwYS1iB9GRzGxegifMHMhHHdOlJQOjXd9OkWriCLQuWvXrs3lAQLfk0YR6HCUBKXCYS0ALwqIJQM4WBfqxDrNnTs3f/2SeIaO8EMZ8mBZsGoAEWWHB8DAMJIhFu2EBjcUypEWvwUNEJ3/nHLKKQ2LgSVFceE1tnHKlCkNa8sNiSE4sqBe2sxNSxmSHuVMe/j4Hw768M+QHMfNBAAAbm4+fPua4aGKrk+bAC3t4abFqIAbGX1C/cgI2siS71XDO+3m66HImDxY3eOPP74xVPUzvtRtPfAUec9Mduiv58EWhYjMHGoQvvnmm/NQRlk630AxSaMsSslCCm7jxo25s1w8AVB+hN0OAgwo6zPPPJM7m3kDCsSdHIvFx9wBEeCcM2dOtoLQBSQMb6SntUR5oOeH11lhJB+OIS5pWiGUEVDoGKZh2WgHaYCP9mMxaSO0cCg/9QMSP22LQusozwot4LIu5MI1jhvKySefPGR+SjwygSZ1cYMBYCi8lh4wsIpJG7BsyAqrRN32BXnsQ/jkBsGQG4AiYxyrnQcffHC2WFhQgM/NDYf1gyZDfOQOKBlJ4KB1ySWXNIaR1pMTw8KU1+32JwTYECKdFh3XKCZDK53CRjkcRgIIOou7M/MChk50KIsT3DH5uJ209RlCMpREwcmDBSKNST+KAH3nK3Q49WIViONHfhQZZfXO7LBKMJCHoSf1AB4cgEBxBQG0tGx8yB2wMRdiaEzYRSD45IPqOMANTRdflAkKThnkgMygzZwNx/AaJcZ61Mma/FgdHOlYcW5AABaQMP8ClFg5LJaA9oYjD/DJcBcH0GgrfCBj2il9bjCMIJADoIQ+8meaQLztp5yjllx48AZBXvvS+E74PQ82hVQVIB3JvCfewclDp6NYLlPT0VgrVtyIo4O5SxOPZeGOacdQVofiMcxRcRzu0NkMQwEXFg1nOWihwNx5XWzBAgIKFjlwAJByAgwQaq1pE9YW5Yc/LA68a3WhA+hINw6a5KPNOOrDyphu20hztfDDDz8cIjfi4U9wZEKDf5RHbraHaOOw9tQlmKCBZbdu8+ITh0xpj05rGPvQNOLiaiQ8Anjkz42EvqF8N7kJAzaEaqcapgNVVOPwUX7nYCzFc0dkzoEl5G7pEIe80UX6xFeVD2CwAIC1xKnIUbngR/CZXqVLunms3zzQshxh480X2ysNFNEydfVbVp9y5ieOcLWuWG9sX+QP+UQZQZfrWNY6qaOu3sgH5WLZmAYdLCdWm5sLLvJlPePp9zzYovARZPVa4dIxMc0wz7yuvPLKvGDisyLSVBLC8adSSBdfBQJsDBu5q+qkhV91KJfx+FWFJl0XQWScPmWlE+OqykhapGl95KvLK62qT95YXyyLLGId1bJeV8vHa8IjvaYNyhG5I3+tY+TLesfT73kvVMuwAAAB9ElEQVSwVYWHgKtCjp1XDVPe/LGDiRdwdKZ5rI9O5qezbLQcpumTx3JVeuSRN2kRJw+EKUMa/Ayn0KRHha+jaV340VkWHgnjLB/zyYdx5Km2h2t5J1zlVxqxnHRMg35Mr7Y7ppEXvq1TXx67wZ9wYEOoKkjsPIVd7TDj8UljyIWrdlZUAMtA37wReCpWVRnMT5kYlp4+aaZHGoSr15ap+pEGabEcafJYLRevKUNe/Zgmf/qkxXDM2ywcy1T7plov1/x0lqVcjDe92ofGj5c/IcCG0BV8nSBjWl3Y5XjLRkWMnUg8oIpxltHHssV0wtSpbz6u/RFHHuhH/gRwHEJWeZMu5fxZh+W9Jm/VWSbyYp66/KbhU9Y8+PAmHdKqLuaPaZaJcZaXZkwjbH3VeObipOGirKr5xuO6L8CGYOs62k5R8C6aeE1n2enGScv4qNDQM76ZksR6zS/daj3VePNHRTKOvPAzXBr1xrpj2HqJi+WNr/NjvXXpVTrkr/4oR76YlzxV3ri2bEyL8oeWafp1fI1X3IQAW1V4dgzxdJAuxhuHHzvGztMnvaoMxEW6hKOykB7Lx3qr5ar1k87wR3ox/3AWLlpT8tseaXhNXdFJu9o+aeCbx3LVa2hH+tVryklPGsP5dflsQ10Z02Kd8mJaXbnxivt/AVAtAF2QVuMAAAAASUVORK5CYII=" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Loops\n", - "---\n", - "\n", - "#### For Loops\n", - "\n", - "![image.png](attachment:image.png)" - ] - }, - { - "cell_type": "code", - "execution_count": 84, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "berlin\n", - "moscow\n", - "rio\n", - "denver\n", - "tokyo\n", - "naomi\n" - ] - } - ], - "source": [ - "# for loop syntax using in operator\n", - "\n", - "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", - "\n", - "for robber in robbers_we_know:\n", - " print(robber)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# TODO \n", - "Timeit" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "range() function\n", - "---\n" - ] - }, - { - "cell_type": "code", - "execution_count": 85, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "berlin\n", - "moscow\n", - "rio\n", - "denver\n", - "tokyo\n", - "naomi\n" - ] - } - ], - "source": [ - "for i in range(len(robbers_we_know)):\n", - " print(robbers_we_know[i])" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "range(0, 10)\n", - "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", - "[2, 3, 4, 5, 6, 7]\n", - "[2, 5, 8, 11, 14, 17]\n" - ] - } - ], - "source": [ - "# using range function\n", - "\n", - "print(range(10))\n", - "\n", - "print(list(range(10)))\n", - "\n", - "print(list(range(2, 8)))\n", - "\n", - "print(list(range(2, 20, 3)))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### How to use for else" - ] - }, - { - "cell_type": "code", - "execution_count": 88, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "do something\n", - "do something\n", - "do something\n", - "do something\n", - "do something\n", - "do something\n", - "Professor is arrested\n" - ] - } - ], - "source": [ - "# using for else syntax\n", - "\n", - "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", - "\n", - "for robber in robbers_we_know:\n", - " if robber == 'professor':\n", - " break\n", - " else:\n", - " print('do something')\n", - "else:\n", - " print(\"Professor is arrested\")" - ] - }, - { - "cell_type": "code", - "execution_count": 91, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "moscow\n", - "rio\n", - "denver\n", - "tokyo\n", - "naomi\n", - "loop completed, do something now\n" - ] - } - ], - "source": [ - "# another example and pass statement\n", - "\n", - "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", - "\n", - "for robber in robbers_we_know:\n", - " if robber == \"berlin\":\n", - " pass\n", - " else:\n", - " print(robber)\n", - "else:\n", - " print(\"loop completed, do something now\")\n" - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Use of break statement\n", - "\n", - "![image.png](attachment:image.png)" - ] - }, - { - "cell_type": "code", - "execution_count": 92, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Robber catched with name berlin\n", - "Robber catched with name moscow\n", - "Robber catched with name rio\n", - "3 robbers catched, that's enough for today\n" - ] - } - ], - "source": [ - "# break statement\n", - "count = 0\n", - "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", - "\n", - "for robber in robbers_we_know:\n", - " print(\"Robber catched with name\", robber)\n", - " count += 1\n", - " if count == 3:\n", - " print(\"3 robbers catched, that's enough for today\")\n", - " break\n", - " " - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Use of Continue statement\n", - "\n", - "![image.png](attachment:image.png)" - ] - }, - { - "cell_type": "code", - "execution_count": 98, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Professor we got you!\n" - ] - } - ], - "source": [ - "# continue statement\n", - "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi', 'professor']\n", - "\n", - "for robber in robbers_we_know:\n", - " if robber != 'professor':\n", - " pass\n", - " print('Professor we got you!')\n", - " " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### While Loops" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A while loop tests an initial condition. If that condition is true, the loop starts executing. Every time the loop finishes, the condition is reevaluated. As long as the condition remains true, the loop keeps executing. As soon as the condition becomes false, the loop stops executing." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Set an initial condition.\n", - "game_active = True\n", - "\n", - "# Set up the while loop.\n", - "while game_active:\n", - " # Run the game.\n", - " # At some point, the game ends and game_active will be set to False.\n", - " # When that happens, the loop will stop executing.\n", - " \n", - "# Do anything else you want done after the loop runs." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "- Every while loop needs an initial condition that starts out true.\n", - "- The while statement includes a condition to test.\n", - "- All of the code in the loop will run as long as the condition remains true.\n", - "- As soon as something in the loop changes the condition such that the test no longer passes, the loop stops executing.\n", - "- Any code that is defined after the loop will run at this point." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "berlin\n", - "moscow\n", - "rio\n", - "denver\n", - "tokyo\n", - "naomi\n", - "loop execution finished, do something if you want!\n" - ] - } - ], - "source": [ - "robbers_we_know = ['berlin', 'moscow', 'rio', 'denver', 'tokyo', 'naomi']\n", - "\n", - "i = 0\n", - "\n", - "while (iWhat are functions?\n", - "===\n", - "Functions are a set of actions that we group together, and give a name to. You have already used a number of functions from the core Python language, such as *string.title()* and *list.sort()*. We can define our own functions, which allows us to \"teach\" Python new behavior." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "General Syntax\n", - "---\n", - "A general function looks something like this:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "ename": "IndentationError", - "evalue": "expected an indented block (, line 7)", - "output_type": "error", - "traceback": [ - "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m7\u001b[0m\n\u001b[1;33m function_name(value_1, value_2)\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mIndentationError\u001b[0m\u001b[1;31m:\u001b[0m expected an indented block\n" - ] - } - ], - "source": [ - "# Let's define a function.\n", - "def function_name(argument_1, argument_2):\n", - " # Do whatever we want this function to do,\n", - " # using argument_1 and argument_2\n", - " \n", - "# Use function_name to call the function.\n", - "function_name(value_1, value_2)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Our robbers are currently in alphabetical order.\n", - "Berlin\n", - "Denvor\n", - "Monica\n", - "Rio\n", - "\n", - "Our robbers are now in reverse alphabetical order.\n", - "Rio\n", - "Monica\n", - "Denvor\n", - "Berlin\n" - ] - } - ], - "source": [ - "# something without a function\n", - "\n", - "robbers = ['denvor', 'monica', 'rio', 'berlin']\n", - "\n", - "# Put students in alphabetical order.\n", - "robbers.sort()\n", - "\n", - "# Display the list in its current order.\n", - "print(\"Our robbers are currently in alphabetical order.\")\n", - "for robber in robbers:\n", - " print(robber.title())\n", - "\n", - "# Put robbers in reverse alphabetical order.\n", - "robbers.sort(reverse=True)\n", - "\n", - "# Display the list in its current order.\n", - "print(\"\\nOur robbers are now in reverse alphabetical order.\")\n", - "for robber in robbers:\n", - " print(robber.title())" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Our robbers are currently in alphabetical order.\n", - "Berlin\n", - "Denvor\n", - "Monica\n", - "Rio\n", - "\n", - "Our robbers are currently in reverse alphabetical order.\n", - "Rio\n", - "Monica\n", - "Denvor\n", - "Berlin\n" - ] - } - ], - "source": [ - "# now with a function\n", - "\n", - "def print_robbers(robbers, message):\n", - " print(message)\n", - " for robber in robbers:\n", - " print(robber.title())\n", - " \n", - "\n", - "robbers = ['denvor', 'monica', 'rio', 'berlin']\n", - "\n", - "# Put robbers in alphabetical order.\n", - "message = \"Our robbers are currently in alphabetical order.\"\n", - "robbers.sort()\n", - "print_robbers(robbers, message)\n", - "\n", - "# Put robbers in reverse alphabetical order.\n", - "message = \"\\nOur robbers are currently in reverse alphabetical order.\"\n", - "robbers.sort(reverse=True)\n", - "print_robbers(robbers, message)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Returning a Value\n", - "---\n", - "Each function you create can return a value. This can be in addition to the primary work the function does, or it can be the function's main job. The following function takes in a number, and returns the corresponding word for that number:" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1 ('one', 'one', 'one')\n", - "2 two\n", - "3 three\n", - "4 This is an unknown number\n", - "5 This is an unknown number\n", - "6 This is an unknown number\n", - "7 This is an unknown number\n", - "8 This is an unknown number\n", - "9 This is an unknown number\n" - ] - } - ], - "source": [ - "def get_number_word(number):\n", - " # Takes in a numerical value, and returns\n", - " # the word corresponding to that number.\n", - " if number == 1:\n", - " return 'one', 'one', 'one'\n", - " elif number == 2:\n", - " return 'two'\n", - " elif number == 3:\n", - " return 'three'\n", - " else:\n", - " return \"This is an unknown number\"\n", - " \n", - "# Let's try out our function.\n", - "for current_number in range(1,10):\n", - " number_word = get_number_word(current_number)\n", - " print(current_number, number_word)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.5" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/notebooks/Session3 - Exceptions & File Handling.ipynb b/notebooks/Session3 - Exceptions & File Handling.ipynb deleted file mode 100644 index a0dc90a..0000000 --- a/notebooks/Session3 - Exceptions & File Handling.ipynb +++ /dev/null @@ -1,1028 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# File Handling" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Opening and Closing a File in Python\n", - "When you want to work with a file, the first thing to do is to open it. This is done by invoking the open() built-in function. open() has a single required argument that is the path to the file. open() has a single return, the file object:" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [], - "source": [ - "file = open('Session1-variable_data_types.ipynb', encoding=\"utf-8\")\n", - "\n", - "# ToDO - Read about encoding works and which encoding should be used while playing around with string and file" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Volume in drive C is EPINHYDW1086\n", - " Volume Serial Number is 4247-02EF\n", - "\n", - " Directory of C:\\cygwin64\\home\\Sanchit_Balchandani\\Workspace\\python-ws\\python-for-devops\\notebooks\n", - "\n", - "06/02/2020 03:46 PM .\n", - "06/02/2020 03:46 PM ..\n", - "06/02/2020 02:59 PM .ipynb_checkpoints\n", - "05/29/2020 02:53 PM 46,971 Session1-variable_data_types.ipynb\n", - "05/29/2020 03:39 PM 293,225 Session2-ControlFlow, Loops & functions.ipynb\n", - "06/02/2020 02:47 PM 232,945 Session3 - Exceptions & File Handling.ipynb\n", - "06/02/2020 03:46 PM 22,939 Session3 - More on Functions.ipynb\n", - " 4 File(s) 596,080 bytes\n", - " 3 Dir(s) 78,167,195,648 bytes free\n" - ] - } - ], - "source": [ - "ls" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "<_io.TextIOWrapper name='Session1-variable_data_types.ipynb' mode='r' encoding='utf-8'>" - ] - }, - "execution_count": 72, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "file" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": {}, - "outputs": [], - "source": [ - "open?" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [], - "source": [ - "# close the file\n", - "file.close()" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [ - { - "ename": "ValueError", - "evalue": "I/O operation on closed file.", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mfile\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;31mValueError\u001b[0m: I/O operation on closed file." - ] - } - ], - "source": [ - "file.read()" - ] - }, - { - "cell_type": "code", - "execution_count": 90, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "7\n" - ] - } - ], - "source": [ - "# another way of opening file and making sure it gets closed\n", - "with open('Session1-variable_data_types.ipynb', 'r+', encoding='utf-8') as f:\n", - " print(f.write(\"kljdlkj\"))\n" - ] - }, - { - "cell_type": "code", - "execution_count": 89, - "metadata": {}, - "outputs": [ - { - "ename": "TypeError", - "evalue": "a bytes-like object is required, not 'str'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"file.txt\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'ab'\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Hey there!\\n\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;31mTypeError\u001b[0m: a bytes-like object is required, not 'str'" - ] - } - ], - "source": [ - "with open(\"file.txt\", 'ab') as f:\n", - " f.write(\"Hey there!\\n\")" - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### modes\n", - "\n", - "We can specify the mode while opening a file. In mode, we specify whether we want to read r, write w or append a to the file. We can also specify if we want to open the file in text mode or binary mode.\n", - "\n", - "The default is reading in text mode. In this mode, we get strings when reading from the file.\n", - "\n", - "On the other hand, binary mode returns bytes and this is the mode to be used when dealing with non-text files like images or executable files.\n", - "\n", - "![image.png](attachment:image.png)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# TODO explore the other file modes like t, X" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "There are three different categories of file objects:\n", - "\n", - "- Text files\n", - "- Buffered binary files\n", - "- Raw binary files\n", - "\n", - "Each of these file types are defined in the io module. Here’s a quick rundown of how everything lines up." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [], - "source": [ - "f = open('../apps/todo-cli/data.txt')\n", - "\n", - "f1 = open('../apps/todo-cli/data.txt', 'r')\n", - "\n", - "f2 = open('../apps/todo-cli/data.txt', 'w')" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "<_io.TextIOWrapper name='../apps/todo-cli/data.txt' mode='r' encoding='cp1252'>\n", - "<_io.TextIOWrapper name='../apps/todo-cli/data.txt' mode='r' encoding='cp1252'>\n", - "<_io.TextIOWrapper name='../apps/todo-cli/data.txt' mode='w' encoding='cp1252'>\n" - ] - } - ], - "source": [ - "print(f, f1, f2, sep=\"\\n\")" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [], - "source": [ - "f1 = open('../apps/todo-cli/data.txt', 'rb')\n", - "\n", - "f2 = open('../apps/todo-cli/data.txt', 'wb')" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "<_io.BufferedReader name='../apps/todo-cli/data.txt'>\n", - "<_io.BufferedWriter name='../apps/todo-cli/data.txt'>\n" - ] - } - ], - "source": [ - "print(f1, f2, sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Reading Files in Python\n", - "\n", - "\n", - "To read a file in Python, we must open the file in reading r mode.\n", - "\n", - "There are various methods available for this purpose. We can use the read(size) method to read in the size number of data. If the size parameter is not specified, it reads and returns up to the end of the file.\n", - "\n", - "We can read the text.txt file we wrote in the above section in the following way:" - ] - }, - { - "cell_type": "code", - "execution_count": 94, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ID, \n", - "Titl\n", - "e, DueDate, Description, Status\n", - "1, Session-4 prep, today, Demostrate CLI app again, [ ]\n", - "\n" - ] - } - ], - "source": [ - "f = open(\"../apps/todo-cli/data.txt\", 'r',encoding = 'utf-8')\n", - "print(f.read(4)) # read the first 4 data\n", - "\n", - "print(f.read(4)) # read the next 4 data\n", - "\n", - "\n", - "print(f.read()) # read in the rest till end of file\n" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ID, Title, DueDate, Description, Status\n", - "Something SomethingSomething Something\n" - ] - } - ], - "source": [ - "f = open(\"../apps/todo-cli/data.txt\", 'r+',encoding = 'utf-8')\n", - "data = f.read()\n", - "print(data)\n", - "f.write(\"Something Something\")\n", - "f.close()\n", - "\n", - "# f = open(\"../apps/todo-cli/data.txt\", 'r+',encoding = 'utf-8')\n", - "# data = f.read()\n", - "# print(data)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 95, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "100\n" - ] - }, - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 95, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# We can change our current file cursor (position) using the seek() method. \n", - "# Similarly, the tell() method returns our current position (in number of bytes).\n", - "print(f.tell())\n", - "f.seek(0)" - ] - }, - { - "cell_type": "code", - "execution_count": 96, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'ID, Title, DueDate, Description, Status\\n1, Session-4 prep, today, Demostrate CLI app again, [ ]\\n'" - ] - }, - "execution_count": 96, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "f.read()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Python File Methods\n", - "There are various methods available with the file object. Some of them have been used in the above examples.\n", - "\n", - "Here is the complete list of methods in text mode with a brief description:" - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "![image.png](attachment:image.png)" - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "![image.png](attachment:image.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exceptions" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Exceptions which are events that can modify the *flow* of control through a program. \n", - "\n", - "In Python, exceptions are triggered automatically on errors, and they can be triggered and intercepted by your code.\n", - "\n", - "They are processed by **four** statements we’ll study in this notebook, the first of which has two variations (listed separately here) and the last of which was an optional extension until Python 2.6 and 3.0:\n", - "\n", - "* `try/except`:\n", - " * Catch and recover from exceptions raised by Python, or by you\n", - " \n", - "* `try/finally`:\n", - " * Perform cleanup actions, whether exceptions occur or not.\n", - "\n", - "* `raise`:\n", - " * Trigger an exception manually in your code.\n", - " \n", - "* `assert`:\n", - " * Conditionally trigger an exception in your code.\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "ename": "ZeroDivisionError", - "evalue": "division by zero", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Exceptions\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;36m1\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;31mZeroDivisionError\u001b[0m: division by zero" - ] - } - ], - "source": [ - "# Exceptions - Example 1\n", - "\n", - "1/0" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [ - { - "ename": "SyntaxError", - "evalue": "EOL while scanning string literal (, line 1)", - "output_type": "error", - "traceback": [ - "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m print(\"jkhfkhk)\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m EOL while scanning string literal\n" - ] - } - ], - "source": [ - "print(\"jkhfkhk)" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [ - { - "ename": "TypeError", - "evalue": "can only concatenate str (not \"int\") to str", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Exceptions - Example 2\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[1;34m\"sanchit\"\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;36m5\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str" - ] - } - ], - "source": [ - "# Exceptions - Example 2\n", - "\"sanchit\"+Obj" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "ename": "KeyError", - "evalue": "5", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Exceptions - Example 3\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0md\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m3\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;36m4\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0md\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m5\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;31mKeyError\u001b[0m: 5" - ] - } - ], - "source": [ - "# Exceptions - Example 3\n", - "d = {1: 2, 3:4}\n", - "print(d[5])" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", - "1\n", - "1\n", - "2\n", - "2\n", - "3\n", - "3\n", - "4\n", - "4\n", - "5\n", - "5\n", - "6\n", - "6\n", - "7\n", - "7\n", - "8\n", - "8\n", - "9\n", - "9\n", - "10\n" - ] - }, - { - "ename": "IndexError", - "evalue": "list index out of range", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0marr\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 9\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marr\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 10\u001b[0m \u001b[0mx\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;31mIndexError\u001b[0m: list index out of range" - ] - } - ], - "source": [ - "# Exceptions - Example 4\n", - "\n", - "arr = list(range(10))\n", - "print(arr)\n", - "\n", - "x = 1\n", - "for i in arr:\n", - " print(x)\n", - " print(arr[x])\n", - " x += 1\n" - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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AgQIECBAYOUCErkrnyDdI0CAAAECBAgQIECAAAECBAgQIECAgESuGCBAgAABAgQIECBAgAABAgQIECBAgMDKBSRyVz5BukeAAAECBAgQIECAAAECBAgQIECAAAGJXDFAgAABAgQIECBAgAABAgQIECBAgACBlQtI5K58gnSPAAECBAgQIECAAAECBAgQIECAAAECErligAABAgQIECBAgAABAgQIECBAgAABAisXkMhd+QTpHgECBAgQIECAAAECBAgQIECAAAECBCRyxQABAgQIECBAgAABAgQIECBAgAABAgRWLiCRu/IJ0j0CBAgQIECAAAECBAgQIECAAAECBAhI5IoBAgQIECBAgAABAgQIECBAgAABAgQIrFxAInflE6R7BAgQIECAAAECBAgQIECAAAECBAgQkMgVAwQIECBAgAABAgQIECBAgAABAgQIEFi5gETuyidI9wgQIECAAAECBAgQIECAAAECBAgQICCRKwYIECBAgAABAgQIECBAgAABAgQIECCwcgGJ3JVPkO4RIECAAAECBAgQIECAAAECBAgQIEBAIlcMECBAgAABAgQIECBAgAABAgQIECBAYOUCErkrnyDdI0CAAAECBAgQIECAAAECBAgQIECAgESuGCBAgAABAgQIECBAgAABAgQIECBAgMDKBSRyVz5BukeAAAECBAgQIECAAAECBAgQIECAAAGJXDFAgAABAgQIECBAgAABAgQIECBAgACBlQtI5K58gnSPAAECBAgQIECAAAECBAgQIECAAAECErligAABAgQIECBAgAABAgQIECBAgAABAisXkMhd+QTpHgECBAgQIECAAAECBAgQIECAAAECBCRyxQABAgQIECBAgAABAgQIECBAgAABAgRWLiCRu/IJ0j0CBAgQIECAAAECBAgQIECAAAECBAhI5IoBAgQIECBAgAABAgQIECBAgAABAgQIrFxAInflE6R7BAgQIECAAAECBAgQIECAAAECBAgQkMgVAwQIECBAgAABAgQIECBAgAABAgQIEFi5gETuyidI9wgQIECAAAECBAgQIECAAAECBAgQICCRKwYIECBAgAABAgQIECBAgAABAgQIECCwcgGJ3JVPkO4RIECAAAECBAgQIECAAAECBAgQIEBAIlcMECBAgAABAgQIECBAgAABAgQIECBAYOUCErkrnyDdI0CAAAECBAgQIECAAAECBAgQIECAgESuGCBAgAABAgQIECBAgAABAgQIECBAgMDKBSRyVz5BukeAAAECBAgQIECAAAECBAgQIECAAAGJXDFAgAABAgQIECBAgAABAgQIECBAgACBlQtI5K58gnSPAAECBAgQIECAAAECBAgQIECAAAECErligC89fSgAACAASURBVAABAgQIECBAgAABAgQIECBAgAABAisXkMhd+QTpHgECBAgQIECAAAECBAgQIECAAAECBCRyxQABAgQIECBAgAABAgQIECBAgAABAgRWLiCRu/IJ0j0CBAgQIECAAAECBAgQIECAAAECBAhI5IoBAgQIECBAgAABAgQIECBAgAABAgQIrFxAInflE6R7BAgQIECAAAECBAgQIECAAAECBAgQkMgVAwQIECBAgAABAgQIECBAgAABAgQIEFi5gETuyidI9wgQIECAAAECBAgQIECAAAECBAgQICCRKwYIECBAgAABAgQIECBAgAABAgQIECCwcgGJ3JVPkO4RIECAAAECBAgQIECAAAECBAgQIEBAIlcMECBAgAABAgQIECBAgAABAgQIECBAYOUCErkrnyDdI0CAAAECBAgQIECAAAECBAgQIECAgESuGCBAgAABAgQIECBAgAABAgQIECBAgMDKBSRyVz5BukeAAAECBAgQIECAAAECBAgQIECAAAGJXDFAgAABAgQIECBAgAABAgQIECBAgACBlQtI5K58gnSPAAECBAgQIECAAAECBAgQIECAAAECErligAABAgQIECBAgAABAgQIECBAgAABAisXkMhd+QTpHgECBAgQIECAAAECBAgQIECAAAECBCRyxQABAgQIECBAgAABAgQIECBAgAABAgRWLiCRu/IJ0j0CBAgQIECAAAECBAgQIECAAAECBAhI5IoBAgQIECBAgAABAgQIECBAgAABAgQIrFxAInflE6R7BAgQIECAAAECBAgQIECAAAECBAgQkMgVAwQIECBAgAABAgQIECBAgAABAgQIEFi5gETuyidI9wgQIECAAAECBAgQIECAAAECBAgQICCRKwYIECBAgAABAgQIECBAgAABAgQIECCwcgGJ3JVPkO4RIECAAAECBAgQIECAAAECBAgQIEBAIlcMECBAgAABAgQIECBAgAABAgQIECBAYOUCErkrnyDdI0CAAAECBAgQ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WQLzC8SXocW1c90YHGMM+LKy+T8z1EiAAIHZBeKaupFgmXob84VqkVSe2l7X/mPOOoxtu+qY+tyYPoTZ1Pa69g/f1hL/ct9Vx9Tnxvz7+FJ9eOKJVoXrXxo0dcx9+7f3Ypm5iH7F+7y1hFvfWKY8P+byDhE/U9rq23dMH5b6nBrzWbmGz6ml+jDmc2qpz8p9f06NeV+2vn9tt7iARO7ixBogQIAAAQIECBAgQIAAAQIECBAgQIDANAGJ3Gl+9iZAgAABAgQIECBAgAABAgQIECBAgMDiAhK5ixNrgAABAgQIECBAgAABAgQIECBAgAABAtMEJHKn+dmbAAECBAgQIECAAAECBAgQIECAAAECiwtI5C5OrAECBAgQIECAAAECBAgQIECAAAECBAhME5DIneZnbwIECBAgQIAAAQIECBAgQIAAAQIECCwuIJG7OLEGCBAgQIAAAQIECBAgQIAAAQIECBAgME1AInean70JECBAgAABAgQIECBAgAABAgQIECCwuIBE7uLEGiBAgAABAgQIECBAgAABAgQIECBAgMA0AYncaX72JkCAAAECBAgQIECAAAECBAgQIECAwOICErmLE2uAAAECBAgQIECAAAECBAgQIECAAAEC0wQkcqf52ZsAAQIECBAgQIAAAQIECBAgQIAAAQKLC0jkLk6sAQIECBAgQIAAAQIECBAgQIAAAQIECEwTkMid5mdvAgQIECBAgAABAgQIECBAgAABAgQILC4gkbs4sQYIECBAgAABAgQIECBAgAABAgQIECAwTUAid5qfvQkQIECAAAECBAgQIECAAAECBAgQILC4gETu4sQaIECAAAECBAgQIECAAAECBAgQIECAwDQBidxpfvYmQIAAAQIECBAgQIAAAQIECBAgQIDA4gISuYsTa4AAAQIECBAgQIAAAQIECBAgQIAAAQLTBCRyp/nZmwABAgQIECBAgAABAgQIECBAgAABAosLSOQuTqwBAgQIECBAgAABAgQIECBAgAABAgQITBOQyJ3mZ28CBAgQIECAAAECBAgQIECAAAECBAgsLiCRuzixBggQIECAAAECBAgQIECAAAECBAgQIDBNQCJ3mp+9CRAgQIAAAQIECBAgQIAAAQIECBAgsLiARO7ixBogQIAAAQIECBAgQIAAAQIECBAgQIDANAGJ3Gl+9iZAgAABAgQIECBAgAABAgQIECBAgMDiAhK5ixNrgAABAgQIECBAgAABAgQIECBAgAABAtMEJHKn+dmbAAECBAgQIECAAAECBAgQIECAAAECiwtI5C5OrAECBAgQIECAAAECBAgQIECAAAECBAhME5DIneZnbwIECBAgQIAAAQIECBAgQIAAAQIECCwuIJG7OLEGCBAgQIAAAQIECBAgQIAAAQIECBAgME1AInean70JECBAgAABAgQIECBAgAABAgQIECCwuIBE7uLEGiBAgAABAgQIECBAgAABAgQIECBAgMA0AYncaX72JkCAAAECBAgQIECAAAECBAgQIECAwOICErmLE2uAAAECBAgQIECAAAECBAgQIECAAAEC0wQkcqf52ZsAAQIECBAgQIAAAQIECBAgQIAAAQKLC0jkLk6sAQIECBAgQIAAAQIECBAgQIAAAQIECEwTkMid5mdvAgQIECBAgAABAgQIECBAgAABAgQILC4gkbs4sQYIECBAgAABAgQIECBAgAABAgQIECAwTUAid5qfvQkQIECAAAECBAgQIECAAAECBAgQILC4gETu4sQaIECAAAECBAgQIECAAAECBAgQIECAwDQBidxpfvYmQIAAAQIECBAgQIAAAQIECBAgQIDA4gISuYsTa4AAAQIECBAgQIAAAQIECBAgQIAAAQLTBCRyp/nZmwABAgQIECBAgAABAgQIECBAgAABAosLSOQuTqwBAgQIECBAgAABAgQIECBAgAABAgQITBOQyJ3mZ28CBAgQIECAAAECBAgQIECAAAECBAgsLiCRuzixBggQIECAAAECBAgQIECAAAECBAgQIDBNQCJ3mp+9CRAgQIAAAQIECBAgQIAAAQIECBAgsLiARO7ixBogQIAAAQIECBAgQIAAAQIECBAgQIDANAGJ3Gl+9iZAgAABAgQIECBAgAABAgQIECBAgMDiAhK5ixNrgAABAgQIECBAgAABAgQIECBAgAABAtMEJHKn+dmbAAECBAgQIECAAAECBAgQIECAAAECiwtI5C5OrAECBAgQIECAAAECBAgQIECAAAECBAhME5DIneZnbwIECBAgQIAAAQIECBAgQIAAAQIECCwuIJG7OLEGCBAgQIAAAQIECBAgQIAAAQIECBAgME1AInean70JECBAgAABAgQIECBAgAABAgQIECCwuIBE7uLEGiBAgAABAgQIECBAgAABAgQIECBAgMA0AYncaX72JkCAAAECBAgQIECAAAECBAgQIECAwOICErmLE2uAAAECBAgQIECAAAECBAgQIECAAAEC0wQkcqf52ZsAAQIECBAgQIAAAQIECBAgQIAAAQKLC0jkLk6sAQIECBAgQIAAAQIECBAgQIAAAQIECEwTkMid5mdvAgQIECBAgAABAgQIECBAgAABAgQILC4gkbs4sQYIECBAgAABAgQIECBAgAABAgQIECAwTUAid5qfvQkQIECAAAECBAgQIECAAAECBAgQILC4gETu4sQaIECAAAECBAgQIECAAAECBAgQIECAwDQBidxpfvYmQIAAAQIECBAgQIAAAQIECBAgQIDA4gISuYsTa4AAAQIECBAgQIAAAQIECBAgQIAAAQLTBCRyp/nZmwABAgQIECBAgAABAgQIECBAgAABAosLSOQuTqwBAgQIECBAgAABAgQIECBAgAABAgQITBOQyJ3mZ28CBAgQIECAAAECBAgQIECAAAECBAgsLiCRuzixBggQIECAAAECBAgQIECAAAECBAgQIDBNQCJ3mp+9CRAgQIAAAQIECBAgQIAAAQIECBAgsLjAYCL3d+++v3n0R7/a/NWFy5v/9N+f23zs80+7MRADYkAMiAExIAbEgBgQA2JADIgBMSAGxIAYEANiQAzMEAN/+nfPbv7imy9tvvovr21eeePfB5PBvYncZ37xluTtDJMh+S35LwbEgBgQA2JADIgBMSAGxIAYEANiQAyIATEgBsTAthi45wvPbC789PXeZG5nIve1N9/bxI7bKve6ABQDYkAMiAExIAbEgBgQA2JADIgBMSAGxIAYEANiQAzMFwNxgm1X6UzkPviP/yaJ62xcMSAGxIAYEANiQAyIATEgBsSAGBADYkAMiAExIAbEwDnHwH2P/GtXHnfTmciNazPIos+XRWfJUgyIATEgBsSAGBADYkAMiAExIAbEgBgQA2JADIiB1hjoul7uLYnc2Ki1QtsJPjEgBsSAGBADYkAMiAExIAbEgBgQA2JADIgBMSAGxMC8MfC9F67eclbuLYnc997/o+vjnvPp0gJ93kDnyVMMiAExIAbEgBgQA2JADIgBMSAGxIAYEANi4JBj4KXX39meyI0t7v/Gi87KlcwVA2JADIgBMSAGxIAYEANiQAyIATEgBsSAGBADYkAMnHMM3POFZzZxsm1dbjkjNzaIb0Y75Iy1vvuLixgQA2JADIgBMSAGxIAYEANiQAyIATEgBsSAGBADhxgD//TMb+oc7rWfOxO58cqjP/qVZO45Z9sPMbD02QeiGBADYkAMiAExIAbEgBgQA2JADIgBMSAGxIAYmCcGHvzHf+tM4saTvYncePH5V9/e/NWFy66ZK6ErqS8GxIAYEANiQAyIATEgBsSAGBADYkAMiAExIAbEwEIx8BfffGnzv557ozeJuzWRO7inFwkQIECAAAECBAgQIECAAAECBAgQIEDgXAT+f60fcIMA/bPDAAAAAElFTkSuQmCC" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Raising an Exception\n", - "\n", - "We can use raise to throw an exception if a condition occurs. The statement can be complemented with a custom exception.\n", - "\n", - "![image.png](attachment:image.png)" - ] - }, - { - "cell_type": "code", - "execution_count": 78, - "metadata": {}, - "outputs": [ - { - "ename": "Exception", - "evalue": "x should not exceed 5. The value of x was: 10", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mException\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m10\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m5\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 5\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mException\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'x should not exceed 5. The value of x was: {}'\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;31mException\u001b[0m: x should not exceed 5. The value of x was: 10" - ] - } - ], - "source": [ - "# how to raise exceptions forcefully\n", - "\n", - "x = 10\n", - "if x > 5:\n", - " raise Exception('x should not exceed 5. The value of x was: {}'.format(x))" - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "metadata": {}, - "outputs": [ - { - "ename": "AssertionError", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mAssertionError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Use of Assert statements\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;32massert\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Sanchit!\"\u001b[0m \u001b[1;32min\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m\"Sanchit\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"Balchandani\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;31m# if \"Sanchit!\" in [\"Sanchit\", \"Balchandani\"]:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;31mAssertionError\u001b[0m: " - ] - } - ], - "source": [ - "# Use of Assert statements\n", - "\n", - "assert(\"Sanchit!\" in [\"Sanchit\", \"Balchandani\"])\n", - "\n", - "# if \"Sanchit!\" in [\"Sanchit\", \"Balchandani\"]:\n", - "# print(\"Somethhing\")\n", - "# else:\n", - "# print(\"Something else\")" - ] - }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 79, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\"Sanchit!\" in [\"Sanchit\", \"Balchandani\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# TODO - Read about Recursion \n", - "\n", - "# Fibonacci 0,1,1,2,3,5,8,13" - ] - }, - { - "cell_type": "code", - "execution_count": 85, - "metadata": {}, - "outputs": [ - { - "ename": "AssertionError", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mAssertionError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfib\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 15\u001b[1;33m \u001b[0mprint_fib\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 16\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;32m\u001b[0m in \u001b[0;36mprint_fib\u001b[1;34m(num)\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mprint_fib\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 10\u001b[1;33m \u001b[1;32massert\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnum\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 11\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Fibonacci sequence:\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;31mAssertionError\u001b[0m: " - ] - } - ], - "source": [ - "# another example on assert\n", - "\n", - "def fib(n):\n", - " if n == 0 or n ==1:\n", - " return n\n", - " else:\n", - " return fib(n-1)+fib(n-2)\n", - " \n", - "def print_fib(num):\n", - " assert(num > 0)\n", - " print(\"Fibonacci sequence:\")\n", - " for i in range(num):\n", - " print(fib(i))\n", - " \n", - "print_fib(-1)\n", - " " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# `try/except` Statement syntax" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "```\n", - "try:\n", - " statements # Run this main action first\n", - "except name1: \n", - " # Run if name1 is raised during try block\n", - " statements\n", - "except (name2, name3): \n", - " # Run if any of these exceptions occur\n", - " statements \n", - "except name4 as var: \n", - " # Run if name4 is raised, assign instance raised to var \n", - " statements\n", - "except: # Run for all other exceptions raised\n", - " statements\n", - "else:\n", - " statements # Run if no exception was raised during try block\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Try & Except - Example 1\n", - "\n", - "id = int(input())\n" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The entry is a\n", - "Oops! occurred.\n", - "Next entry.\n", - "\n", - "The entry is 0\n", - "Oops! occurred.\n", - "Next entry.\n", - "\n", - "The entry is 2\n", - "The reciprocal of 2 is 0.5\n" - ] - } - ], - "source": [ - "# Try & Except - Example 2\n", - "import sys\n", - "\n", - "randomList = ['a', 0, 2]\n", - "\n", - "for entry in randomList:\n", - " try:\n", - " print(\"The entry is\", entry)\n", - " r = 1/int(entry)\n", - " break\n", - " except Exception as e:\n", - " print(\"Oops!\", e.__class__, \"occurred.\")\n", - " print(\"Next entry.\")\n", - " print()\n", - "print(\"The reciprocal of\", entry, \"is\", r)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Try & Except - Example 3\n", - "\n", - "try:\n", - " with open('file.log', 'r') as file:\n", - " lines = file.readlines()\n", - " print(lines[1])\n", - "except FileNotFoundError as fnf_error:\n", - " raise\n", - "except IndexError:\n", - " print(\"list index out of error\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# `try/finally` Statement" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The other flavor of the try statement is a specialization that has to do with finalization (a.k.a. termination) actions. If a finally clause is included in a try, Python will always run its block of statements “on the way out” of the try statement, whether an exception occurred while the try block was running or not. \n", - "\n", - "In it's general form, it is:\n", - "\n", - "```\n", - "try:\n", - " statements # Run this action first \n", - "finally:\n", - " statements # Always run this code on the way out\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "try:\n", - " f = open(\"Session3-Exceptions.ipynb\", encoding = 'utf-8')\n", - " # perform file operations\n", - "except:\n", - " pass\n", - "finally:\n", - " f.close()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## User Defined Exceptions" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Example 1\n", - "\n", - "class AlreadyGotOne(Exception):\n", - " pass\n", - "\n", - "def my_func():\n", - " raise AlreadyGotOne()\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "got exception\n" - ] - } - ], - "source": [ - "try:\n", - " my_func()\n", - "except AlreadyGotOne:\n", - " print('got exception')" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "ename": "Career", - "evalue": "So I became a waiter of Engineer", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mCareer\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;34m'So I became a waiter of {}'\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_job\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 10\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mCareer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Engineer'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;31mCareer\u001b[0m: So I became a waiter of Engineer" - ] - } - ], - "source": [ - "# Example 2\n", - "class Career(Exception):\n", - " \n", - " def __init__(self, job, *args, **kwargs):\n", - " super(Career, self).__init__(*args, **kwargs)\n", - " self._job = job\n", - " \n", - " def __str__(self): \n", - " return 'So I became a waiter of {}'.format(self._job)\n", - " \n", - "raise Career('Engineer')" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Enter salary amount: 12\n" - ] - }, - { - "ename": "SalaryNotInRangeError", - "evalue": "Salary is not in (5000, 15000) range", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mSalaryNotInRangeError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 10\u001b[0m \u001b[0msalary\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Enter salary amount: \"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;36m5000\u001b[0m \u001b[1;33m<\u001b[0m \u001b[0msalary\u001b[0m \u001b[1;33m<\u001b[0m \u001b[1;36m15000\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 12\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mSalaryNotInRangeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msalary\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;31mSalaryNotInRangeError\u001b[0m: Salary is not in (5000, 15000) range" - ] - } - ], - "source": [ - "# Example 3\n", - "\n", - "class SalaryNotInRangeError(Exception):\n", - " def __init__(self, salary, message=\"Salary is not in (5000, 15000) range\"):\n", - " self.salary = salary\n", - " self.message = message\n", - " super().__init__(self.message)\n", - "\n", - "\n", - "salary = int(input(\"Enter salary amount: \"))\n", - "if not 5000 < salary < 15000:\n", - " raise SalaryNotInRangeError(salary)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.5" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/notebooks/Session4-LambdaMapFilterComprehensions.ipynb b/notebooks/Session4-LambdaMapFilterComprehensions.ipynb deleted file mode 100644 index c270d52..0000000 --- a/notebooks/Session4-LambdaMapFilterComprehensions.ipynb +++ /dev/null @@ -1,654 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### What are lambda functions in Python?" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In Python, an anonymous function is a function that is defined without a name.\n", - "\n", - "While normal functions are defined using the def keyword in Python, anonymous functions are defined using the lambda keyword.\n", - "\n", - "Hence, anonymous functions are also called lambda functions.\n", - "\n", - "\n", - "Syntax of Lambda Function in python
\n", - "```lambda arguments: expression```" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10\n" - ] - } - ], - "source": [ - "# use of lambda functions - Example 1\n", - "double = lambda x: x * 2\n", - "\n", - "print(double(5))" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13\n" - ] - } - ], - "source": [ - "# use of lambda functions - Example 2\n", - "add_square = lambda x,y: x**2+y**2\n", - "\n", - "print(add_square(2,3))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Map function\n", - "\n", - "Basic Syntax
\n", - "```map(function_object, iterable1, iterable2,...)```" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Example 1\n", - "\n", - "def multiply2(x):\n", - " return x * 2\n", - " \n", - "map(multiply2, [1, 2, 3, 4]) # Output [2, 4, 6, 8]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Example 2\n", - "\n", - "map(lambda x : x*2, [1, 2, 3, 4]) #Output [2, 4, 6, 8]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['python', 'java']\n", - "[100, 80]\n", - "[True, False]\n" - ] - } - ], - "source": [ - "# Example 3\n", - "\n", - "dict_a = [{'name': 'python', 'points': 10}, {'name': 'java', 'points': 8}]\n", - " \n", - "print(list(map(lambda x : x['name'], dict_a)))\n", - " \n", - "print(list(map(lambda x : x['points']*10, dict_a)))\n", - "\n", - "print(list(map(lambda x : x['name'] == \"python\", dict_a)))\n" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[11, 22, 33]\n" - ] - } - ], - "source": [ - "# Example 4\n", - "\n", - "list_a = [1, 2, 3]\n", - "list_b = [10, 20, 30]\n", - " \n", - "print(list(map(lambda x, y: x + y, list_a, list_b)))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Filter function\n", - "\n", - "Basic Syntax
\n", - "```filter(function_object, iterable1, iterable2,...)```" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Example 1\n", - "\n", - "a = [1, 2, 3, 4, 5, 6]\n", - "filter(lambda x : x % 2 == 0, a)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Example 2\n", - "\n", - "dict_a = [{'name': 'python', 'points': 10}, {'name': 'java', 'points': 8}, {'name': 'python', 'points': 10}]\n", - "\n", - "filter(lambda x : x['name'] == 'python', dict_a)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Comprehensions" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Dictionary Comprehensions" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'milk': 0.7752, 'coffee': 1.9, 'bread': 1.9}\n" - ] - } - ], - "source": [ - "# Example 1 \n", - "\n", - "old_price = {'milk': 1.02, 'coffee': 2.5, 'bread': 2.5}\n", - "\n", - "dollar_to_pound = 0.76\n", - "new_price = {item: value*dollar_to_pound for (item, value) in old_price.items()}\n", - "print(new_price)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'john': 33}\n" - ] - } - ], - "source": [ - "# Example 2 - with if condition\n", - "\n", - "original_dict = {'jack': 38, 'michael': 48, 'guido': 57, 'john': 33}\n", - "\n", - "new_dict = {k: v for (k, v) in original_dict.items() if v % 2 != 0 if v < 40}\n", - "print(new_dict)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'jack': 'young', 'michael': 'old', 'guido': 'old', 'john': 'young'}\n" - ] - } - ], - "source": [ - "# Example 3 - with if else\n", - "\n", - "original_dict = {'jack': 38, 'michael': 48, 'guido': 57, 'john': 33}\n", - "\n", - "new_dict_1 = {k: ('old' if v > 40 else 'young')\n", - " for (k, v) in original_dict.items()}\n", - "print(new_dict_1)" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{2: {1: 2, 2: 4, 3: 6, 4: 8, 5: 10}, 3: {1: 3, 2: 6, 3: 9, 4: 12, 5: 15}, 4: {1: 4, 2: 8, 3: 12, 4: 16, 5: 20}}\n" - ] - } - ], - "source": [ - "# Example 4 - nested dictionary comprehensions\n", - "\n", - "dictionary = {\n", - " k1: {k2: k1 * k2 for k2 in range(1, 6)} for k1 in range(2, 5)\n", - "}\n", - "print(dictionary)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Set Comprehensions" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'Alice', 'Arnold', 'Bill', 'Mary'}" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Example\n", - "\n", - "names = [ 'Arnold', 'BILL', 'alice', 'arnold', 'MARY', 'J', 'BIll' ,'maRy']\n", - "res = {name.capitalize() for name in names if len(name) > 1}\n", - "res" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Global, Local and Nonlocal" - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Variable Scoping\n", - "\n", - "![image.png](attachment:image.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Global Variables
\n", - "In Python, a variable declared outside of the function or in global scope is known as a global variable. This means that a global variable can be accessed inside or outside of the function." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x inside: global\n", - "x outside: global\n" - ] - } - ], - "source": [ - "# example 1\n", - "\n", - "x = \"global\"\n", - "\n", - "def foo():\n", - " print(\"x inside:\", x)\n", - "\n", - "\n", - "foo()\n", - "print(\"x outside:\", x)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10\n" - ] - } - ], - "source": [ - "# Example 2\n", - "\n", - "x = 5\n", - "\n", - "def foo():\n", - " x = 5\n", - " x = x * 2\n", - " print(x)\n", - "\n", - "foo()" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10\n", - "11\n", - "11\n" - ] - } - ], - "source": [ - "# Example 3\n", - "\n", - "x = 10\n", - "def foobar():\n", - " global x\n", - " print(x)\n", - " x += 1\n", - " print(x)\n", - "\n", - "foobar()\n", - "print(x)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Rules of global Keyword
\n", - "The basic rules for global keyword in Python are:
\n", - "\n", - "- When we create a variable inside a function, it is local by default.
\n", - "- When we define a variable outside of a function, it is global by default. You don't have to use global keyword.
\n", - "- We use global keyword to read and write a global variable inside a function.
\n", - "- Use of global keyword outside a function has no effect.
" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Before calling bar: 20\n", - "Calling bar now\n" - ] - }, - { - "ename": "NameError", - "evalue": "name 'd' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"After calling bar: \"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0md\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 16\u001b[1;33m \u001b[0mfoo\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 17\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 18\u001b[0m \u001b[1;31m# print(\"x in main: \", d)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;32m\u001b[0m in \u001b[0;36mfoo\u001b[1;34m()\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Before calling bar: \"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0md\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Calling bar now\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 13\u001b[1;33m \u001b[0mbar\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 14\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"After calling bar: \"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0md\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;32m\u001b[0m in \u001b[0;36mbar\u001b[1;34m()\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mbar\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;32mglobal\u001b[0m \u001b[0md\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[0md\u001b[0m \u001b[1;33m+=\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 9\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0md\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 10\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;31mNameError\u001b[0m: name 'd' is not defined" - ] - } - ], - "source": [ - "# global keyword in nested functions\n", - "\n", - "def foo():\n", - " d = 20\n", - "\n", - " def bar():\n", - " global d\n", - " d +=1\n", - " print(d)\n", - " \n", - " print(\"Before calling bar: \", d)\n", - " print(\"Calling bar now\")\n", - " bar()\n", - " print(\"After calling bar: \", d)\n", - "\n", - "foo()\n", - "\n", - "# print(\"x in main: \", d)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Understanding nonlocal variable\n", - "\n", - "Nonlocal variables are used in nested functions whose local scope is not defined. This means that the variable can be neither in the local nor the global scope." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Some value + Something else\n", - "Some local value + Something else\n" - ] - } - ], - "source": [ - "gv = \"Some value\" # global variable\n", - "\n", - "def func():\n", - " lv = \"Some local value\" # local variable\n", - " def nested_func():\n", - " global gv\n", - " gv += \" + Something else\"\n", - " print(gv)\n", - " nonlocal lv\n", - " lv += \" + Something else\"\n", - " print(lv)\n", - " nested_func()\n", - " \n", - "func()" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "ename": "SyntaxError", - "evalue": "no binding for nonlocal 'gv' found (, line 8)", - "output_type": "error", - "traceback": [ - "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m8\u001b[0m\n\u001b[1;33m nonlocal gv\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m no binding for nonlocal 'gv' found\n" - ] - } - ], - "source": [ - "# Using nonlocal we can't change global scope variables\n", - "\n", - "gv = \"Some value\" # global variable\n", - "\n", - "def func():\n", - " lv = \"Some local value\" # local variable\n", - " def nested_func():\n", - " nonlocal gv\n", - " gv += \" + Something else\"\n", - " print(gv)\n", - " nonlocal lv\n", - " lv += \" + Something else\"\n", - " print(lv)\n", - " nested_func()\n", - " \n", - "func()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Automation Ideas using Python\n", - "\n", - "- Write a CLI to check COVID-19 cases on terminal\n", - "- Write a CLI to check weather details on terminal\n", - "- Automate the clutter in your Download/Desktop folder\n", - "- Write a Script to keep your mouse moving (#WFH hack :D)\n", - "- Write a watcher script to check for item with less price [to be picked later]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/notebooks/Session5 - ImportModulesPackages.ipynb b/notebooks/Session5 - ImportModulesPackages.ipynb deleted file mode 100644 index d2ea6ac..0000000 --- a/notebooks/Session5 - ImportModulesPackages.ipynb +++ /dev/null @@ -1,764 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Understanding \\__name\\__ built in\n", - "\n", - "The \\__name\\__ is a special built-in variable which evaluates to the name of the current module. However, if a module is being run directly (from command line), then \\__name\\__ instead is set to the string “\\__main\\__”." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "foo.__name__ set to __main__\n" - ] - } - ], - "source": [ - "# foo.py\n", - "import bar\n", - "\n", - "print(\"foo.__name__ set to \", __name__)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "bar.__name__ set to __main__\n" - ] - } - ], - "source": [ - "# bar.py\n", - "\n", - "print(\"bar.__name__ set to \", __name__)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Use of \\__name\\__ == \"\\__main__\\\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Using \\__name\\__ == \"\\__main\\__\" we can find out whether the value of \"\\__name\\__\" built in is equals to \"\\__main\\__\" or not. If it is equivalent it means module is directly being called form the terminal itself. If not then means it is being called form some other module." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# let's look at some of the examples" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "top-level in person module\n", - "person mod is run directly\n" - ] - } - ], - "source": [ - "v edf" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# module utils.py\n", - "import person\n", - "\n", - "person.creds()\n", - "\n", - "if __name__ == \"__main__\":\n", - " print(\"utils mod is run directly\")\n", - "else:\n", - " print(\"utils mod is imported into another module\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Modules and Packages" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Python modules and Python packages, two mechanisms that facilitate modular programming." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Modular Programming\n", - "\n", - "It refers to the process of breaking a large, unwieldy programming task into separate, smaller, more manageable subtasks or modules. Advantages are below - \n", - "\n", - "- Simplicity\n", - "- Maintainability\n", - "- Reusability\n", - "- Scoping" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### What are modules in Python?\n", - "\n", - "Modules refer to a file containing Python statements and definitions.\n", - "\n", - "A file containing Python code, for example: example.py, is called a module, and its module name would be example." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "# example.py\n", - "# Python Module example\n", - "\n", - "def add(a, b):\n", - " \"\"\"This program adds two\n", - " numbers and return the result\"\"\"\n", - "\n", - " result = a + b\n", - " return result" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "# let's try and import this in Python terminal\n", - "# call function add()" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The value of pi is 3.141592653589793\n" - ] - } - ], - "source": [ - "# import some native libraies\n", - "# standard module math\n", - "\n", - "import math\n", - "print(\"The value of pi is\", math.pi)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### The Module Search Path" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import example" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When the interpreter executes the above import statement, it searches for example.py in a list of directories assembled from the following sources:\n", - "\n", - "- The directory from which the input script was run or the current directory\n", - "- The list of directories contained in the PYTHONPATH environment variable, if it is set.\n", - "- An installation-dependent list of directories configured at the time Python is installed\n", - "\n", - "The resulting search path is accessible in the Python variable sys.path, which is obtained from a module named sys:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "C:\\cygwin64\\home\\Sanchit_Balchandani\\Workspace\\python-ws\\python-for-devops\\notebooks\n", - "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\python37.zip\n", - "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\DLLs\n", - "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\n", - "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\n", - "\n", - "C:\\Users\\Sanchit_Balchandani\\AppData\\Roaming\\Python\\Python37\\site-packages\n", - "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\n", - "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\win32\n", - "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\win32\\lib\n", - "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\Pythonwin\n", - "c:\\users\\sanchit_balchandani\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\IPython\\extensions\n", - "C:\\cygwin64\\home\\Sanchit_Balchandani\\.ipython\n" - ] - } - ], - "source": [ - "import sys\n", - "for i in sys.path: print(i)" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'c:\\\\users\\\\sanchit_balchandani\\\\appdata\\\\local\\\\programs\\\\python\\\\python37\\\\lib\\\\site-packages\\\\requests\\\\__init__.py'" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import requests\n", - "\n", - "requests.__file__" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "C:\\cygwin64\\home\\Sanchit_Balchandani\\Workspace\\python-ws\\python-for-devops\\notebooks\\modules_and_packages\\math.py\n" - ] - }, - { - "data": { - "text/plain": [ - "1234" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# using from keyword to import \n", - "\n", - "import math\n", - "from modules_and_packages import math\n", - "\n", - "print(math.__file__)\n", - "\n", - "math.pi" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "# Use of as keyword (renaming module)\n", - "\n", - "# let look an example on terminal\n", - "\n", - "# rom import as \n", - "\n", - "# import as " - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Module not found\n" - ] - } - ], - "source": [ - "# Use of try and except for import validations\n", - "\n", - "try:\n", - " # Non-existent module\n", - " import baz\n", - "except ImportError:\n", - " print('Module not found')\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### The dir() Function\n", - "The built-in function dir() returns a list of defined names in a namespace. Without arguments, it produces an alphabetically sorted list of names in the current local symbol table:\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['In',\n", - " 'Out',\n", - " '_',\n", - " '_23',\n", - " '_27',\n", - " '_28',\n", - " '_29',\n", - " '_30',\n", - " '_31',\n", - " '_32',\n", - " '_34',\n", - " '_35',\n", - " '__',\n", - " '___',\n", - " '__builtin__',\n", - " '__builtins__',\n", - " '__doc__',\n", - " '__loader__',\n", - " '__name__',\n", - " '__package__',\n", - " '__spec__',\n", - " '_dh',\n", - " '_i',\n", - " '_i1',\n", - " '_i10',\n", - " '_i11',\n", - " '_i12',\n", - " '_i13',\n", - " '_i14',\n", - " '_i15',\n", - " '_i16',\n", - " '_i17',\n", - " '_i18',\n", - " '_i19',\n", - " '_i2',\n", - " '_i20',\n", - " '_i21',\n", - " '_i22',\n", - " '_i23',\n", - " '_i24',\n", - " '_i25',\n", - " '_i26',\n", - " '_i27',\n", - " '_i28',\n", - " '_i29',\n", - " '_i3',\n", - " '_i30',\n", - " '_i31',\n", - " '_i32',\n", - " '_i33',\n", - " '_i34',\n", - " '_i35',\n", - " '_i36',\n", - " '_i37',\n", - " '_i38',\n", - " '_i39',\n", - " '_i4',\n", - " '_i40',\n", - " '_i41',\n", - " '_i5',\n", - " '_i6',\n", - " '_i7',\n", - " '_i8',\n", - " '_i9',\n", - " '_ih',\n", - " '_ii',\n", - " '_iii',\n", - " '_oh',\n", - " 'add',\n", - " 'creds',\n", - " 'exit',\n", - " 'get_ipython',\n", - " 'i',\n", - " 'math',\n", - " 'proj',\n", - " 'quit',\n", - " 'requests',\n", - " 'sys']" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dir()" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": {}, - "outputs": [], - "source": [ - "my_funny_randon_horrible_variable = [\"Sanchit\"]" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['In',\n", - " 'Out',\n", - " '_',\n", - " '_23',\n", - " '_27',\n", - " '_28',\n", - " '_29',\n", - " '_30',\n", - " '_31',\n", - " '_32',\n", - " '_34',\n", - " '_35',\n", - " '_41',\n", - " '__',\n", - " '___',\n", - " '__builtin__',\n", - " '__builtins__',\n", - " '__doc__',\n", - " '__loader__',\n", - " '__name__',\n", - " '__package__',\n", - " '__spec__',\n", - " '_dh',\n", - " '_i',\n", - " '_i1',\n", - " '_i10',\n", - " '_i11',\n", - " '_i12',\n", - " '_i13',\n", - " '_i14',\n", - " '_i15',\n", - " '_i16',\n", - " '_i17',\n", - " '_i18',\n", - " '_i19',\n", - " '_i2',\n", - " '_i20',\n", - " '_i21',\n", - " '_i22',\n", - " '_i23',\n", - " '_i24',\n", - " '_i25',\n", - " '_i26',\n", - " '_i27',\n", - " '_i28',\n", - " '_i29',\n", - " '_i3',\n", - " '_i30',\n", - " '_i31',\n", - " '_i32',\n", - " '_i33',\n", - " '_i34',\n", - " '_i35',\n", - " '_i36',\n", - " '_i37',\n", - " '_i38',\n", - " '_i39',\n", - " '_i4',\n", - " '_i40',\n", - " '_i41',\n", - " '_i42',\n", - " '_i43',\n", - " '_i5',\n", - " '_i6',\n", - " '_i7',\n", - " '_i8',\n", - " '_i9',\n", - " '_ih',\n", - " '_ii',\n", - " '_iii',\n", - " '_oh',\n", - " 'add',\n", - " 'creds',\n", - " 'exit',\n", - " 'get_ipython',\n", - " 'i',\n", - " 'math',\n", - " 'my_funny_randon_horrible_variable',\n", - " 'proj',\n", - " 'quit',\n", - " 'requests',\n", - " 'sys']" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dir()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Reloading a Module" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For reasons of efficiency, a module is only loaded once per interpreter session. That is fine for function and class definitions, which typically make up the bulk of a module’s contents. But a module can contain executable statements as well, usually for initialization. Be aware that these statements will only be executed the first time a module is imported." - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": {}, - "outputs": [], - "source": [ - "# Let's try some examples on Terminal" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'mod'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;36m100\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m200\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m300\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'mod'" - ] - } - ], - "source": [ - "# Sample Example, will not work here\n", - "\n", - "import mod\n", - "a = [100, 200, 300]\n", - "\n", - "import mod\n", - "\n", - "import importlib\n", - "importlib.reload(mod)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### What are packages?" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Package Initialization\n", - "If a file named \\__init\\__.py is present in a package directory, it is invoked when the package or a module in the package is imported. This can be used for execution of package initialization code, such as initialization of package-level data.\n", - "\n", - "For example, consider the following \\__init\\__.py file:" - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "![image.png](attachment:image.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Importing * From a Package" - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "![image.png](attachment:image.png)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Let's try some examples on terminal" - ] - }, - { - "attachments": { - "image.png": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Subpackages\n", - "\n", - "![image.png](attachment:image.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Absolute Import\n", - "In this type of import, we specify the full path of the package/module/function to be imported. A dot(.) is used in pace of slash(/) for the directory structure.\n", - "\n", - "Consider the following directory structure for a package.\n", - "\n", - "python_project_name/packageA/moduleA1.py\n", - "python_project_name/packageA/moduleA2.py" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [], - "source": [ - "# from packageA.moduleA2 import myfunc" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Relative Import\n", - "In relative import, we mention the path of the imported package as relative to the location of the current script which is using the imported module.\n", - "\n", - "A dot indicates one directory up from the current location and two dots indicates two directories up and so on.\n", - "\n", - "Consider the following directory structure for a package.\n", - "\n", - "python_project_name/packageA/moduleA1.py \n", - "\n", - "\n", - "python_project_name/packageB/moduleB1.py" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from ..packageA import moduleA1" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -}