Как включить выделенные файлы .cu CUDA в PyCharm? [Дубликат]

Чтобы использовать hash, поскольку @lhunath предлагает , в сценарии bash:

hash foo &> /dev/null
if [ $? -eq 1 ]; then
    echo >&2 "foo not found."
fi

Этот скрипт запускает hash, а затем проверяет, является ли код выхода из самая последняя команда, значение, сохраненное в $?, равно 1. Если hash не находит foo, код выхода будет 1. Если присутствует foo, код выхода будет 0.

&> /dev/null перенаправляет стандартную ошибку и стандартный вывод из hash, чтобы он не отображался на экране, а echo >&2 записывает сообщение к стандартной ошибке.

162
задан Mr_and_Mrs_D 1 April 2016 в 18:08
поделиться

5 ответов

Да, вы можете использовать специальный формат документации для методов и их параметров, чтобы PyCharm мог знать тип. Недавняя версия PyCharm поддерживает большинство распространенных форматов doc .

Например, PyCharm извлекает типы из комментариев @param style .

См. также reStructuredText и соглашения docstring (PEP 257).

Другой вариант - аннотации Python 3.

Пожалуйста, в разделе документации PyCharm для получения более подробной информации и образцов.

79
ответ дан Andrey Vlasovskikh 25 August 2018 в 08:13
поделиться

Вы также можете утверждать, что тип и Pycharm выведут его:

def my_function(an_int):
    assert isinstance(an_int, int)
    # Pycharm now knows that an_int is of type int
    pass
1
ответ дан Alejandro Daniel Noel 25 August 2018 в 08:13
поделиться

PyCharm извлекает типы из строки @type pydoc. См. Здесь PyCharm docs здесь и здесь и Epydoc docs . Он находится в разделе «legacy» PyCharm, возможно, ему не хватает функциональности.

class King:
    def repress(self, peasant):
        """
        Exploit the workers by hanging on to outdated imperialist dogma which
        perpetuates the economic and social differences in our society.

        @type peasant: Person
        @param peasant: Person to repress.
        """
        peasant.knock_over()   # Shows a warning. And there was much rejoicing.

Соответствующая часть - это строка @type peasant: Person строки docstring.

Мое намерение не чтобы украсть очки у CrazyCoder или оригинального вопросника, непременно дайте им свои очки. Я просто подумал, что простой ответ должен быть в слоте «ответ».

3
ответ дан dfrankow 25 August 2018 в 08:13
поделиться

Если вы используете Python 3.0 или новее, вы также можете использовать аннотации для функций и параметров. PyCharm будет интерпретировать их как тип, который должен иметь аргумент или возвращаемые значения:

class King:
    def repress(self, peasant: Person) -> bool:
        peasant.knock_over() # Shows a warning. And there was much rejoicing.

        return peasant.badly_hurt() # Lets say, its not known from here that this method will always return a bool

Иногда это полезно для непубличных методов, для которых не требуется docstring. В качестве дополнительного преимущества эти аннотации могут быть доступны по коду:

>>> King.repress.__annotations__
{'peasant': <class '__main__.Person'>, 'return': <class 'bool'>}

Обновление: по состоянию на PEP 484 , который был принят для Python 3.5, он также является официальным соглашение для указания типов аргументов и возвратов с использованием аннотаций.

45
ответ дан Feuermurmel 25 August 2018 в 08:13
поделиться

Я использую PyCharm Professional 2016.1, пишущий код py2.6-2.7, и я обнаружил, что с помощью reStructuredText я могу выражать типы более succint способом:

class Replicant(object):
    pass


class Hunter(object):
    def retire(self, replicant):
        """ Retire the rogue or non-functional replicant.
        :param Replicant replicant: the replicant to retire.
        """
        replicant.knock_over()  # Shows a warning.

См.: https : //www.jetbrains.com/help/pycharm/2016.1/type-hinting-in-pycharm.html#legacy

1
ответ дан pongi 25 August 2018 в 08:13
поделиться
Другие вопросы по тегам:

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