Вычислительные краткие обзоры статьи

В ответе turc's Jakub Е его № 5 о передающих данных между конструкторами, вероятно, мог использовать немного объяснения. Это находится в перегружающихся конструкторах и является одним случаем, где использование this обязательно. В следующем примере мы можем назвать параметризованного конструктора от конструктора без параметров с параметром по умолчанию.

class MyClass {
    private int _x
    public MyClass() : this(5) {}
    public MyClass(int v) { _x = v;}
}

я нашел, что это особенно полезная функция при случае.

5
задан SingleNegationElimination 4 November 2009 в 19:39
поделиться

2 ответа

РЕДАКТИРОВАТЬ:

Вы можете сделать что-то вроде этого:

from textwrap import wrap

def getAbstract(text, lines=5, screenwidth=100):
    width = len(' '.join([
               line for block in text.splitlines()
               for line in wrap(block, width=screenwidth)
            ][:lines]))
    return text[:width] + '...'

Это использует алгоритм переноса текста для получения идеальной длины текста. Он разбивает текст на строки размером с экран и использует их для вычисления длины желаемого количества строк.

Например, применение этого алгоритма на странице википедии Python запись:

print getAbstract(text, lines=7)

даст вам следующий результат:

Python - универсальный высокоуровневый язык программирования. 2 Его конструкция философия подчеркивает код читаемость. [3] Python утверждает, что "[combine] remarkable power with very clear syntax",[4] and its standard library is large and comprehensive. Its use of indentation as block delimiters is unusual among popular programming languages.

Python supports multiple programming paradigms (primarily object oriented, imperative, and functional) and features a fully dynamic type system and automatic memory management, similar to Perl, Ruby, Scheme, and Tcl. Like other dynamic languages, Python часто используется как скрипт ...


Без дальнейших подробностей вам трудно помочь. Но если ваша проблема заключалась в том, что брать первые несколько строк было слишком много для некоторых записей, вам может потребоваться взглянуть на textwrap

Например, если вам нужны только аннотации из 100 символов, вы можете сделать следующее:

import textwrap

abstract = textwrap.wrap(text, 100)[0]

Это также заменит символы новой строки пробелами, что может быть желательно в зависимости от ваших требований.

7
ответ дан 14 December 2019 в 08:53
поделиться

Я не совсем уверен, что вы хотите.

Однако я бы посоветовал вырезать статью после X символов и поставить «...». Тогда у вас будет больше контроля над размером вашего «абстрактного» (если это то, что вас беспокоит в вашей текущей реализации).

0
ответ дан 14 December 2019 в 08:53
поделиться
Другие вопросы по тегам:

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