{"id":20857,"date":"2020-08-05T23:42:57","date_gmt":"2020-08-06T06:42:57","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=20857"},"modified":"2023-12-01T03:57:21","modified_gmt":"2023-12-01T11:57:21","slug":"python-typeerror-module-object-is-not-callable","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/","title":{"rendered":"Python TypeError: \u2018module\u2019 object is not callable Solution"},"content":{"rendered":"\n<p><a href=\"https:\/\/careerkarma.com\/blog\/what-python-is-used-for\/\">Python<\/a> modules are confusing, especially when you define your own. \u201cTypeError: \u2018module\u2019 object is not callable\u201d is one of the most common mistakes that Python developers make when working with classes.<br><\/p>\n\n\n\n<p>In this guide, we talk about what this error means and why it is raised. We walk through an example code snippet to help you overcome this error. Let\u2019s begin!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Problem: TypeError: \u2018module\u2019 object is not callable<\/h2>\n\n\n\n<p>Any Python file is a module as long as it ends in the extension \u201c.py\u201d.<br><\/p>\n\n\n\n<p><a href=\"https:\/\/careerkarma.com\/blog\/python-modules\/\">Modules<\/a> are a crucial part of Python because they let you define functions, variables, and classes outside of a main program. This means you can divide your code up into multiple files and categorize it more effectively.<br><\/p>\n\n\n\n<p>Modules must be imported in a certain way. Otherwise, Python returns an error:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>TypeError: 'module' object is not callable<\/pre><\/div>\n\n\n\n<p>This happens when you try to import a module as a function.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An Example Scenario<\/h2>\n\n\n\n<p>Define a module called \u201ccakes\u201d. This module contains one function: read_file. The read_file function will read the contents of a text file.<br><\/p>\n\n\n\n<p>Our filename determines the name of our module. Because we want our module to be called \u201ccakes\u201d, we write our code in a file called cakes.py:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>def read_file():\n\tall_cakes = []\n\twith open(&quot;cakes.txt&quot;, &quot;r&quot;) as cake_file:\n\t\tcake_list = cake_file.readlines()\n\t\tfor c in cake_list:\n\t\t\tall_cakes.append(c.replace(&quot;\\n&quot;, &quot;&quot;))\n\n\treturn all_cakes<\/pre><\/div>\n\n\n\n<p>This function <a href=\"https:\/\/careerkarma.com\/blog\/python-read-file\/\">reads the contents of a file<\/a> called \u201ccakes.txt\u201d. It then iterates through every line of text in the file and adds each line to a list called \u201call_cakes\u201d.<br><\/p>\n\n\n\n<p>The <a href=\"https:\/\/careerkarma.com\/blog\/python-remove-character-from-string\/\">replace()<\/a> method is used to replace any new line (\u201c\\n\u201d) characters with an empty value. This removes all new lines. We return \u201call_cakes\u201d at the end of our function.<br><\/p>\n\n\n\n<p>Now, open a file called app.py and paste in this code:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>import cakes\n\ncake_list = cakes()\nprint(cake_list)<\/pre><\/div>\n\n\n\n<p>This code uses our \u201ccakes\u201d module to read the contents of the \u201ccakes.txt\u201d file. It then prints out all the cakes the function has found in the file.<br><\/p>\n\n\n\n<p>Let\u2019s run our code:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>Traceback (most recent call last):\n  File &quot;main.py&quot;, line 3, in &lt;module&gt;\n\tcakes = cakes()\nTypeError: 'module' object is not callable<\/pre><\/div>\n\n\n\n<p>Our code returns an error.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Solution<\/h2>\n\n\n\n<p>Let\u2019s take a look at the <a href=\"https:\/\/careerkarma.com\/blog\/python-import\/\">import statement<\/a> in our app.py file:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>import cakes<\/pre><\/div>\n\n\n\n<p>We import the module \u201ccakes\u201d. This contains all of the variables, classes, and functions that we declare in the \u201ccakes.py\u201d file.<br><\/p>\n\n\n\n<p>Now, let\u2019s look at our next line of code:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>cake_list = cakes()<\/pre><\/div>\n\n\n\n<p>Although the \u201ccakes\u201d module only contains one function, we don\u2019t specify what that function is. This confuses Python because it does not know what function it should work with.<br><\/p>\n\n\n\n<p>To solve this error, we call the name of the function we want to reference instead of the module itself:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>import cakes\n\ncake_list = cakes.read_file()\nprint(cake_list)<\/pre><\/div>\n\n\n\n<p>Let\u2019s try to run our code again:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>['Cinnamon Babka', 'Chocolate Cupcake']<\/pre><\/div>\n\n\n\n<p>Our code successfully returns the list of cakes.<br><\/p>\n\n\n\n<p>In our app.py file, we call cakes.read_file().<br><\/p>\n\n\n\n<p>Python looks at the file \u201ccakes.py\u201d where our \u201ccakes\u201d module is stored and locates the <code>read_file()<\/code> function. Then, Python executes that <a href=\"https:\/\/careerkarma.com\/blog\/python-functions\/\">function<\/a>.<br><\/p>\n\n\n\n<p>We assign the result of the <code>read_file()<\/code> function to a <a href=\"https:\/\/careerkarma.com\/blog\/python-variables\/\">variable<\/a> called \u201ccake_list\u201d. Then, we print out that list to the console.<br><\/p>\n\n\n\n<p>Alternatively, import the read_file function directly into our program:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>from cakes import read_file\n\ncake_list = read_file()\nprint(cake_list)<\/pre><\/div>\n\n\n\n<p>Our code returns:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>['Cinnamon Babka', 'Chocolate Cupcake']<\/pre><\/div>\n\n\n\n<p>Our code executes the <code>read_file()<\/code> function from the \u201ccakes\u201d module. In this example, we import the whole \u201ccakes\u201d module. Instead of doing so, we import one function from the \u201ccakes\u201d module: read_file.<br><\/p>\n\n\n\n<p>Notice that when we import read_file, we no longer need to use <code>cakes.read_file()<\/code> to call our function. We use <code>read_file()<\/code> because we import the <code>read_file()<\/code> function directly into our code.<\/p>\n\n\n\n<iframe loading=\"lazy\" frameborder=\"0\" width=\"100%\" height=\"400px\" src=\"https:\/\/repl.it\/@careerkarma\/module-object-is-not-callable?lite=true\"><\/iframe>\n<br>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>The code for a Python module exists in a different file. There are a few different ways to import functions and values from modules and it&#8217;s easy to mess up.<br><\/p>\n\n\n\n<p>When you work with modules, make sure that you reference the functions, classes, and variables that you want to access correctly. You need to specify the exact function that you want to call from a module if you want to reference a function, rather than calling the module itself.<br><\/p>\n\n\n\n<p>Now you\u2019re ready to solve this Python TypeError like a professional developer!<\/p>\n","protected":false},"excerpt":{"rendered":"Python modules are confusing, especially when you define your own. \u201cTypeError: \u2018module\u2019 object is not callable\u201d is one of the most common mistakes that Python developers make when working with classes. In this guide, we talk about what this error means and why it is raised. We walk through an example code snippet to help&hellip;","protected":false},"author":240,"featured_media":18503,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16578],"tags":[],"class_list":{"0":"post-20857","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-python"},"acf":{"post_sub_title":"","sprint_id":"","query_class":"Python","school_sft":"","parent_sft":"","school_privacy_policy":"","has_review":null,"is_sponser_post":"","is_guest_post":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Python TypeError: \u2018module\u2019 object is not callable Solution | Career Karma<\/title>\n<meta name=\"description\" content=\"On Career Karma, learn about the Python TypeError: \u2018module\u2019 object is not callable error, how the error works, and how to solve the error.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python TypeError: \u2018module\u2019 object is not callable Solution\" \/>\n<meta property=\"og:description\" content=\"On Career Karma, learn about the Python TypeError: \u2018module\u2019 object is not callable error, how the error works, and how to solve the error.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/\" \/>\n<meta property=\"og:site_name\" content=\"Career Karma\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/careerkarmaapp\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-06T06:42:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T11:57:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/06\/kari-shea-1SAnrIxw5OY-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1020\" \/>\n\t<meta property=\"og:image:height\" content=\"680\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"James Gallagher\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@career_karma\" \/>\n<meta name=\"twitter:site\" content=\"@career_karma\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"James Gallagher\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/\"},\"author\":{\"name\":\"James Gallagher\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"headline\":\"Python TypeError: \u2018module\u2019 object is not callable Solution\",\"datePublished\":\"2020-08-06T06:42:57+00:00\",\"dateModified\":\"2023-12-01T11:57:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/\"},\"wordCount\":658,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/06\/kari-shea-1SAnrIxw5OY-unsplash.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/\",\"url\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/\",\"name\":\"Python TypeError: \u2018module\u2019 object is not callable Solution | Career Karma\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/06\/kari-shea-1SAnrIxw5OY-unsplash.jpg\",\"datePublished\":\"2020-08-06T06:42:57+00:00\",\"dateModified\":\"2023-12-01T11:57:21+00:00\",\"author\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"description\":\"On Career Karma, learn about the Python TypeError: \u2018module\u2019 object is not callable error, how the error works, and how to solve the error.\",\"breadcrumb\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#primaryimage\",\"url\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/06\/kari-shea-1SAnrIxw5OY-unsplash.jpg\",\"contentUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/06\/kari-shea-1SAnrIxw5OY-unsplash.jpg\",\"width\":1020,\"height\":680},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/careerkarma.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\/\/careerkarma.com\/blog\/python\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Python TypeError: \u2018module\u2019 object is not callable Solution\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#website\",\"url\":\"https:\/\/careerkarma.com\/blog\/\",\"name\":\"Career Karma\",\"description\":\"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/careerkarma.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\",\"name\":\"James Gallagher\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg\",\"contentUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg\",\"caption\":\"James Gallagher\"},\"description\":\"James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.\",\"url\":\"https:\/\/careerkarma.com\/blog\/author\/jamesgallagher\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Python TypeError: \u2018module\u2019 object is not callable Solution | Career Karma","description":"On Career Karma, learn about the Python TypeError: \u2018module\u2019 object is not callable error, how the error works, and how to solve the error.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/","og_locale":"en_US","og_type":"article","og_title":"Python TypeError: \u2018module\u2019 object is not callable Solution","og_description":"On Career Karma, learn about the Python TypeError: \u2018module\u2019 object is not callable error, how the error works, and how to solve the error.","og_url":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2020-08-06T06:42:57+00:00","article_modified_time":"2023-12-01T11:57:21+00:00","og_image":[{"width":1020,"height":680,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/06\/kari-shea-1SAnrIxw5OY-unsplash.jpg","type":"image\/jpeg"}],"author":"James Gallagher","twitter_card":"summary_large_image","twitter_creator":"@career_karma","twitter_site":"@career_karma","twitter_misc":{"Written by":"James Gallagher","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/"},"author":{"name":"James Gallagher","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"headline":"Python TypeError: \u2018module\u2019 object is not callable Solution","datePublished":"2020-08-06T06:42:57+00:00","dateModified":"2023-12-01T11:57:21+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/"},"wordCount":658,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/06\/kari-shea-1SAnrIxw5OY-unsplash.jpg","articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/","url":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/","name":"Python TypeError: \u2018module\u2019 object is not callable Solution | Career Karma","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/06\/kari-shea-1SAnrIxw5OY-unsplash.jpg","datePublished":"2020-08-06T06:42:57+00:00","dateModified":"2023-12-01T11:57:21+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"description":"On Career Karma, learn about the Python TypeError: \u2018module\u2019 object is not callable error, how the error works, and how to solve the error.","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/06\/kari-shea-1SAnrIxw5OY-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/06\/kari-shea-1SAnrIxw5OY-unsplash.jpg","width":1020,"height":680},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-module-object-is-not-callable\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/careerkarma.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/careerkarma.com\/blog\/python\/"},{"@type":"ListItem","position":3,"name":"Python TypeError: \u2018module\u2019 object is not callable Solution"}]},{"@type":"WebSite","@id":"https:\/\/careerkarma.com\/blog\/#website","url":"https:\/\/careerkarma.com\/blog\/","name":"Career Karma","description":"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/careerkarma.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94","name":"James Gallagher","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","caption":"James Gallagher"},"description":"James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.","url":"https:\/\/careerkarma.com\/blog\/author\/jamesgallagher\/"}]}},"_links":{"self":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/20857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/comments?post=20857"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/20857\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/18503"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=20857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=20857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=20857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}