# درباره docstring و استاندارد‌های آن

یک docstring پایتون رشته ای است که برای مستند سازی ماژول، کلاس، فانکشن یا متد پایتون استفاده می شود، بنابراین برنامه نویسان می توانند بدون نیاز به خواندن جزئیات پیاده سازی، بدانند که چه کاری انجام می دهد. همچنین ، ایجاد یک سند آنلاین (html) به طور خودکار از docstrings یک روش معمول است.

 

مثال بعدی ایده ای را در مورد شکل یک docstring ارائه می دهد:

def add(num1, num2):
    """
    Add up two integer numbers.

    This function simply wraps the ``+`` operator, and does not
    do anything interesting, except for illustrating what
    the docstring of a very simple function looks like.

    Parameters
    ----------
    num1 : int
        First number to add.
    num2 : int
        Second number to add.

    Returns
    -------
    int
        The sum of ``num1`` and ``num2``.

    See Also
    --------
    subtract : Subtract one integer from another.

    Examples
    --------
    >>> add(2, 2)
    4
    >>> add(25, 0)
    25
    >>> add(10, -10)
    0
    """
    return num1 + num2

 

برخی از استانداردها در مورد docstringها وجود دارد که خواندن آنها را آسان تر می کند و اجازه می دهد به راحتی به فرمت های دیگر مانند html یا pdf صادر شود.

 

خوب:

def add_values(arr):
    """
    Add the values in ``arr``.

    This is equivalent to Python ``sum`` of :meth:`pandas.Series.sum`.

    Some sections are omitted here for simplicity.
    """
    return sum(arr)

 

 

بد:

def func():

    """Some function.

    With several mistakes in the docstring.

    It has a blank like after the signature ``def func():``.

    The text 'Some function' should go in the line after the
    opening quotes of the docstring, not in the same line.

    There is a blank line between the docstring and the first line
    of code ``foo = 1``.

    The closing quotes should be in the next line, not in this one."""

    foo = 1
    bar = 2
    return foo + bar

 



0

Intro

10:38

رایگان

1

Variable

12:30

رایگان

2

String

19:22

رایگان

3

List

8:46

رایگان

4

While

9:6

رایگان

5

If

8:37

رایگان

6

For

6:12

رایگان

7

range

4:17

رایگان

8

break, continue, pass

9:15

رایگان

9

Function

12:32

رایگان

10

List methods

12:11

رایگان

11

Tuple

8:29

رایگان

12

Set

7:47

رایگان

13

Dictionary

9:19

رایگان

14

Module

10:40

رایگان

15

fstring

5:35

رایگان

16

format

7:34

رایگان

17

File

17:14

رایگان

18

Scope

6:25

رایگان

19

OOP

12:15

رایگان

20

Method

20:19

رایگان

21

class/instance variable

14:7

رایگان

22

class/static method

13:25

رایگان

23

Inheritance

17:6

رایگان

24

Special methods

9:50

رایگان

25

Access points

11:12

رایگان

26

property

6:54

رایگان

27

Exceptions

21:17

رایگان

28

Standard library

12:51

رایگان

29

Docstring

10:49

رایگان

30

Virtualenv

11:2

رایگان

دوره های پیشنهادی

دوره آموزش DRF جنگو
دوره آموزش DRF جنگو
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش RabbitMQ
دوره آموزش RabbitMQ
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش طراحی پایگاه داده(database)
دوره آموزش طراحی پایگاه داده(database)
تکمیل ضبط
امیرحسین بیگدلو



ارسال نظر


shahzad

1 سال قبل پاسخ به نظر

با سلام و ادب خدمت استاد محترم و تشکر بابت دوره های عالی تان

من یه سوال دارم شاید خیلی هم مضحک به نظر بیاد. من کد زیر رو نوشتم و دو تا کلاس عین هم است. عجیبه که کلاس اول اجرا نمیشه اما کلاس دوم اجرا میشه. علتش را هر چه میگردم پیدا نمیکنم.

class car:
def __int__(self, name, price):
self.name = name
self.price = price
def show(self):
print(f'{self.name} costs {self.price}')

c1 = car('pride', 100)
c1.show()

class car:
def __init__(self, name, price):
self.name = name
self.price = price
def show(self):
print(f'{self.name} costs {self.price}')

c1 = car('pride', 100)
c1.show()

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

سلام
احتمالا یه مشکل دیگه داری وگرنه این دوتا کلاس با هم فرقی ندارن.


Mrnobody

1 سال قبل

سلام, شما تو کلاس اول از مجیک متد int به جای init استفاده کردی, در واقع فقط یک " i " ناقابل رو جاگذاشتی که حدس میزنم به خاطر اینه که موقع تایپ, وقتی IDE کلمه int رو پیشنهاد کرد به اشتباه روش کلیک کردی و این مشکل بوجود اومد..که چیز رایجیه :)

مونگارد