Как соответствовать PEP 257 docstrings при использовании optparse модуля Python?

Пример для: Variable получает значение, инициализированное после входа в метод. Позже то же значение возвращается к основному методу.

namespace outreftry
{
    class outref
    {
        static void Main(string[] args)
        {
            yyy a = new yyy(); ;

            // u can try giving int i=100 but is useless as that value is not passed into
            // the method. Only variable goes into the method and gets changed its
            // value and comes out. 
            int i; 

            a.abc(out i);

            System.Console.WriteLine(i);
        }
    }
    class yyy
    {

        public void abc(out int i)
        {

            i = 10;

        }

    }
}

Вывод:

10

пример ===============================================

для Касательно: Variable должен быть инициализирован перед входом в метод. Позже то же значение или измененное значение будут возвращены к основному методу.

namespace outreftry
{
    class outref
    {
        static void Main(string[] args)
        {
            yyy a = new yyy(); ;

            int i = 0;

            a.abc(ref i);

            System.Console.WriteLine(i);
        }
    }
    class yyy
    {

        public void abc(ref int i)
        {
            System.Console.WriteLine(i);
            i = 10;

        }

    }
}

Вывод:

    0
    10

=================================

Hope его ясное теперь.

5
задан wierob 14 August 2009 в 13:37
поделиться

2 ответа

Вариант 1: Скопируйте и вставьте. Не СУХОЙ, но работоспособный.

Вариант 2: проанализируйте свою собственную строку документации, чтобы удалить абзац описания. Это всегда второй абзац, поэтому вы можете разбить его на '\ n \ n'.

usage, description= __doc__.split('\n\n')[:2]

Поскольку optparse генерирует использование, вы можете не захотеть предоставлять ему предложение использования. Ваша версия использования может быть ошибочной. Если вы настаиваете на предоставлении строки использования для optparse , я оставлю это в качестве упражнения для читателя, чтобы выяснить, как удалить "Использование:" из передней части использование строка, полученная выше.

4
ответ дан 13 December 2019 в 19:32
поделиться

Я думаю, что мы должны быть разумными в отношении этого совета PEP - я думаю, можно оставить модуль с __ doc __ , являющимся кратким описанием, которое суммирует длительное использование. Но если вы перфекционист:

'''<tool name>

The full description and usage can be generated by optparse module.

Description: ...

'''

...

# Generate usage and options using optparse.
usage, options = ... 

# Modify the docstring on the fly.
docstring = __doc__.split('\n\n')
docstring[1:2] = [__license__, usage, options]
__doc__ = '\n\n'.join(docstring)
1
ответ дан 13 December 2019 в 19:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: