{"id":23488,"date":"2020-10-01T15:52:21","date_gmt":"2020-10-01T22:52:21","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=23488"},"modified":"2023-12-01T04:01:22","modified_gmt":"2023-12-01T12:01:22","slug":"python-nameerror-name-raw-input-is-not-defined","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/","title":{"rendered":"Python NameError: name \u2018raw_input\u2019 is not defined Solution"},"content":{"rendered":"\n<p>Python 3 has replaced Python 2\u2019s <code>raw_input() <\/code>method with <a href=\"https:\/\/careerkarma.com\/blog\/python-input\/\">the input() method<\/a>. If you try to use <code>raw_input()<\/code> in Python 3, you\u2019ll encounter the <code>NameError: name \u2018raw_input\u2019 is not defined<\/code> error.<br><\/p>\n\n\n\n<p>In this guide, we\u2019re going to discuss what this error means and why you may encounter it. We\u2019ll walk through an example of this error, with a solution, so you can learn how to solve the error.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">NameError: name \u2018raw_input\u2019 is not defined<\/h2>\n\n\n\n<p>The raw_input() function in <a href=\"https:\/\/careerkarma.com\/blog\/python-2-vs-python-3\/\">Python 2<\/a> collects an input from a user. This input can be converted to any data type, such as a string, an integer, or a floating-point number.<br><\/p>\n\n\n\n<p>Consider this code:<br><\/p>\n\n\n\n<p><code>username = raw_input(\u201cEnter a username: \u201d)<br><\/code><\/p>\n\n\n\n<p>We can use this code to collect a username from a user in Python 2.<br><\/p>\n\n\n\n<p>Being able to collect an input from a user means you can make your programs interactive. You don\u2019t just need to define all the data in the program you are going to use. You can ask a user to provide some data.<br><\/p>\n\n\n\n<p>In Python 3, many changes have been made to the Python language. Among them is <code>raw_input()<\/code> was renamed to <code>input()<\/code>. Both functions collect a piece of data from <code>sys.stdin <\/code>(also known as \u201cstandard input\u201d) and return that data to a program.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An Example Scenario<\/h2>\n\n\n\n<p>We\u2019re going to build a program that calculates the grade a student has earned on their art assignment. The assignment is out of 50 and students can receive either an A, B, C, or Fail grade. To start, let\u2019s ask our user to insert a grade whose letter grade we will calculate:<br><\/p>\n\n\n\n<p><code>numerical_grade = int(raw_input(\u201cEnter a grade: \u201d))<br><\/code><\/p>\n\n\n\n<p>We use <code>raw_input()<\/code> to collect a grade from the user. The user must enter a grade into our program before the rest of our program runs. We <a href=\"https:\/\/careerkarma.com\/blog\/python-string-to-int\/\">convert the value a user enters to an integer<\/a> so we can perform numerical comparisons later in our code. This is because <code>raw_input()<\/code> returns a string by default.<br><\/p>\n\n\n\n<p>We\u2019re going to use an <a href=\"https:\/\/careerkarma.com\/blog\/python-if-else\/\">if statement<\/a> to calculate the corresponding letter grade:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>if numerical_grade &gt; 40:\n\tgrade = &quot;A&quot;\nelif numerical_grade &gt; 30:\n\tgrade = &quot;B&quot;\nelif numerical_grade &gt; 25:\n\tgrade = &quot;C&quot;\nelse:\n\tgrade = &quot;Fail&quot;\n<\/pre><\/div>\n\n\n\n<p>We use one if, two elif, and one else statement to calculate the letter grade a student has earned based on the numerical grade the user has inserted into the program.<br><\/p>\n\n\n\n<p>Our final step is to <a href=\"https:\/\/careerkarma.com\/blog\/python-print-without-new-line\/\">print out a message to the console<\/a> informing the user of the results of our calculation:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>print(&quot;This student earned a {} grade with a score of {}.&quot;.format(grade, numerical_grade))\n<\/pre><\/div>\n\n\n\n<p>This statement will display both the letter and the numerical grade that a student has earned.<br><\/p>\n\n\n\n<p>Let\u2019s run our code and see what happens:<br><\/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 1, in &lt;module&gt;\n\tnumerical_grade = int(raw_input(&quot;Enter a grade: &quot;))\nNameError: name 'raw_input' is not defined\n<\/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>The error message tells us we are referencing a value that does not exist. Because we are using Python 3.x to run our program, <code>raw_input()<\/code> does not exist.<br><\/p>\n\n\n\n<p>To fix our code, we need to replace our <code>raw_input() <\/code>statement with an <code>input()<\/code> statement:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>numerical_grade = int(input(&quot;Enter a grade: &quot;))\n<\/pre><\/div>\n\n\n\n<p>Both the raw_input() and input() statements are functionally the same. This means we do not need to make any further changes to our code to make our codebase compatible with Python 3.x.<br><\/p>\n\n\n\n<p>Let\u2019s run our program with this change made:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>Enter a grade: 33\nThis student earned a B grade with a score of 33.\n<\/pre><\/div>\n\n\n\n<p>Our code successfully calculates a student&#8217;s grade.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Note on Reassigning the raw_input Function<\/h2>\n\n\n\n<p>A solution that technically works is to assign the value of <code>raw_input() <\/code>to the <code>input()<\/code> function. We can do this using <a href=\"https:\/\/careerkarma.com\/blog\/python-variables\/\">variable assignment<\/a>. This will let you use a function called <code>raw_input()<\/code> in your Python 3 code.<br><\/p>\n\n\n\n<p>Consider this example:<br><\/p>\n\n\n\n<p><code>raw_input = input<br><\/code><\/p>\n\n\n\n<p>This statement tells Python that the value of <code>raw_input() <\/code>should be equal to <code>input()<\/code>.<br><\/p>\n\n\n\n<p>This is not a good solution because the official Python 3 documentation phased out the name <code>raw_input()<\/code> in favor of <code>input()<\/code>. Some developers who read your code may be confused if they see <code>raw_input()<\/code> in a Python 3 codebase, thereby slowing down development time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>The <code>NameError: name \u2018raw_input\u2019 is not defined<\/code> error is raised when you try to use the raw_input() method in Python 3. To fix this error, replace all instances of raw_input() with the input() function in your program.<br><\/p>\n\n\n\n<p>Now you have the knowledge you need to fix this error like a professional Python coder!<br><\/p>\n","protected":false},"excerpt":{"rendered":"Python 3 has replaced Python 2\u2019s raw_input() method with the input() method. If you try to use raw_input() in Python 3, you\u2019ll encounter the NameError: name \u2018raw_input\u2019 is not defined error. In this guide, we\u2019re going to discuss what this error means and why you may encounter it. We\u2019ll walk through an example of this&hellip;","protected":false},"author":240,"featured_media":5157,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16578],"tags":[],"class_list":{"0":"post-23488","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 NameError: name \u2018raw_input\u2019 is not defined Solution | CK<\/title>\n<meta name=\"description\" content=\"On Career Karma, learn about the Python NameError: name \u2018raw_input\u2019 is not defined, why the error is raised, 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-nameerror-name-raw-input-is-not-defined\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python NameError: name \u2018raw_input\u2019 is not defined Solution\" \/>\n<meta property=\"og:description\" content=\"On Career Karma, learn about the Python NameError: name \u2018raw_input\u2019 is not defined, why the error is raised, and how to solve the error.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/\" \/>\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-10-01T22:52:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T12:01:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"667\" \/>\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-nameerror-name-raw-input-is-not-defined\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/\"},\"author\":{\"name\":\"James Gallagher\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"headline\":\"Python NameError: name \u2018raw_input\u2019 is not defined Solution\",\"datePublished\":\"2020-10-01T22:52:21+00:00\",\"dateModified\":\"2023-12-01T12:01:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/\"},\"wordCount\":646,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/\",\"url\":\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/\",\"name\":\"Python NameError: name \u2018raw_input\u2019 is not defined Solution | CK\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg\",\"datePublished\":\"2020-10-01T22:52:21+00:00\",\"dateModified\":\"2023-12-01T12:01:22+00:00\",\"author\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"description\":\"On Career Karma, learn about the Python NameError: name \u2018raw_input\u2019 is not defined, why the error is raised, and how to solve the error.\",\"breadcrumb\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#primaryimage\",\"url\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg\",\"contentUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg\",\"width\":1000,\"height\":667,\"caption\":\"Laptop with code on screen sitting on desk next to potted plants\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#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 NameError: name \u2018raw_input\u2019 is not defined 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 NameError: name \u2018raw_input\u2019 is not defined Solution | CK","description":"On Career Karma, learn about the Python NameError: name \u2018raw_input\u2019 is not defined, why the error is raised, 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-nameerror-name-raw-input-is-not-defined\/","og_locale":"en_US","og_type":"article","og_title":"Python NameError: name \u2018raw_input\u2019 is not defined Solution","og_description":"On Career Karma, learn about the Python NameError: name \u2018raw_input\u2019 is not defined, why the error is raised, and how to solve the error.","og_url":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2020-10-01T22:52:21+00:00","article_modified_time":"2023-12-01T12:01:22+00:00","og_image":[{"width":1000,"height":667,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-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-nameerror-name-raw-input-is-not-defined\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/"},"author":{"name":"James Gallagher","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"headline":"Python NameError: name \u2018raw_input\u2019 is not defined Solution","datePublished":"2020-10-01T22:52:21+00:00","dateModified":"2023-12-01T12:01:22+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/"},"wordCount":646,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg","articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/","url":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/","name":"Python NameError: name \u2018raw_input\u2019 is not defined Solution | CK","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg","datePublished":"2020-10-01T22:52:21+00:00","dateModified":"2023-12-01T12:01:22+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"description":"On Career Karma, learn about the Python NameError: name \u2018raw_input\u2019 is not defined, why the error is raised, and how to solve the error.","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg","width":1000,"height":667,"caption":"Laptop with code on screen sitting on desk next to potted plants"},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/python-nameerror-name-raw-input-is-not-defined\/#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 NameError: name \u2018raw_input\u2019 is not defined 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\/23488","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=23488"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/23488\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/5157"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=23488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=23488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=23488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}