{"id":23422,"date":"2020-11-16T22:25:52","date_gmt":"2020-11-17T06:25:52","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=23422"},"modified":"2023-12-01T04:04:06","modified_gmt":"2023-12-01T12:04:06","slug":"python-attributeerror","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/","title":{"rendered":"Python AttributeError: A How-To Guide"},"content":{"rendered":"\n<p>Attributes are values or functions associated with an object, a data type, or a class. If you call an attribute on a value whose data type or class does not support that attribute, you\u2019ll encounter an AttributeError.<\/p>\n\n\n\n<p>This guide discusses what an AttributeError is and what it means. We\u2019ll walk through an example of an AttributeError so you can learn how to fix one in your code.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is a Python AttributeError?<\/h2>\n\n\n\n<p>A Python AttributeError is raised when you try to call an attribute of an object whose type does not support that method. For instance, trying to use the <a href=\"https:\/\/careerkarma.com\/blog\/python-append-to-list\/\">Python<\/a> <em>append()<\/em> method on a string returns an AttributeError because strings do not support <em>append()<\/em>.<\/p>\n\n\n\n<p>In a <a href=\"https:\/\/careerkarma.com\/blog\/python-class\/\">Python class<\/a>, you can define methods and values that are shared by the objects of that class. This is why some people think of classes as blueprints for objects.<\/p>\n\n\n\n<p>Calling a method or a class is another way of saying you are referencing an attribute of that class. One way to think about an attribute is like a physical attribute of a person. Some people have blue eyes. Some people have pink-dyed hair. These are all attributes.<\/p>\n\n\n\n<p>In a Python class, an attribute could be \u201ceye_color\u201d. This attribute could define the color of a person\u2019s eyes. An attribute could also be a function. A function called <em>changeEyeColor()<\/em> could change the value of \u201ceye_color\u201d.<\/p>\n\n\n\n<p>Data types have attributes. For instance, you can use the <a href=\"https:\/\/careerkarma.com\/blog\/python-join\/\">Python join() method<\/a> to convert a string into a list. String objects support the <em>join()<\/em> method.<\/p>\n\n\n\n<p>If you try to reference a function or a value not associated with a class object or a data type, you\u2019ll encounter an AttributeError.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Attribute Error Python Example<\/h2>\n\n\n\n<p>Let\u2019s write a program that merges two lists of shoes. Two shoe stores are going through a merger and want to make a list of all the unique shoes they sell.<\/p>\n\n\n\n<p>To start, let\u2019s <a href=\"https:\/\/careerkarma.com\/blog\/python-data-types\/\">define a Python set<\/a> that contains the shoes from store one, Harrisons Shoes:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>harrisons_shoes = {&quot;Nike Air Force 1 07&quot;, &quot;Nike Air Max Plus&quot;, &quot;Adidas Gazelle&quot;}<\/pre><\/div>\n\n\n\n<p>We use curly braces to define our set. Next, let\u2019s define a set with the names of the shoes offered by the store that is merging with Harrisons. This shoe store is called the Shoe Emporium:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>shoe_emporium = {&quot;Adidas Samba&quot;, &quot;Adidas Superstar&quot;, &quot;Nike Air Max Plus&quot;}<\/pre><\/div>\n\n\n\n<p>Because these two collections are sets, they can only store unique values. That means when we add them together, we\u2019ll get a set with no duplicate values.<\/p>\n\n\n\n<p>To add our sets together, we\u2019re going to use the built-in function called extend():<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>harrisons_shoes.extend(shoe_emporium)\nprint(harrisons_shoes)<\/pre><\/div>\n\n\n\n<p>The <em>extend()<\/em> method adds all the shoes from the \u201cshoe_emporium\u201d set to the \u201charrisons_shoes\u201d set. We use a Python <em>print()<\/em><a href=\"https:\/\/careerkarma.com\/blog\/python-print-without-new-line\/\"> statement<\/a>. This lets us we can see all the shoes in our new set. Let\u2019s run our code and see what happens:<\/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\tharrisons_shoes.extend(shoe_emporium)\nAttributeError: 'set' object has no attribute 'extend'<\/pre><\/div>\n\n\n\n<p>Our code returns an AttributeError.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AttributeError Python Solution<\/h2>\n\n\n\n<p>Our error message tells us we cannot use the method <em>extend()<\/em> on an object whose data type is a set. This is because <em>extend()<\/em> is a list method. It is not supported by sets.<\/p>\n\n\n\n<p>If we want to merge our two sets, we have to use an addition sign:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>harrisons_shoes.update(shoe_emporium)\nprint(harrisons_shoes)<\/pre><\/div>\n\n\n\n<p>This will add the contents of the \u201cshoe_emporium\u201d set to the \u201charrisons_shoes\u201d set. We then print all the values in the \u201charrisons_shoes\u201d set to the console. Let\u2019s run our new program:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>{'Nike Air Force 1 07', 'Adidas Superstar', 'Adidas Samba', 'Nike Air Max Plus', 'Adidas Gazelle'}<\/pre><\/div>\n\n\n\n<p>Our program returns a set with all the shoes from our two original sets. While there were six values in our original two sets, now there are only five. This is because two of the shoes were the same and sets can only store unique values.<\/p>\n\n\n\n<p>Our program returns a set with all the shoes from our two original sets. While there were six values in our original two sets, now there are only five. This is because two of the shoes were the same and sets can only store unique values.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Similar AttributeErrors to Explore<\/h2>\n\n\n\n<p>AttributeErrors are incredibly common. They can arise when you try to call attributes of data types and classes that do not support the attribute you are referring to.<\/p>\n\n\n\n<p>These errors may also be caused if you make a typo when referring to an attribute. Python will interpret your code as-is. If you make a typo, it will appear to Python that you are referring to an attribute that does not exist.<\/p>\n\n\n\n<p>For instance, using the <a href=\"https:\/\/careerkarma.com\/blog\/python-split\/\">Python <\/a><em><a href=\"https:\/\/careerkarma.com\/blog\/python-split\/\">split()<\/a><\/em><a href=\"https:\/\/careerkarma.com\/blog\/python-split\/\"> method<\/a> to split a list is common. But, <em>split()<\/em> is a string method and so it cannot be used to split a list.<\/p>\n\n\n\n<p>For further reading, consider researching the following errors:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/careerkarma.com\/blog\/python-attributeerror-list-object-has-no-attribute-split\/\">AttributeError: \u2018list\u2019 object has no attribute \u2018split\u2019<\/a><\/li><li><a href=\"https:\/\/careerkarma.com\/blog\/python-attributeerror-module-object-has-no-attribute-urlopen\/\">AttributeError: \u2018module\u2019 object has no attribute \u2018urlopen\u2019<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Attribute errors in Python are raised when an invalid attribute is referenced. To solve these errors, first check that the attribute you are calling exists. Then, make sure the attribute is related to the object or data type with which you are working.<\/p>\n\n\n\n<p>If the attribute you want is associated with a built-in type and does not exist, you should look for an alternative. There are alternatives for many attributes that exist for one data type you can use on another data type. For instance, there is no <em>extend()<\/em> method with sets but you can use <em>union()<\/em> to join to sets.<\/p>\n\n\n\n<p>To learn more about writing Python code, read our <a href=\"https:\/\/careerkarma.com\/blog\/how-to-learn-python\/\">How to Learn Python guide<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"Attributes are values or functions associated with an object, a data type, or a class. If you call an attribute on a value whose data type or class does not support that attribute, you\u2019ll encounter an AttributeError. This guide discusses what an AttributeError is and what it means. We\u2019ll walk through an example of an&hellip;","protected":false},"author":240,"featured_media":17625,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16578],"tags":[],"class_list":{"0":"post-23422","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 AttributeError: A How-To Guide | Career Karma<\/title>\n<meta name=\"description\" content=\"Python AttributeErrors are raised when you reference an attribute that does not exist. On Career Karma, learn how to fix AttributeErrors.\" \/>\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-attributeerror\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python AttributeError: A How-To Guide\" \/>\n<meta property=\"og:description\" content=\"Python AttributeErrors are raised when you reference an attribute that does not exist. On Career Karma, learn how to fix AttributeErrors.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/\" \/>\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-11-17T06:25:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T12:04:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-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=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/\"},\"author\":{\"name\":\"James Gallagher\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"headline\":\"Python AttributeError: A How-To Guide\",\"datePublished\":\"2020-11-17T06:25:52+00:00\",\"dateModified\":\"2023-12-01T12:04:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/\"},\"wordCount\":895,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/\",\"url\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/\",\"name\":\"Python AttributeError: A How-To Guide | Career Karma\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg\",\"datePublished\":\"2020-11-17T06:25:52+00:00\",\"dateModified\":\"2023-12-01T12:04:06+00:00\",\"author\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"description\":\"Python AttributeErrors are raised when you reference an attribute that does not exist. On Career Karma, learn how to fix AttributeErrors.\",\"breadcrumb\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#primaryimage\",\"url\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg\",\"contentUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg\",\"width\":1020,\"height\":680,\"caption\":\"A person writing lines of code on a laptop\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#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 AttributeError: A How-To Guide\"}]},{\"@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 AttributeError: A How-To Guide | Career Karma","description":"Python AttributeErrors are raised when you reference an attribute that does not exist. On Career Karma, learn how to fix AttributeErrors.","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-attributeerror\/","og_locale":"en_US","og_type":"article","og_title":"Python AttributeError: A How-To Guide","og_description":"Python AttributeErrors are raised when you reference an attribute that does not exist. On Career Karma, learn how to fix AttributeErrors.","og_url":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2020-11-17T06:25:52+00:00","article_modified_time":"2023-12-01T12:04:06+00:00","og_image":[{"width":1020,"height":680,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-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":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/"},"author":{"name":"James Gallagher","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"headline":"Python AttributeError: A How-To Guide","datePublished":"2020-11-17T06:25:52+00:00","dateModified":"2023-12-01T12:04:06+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/"},"wordCount":895,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg","articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/python-attributeerror\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/","url":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/","name":"Python AttributeError: A How-To Guide | Career Karma","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg","datePublished":"2020-11-17T06:25:52+00:00","dateModified":"2023-12-01T12:04:06+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"description":"Python AttributeErrors are raised when you reference an attribute that does not exist. On Career Karma, learn how to fix AttributeErrors.","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/python-attributeerror\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg","width":1020,"height":680,"caption":"A person writing lines of code on a laptop"},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/python-attributeerror\/#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 AttributeError: A How-To Guide"}]},{"@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\/23422","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=23422"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/23422\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/17625"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=23422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=23422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=23422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}