{"id":96,"date":"2020-10-03T01:32:14","date_gmt":"2020-10-03T01:32:14","guid":{"rendered":"https:\/\/www.pythontutorial.net\/?page_id=96"},"modified":"2025-03-30T09:56:51","modified_gmt":"2025-03-30T09:56:51","slug":"python-module","status":"publish","type":"page","link":"https:\/\/www.pythontutorial.net\/python-basics\/python-module\/","title":{"rendered":"Python Modules"},"content":{"rendered":"\n<p><strong>Summary<\/strong>: in this tutorial, you&#8217;ll learn about Python modules, how to import objects from a module, and how to develop your modules.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='introduction-to-python-modules'>Introduction to Python modules <a href=\"#introduction-to-python-modules\" class=\"anchor\" id=\"introduction-to-python-modules\" title=\"Anchor for Introduction to Python modules\">#<\/a><\/h2>\n\n\n\n<p>A module is a piece of software that has a specific functionality. A Python module is a file that contains Python code.<\/p>\n\n\n\n<p>For example, when building a shopping cart application, you can have one module for calculating prices and another module for managing items in the cart. Each module is a separate Python source code file.<\/p>\n\n\n\n<p>A module has a name specified by the filename without the <code>.py<\/code> extension. For example, if you have a file called <code>pricing.py<\/code>, the module name is <code>pricing<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='writing-python-modules'>Writing Python modules <a href=\"#writing-python-modules\" class=\"anchor\" id=\"writing-python-modules\" title=\"Anchor for Writing Python modules\">#<\/a><\/h2>\n\n\n\n<p>First, create a new file called <code>pricing.py<\/code> and add the following code:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-comment\"># pricing.py<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title\">get_net_price<\/span><span class=\"hljs-params\">(price, tax_rate, discount=<span class=\"hljs-number\">0<\/span>)<\/span>:<\/span>\n    discounted_price = price * (<span class=\"hljs-number\">1<\/span> - discount) \n    net_price = discounted_price * (<span class=\"hljs-number\">1<\/span> + tax_rate) \n    <span class=\"hljs-keyword\">return<\/span> net_price\n\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title\">get_tax<\/span><span class=\"hljs-params\">(price, tax_rate=<span class=\"hljs-number\">0<\/span>)<\/span>:<\/span>\n    <span class=\"hljs-keyword\">return<\/span> price * tax_rate<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The pricing module has two functions that calculate the net price and tax from the selling price, tax rate, and discount.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='importing-module-objects'>Importing module objects <a href=\"#importing-module-objects\" class=\"anchor\" id=\"importing-module-objects\" title=\"Anchor for Importing module objects\">#<\/a><\/h2>\n\n\n\n<p>To use objects defined in a module from another file, you can use the <code>import<\/code> statement. <\/p>\n\n\n\n<p>The <code>import<\/code> statement has several forms that we will discuss in the next sections.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id='import-module_name'>import &lt;module_name&gt; <a href=\"#import-module_name\" class=\"anchor\" id=\"import-module_name\" title=\"Anchor for import &lt;module_name&gt;\">#<\/a><\/h3>\n\n\n\n<p>To use objects defined in a module, you need to import the module using the following <code>import<\/code> statement:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">import<\/span> module_name<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>For example, to use the <code>pricing<\/code> module in the <code>main.py<\/code> file, you use the following statement:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">import<\/span> pricing<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>When you import a module, Python executes all the code from the corresponding file. In this example, Python executes the code from the <code>pricing.py<\/code> file. Also, Python adds the module name to the current module. <\/p>\n\n\n\n<p>This module name allows you to access functions, variables, etc. from the imported module in the current module. For example, you can call a <a href=\"https:\/\/www.pythontutorial.net\/python-basics\/python-functions\/\">function<\/a> defined in the imported module using the following syntax:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">module_name.function_name()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The following shows how to use the <code>get_net_price()<\/code> function defined in the <code>pricing<\/code> module in the <code>main.py<\/code> file:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-comment\"># main.py<\/span>\n<span class=\"hljs-keyword\">import<\/span> pricing\n\n\nnet_price = pricing.get_net_price(\n    price=<span class=\"hljs-number\">100<\/span>,\n    tax_rate=<span class=\"hljs-number\">0.01<\/span>\n)\n\nprint(net_price)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-number\">101.0<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='import-module_name-as-new_name'>import &lt;module_name&gt; as new_name <a href=\"#import-module_name-as-new_name\" class=\"anchor\" id=\"import-module_name-as-new_name\" title=\"Anchor for import &lt;module_name&gt; as new_name\">#<\/a><\/h3>\n\n\n\n<p>If you don&#8217;t want to use the <code>pricing<\/code> as the identifier in the <code>main.py<\/code>, you can rename the module name to another as follows:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">import<\/span> pricing <span class=\"hljs-keyword\">as<\/span> selling_price<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>And then you can use the <code>selling_price<\/code> as the identifier in the <code>main.py<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">net_price = selling_price.get_net_price(\n    price=<span class=\"hljs-number\">100<\/span>,\n    tax_rate=<span class=\"hljs-number\">0.01<\/span>\n)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='from-module_name-import-name'>from &lt;module_name&gt; import &lt;name&gt; <a href=\"#from-module_name-import-name\" class=\"anchor\" id=\"from-module_name-import-name\" title=\"Anchor for from &lt;module_name&gt; import &lt;name&gt;\">#<\/a><\/h3>\n\n\n\n<p>If you want to reference objects in a module without prefixing the module name, you can explicitly import them using the following syntax:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> module_name <span class=\"hljs-keyword\">import<\/span> fn1, fn2<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Now, you can use the imported functions without specifying the module name like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">fn1()\nfn2()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This example imports the <code>get_net_price()<\/code> function from the <code>pricing<\/code> module:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-comment\"># main.py<\/span>\n<span class=\"hljs-keyword\">from<\/span> pricing <span class=\"hljs-keyword\">import<\/span> get_net_price<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>and use the <code>get_net_price()<\/code> function from the <code>pricing<\/code> module:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-comment\"># main.py<\/span>\n<span class=\"hljs-keyword\">from<\/span> pricing <span class=\"hljs-keyword\">import<\/span> get_net_price\n\nnet_price = get_net_price(price=<span class=\"hljs-number\">100<\/span>, tax_rate=<span class=\"hljs-number\">0.01<\/span>)\nprint(net_price)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>It&#8217;s possible to rename an imported name to another by using the following <code>import<\/code> statement:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-13\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> &lt;module_name&gt; <span class=\"hljs-keyword\">import<\/span> &lt;name&gt; <span class=\"hljs-keyword\">as<\/span> &lt;new_name&gt;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-13\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The following example renames the <code>get_net_price()<\/code> function from the <code>pricing<\/code> module to <code>calculate_net_price()<\/code> function:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-14\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pricing <span class=\"hljs-keyword\">import<\/span> get_net_price <span class=\"hljs-keyword\">as<\/span> calculate_net_price\n\nnet_price = calculate_net_price(\n    price=<span class=\"hljs-number\">100<\/span>,\n    tax_rate=<span class=\"hljs-number\">0.1<\/span>,\n    discount=<span class=\"hljs-number\">0.05<\/span>\n)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-14\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='from-module_name-import-import-all-objects-from-a-module'>from &lt;module_name&gt; import * : import all objects from a module <a href=\"#from-module_name-import-import-all-objects-from-a-module\" class=\"anchor\" id=\"from-module_name-import-import-all-objects-from-a-module\" title=\"Anchor for from &lt;module_name&gt; import * : import all objects from a module\">#<\/a><\/h3>\n\n\n\n<p>To import every object from a module, you can use the following syntax:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-15\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> module_name <span class=\"hljs-keyword\">import<\/span> *<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-15\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This <code>import<\/code> statement will import all public identifiers including <a href=\"https:\/\/www.pythontutorial.net\/python-basics\/python-variables\/\">variables<\/a>, <a href=\"https:\/\/www.pythontutorial.net\/python-basics\/python-constants\/\">constants<\/a>, <a href=\"https:\/\/www.pythontutorial.net\/python-basics\/python-functions\/\">functions<\/a>, <a href=\"https:\/\/www.pythontutorial.net\/python-oop\/python-class\/\">classes<\/a>, etc., to the program.<\/p>\n\n\n\n<p>However, it&#8217;s not a good practice because if the imported modules have the same object, the object from the second module will override the first one. The program may not work as you would expect.<\/p>\n\n\n\n<p>Let&#8217;s see the following example.<\/p>\n\n\n\n<p>First, create a new file called <code>product.py<\/code> and define the <code>get_tax()<\/code> function:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-16\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-comment\"># product.py<\/span>\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title\">get_tax<\/span><span class=\"hljs-params\">(price)<\/span>:<\/span>\n    <span class=\"hljs-keyword\">return<\/span> price * <span class=\"hljs-number\">0.1<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-16\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Both <code>product<\/code> and <code>pricing<\/code> modules have the  <code>get_tax()<\/code> function. However, the <code>get_tax()<\/code> function from the <code>product<\/code> module has only one parameter while the <code>get_tax()<\/code> function from the <code>pricing<\/code> module has two parameters.<\/p>\n\n\n\n<p>Second, import all objects from both <code>pricing<\/code> and <code>product<\/code> modules and use the <code>get_tax()<\/code> function:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-17\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pricing <span class=\"hljs-keyword\">import<\/span> *\n<span class=\"hljs-keyword\">from<\/span> product <span class=\"hljs-keyword\">import<\/span> *\n\ntax = get_tax(<span class=\"hljs-number\">100<\/span>)\nprint(tax)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-17\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Since the <code>get_tax()<\/code> function from the <code>product<\/code> module overrides the <code>get_tax<\/code>() function from the <code>pricing<\/code> module, you get the <code>tax<\/code> with a value of 10.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='summary'>Summary <a href=\"#summary\" class=\"anchor\" id=\"summary\" title=\"Anchor for Summary\">#<\/a><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A module is a Python source code file with the <code>.py<\/code> extension. The module name is the Python file name without the extension.<\/li>\n\n\n\n<li>To use objects from a module, you import them using the <code>import<\/code> statement.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id='quiz'>Quiz <a href=\"#quiz\" class=\"anchor\" id=\"quiz\" title=\"Anchor for Quiz\">#<\/a><\/h2>\n\n\n\n<iframe loading=\"lazy\"\n  name=\"quiz\"\n  src=\"\/quiz\/?quiz=module\"\n  height=\"700\"\n  width=\"600\"\n  class=\"iframe\"\n><\/iframe>\n\n<div class=\"helpful-block-content\" data-title=\"\">\n\t<header>\n\t\t<div class=\"wth-question\">Was this tutorial helpful ?<\/div>\n\t\t<div class=\"wth-thumbs\">\n\t\t\t<button\n\t\t\t\tdata-post=\"96\"\n\t\t\t\tdata-post-url=\"https:\/\/www.pythontutorial.net\/python-basics\/python-module\/\"\n\t\t\t\tdata-post-title=\"Python Modules\"\n\t\t\t\tdata-response=\"1\"\n\t\t\t\tclass=\"wth-btn-rounded wth-yes-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\tclass=\"feather feather-thumbs-up block w-full h-full\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> Yes <\/span>\n\t\t\t<\/button>\n\n\t\t\t<button\n\t\t\t\tdata-response=\"0\"\n\t\t\t\tdata-post=\"96\"\n\t\t\t\tdata-post-url=\"https:\/\/www.pythontutorial.net\/python-basics\/python-module\/\"\n\t\t\t\tdata-post-title=\"Python Modules\"\n\t\t\t\tclass=\"wth-btn-rounded wth-no-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> No <\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t<\/header>\n\n\t<div class=\"wth-form hidden\">\n\t\t<div class=\"wth-form-wrapper\">\n\t\t\t<div class=\"wth-title\"><\/div>\n\t\t\t<textarea class=\"wth-message\"><\/textarea>\n\t\t\t<input type=\"button\" name=\"wth-submit\" class=\"wth-btn wth-btn-submit\" id=\"wth-submit\" \/>\n\t\t\t<input type=\"button\" class=\"wth-btn wth-btn-cancel\" value=\"Cancel\" \/>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>in this tutorial, you&#8217;ll learn about Python modules and how to develop your own modules.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":37,"menu_order":57,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-96","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/pages\/96","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/comments?post=96"}],"version-history":[{"count":3,"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/pages\/96\/revisions"}],"predecessor-version":[{"id":7212,"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/pages\/96\/revisions\/7212"}],"up":[{"embeddable":true,"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/pages\/37"}],"wp:attachment":[{"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/media?parent=96"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}