<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: NancyKibunga</title>
    <description>The latest articles on DEV Community by NancyKibunga (@nancykibunga).</description>
    <link>https://dev.to/nancykibunga</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F815139%2F7f473bec-7802-4cf2-a583-033b066b1773.png</url>
      <title>DEV Community: NancyKibunga</title>
      <link>https://dev.to/nancykibunga</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nancykibunga"/>
    <language>en</language>
    <item>
      <title>Python for everyone | Mastering Python the Right Way.</title>
      <dc:creator>NancyKibunga</dc:creator>
      <pubDate>Thu, 03 Mar 2022 10:29:30 +0000</pubDate>
      <link>https://dev.to/nancykibunga/python-for-everyone-mastering-python-the-right-way-4ecf</link>
      <guid>https://dev.to/nancykibunga/python-for-everyone-mastering-python-the-right-way-4ecf</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--h4fIs6VC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7kxca1qzip1piwz1e64t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--h4fIs6VC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7kxca1qzip1piwz1e64t.png" alt="Image description" width="880" height="517"&gt;&lt;/a&gt;&lt;br&gt;
One of the things I appreciate most about human beings is that we have different ways of doing things. This remains the case when it comes to learning python. There is no one way to learn correctly. Every person has the freedom to learn in the manner that suits them most. The most important thing is that at the end of it all, we can achieve the expected results successfully and we can perform the expected tasks with ease. However, you choose to learn, understanding the basics comes in handy. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nq90gV7Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rdm49imhhvjyhj1fnpw2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nq90gV7Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rdm49imhhvjyhj1fnpw2.png" alt="Image description" width="321" height="189"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Understanding Python Language&lt;/strong&gt;&lt;br&gt;
When you understand how python language works, you are learning the right way.&lt;br&gt;
We can all agree that some basic habits and tricks can assist in mastering python the right way, especially for a beginner. I am going to share below how the following tips have been assisting me in my journey to master python development. As a python beginner, focus on mastering the key concepts. Some of the most fundamental concepts at &lt;strong&gt;beginner level&lt;/strong&gt; in python include &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Control structures, &lt;/li&gt;
&lt;li&gt;Functions,&lt;/li&gt;
&lt;li&gt;data structures and algorithms.&lt;/li&gt;
&lt;li&gt;Data types&lt;/li&gt;
&lt;li&gt;Strings&lt;/li&gt;
&lt;li&gt;Control flow statements&lt;/li&gt;
&lt;li&gt;Classes&lt;/li&gt;
&lt;li&gt;Exceptions&lt;/li&gt;
&lt;li&gt;Conditions and variables&lt;/li&gt;
&lt;li&gt;File input and output&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Click on the link below that elaborates more on beginner concepts in python.&lt;br&gt;
&lt;a href="https://www.educba.com/python-programming-beginners-tutorial/"&gt;https://www.educba.com/python-programming-beginners-tutorial/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have discussed more about them in my previous article, link attached below. &lt;br&gt;
&lt;a href="https://dev.to/nancykibunga/introduction-to-data-structures-and-algorithms-with-modern-python-4hhe"&gt;https://dev.to/nancykibunga/introduction-to-data-structures-and-algorithms-with-modern-python-4hhe&lt;/a&gt;&lt;br&gt;
You also need to understand python operators, parameters and arguments. At an &lt;strong&gt;advanced level&lt;/strong&gt;, you will learn more about &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Objects in Python&lt;/li&gt;
&lt;li&gt; Comprehension &lt;/li&gt;
&lt;li&gt; Extended Keyword Arguments &lt;/li&gt;
&lt;li&gt; Closures and Decorators&lt;/li&gt;
&lt;li&gt; Generators and Iterators Protocol&lt;/li&gt;
&lt;li&gt; Context Managers&lt;/li&gt;
&lt;li&gt; Static and class methods&lt;/li&gt;
&lt;li&gt; Inheritance and Encapsulation&lt;/li&gt;
&lt;li&gt; Operator Overloading&lt;/li&gt;
&lt;li&gt;Python Packages and Program layout
Attached is a link to an article that will help you grasp advanced python concepts.
&lt;a href="https://towardsdatascience.com/10-topics-python-intermediate-programmer-should-know-3c865e8533d6"&gt;https://towardsdatascience.com/10-topics-python-intermediate-programmer-should-know-3c865e8533d6&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;2. Practice makes perfect.&lt;/strong&gt;&lt;br&gt;
This goes without saying. The more you exercise something, the more you become proficient. The more time you put into learning something, the better you become at it. The more hours you spend in learning, the faster it is to understand the concepts. Once you have learnt about the fundamentals of python programming, practice using them in simple projects. Below I have attached links to sites that provide easy projects for beginners. However, start with what you are comfortable doing and challenge yourself upwards.&lt;br&gt;
&lt;a href="https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=2ahUKEwjxo7qdqan2AhVnyoUKHdURC6UQFnoECAMQAw&amp;amp;url=https%3A%2F%2Fwww.freecodecamp.org%2Fnews%2Fpython-projects-for-beginners%2F&amp;amp;usg=AOvVaw0Lb0FgyUqPezT5fzzeeEtd"&gt;https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=2ahUKEwjxo7qdqan2AhVnyoUKHdURC6UQFnoECAMQAw&amp;amp;url=https%3A%2F%2Fwww.freecodecamp.org%2Fnews%2Fpython-projects-for-beginners%2F&amp;amp;usg=AOvVaw0Lb0FgyUqPezT5fzzeeEtd&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=2ahUKEwjxo7qdqan2AhVnyoUKHdURC6UQtwJ6BAgFEAM&amp;amp;url=https%3A%2F%2Fwww.upgrad.com%2Fblog%2Fpython-projects-ideas-topics-beginners%2F&amp;amp;usg=AOvVaw2aYMO6bi2kno5xD-8UYw09"&gt;https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=2ahUKEwjxo7qdqan2AhVnyoUKHdURC6UQtwJ6BAgFEAM&amp;amp;url=https%3A%2F%2Fwww.upgrad.com%2Fblog%2Fpython-projects-ideas-topics-beginners%2F&amp;amp;usg=AOvVaw2aYMO6bi2kno5xD-8UYw09&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;ved=2ahUKEwjxo7qdqan2AhVnyoUKHdURC6UQFnoECDUQAQ&amp;amp;url=https%3A%2F%2Fwww.analyticsvidhya.com%2Fblog%2F2021%2F07%2F3-interesting-python-projects-with-code-for-beginners%2F&amp;amp;usg=AOvVaw3jkZLUdpEj_sJhzuWbR8yK"&gt;https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;ved=2ahUKEwjxo7qdqan2AhVnyoUKHdURC6UQFnoECDUQAQ&amp;amp;url=https%3A%2F%2Fwww.analyticsvidhya.com%2Fblog%2F2021%2F07%2F3-interesting-python-projects-with-code-for-beginners%2F&amp;amp;usg=AOvVaw3jkZLUdpEj_sJhzuWbR8yK&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Research, Ask Questions&lt;/strong&gt;&lt;br&gt;
 As you engage yourself in learning, do not forget to &lt;strong&gt;take notes&lt;/strong&gt;. Yes, this might seem pointless but it will help you in retaining content and you can easily refer when you need to refresh on a concept. Note down new concepts, make an effort to learn them later. Note down your resources and projects you need to revisit.&lt;br&gt;
Additionally, make sure you &lt;strong&gt;research intensively&lt;/strong&gt;. Make google your friend. Watch tutorials, attend online courses and bootcamps. There are several online platforms that offer the basic skills for free and you will easily understand a concept. For a beginner, I would advise one to learn the basic concepts first. Do not be in a hurry to move on. Some of the online python resources include: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pjbL8vQk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xj0hue8t25t1hzpdk33k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pjbL8vQk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xj0hue8t25t1hzpdk33k.png" alt="Image description" width="225" height="225"&gt;&lt;/a&gt;&lt;br&gt;
• Programiz.com &lt;br&gt;
• Github.com&lt;br&gt;
• Datacamp.com&lt;br&gt;
• geeksforgeeks.org&lt;br&gt;
• tutorialspoint.com&lt;br&gt;
• pynative.com&lt;br&gt;
• realpython.com&lt;/p&gt;

&lt;p&gt;Always be free &lt;strong&gt;ask questions&lt;/strong&gt;. This also comes in hand with familiarizing yourself with platforms that offer knowledge in python and associating yourself with people who are familiar with python language. Nowadays, you do not need to know someone on a personal level. You only need to be thirsty enough for knowledge and with a little research, you’ll find lots of python developers online. If possible, you can also attend physical mentor ships and boot camps. It is comforting when you know that you are not facing a challenge alone. Find and join a community. The more, the merrier. Twitter provides a great opportunity to interact and learn from python developers, among other online communities and applications.&lt;br&gt;
When you learn a concept, the best way you can &lt;strong&gt;test your understanding&lt;/strong&gt; is by creating a simple project. This way, you will easily tell which concept needs more practice and when it is time to move on to a different concept. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Keep Track&lt;/strong&gt;&lt;br&gt;
To keep &lt;strong&gt;track of your progress&lt;/strong&gt;, you can journal. You may decide to post your achievements on social media consistently, others may decide to write it down, where as others may want to share their achievements with their friends. All the methods are acceptable, as long as you are tracking your progress. &lt;br&gt;
During your learning progress, there definitely will be challenges. &lt;br&gt;
&lt;strong&gt;Tackle challenges positively&lt;/strong&gt;. You may write a code which will not run since it has bugs. This is an opportunity for you to challenge yourself. Consider this as an opportunity to test your understanding of each concept as you go through each line of code. When you find the bug, you will definitely be a hero. The chances of having the same bug reoccur will be minimal and your understanding of the context will have up scaled.&lt;br&gt;
By the time I consider myself an expert python developer, I will have created from scratch a project of my own. I have several targets in mind. You can do this too. Set a goal. Have a personal project. This will motivate you to keep working. When you can finally use your own application to accomplish something you have been dying to do, you will have become an expert. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Career Paths&lt;/strong&gt;&lt;br&gt;
Once you have mastered the key concepts in python, you can easily specialize in the &lt;strong&gt;framework&lt;/strong&gt; of your choice. With different career paths, you will use different frameworks. It can be a full stack framework, microframework or an asynchronous framework. Below is a list of python frameworks:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nWeZ6nB---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oj88dy48imws6ttodisq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nWeZ6nB---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oj88dy48imws6ttodisq.png" alt="Image description" width="318" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;• Django&lt;br&gt;
• CherryPy&lt;br&gt;
• Flask&lt;br&gt;
• Bottle&lt;br&gt;
• Dash&lt;br&gt;
• FastApi, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A2t8EbFw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ldjy1nsz1oefuki1cjve.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A2t8EbFw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ldjy1nsz1oefuki1cjve.jpg" alt="Image description" width="303" height="166"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow this link to learn more about python frameworks&lt;br&gt;
 &lt;a href="https://hackr.io/blog/python-frameworks"&gt;https://hackr.io/blog/python-frameworks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find some of the different python career paths listed below. I have attached links where you can learn more about each to enhance your decision making:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QS9laEv5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/38erj6pskycewyl9eeus.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QS9laEv5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/38erj6pskycewyl9eeus.png" alt="Image description" width="290" height="174"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aH0gHaep--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9c16y2066nybpbbiszqe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aH0gHaep--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9c16y2066nybpbbiszqe.png" alt="Image description" width="314" height="161"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Game Development&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;ved=2ahUKEwiJwOaNr6n2AhXq7rsIHQ-UARcQFnoECAUQAQ&amp;amp;url=https%3A%2F%2Fwww.codewizardshq.com%2Fpython-games%2F&amp;amp;usg=AOvVaw37X4LnJxCrC24T5rwFZrOe"&gt;https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;ved=2ahUKEwiJwOaNr6n2AhXq7rsIHQ-UARcQFnoECAUQAQ&amp;amp;url=https%3A%2F%2Fwww.codewizardshq.com%2Fpython-games%2F&amp;amp;usg=AOvVaw37X4LnJxCrC24T5rwFZrOe&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Science&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;ved=2ahUKEwia58vNrqn2AhXClf0HHeavD2AQFnoECAgQAw&amp;amp;url=https%3A%2F%2Ftowardsdatascience.com%2F5-free-resources-to-learn-python-5faa6bd051f4&amp;amp;usg=AOvVaw17YR-R0_IVpiMqXXXGiJLx"&gt;https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;ved=2ahUKEwia58vNrqn2AhXClf0HHeavD2AQFnoECAgQAw&amp;amp;url=https%3A%2F%2Ftowardsdatascience.com%2F5-free-resources-to-learn-python-5faa6bd051f4&amp;amp;usg=AOvVaw17YR-R0_IVpiMqXXXGiJLx&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web Scraping&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=2ahUKEwi_ps2rr6n2AhVpiv0HHT5NA_sQFnoECBUQAQ&amp;amp;url=https%3A%2F%2Fwww.analyticsvidhya.com%2Fblog%2F2020%2F04%2F5-popular-python-libraries-web-scraping%2F&amp;amp;usg=AOvVaw1D_WNf-KJiPwBpx0kVWynP"&gt;https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=2ahUKEwi_ps2rr6n2AhVpiv0HHT5NA_sQFnoECBUQAQ&amp;amp;url=https%3A%2F%2Fwww.analyticsvidhya.com%2Fblog%2F2020%2F04%2F5-popular-python-libraries-web-scraping%2F&amp;amp;usg=AOvVaw1D_WNf-KJiPwBpx0kVWynP&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security and Cryptography&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=2ahUKEwjG4fOEyan2AhUW_7sIHdYnBW0QFnoECEUQAQ&amp;amp;url=https%3A%2F%2Fdevtut.github.io%2Fpython%2Fsecurity-and-cryptography.html&amp;amp;usg=AOvVaw2QSsN0puxkvFnP-1vs_w1K"&gt;https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=2ahUKEwjG4fOEyan2AhUW_7sIHdYnBW0QFnoECEUQAQ&amp;amp;url=https%3A%2F%2Fdevtut.github.io%2Fpython%2Fsecurity-and-cryptography.html&amp;amp;usg=AOvVaw2QSsN0puxkvFnP-1vs_w1K&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Machine learning&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.w3schools.com/python/python_ml_getting_started.asp"&gt;https://www.w3schools.com/python/python_ml_getting_started.asp&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xnf1NaA2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0z4ysr8fppudgq9sjxqj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xnf1NaA2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0z4ysr8fppudgq9sjxqj.jpg" alt="Image description" width="306" height="165"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Learning is self-paced. The above are tips and resources to guide you on your journey in learning python. You take it one step at a time and do not stop till you are a master in python development. All the best! &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>python</category>
      <category>masteringpythontherightway</category>
      <category>pythonforbeginners</category>
      <category>pythonforeveryone</category>
    </item>
    <item>
      <title>Introduction to Data Structures and Algorithms With Python</title>
      <dc:creator>NancyKibunga</dc:creator>
      <pubDate>Mon, 21 Feb 2022 17:19:13 +0000</pubDate>
      <link>https://dev.to/nancykibunga/introduction-to-data-structures-and-algorithms-with-modern-python-4hhe</link>
      <guid>https://dev.to/nancykibunga/introduction-to-data-structures-and-algorithms-with-modern-python-4hhe</guid>
      <description>&lt;p&gt;&lt;code&gt;Welcome back!&lt;/code&gt;&lt;br&gt;
By now, you are already familiar with python basics. If you missed the article on Introduction to Modern python, you can catch up by clicking on the link below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/nancykibunga/introduction-to-modern-python-4bil"&gt;https://dev.to/nancykibunga/introduction-to-modern-python-4bil&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The key concepts we are going to use today may be common in other programming languages. However, there exists key identities which differentiate them for use in various languages. Today we cover data structures and algorithms.  Specifically, we will cover lists, dictionaries, tuples, sets, queues, stacks and linked lists.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lists&lt;/strong&gt;&lt;br&gt;
We start with lists. These are created by placing elements inside square brackets, [], separated by commas. This way, they can store multiple items in a single variable. some characteristics of items in a list include: they are ordered. Lists are indexed from 0. Values in a list can be changed and lists allow duplicate values. They can be of any data type.&lt;br&gt;
&lt;em&gt;Example:&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;my_list = [1, 2, 3]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;my_list = [1, "Hello", 3.4]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Dictionaries&lt;/strong&gt;&lt;br&gt;
Ploughing on to dictionaries. This is an is an unordered collection of data values, used to store data values in key values pairs within curly braces { }. Each key value is separated using a comma. Dictionaries use semicolon to separate the key and the value. Dictionaries do not allow duplicates.&lt;br&gt;
&lt;em&gt;Example:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I1xk-L32--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/75kq4tj0g8v29wzszb1l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I1xk-L32--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/75kq4tj0g8v29wzszb1l.png" alt="Image description" width="741" height="308"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Tuples&lt;/strong&gt;&lt;br&gt;
Moving on to tuples. A tuple is a fixed size grouping of elements, such as an (x, y) co-ordinate. The items in a tuple are ordered using parenthesis or common brackets. Data in a tuple cannot be manipulated. Hence, tuples are immutable. Tuples are written with round brackets.&lt;br&gt;
&lt;em&gt;Example&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;thistuple = ("anna", "joash", "suzie", "anna", "linet")
print(thistuple)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Sets&lt;/strong&gt;&lt;br&gt;
For sets, they are defined as a collection which is unordered, unchangeable, and unindexed. A set does not hold duplicate items. Set items are unchangeable. However, you can remove or add (manipulate) items in a set. Sets are written with curly brackets&lt;br&gt;
&lt;em&gt;Example&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#integers
my_set = {1, 2, 3}
print(my_set)

#mixed datatypes
my_set = {5.0, "jane", (7, 3, 6)}
print(my_set)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Queues&lt;/strong&gt;&lt;br&gt;
Now onto queues. This is a linear data structure that stores items in First In First Out (FIFO) manner. The least recently added item is removed first. Queue in Python can be implemented by the following ways:&lt;/p&gt;

&lt;p&gt;• List - List is a Python’s built-in data structure that can be used as a queue&lt;/p&gt;

&lt;p&gt;• collections.deque - Queue in Python can be implemented using deque class from the collection’s module. Deque is preferred over list in the cases where we need quicker append and pop operations from both the ends of container&lt;/p&gt;

&lt;p&gt;• queue.Queue- Queue is built-in module of Python which is uses FIFO rule to implement a queue. queue.Queue(maxsize) initializes a variable to a maximum size of maxsize. A maxsize of zero ‘0’ means a infinite queue. &lt;br&gt;
&lt;em&gt;Example&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Python program to
# demonstrate queue implementation
# using list

# Initializing a queue
queue = []

# Adding elements to the queue
queue.append('a')
queue.append('b')
queue.append('c')

print("Initial queue")
print(queue)

# Removing elements from the queue
print("\nElements dequeued from queue")
print(queue.pop(0))
print(queue.pop(0))
print(queue.pop(0))

print("\nQueue after removing elements")
print(queue)

# Uncommenting print(queue.pop(0))
# will raise and IndexError
# as the queue is now empty


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Stack&lt;/strong&gt;&lt;br&gt;
A stack is a linear data structure that stores items in a Last-In/First-Out (LIFO) or First-In/Last-Out (FILO) manner. In stack, a new element is added at one end and an element is removed from that end only.&lt;br&gt;
Stack in Python can be implemented using the following ways: &lt;br&gt;
• list -  Instead of push(), append() is used to add elements to the top of the stack while pop() removes the element in LIFO order. &lt;/p&gt;

&lt;p&gt;• Collections.deque -  Deque is preferred over the list in the cases where we need quicker append and pop operations from both the ends of the container&lt;/p&gt;

&lt;p&gt;• queue.LifoQueue - Data is inserted into LIFO Queue, which is basically a Stack. using the put() function and get() takes data out from the Queue.&lt;br&gt;
&lt;em&gt;Example&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Python program to
# demonstrate stack implementation
# using list

stack = []

# append() function to push
# element in the stack
stack.append('a')
stack.append('b')
stack.append('c')

print('Initial stack')
print(stack)

# pop() function to pop
# element from stack in
# LIFO order
print('\nElements popped from stack:')
print(stack.pop())
print(stack.pop())
print(stack.pop())

print('\nStack after elements are popped:')
print(stack)

# uncommenting print(stack.pop())
# will cause an IndexError
# as the stack is now empty

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Linked List&lt;/strong&gt;&lt;br&gt;
A linked list is a sequence of data elements, which are connected together by links. It has a dynamic size making it easy to insert or delete items. It is created using a node object and create another class to use this node object. then pass the appropriate values through the node object to point the to the next data elements, linking one node with the other. &lt;br&gt;
&lt;em&gt;Example&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Node:
   def __init__(self, dataval=None):
      self.dataval = dataval
      self.nextval = None

class SLinkedList:
   def __init__(self):
      self.headval = None

list1 = SLinkedList()
list1.headval = Node("Mon")
e2 = Node("Tue")
e3 = Node("Wed")
# Link first Node to second node
list1.headval.nextval = e2

# Link second Node to third node
e2.nextval = e3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/python_data_structure/"&gt;https://www.tutorialspoint.com/python_data_structure/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.programiz.com/python-programming"&gt;https://www.programiz.com/python-programming&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.w3schools.com/python/"&gt;https://www.w3schools.com/python/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.geeksforgeeks.org/python-programming-language"&gt;https://www.geeksforgeeks.org/python-programming-language&lt;/a&gt;&lt;br&gt;
&lt;a href="http://net-informations.com/python"&gt;http://net-informations.com/python&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.python.org/3/"&gt;https://docs.python.org/3/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>luxtechacademy</category>
      <category>pythonmentorship</category>
      <category>womenwhocode</category>
      <category>python</category>
    </item>
    <item>
      <title>Introduction to Modern Python</title>
      <dc:creator>NancyKibunga</dc:creator>
      <pubDate>Mon, 14 Feb 2022 17:42:20 +0000</pubDate>
      <link>https://dev.to/nancykibunga/introduction-to-modern-python-4bil</link>
      <guid>https://dev.to/nancykibunga/introduction-to-modern-python-4bil</guid>
      <description>&lt;p&gt;Among the many programming languages in use today, Python is one of the top most commonly used languages. It has continued to gain popularity with the rise in technology, more so that has got to do with data. &lt;/p&gt;

&lt;p&gt;Python was first released by &lt;strong&gt;Guido Van Rossum&lt;/strong&gt;, a Dutch programmer, in 1991. Since then, there has continued to be more releases with the improvements made in its development. It is meant to be an easy to learn language.&lt;br&gt;
There are several IDES and core editors that support the language including Anaconda Jupyter, VS Code and PyCharm just to mention a few. One must have one of the environments installed in order to start coding, most of which are available online and are easy to set up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fCtbSA6i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1gckwivc743c5b312uw3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fCtbSA6i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1gckwivc743c5b312uw3.jpg" alt="Image description" width="378" height="133"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some python characteristics, which make it among the most preferred languages include its simplicity and portability, it has huge libraries and is object oriented. Being an open-source language, Python is freely usable and distributable, even for commercial uses.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--48Cj1nBy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bgtihai7b7u6p8to7lgd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--48Cj1nBy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bgtihai7b7u6p8to7lgd.jpg" alt="Image description" width="600" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Python has been implemented in artificial; intelligence, designing desktop applications, automation, web development as well as data wrangling, exploration and visualization. It has proven to be a functional and advantageous.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8mROpBxI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9wk52ejcb7nzksoj75hr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8mROpBxI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9wk52ejcb7nzksoj75hr.jpg" alt="Image description" width="311" height="162"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The four programming techniques that python supports include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Object-oriented programming&lt;/li&gt;
&lt;li&gt; Functional oriented programming&lt;/li&gt;
&lt;li&gt; Imperative oriented programming &lt;/li&gt;
&lt;li&gt; Procedural oriented programming&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As a beginner, they are several key concepts you have to grasp. These will make it easy for you to understand tough concepts as you advance in the language. You have to understand and differentiate between keywords, identifiers and literals. Once you understand what each of the above does, it becomes easier to structure a project.&lt;br&gt;
 For example, Literals are given in different formats, you have to understand the difference between a string and a Boolean. This way, you know when to use what and you are able to minimize errors.&lt;br&gt;
You also learn how to work with operators, use loops and conditional statements, different data types and data structures. Most importantly, you know how to invoke functions. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--u7IWvwTC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b33tnqa95pc96zv9bvqm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u7IWvwTC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b33tnqa95pc96zv9bvqm.jpg" alt="Image description" width="880" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These are some of the basic skills that you would learn in Python 101. By playing around with the basics you gain more expertise and what appeared difficult becomes a hobby, before you realize, you are applying python to solve real-life problems and predict the future. Isn't that fun!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
