<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[PlusDev]]></title><description><![CDATA[PlusDev]]></description><link>https://www.plusdev.tech/</link><image><url>https://www.plusdev.tech/favicon.png</url><title>PlusDev</title><link>https://www.plusdev.tech/</link></image><generator>Ghost 5.88</generator><lastBuildDate>Mon, 06 Apr 2026 19:05:58 GMT</lastBuildDate><atom:link href="https://www.plusdev.tech/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[LEARNING LOG]]></title><description><![CDATA[Introduction to Python & Setup ]]></description><link>https://www.plusdev.tech/learninglog/</link><guid isPermaLink="false">69c5a8d4b38c4b916afd2792</guid><dc:creator><![CDATA[Nipuna Sahan]]></dc:creator><pubDate>Fri, 27 Mar 2026 00:34:14 GMT</pubDate><media:content url="https://www.plusdev.tech/content/images/2026/04/Part-0001.png" medium="image"/><content:encoded><![CDATA[<img src="https://www.plusdev.tech/content/images/2026/04/Part-0001.png" alt="LEARNING LOG"><p>Where is everyone? Whether you&apos;re looking to enter the world of software development for the first time or you already know a bit about it, today we&apos;re going to talk about something great: Python!</p><p>Everyone&apos;s talking about Python these days, aren&apos;t they? From web development and Artificial Intelligence (AI) to data science and robotics&#x2014;Python is used for almost everything. So, why has Python become so popular? Today, we&#x2019;ll discuss that and show you how to set everything up so you can step into the world of Python. Let&#x2019;s finish off by writing your very first &quot;Hello, World!&quot; program today!</p><p>What exactly is Python? (Meaning, why is there so much demand for it?)</p><p>Python is a high-level, interpreted programming language. It was created in 1991 by a Dutch programmer named Guido van Rossum.</p><p>Now, let&#x2019;s look at why Python is so valuable:</p><ul><li><strong>Simple and Easy:</strong> Python is a very easy language to read and write. Even those just starting out with coding can learn it easily.</li><li><strong>Versatile:</strong> Python can be used for many things like Web Development (Django, Flask), Data Analysis (Pandas, NumPy), Machine Learning (Scikit-learn, TensorFlow, PyTorch), AI, and Automation.</li><li><strong>Massive Community:</strong> Python has a huge user community. If you run into a problem, it&#x2019;s easy to ask for help, get support, and find tutorials.</li><li><strong>Plenty of Libraries and Frameworks:</strong> There are many libraries and frameworks available for Python. By using these, we can make our work easier without having to write extra code.</li></ul><p>Python 2 vs. Python 3: Which one to use? There were mainly two versions of Python&#x2014;Python 2 and Python 3. Support for Python 2 has ended now. Therefore, if you are learning Python as a beginner, <strong>make sure to use Python 3!</strong></p><h3 id="shall-we-get-started-lets-set-up-the-development-environment">Shall we get started? Let&apos;s set up the Development Environment!</h3><p>Before we start writing code in Python, we need to do a little preparation. This is what we call the Development Environment. We mainly need three things for this:</p><ul><li><strong>Python Interpreter:</strong> This is what translates our Python code into a language the computer understands (Machine Language) to get the job done.</li><li><strong>Code Editor / IDE (Integrated Development Environment):</strong> We need something like this to write, save, and run our code. Let&apos;s use VS Code (Visual Studio Code) today. It&#x2019;s free, lightweight, and very capable.</li><li><strong>Virtual Environments:</strong> This is something you definitely should use. It&#x2019;s used to keep a Python project&apos;s packages and dependencies separate so they don&apos;t affect other projects. It is a great habit to start using this from the very beginning.</li></ul><h2 id="first-step-lets-install-python">First step: Let&apos;s install Python!</h2><p>Now we are going to install Python. This is common for Windows, macOS, and Linux; even though there are minor differences, the process is the same.</p><p><strong>For Windows:</strong></p><ol><li>First, go to the <a href="https://www.python.org/downloads/?ref=plusdev.tech" rel="noreferrer"><strong>Python Official Website</strong>.</a></li><li>Click the <strong>&quot;Download Python&quot;</strong> button (download the latest Python 3 version).</li><li>Open the downloaded installer file (the <strong>.exe</strong> file).</li><li>When running the installer, <strong>make sure to check the &quot;Add Python.exe to PATH&quot; option.</strong> This is very important.</li><li>Click <strong>&quot;Install Now&quot;</strong> to finish the installation.</li></ol><p><strong>For macOS:</strong></p><ol><li>Go to the <a href="https://www.python.org/downloads/?ref=plusdev.tech" rel="noreferrer"><strong>Python Official Website</strong></a> and download the macOS installer.</li><li>Open the downloaded <strong>.pkg</strong> file and follow the instructions to install it.</li></ol><p><strong>For Linux:</strong> </p><p>Most Linux distributions come with Python pre-installed. If you need Python 3, open the terminal and enter this command:</p>
<!--kg-card-begin: html-->
<!DOCTYPE html>
<html lang="si">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Linux Terminal UI</title>

    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css" rel="stylesheet">
    
    <style>
        body {
            background-color: #f4f4f4;
            display: flex;
            justify-content: center;
            padding-top: 50px;
            font-family: sans-serif;
        }

        /* Terminal Window එක සැකසීම */
        .terminal-window {
            width: 90%;
            max-width: 900px;
            background-color: #0d0d0d;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(0,0,0,0.3);
            border: 1px solid #333;
        }

        /* Terminal Header (Title bar) */
        .terminal-header {
            background-color: #1a1a1a;
            padding: 10px 15px;
            display: flex;
            align-items: center;
            position: relative;
        }

        .buttons {
            display: flex;
            gap: 8px;
        }

        .dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: #333; /* රූපයේ පරිදි අළු පැහැති තිත් */
        }

        .terminal-title {
            color: #888;
            font-size: 13px;
            position: absolute;
            width: 100%;
            text-align: center;
            left: 0;
            font-family: monospace;
        }

        /* Code Block සැකසුම් */
        pre[class*="language-"] {
            margin: 0 !important;
            padding: 20px !important;
            background: transparent !important;
            border: none !important;
        }

        code[class*="language-"] {
            font-family: 'Consolas', 'Monaco', monospace !important;
            font-size: 15px !important;
            color: #fff !important; /* සුදු පැහැති අකුරු */
        }

        /* Syntax Highlighting (රූපයේ වර්ණ වලට ගැලපෙන පරිදි) */
        .token.keyword, .token.property, .token.command {
            color: #ffb86c !important; /* තැඹිලි/කහ පැහැය */
        }

        /* Line Numbers සැකසුම් */
        .line-numbers .line-numbers-rows {
            border-right: none !important;
            padding-right: 15px !important;
        }

        .line-numbers-rows > span:before {
            color: #333 !important; /* පේළි අංක වල වර්ණය */
        }

        /* Copy Button Plugin එක සැඟවීමට හෝ වෙනස් කිරීමට */
        .copy-to-clipboard-button {
            background: #333 !important;
            color: #eee !important;
            border: none !important;
            border-radius: 4px !important;
            padding: 4px 8px !important;
            font-size: 11px !important;
        }
    </style>
</head>
<body>

    <div class="terminal-window">
        <div class="terminal-header">
            <div class="buttons">
                <div class="dot"></div>
                <div class="dot"></div>
                <div class="dot"></div>
            </div>
            <div class="terminal-title">nipuna@MyLinuxVM:~</div>
        </div>

        <pre class="line-numbers"><code class="language-bash">sudo apt update
sudo apt install python3 python3-pip</code></pre>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-bash.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js"></script>

</body>
</html>
<!--kg-card-end: html-->
<p><strong>Let&apos;s check if the installation was successful:</strong></p><p>Now, open the Command Prompt (Windows) or Terminal (macOS, Linux) and type this command:</p>
<!--kg-card-begin: html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Windows CMD UI</title>

    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css" rel="stylesheet">
    
    <style>
        body {
            background-color: #f4f4f4;
            display: flex;
            justify-content: center;
            padding-top: 50px;
            font-family: sans-serif;
        }

        /* CMD Window */
        .terminal-window {
            width: 90%;
            max-width: 900px;
            background-color: #0c0c0c;
            border-radius: 6px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(0,0,0,0.3);
            border: 1px solid #333;
        }

        /* CMD Header */
        .terminal-header {
            background-color: #1f1f1f;
            padding: 10px 15px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            color: #fff;
            font-family: Arial, sans-serif;
            font-size: 14px;
        }

        .cmd-title {
            font-weight: 500;
            color: #ccc;
        }

        /* Windows buttons */
        .cmd-buttons {
            display: flex;
            gap: 10px;
            font-size: 16px;
            color: #aaa;
        }

        .cmd-buttons span {
            cursor: pointer;
            padding: 0 6px;
        }

        .cmd-buttons span:hover {
            color: #fff;
        }

        /* Code Block */
        pre[class*="language-"] {
            margin: 0 !important;
            padding: 20px !important;
            background: transparent !important;
            border: none !important;
        }

        code[class*="language-"] {
            font-family: Consolas, monospace !important;
            font-size: 15px !important;
            color: #fff !important;
        }

        /* Line Numbers */
        .line-numbers .line-numbers-rows {
            border-right: none !important;
            padding-right: 15px !important;
        }

        .line-numbers-rows > span:before {
            color: #333 !important;
        }

        /* Copy Button */
        .copy-to-clipboard-button {
            background: #333 !important;
            color: #eee !important;
            border: none !important;
            border-radius: 4px !important;
            padding: 4px 8px !important;
            font-size: 11px !important;
        }
    </style>
</head>
<body>

    <div class="terminal-window">
        <div class="terminal-header">
            <div class="cmd-title">Command Prompt</div>
            <div class="cmd-buttons">
                <span>&#x2014;</span>
                <span>&#x2610;</span>
                <span>&#x2715;</span>
            </div>
        </div>

        <pre class="line-numbers"><code class="language-bash">C:\Users\Nipuna&gt; python --version</code></pre>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-bash.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js"></script>

</body>
</html>
<!--kg-card-end: html-->
<p>This will show you the Python version. For example, if something like Python 3.12.2 appears, it was successful!</p>
<!--kg-card-begin: html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Windows CMD UI</title>

    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css" rel="stylesheet">
    
    <style>
        body {
            background-color: #f4f4f4;
            display: flex;
            justify-content: center;
            padding-top: 50px;
            font-family: sans-serif;
        }

        /* CMD Window */
        .terminal-window {
            width: 90%;
            max-width: 900px;
            background-color: #0c0c0c;
            border-radius: 6px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(0,0,0,0.3);
            border: 1px solid #333;
        }

        /* CMD Header */
        .terminal-header {
            background-color: #1f1f1f;
            padding: 10px 15px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            color: #fff;
            font-family: Arial, sans-serif;
            font-size: 14px;
        }

        .cmd-title {
            font-weight: 500;
            color: #ccc;
        }

        /* Windows buttons */
        .cmd-buttons {
            display: flex;
            gap: 10px;
            font-size: 16px;
            color: #aaa;
        }

        .cmd-buttons span {
            cursor: pointer;
            padding: 0 6px;
        }

        .cmd-buttons span:hover {
            color: #fff;
        }

        /* Code Block */
        pre[class*="language-"] {
            margin: 0 !important;
            padding: 20px !important;
            background: transparent !important;
            border: none !important;
        }

        code[class*="language-"] {
            font-family: Consolas, monospace !important;
            font-size: 15px !important;
            color: #fff !important;
        }

        /* Line Numbers */
        .line-numbers .line-numbers-rows {
            border-right: none !important;
            padding-right: 15px !important;
        }

        .line-numbers-rows > span:before {
            color: #333 !important;
        }
    </style>
</head>
<body>

    <div class="terminal-window">
        <div class="terminal-header">
            <div class="cmd-title">Command Prompt</div>
            <div class="cmd-buttons">
                <span>&#x2014;</span>
                <span>&#x2610;</span>
                <span>&#x2715;</span>
            </div>
        </div>

        <pre class="line-numbers"><code class="language-bash">C:\Users\Nipuna&gt; python --version
Python 3.12.2

C:\Users\Nipuna&gt;</code></pre>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-bash.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>

</body>
</html>
<!--kg-card-end: html-->
<h2 id="lets-set-up-vs-codepycharm">Let&apos;s set up VS Code/PyCharm!</h2><p><strong>Visual Studio Code (VS Code)</strong></p><p>VS Code is a free, lightweight, and very powerful code editor. It&#x2019;s awesome for Python.</p><ol><li>First, go to the <a href="https://code.visualstudio.com/?ref=plusdev.tech" rel="noreferrer"><strong>VS Code Official Website</strong> </a>and download the installer for your OS.</li><li>Run the installer and follow the instructions to install VS Code.</li><li>Open VS Code. Click the <strong>Extensions icon</strong> on the left (the one that looks like four squares) or press <strong>Ctrl+Shift+X</strong> (Windows/Linux) / <strong>Cmd+Shift+X</strong> (macOS).</li><li>Type &quot;Python&quot; in the search bar. Install the <strong>&quot;Python&quot; extension</strong> created by Microsoft. This will give your Python code features like Syntax Highlighting, Autocompletion, and Debugging.</li></ol><p><strong>PyCharm (As an alternative)</strong> PyCharm is an IDE specifically made for Python. If you want, you can download the Community Edition <a href="https://www.jetbrains.com/pycharm/?source=google&amp;medium=cpc&amp;campaign=apac_en_jp_pycharm_branded&amp;term=pycharm&amp;content=785237935142&amp;gad_campaignid=14127625436" rel="noreferrer"><strong>here</strong></a>.</p><p></p><h2 id="shall-we-say-hello-world-yes-thats-the-first-one">Shall we say &quot;Hello, World!&quot;? (Yes, that&apos;s the first one!)</h2><p>Now for the real deal! Let&apos;s make our first Python program. Like always, let&apos;s start with &quot;Hello, World!&quot;</p><p><strong>Let&apos;s create a Virtual Environment:</strong></p><p>When starting a project, the best practice is to first create a Virtual Environment. Here is how you do it:</p><ol><li>Create a new folder wherever you like to code (for example, something like <code>C:\PythonProjects</code>). Let&apos;s name this <code>my_first_python_project</code>.</li><li>Open VS Code, go to &quot;File&quot; &gt; &quot;Open Folder...&quot;, and open the <code>my_first_python_project</code> folder you created.</li><li>Open the Terminal in VS Code by going to Terminal &gt; New Terminal, or press Ctrl + <code>(Windows/Linux) / Cmd +</code> (macOS).</li><li>Now you need to activate the Virtual Environment. The command varies depending on your OS: Once the Virtual Environment is activated, you will see <code>(.venv)</code> in parentheses at the beginning of the terminal line. That means it&apos;s working!</li><li>macOS:</li></ol>
<!--kg-card-begin: html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MacOS Terminal UI</title>

    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css" rel="stylesheet">

    <style>
        body {
            background-color: #f4f4f4;
            display: flex;
            justify-content: center;
            padding-top: 50px;
            font-family: sans-serif;
        }

        /* MacOS Terminal Window */
        .terminal-window {
            width: 90%;
            max-width: 900px;
            background-color: #0d0d0d;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(0,0,0,0.3);
            border: 1px solid #333;
        }

        /* MacOS Header */
        .terminal-header {
            background-color: #1a1a1a;
            padding: 10px 15px;
            display: flex;
            align-items: center;
            position: relative;
        }

        /* MacOS Buttons */
        .buttons {
            display: flex;
            gap: 8px;
        }

        .dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
        }

        .dot.red {
            background-color: #ff5f56;
        }

        .dot.yellow {
            background-color: #ffbd2e;
        }

        .dot.green {
            background-color: #27c93f;
        }

        /* Terminal Title */
        .terminal-title {
            color: #aaa;
            font-size: 13px;
            position: absolute;
            width: 100%;
            text-align: center;
            left: 0;
            font-family: monospace;
        }

        /* Code Block */
        pre[class*="language-"] {
            margin: 0 !important;
            padding: 20px !important;
            background: transparent !important;
            border: none !important;
        }

        code[class*="language-"] {
            font-family: Consolas, monospace !important;
            font-size: 15px !important;
            color: #fff !important;
        }

        /* Line Numbers */
        .line-numbers .line-numbers-rows {
            border-right: none !important;
            padding-right: 15px !important;
        }

        .line-numbers-rows > span:before {
            color: #333 !important;
        }

        /* Copy Button */
        .copy-to-clipboard-button {
            background: #333 !important;
            color: #eee !important;
            border: none !important;
            border-radius: 4px !important;
            padding: 4px 8px !important;
            font-size: 11px !important;
        }
    </style>
</head>
<body>

    <div class="terminal-window">
        <div class="terminal-header">
            <div class="buttons">
                <div class="dot red"></div>
                <div class="dot yellow"></div>
                <div class="dot green"></div>
            </div>

            <div class="terminal-title">nipuna@MacBook-Pro ~</div>
        </div>

        <pre class="line-numbers"><code class="language-bash">nipuna@MacBook-Pro ~ % source .venv/bin/activate</code></pre>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-bash.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js"></script>

</body>
</html>
<!--kg-card-end: html-->
<p>Linux:</p>
<!--kg-card-begin: html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Linux Terminal UI</title>

    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css" rel="stylesheet">

    <style>
        body {
            background-color: #f4f4f4;
            display: flex;
            justify-content: center;
            padding-top: 50px;
            font-family: sans-serif;
        }

        /* Terminal Window */
        .terminal-window {
            width: 90%;
            max-width: 900px;
            background-color: #0d0d0d;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(0,0,0,0.3);
            border: 1px solid #333;
        }

        /* Terminal Header */
        .terminal-header {
            background-color: #1a1a1a;
            padding: 10px 15px;
            display: flex;
            align-items: center;
            position: relative;
        }

        /* Buttons */
        .buttons {
            display: flex;
            gap: 8px;
        }

        .dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: #333;
        }

        /* Title */
        .terminal-title {
            color: #888;
            font-size: 13px;
            position: absolute;
            width: 100%;
            text-align: center;
            left: 0;
            font-family: monospace;
        }

        /* Code Block */
        pre[class*="language-"] {
            margin: 0 !important;
            padding: 20px !important;
            background: transparent !important;
            border: none !important;
        }

        code[class*="language-"] {
            font-family: Consolas, monospace !important;
            font-size: 15px !important;
            color: #fff !important;
        }

        /* Line Numbers */
        .line-numbers .line-numbers-rows {
            border-right: none !important;
            padding-right: 15px !important;
        }

        .line-numbers-rows > span:before {
            color: #333 !important;
        }

        /* Copy Button */
        .copy-to-clipboard-button {
            background: #333 !important;
            color: #eee !important;
            border: none !important;
            border-radius: 4px !important;
            padding: 4px 8px !important;
            font-size: 11px !important;
        }
    </style>
</head>
<body>

    <div class="terminal-window">
        <div class="terminal-header">
            <div class="buttons">
                <div class="dot"></div>
                <div class="dot"></div>
                <div class="dot"></div>
            </div>

            <div class="terminal-title">nipuna@MyLinuxVM:~</div>
        </div>

        <pre class="line-numbers"><code class="language-bash">nipuna@MyLinuxVM:~$ source .venv/bin/activate</code></pre>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-bash.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js"></script>

</body>
</html>
<!--kg-card-end: html-->
<p>Windows(powerShell)</p>
<!--kg-card-begin: html-->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Windows PowerShell UI</title>

  <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
  <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css" rel="stylesheet">

  <style>
    body {
      background-color: #f4f4f4;
      display: flex;
      justify-content: center;
      padding-top: 50px;
      font-family: sans-serif;
    }

    /* PowerShell Window */
    .powershell-terminal {
      width: 90%;
      max-width: 900px;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
      border: 1px solid #333;
      background-color: #fff;
    }

    /* Header */
    .powershell-terminal .terminal-header {
      background-color: #1f1f1f;
      padding: 10px 15px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: #fff;
      font-family: Arial, sans-serif;
      font-size: 14px;
    }

    .powershell-terminal .terminal-title {
      font-weight: 500;
      color: #ccc;
    }

    /* Buttons */
    .powershell-terminal .cmd-buttons {
      display: flex;
      gap: 10px;
      font-size: 16px;
      color: #aaa;
    }

    .powershell-terminal .cmd-buttons span {
      cursor: pointer;
      padding: 0 6px;
    }

    .powershell-terminal .cmd-buttons span:hover {
      color: #fff;
    }

    /* ONLY PowerShell pre background */
    .powershell-terminal pre[class*="language-"] {
      margin: 0 !important;
      padding: 20px !important;
      background-color: #012456 !important;
      border: none !important;
      border-radius: 0 !important;
    }

    /* ONLY PowerShell code style */
    .powershell-terminal code[class*="language-"] {
      font-family: Consolas, monospace !important;
      font-size: 15px !important;
      color: #ffffff !important;
      background: transparent !important;
      text-shadow: none !important;
    }

    /* ONLY PowerShell line numbers */
    .powershell-terminal .line-numbers .line-numbers-rows {
      border-right: none !important;
      padding-right: 15px !important;
    }

    .powershell-terminal .line-numbers-rows > span:before {
      color: rgba(255, 255, 255, 0.3) !important;
    }

    /* Copy button */
    .powershell-terminal .copy-to-clipboard-button {
      background: rgba(0, 0, 0, 0.5) !important;
      color: #fff !important;
      border: none !important;
      border-radius: 4px !important;
      padding: 4px 8px !important;
      font-size: 11px !important;
    }
  </style>
</head>

<body>

  <div class="powershell-terminal">
    <div class="terminal-header">
      <div class="terminal-title">Windows PowerShell</div>

      <div class="cmd-buttons">
        <span>&#x2014;</span>
        <span>&#x2610;</span>
        <span>&#x2715;</span>
      </div>
    </div>

    <pre class="line-numbers">
<code class="language-powershell">PS C:\Users\Nipuna&gt; .\.venv\Scripts\Activate.ps1
(.venv) PS C:\Users\Nipuna&gt;</code>
    </pre>
  </div>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-powershell.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js"></script>

</body>
</html>
<!--kg-card-end: html-->
<p>Type this command in the VS Code Terminal (this will create a Virtual Environment named <code>.venv</code>):</p>
<!--kg-card-begin: html-->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>VS Code Terminal UI</title>

  <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
  <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css" rel="stylesheet">

  <style>
    body {
      background-color: #f4f4f4;
      display: flex;
      justify-content: center;
      padding-top: 50px;
      font-family: sans-serif;
    }

    /* VS Code Terminal Window */
    .vscode-terminal {
      width: 90%;
      max-width: 900px;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
      border: 1px solid #333;
      background-color: #1e1e1e;
    }

    /* VS Code Header */
    .terminal-header {
      background-color: #252526;
      padding: 10px 15px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-family: Arial, sans-serif;
      font-size: 14px;
      color: #ccc;
    }

    .terminal-title {
      font-weight: 500;
      color: #ccc;
    }

    .terminal-tabs {
      display: flex;
      gap: 15px;
      font-size: 13px;
      color: #888;
    }

    .terminal-tabs span.active {
      color: #fff;
      border-bottom: 2px solid #007acc;
      padding-bottom: 2px;
    }

    /* Terminal Body */
    pre[class*="language-"] {
      margin: 0 !important;
      padding: 20px !important;
      background-color: #1e1e1e !important;
      border: none !important;
      border-radius: 0 !important;
    }

    code[class*="language-"] {
      font-family: Consolas, monospace !important;
      font-size: 15px !important;
      color: #ffffff !important;
      background: transparent !important;
      text-shadow: none !important;
    }

    /* Line Numbers */
    .line-numbers .line-numbers-rows {
      border-right: none !important;
      padding-right: 15px !important;
    }

    .line-numbers-rows > span:before {
      color: rgba(255, 255, 255, 0.2) !important;
    }
  </style>
</head>

<body>

  <div class="vscode-terminal">
    <div class="terminal-header">
      <div class="terminal-title">TERMINAL</div>

      <div class="terminal-tabs">
        <span class="active">bash</span>
        <span>PROBLEMS</span>
        <span>OUTPUT</span>
      </div>
    </div>

    <pre class="line-numbers"><code class="language-bash">nipuna@MyLinuxVM:~$ python -m venv .venv</code></pre>
  </div>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-bash.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>

</body>
</html>
<!--kg-card-end: html-->
<p>(Sometimes it might be <code>python3 -m venv .venv</code>).</p><h2 id="lets-write-the-hello-world-program"><strong>Let&apos;s write the &quot;Hello, World!&quot; program:</strong></h2><ol><li>Go to the &quot;Explorer&quot; in VS Code and create a new file inside the <code>my_first_python_project</code> folder. Name it <code>hello.py</code>. (<code>.py</code> is the extension used for Python files).</li><li>Save the file (<strong>Ctrl+S</strong> / <strong>Cmd+S</strong>).</li><li>Open the <code>hello.py</code> file and type this code:</li></ol>
<!--kg-card-begin: html-->

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>VS Code Editor UI</title>

  <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
  <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css" rel="stylesheet">

  <style>
    body {
      background-color: #f4f4f4;
      display: flex;
      justify-content: center;
      padding-top: 50px;
      font-family: sans-serif;
    }

    /* VS Code Editor Window */
    .vscode-editor {
      width: 90%;
      max-width: 900px;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
      border: 1px solid #333;
      background-color: #1e1e1e;
    }

    /* Top Bar */
    .editor-header {
      background-color: #252526;
      padding: 10px 15px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: #ccc;
      font-size: 13px;
      font-family: Arial, sans-serif;
    }

    .file-tab {
      background-color: #1e1e1e;
      padding: 6px 12px;
      border-radius: 6px 6px 0 0;
      color: #fff;
      font-size: 13px;
    }

    .file-tab span {
      color: #aaa;
      margin-left: 6px;
    }

    /* Code Area */
    pre[class*="language-"] {
      margin: 0 !important;
      padding: 20px !important;
      background-color: #1e1e1e !important;
      border: none !important;
      border-radius: 0 !important;
    }

    code[class*="language-"] {
      font-family: Consolas, monospace !important;
      font-size: 15px !important;
      color: #ffffff !important;
      background: transparent !important;
      text-shadow: none !important;
    }

    /* Line Numbers */
    .line-numbers .line-numbers-rows {
      border-right: none !important;
      padding-right: 15px !important;
    }

    .line-numbers-rows > span:before {
      color: rgba(255, 255, 255, 0.2) !important;
    }
  </style>
</head>

<body>

  <div class="vscode-editor">
    <div class="editor-header">
      <div class="file-tab">main.py <span>&#x2715;</span></div>
      <div style="color:#888;">Visual Studio Code</div>
    </div>

    <pre class="line-numbers"><code class="language-python">print(&quot;Hello, World! From Sri Lanka to Japan ! &quot;)</code></pre>
  </div>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-python.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>

</body>
</html>


<!--kg-card-end: html-->
<p><code>print() </code>is a built-in Python function; if you want to show something on the screen, you use this.</p><h2 id="lets-run-the-program"><strong>Let&apos;s Run the Program:</strong></h2><p>Now, in the Terminal already open in VS Code (provided the Virtual Environment is activated), enter this command:</p>
<!--kg-card-begin: html-->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>VS Code Terminal UI</title>

  <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
  <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css" rel="stylesheet">

  <style>
    body {
      background-color: #f4f4f4;
      display: flex;
      justify-content: center;
      padding-top: 50px;
      font-family: sans-serif;
    }

    /* VS Code Terminal Window */
    .vscode-terminal {
      width: 90%;
      max-width: 900px;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
      border: 1px solid #333;
      background-color: #1e1e1e;
    }

    /* Header */
    .terminal-header {
      background-color: #252526;
      padding: 10px 15px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-family: Arial, sans-serif;
      font-size: 13px;
      color: #ccc;
    }

    .terminal-title {
      font-weight: 500;
      color: #ccc;
    }

    .terminal-tabs {
      display: flex;
      gap: 15px;
      font-size: 12px;
      color: #888;
    }

    .terminal-tabs span.active {
      color: #fff;
      border-bottom: 2px solid #007acc;
      padding-bottom: 2px;
    }

    /* Terminal Code Area */
    pre[class*="language-"] {
      margin: 0 !important;
      padding: 20px !important;
      background-color: #1e1e1e !important;
      border: none !important;
      border-radius: 0 !important;
    }

    code[class*="language-"] {
      font-family: Consolas, monospace !important;
      font-size: 15px !important;
      color: #ffffff !important;
      background: transparent !important;
      text-shadow: none !important;
    }

    /* Line Numbers */
    .line-numbers .line-numbers-rows {
      border-right: none !important;
      padding-right: 15px !important;
    }

    .line-numbers-rows > span:before {
      color: rgba(255, 255, 255, 0.2) !important;
    }
  </style>
</head>

<body>

  <div class="vscode-terminal">
    <div class="terminal-header">
      <div class="terminal-title">TERMINAL</div>

      <div class="terminal-tabs">
        <span class="active">bash</span>
        <span>PROBLEMS</span>
        <span>OUTPUT</span>
      </div>
    </div>

    <pre class="line-numbers"><code class="language-bash">nipuna@MyLinuxVM:~$ python hello.py</code></pre>
  </div>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-bash.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>

</body>
</html>
<!--kg-card-end: html-->
<p>Now look,&#xA0;Hello, World! From Sri Lanka to Japan ! should be printed in the Terminal. If that happened, you&#x2019;ve succeeded! As of today, you are a Python Programmer! </p><h2 id="troubleshooting-and-best-practices"><strong>Troubleshooting and Best Practices</strong></h2><p><strong>Common Errors:</strong></p><ul><li><strong>ModuleNotFoundError: No module named &apos;xyz&apos;:</strong> This error occurs when a Python package required for your project hasn&apos;t been installed. You can fix this using the <code>pip install package_name</code> command. (pip is the Package Installer for Python). <strong>Note:</strong> You must activate your Virtual Environment before doing this!</li><li><strong>Syntax Errors:</strong> These happen when Python&apos;s rules (syntax) are broken while writing code. These can be small mistakes. Examples: missing parentheses (), indentation errors, or missing colons (:). If the error message says &quot;SyntaxError,&quot; look closely at that line.</li></ul><p><strong>Best Practices:</strong></p><ul><li><strong>Use Virtual Environments:</strong> Create a separate Virtual Environment for every project.</li><li><strong>Add Comments to your Code:</strong> Get into the habit of adding comments using the <code>#</code> mark while writing code. This makes it easier for someone else, or even yourself, to understand when looking at the code again.</li><li><strong>Use Version Control (Git):</strong> Practice saving your code changes using a Version Control System like Git.</li></ul><h2 id="thats-it-right"><strong>That&apos;s it, right?</strong> </h2><p>So, today we talked about what Python is, why it&apos;s so valuable, how to install Python on your computer, how to set up VS Code, how to create a Virtual Environment, and how to write and run our first &quot;Hello, World!&quot; program. We also looked at how to solve issues if they arise.</p><p>Now you can enter the world of Python. Try writing small programs. The most important thing is <strong>practice</strong>.</p><p>We&apos;ll meet again soon with something new. Until then, good luck to everyone!!</p>]]></content:encoded></item></channel></rss>