inputs: """A demonstration of writing well documented Python code.

This snippet demonstrates how a well documented code should look.
Each method and class is documented, and there is also
documentation for the script itself.
"""
import os


class Path:
    """Represent a filesystem path.
    
    It is used to simplify the work with paths across different
    operating systems. The initialization method takes a string and
    populates the full path property along with "parts," which is a
    version of the path after we split it using path separator
    characters.

    Basic Usage:

    >>> Path(r'C:\Yossi').get_drive_letter()
    'C:'
    >>> str(Path(r'C:\Messed/Up/Path\To\file.png'))
    'C:/Messed/Up/Path/To/file.png'
    """

    def __init__(self, path):
        self.fullpath = path
        self.parts = list(self.get_parts())

    def get_parts(self):
        """Split the path, return each part separately.

        Each "part" of the path can be defined as a drive, folder, or
        file, separated by a forward slash (/, typically used in
        Linux/Mac) or by a backslash (usually used in Windows).

        path -- String that consists of a drive (if applicable),
                folders, and files, separated by a forward slash or by
                a backslash.
        """
        current_part = ""
        for char in self.fullpath:
            if char in r"\/":
                yield current_part
                current_part = ""
            else:
                current_part = current_part + char
        if current_part != "":
            yield current_part

    def get_drive_letter(self):
        """Return the drive letter of the path, when applicable."""
        return self.parts[0].rstrip(":")

    def get_dirname(self):
        """Return the full path without the last part."""
        path = "/".join(self.parts[:-1])
        return Path(path)

    def get_basename(self):
        """Return the last part of the path."""
        return self.parts[-1]

    def get_extension(self):
        """Return the...
Given the above code, generate some markdown instructions for it.

targets: 
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    סוג כזה של תיעוד נקרא "<dfn>מחרוזת תיעוד מרובת שורות</dfn>" (<dfn>Multi-line Docstring</dfn>).<br>
    נכתוב אותו כדי לעזור למי שישתמש בפונקציה להבין מה מטרתה, אילו פרמטרים היא מצפה לקבל ואילו ערכים יוחזרו ממנה.
</p>

<p style="text-align: right; direction: rtl; float: right; clear: both;">
    היכן נשתמש בתיעוד מרובה שורות?
</p>

<ul style="text-align: right; direction: rtl; float: right; clear: both;">
    <li>בראש הקוד – נסכם מה מטרת הקוד, ונסביר בקצרה מה הוא כולל.</li>
    <li>בראש מחלקה – נסכם את התנהגות המחלקה ונתעד את הפעולה <code>__init__</code>.</li>
    <li>בפונקציה או בפעולה – נסכם:
        <ul>
            <li>מה מטרתה.</li>
            <li>אילו ארגומנטים היא מצפה לקבל.</li>
            <li>מהם ערכי ההחזרה שלה.</li>
            <li>אילו שגיאות היא עלולה להחזיר.</li>
            <li>על מה היא משפיעה חוץ מאשר על המשתנים בפונקציה עצמה (נניח – כתיבה לקובץ).</li>
        </ul>
    </li>
</ul>

<span style="text-align: right; direction: rtl; float: right; clear: both;">דוגמה לתיעוד בסיסי</span>