Skip to content

ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್‌ಗಳು (Docstrings)

ಪೈಥಾನ್‌ನಲ್ಲಿ, ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್ (Docstring) ಎಂದರೆ ಒಂದು ಮೊಡ್ಯೂಲ್, ಫಂಕ್ಷನ್, ಕ್ಲಾಸ್, ಅಥವಾ ಮೆಥಡ್‌ನ ಉದ್ದೇಶವನ್ನು ವಿವರಿಸುವ ಒಂದು ಸ್ಟ್ರಿಂಗ್ ಲಿಟರಲ್. ಇದು ಆಬ್ಜೆಕ್ಟ್‌ನ ಮೊದಲ ಸ್ಟೇಟ್‌ಮೆಂಟ್ ಆಗಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ.

ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್‌ಗಳು ಕೇವಲ ಕಾಮೆಂಟ್‌ಗಳಲ್ಲ. ಇವುಗಳನ್ನು ಪೈಥಾನ್‌ನ help() ಫಂಕ್ಷನ್ ಮತ್ತು Sphinx ನಂತಹ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಜನರೇಟರ್ ಪರಿಕರಗಳು ಬಳಸಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ವೆಬ್‌ಸೈಟ್‌ಗಳನ್ನು ರಚಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.


ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್ ಬರೆಯುವುದು ಹೇಗೆ?

ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಟ್ರಿಪಲ್ ಕೋಟ್ಸ್ ("""...""" ಅಥವಾ '''...''') ಬಳಸಿ ಬರೆಯಲಾಗುತ್ತದೆ.

1. ಒಂದು-ಸಾಲಿನ ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್ (One-line Docstrings)

ಸಣ್ಣ ಮತ್ತು ಸ್ಪಷ್ಟ ಫಂಕ್ಷನ್‌ಗಳಿಗಾಗಿ ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಇದು ಫಂಕ್ಷನ್ ಏನು ಮಾಡುತ್ತದೆ ಎಂಬುದನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ವಿವರಿಸುವ ಒಂದು ಪೂರ್ಣ ವಾಕ್ಯವಾಗಿರಬೇಕು.

def add(a, b):
    """ಎರಡು ಸಂಖ್ಯೆಗಳನ್ನು ಕೂಡಿಸುತ್ತದೆ."""
    return a + b

2. ಬಹು-ಸಾಲಿನ ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್ (Multi-line Docstrings)

ಸಂಕೀರ್ಣ ಫಂಕ್ಷನ್‌ಗಳು, ಕ್ಲಾಸ್‌ಗಳು, ಮತ್ತು ಮೊಡ್ಯೂಲ್‌ಗಳಿಗಾಗಿ ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಈ ಕೆಳಗಿನ ಭಾಗಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ: 1. ಸಾರಾಂಶ: ಒಂದು-ಸಾಲಿನ ಸಾರಾಂಶ. 2. ವಿವರಣೆ: ಫಂಕ್ಷನ್‌ನ ವಿವರವಾದ ವಿವರಣೆ. 3. ಆರ್ಗ್ಯುಮೆಂಟ್ಸ್: ಪ್ರತಿ ಆರ್ಗ್ಯುಮೆಂಟ್‌ನ ಹೆಸರು, ಪ್ರಕಾರ, ಮತ್ತು ವಿವರಣೆ. 4. ರಿಟರ್ನ್ಸ್: ಫಂಕ್ಷನ್ ಏನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ ಮತ್ತು ಅದರ ಪ್ರಕಾರ. 5. ಎರರ್‌ಗಳು (Raises): ಫಂಕ್ಷನ್ ಯಾವ ಎರರ್‌ಗಳನ್ನು ಎಬ್ಬಿಸಬಹುದು.


ಜನಪ್ರಿಯ ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್ ಶೈಲಿಗಳು

ಪೈಥಾನ್ ಸಮುದಾಯದಲ್ಲಿ ಹಲವಾರು ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್ ಶೈಲಿಗಳಿವೆ.

1. Google Style

ಇದು ಓದಲು ಸುಲಭ ಮತ್ತು ಸ್ಪಷ್ಟವಾಗಿದೆ.

def calculate_power(base, exponent):
    """ಒಂದು ಸಂಖ್ಯೆಯ ಘಾತವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತದೆ.

    Args:
        base (int): ಆಧಾರ ಸಂಖ್ಯೆ.
        exponent (int): ಘಾತ ಸಂಖ್ಯೆ.

    Returns:
        int: `base` ನ `exponent` ಘಾತದ ಫಲಿತಾಂಶ.
    """
    return base ** exponent

2. NumPy/SciPy Style

ವೈಜ್ಞಾನಿಕ ಮತ್ತು ಡೇಟಾ ಸೈನ್ಸ್ ಸಮುದಾಯದಲ್ಲಿ ಇದು ಜನಪ್ರಿಯವಾಗಿದೆ. ಇದು ಹೆಚ್ಚು ವಿವರವಾಗಿರುತ್ತದೆ.

def calculate_power(base, exponent):
    """ಒಂದು ಸಂಖ್ಯೆಯ ಘಾತವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತದೆ.

    Parameters
    ----------
    base : int
        ಆಧಾರ ಸಂಖ್ಯೆ.
    exponent : int
        ಘಾತ ಸಂಖ್ಯೆ.

    Returns
    -------
    int
        `base` ನ `exponent` ಘಾತದ ಫಲಿತಾಂಶ.
    """
    return base ** exponent

3. reStructuredText (reST)

ಇದು ಪೈಥಾನ್‌ನ ಅಧಿಕೃತ ಡಾಕ್ಯುಮೆಂಟೇಶನ್‌ನಲ್ಲಿ ಬಳಸಲಾಗುವ ಶೈಲಿಯಾಗಿದೆ ಮತ್ತು Sphinx ನೊಂದಿಗೆ ಅತ್ಯುತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

def calculate_power(base, exponent):
    """ಒಂದು ಸಂಖ್ಯೆಯ ಘಾತವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತದೆ.

    :param base: ಆಧಾರ ಸಂಖ್ಯೆ.
    :type base: int
    :param exponent: ಘಾತ ಸಂಖ್ಯೆ.
    :type exponent: int
    :returns: `base` ನ `exponent` ಘಾತದ ಫಲಿತಾಂಶ.
    :rtype: int
    """
    return base ** exponent

reStructuredText ಮತ್ತು Sphinx: ಏಕೆ ಪ್ರಸಿದ್ಧ?

Sphinx ಪೈಥಾನ್ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳಿಗಾಗಿ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ರಚಿಸಲು ಬಳಸುವ ಅತ್ಯಂತ ಜನಪ್ರಿಯ ಮತ್ತು ಶಕ್ತಿಯುತ ಸಾಧನವಾಗಿದೆ. ಇದು reStructuredText (reST) ಅನ್ನು ತನ್ನ ಮಾರ್ಕಪ್ ಭಾಷೆಯಾಗಿ ಬಳಸುತ್ತದೆ.

ಪ್ರಯೋಜನಗಳು: 1. autodoc ವಿಸ್ತರಣೆ: Sphinx ನ autodoc ವಿಸ್ತರಣೆಯು ನಿಮ್ಮ ಪೈಥಾನ್ ಕೋಡ್‌ನಲ್ಲಿರುವ reST-ಶೈಲಿಯ ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ನೇರವಾಗಿ ಓದಿ, ಅವುಗಳನ್ನು ಸುಂದರವಾದ ಮತ್ತು ಸಂವಾದಾತ್ಮಕ HTML ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. 2. ಕ್ರಾಸ್-ರೆಫರೆನ್ಸಿಂಗ್: ಫಂಕ್ಷನ್‌ಗಳು, ಕ್ಲಾಸ್‌ಗಳು, ಮತ್ತು ಮೊಡ್ಯೂಲ್‌ಗಳ ನಡುವೆ ಸುಲಭವಾಗಿ ಲಿಂಕ್‌ಗಳನ್ನು ರಚಿಸಬಹುದು. 3. ಥೀಮ್‌ಗಳು ಮತ್ತು ಕಸ್ಟಮೈಸೇಶನ್: Read the Docs ನಂತಹ ವೃತ್ತಿಪರ ಥೀಮ್‌ಗಳನ್ನು ಸುಲಭವಾಗಿ ಅನ್ವಯಿಸಬಹುದು. 4. ಕೇಂದ್ರೀಕೃತ ಡಾಕ್ಯುಮೆಂಟೇಶನ್: ಕೋಡ್ ಮತ್ತು ಅದರ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ಇರುವುದರಿಂದ, ಅವುಗಳನ್ನು ಅಪ್-ಟು-ಡೇಟ್ ಆಗಿ ಇಡುವುದು ಸುಲಭ.

ಈ ಕಾರಣಗಳಿಂದ, reST ಮತ್ತು Sphinx ಸಂಯೋಜನೆಯು ಪೈಥಾನ್ ಲೈಬ್ರರಿಗಳು ಮತ್ತು ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳಿಗಾಗಿ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಬರೆಯಲು ಪ್ರಮಾಣಿತ ಆಯ್ಕೆಯಾಗಿದೆ.


ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪ್ರವೇಶಿಸುವುದು

ಒಂದು ಆಬ್ಜೆಕ್ಟ್‌ನ ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಅದರ __doc__ ಅಟ್ರಿಬ್ಯೂಟ್ ಮೂಲಕ ಅಥವಾ help() ಫಂಕ್ಷನ್ ಬಳಸಿ ಪ್ರವೇಶಿಸಬಹುದು.

print(calculate_power.__doc__)
help(calculate_power)

ಉತ್ತಮ ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಬರೆಯುವುದು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಹೆಚ್ಚು ವೃತ್ತಿಪರ, ನಿರ್ವಹಿಸಬಲ್ಲ, ಮತ್ತು ಇತರರಿಗೆ ಸುಲಭವಾಗಿ ಅರ್ಥವಾಗುವಂತೆ ಮಾಡುತ್ತದೆ.