Как я смотрю в объекте Python?

Это все еще проблема в выпуске Visual Studio Community 2015, выпуск 3, при создании ASP.NET Core Web Application (.NET Framework 4.5.2) с помощью Empty ASP.NET Core Template. Похоже, что он работает правильно при создании проекта с использованием базового шаблона веб-приложения ASP.NET.

Как упоминалось выше, сообщение вводит в заблуждение, поскольку установлены зависимости. Кажется, Visual Studio просто сообщает, что npm и зависимости не установлены. Временное исправление заключается в переопределении там, где Visual Studio ищет файл node.js, который удаляет сообщения not installed в Visual Studio.

В Visual Studio перейдите к Tools > Options > Projects and Solutions > External Web Tools и добавьте путь к вашей установке node.js. По умолчанию он находится в C:\Program Files\nodejs\ или C:\Program Files (x86)\nodejs\. Переместите эту новую строку вверх или хотя бы выше строки $ (VSINSTALLDIR) \ Web \ External.

enter image description here

Восстановите ваши пакеты, и сообщение об ошибке должно исчезнуть.

enter image description here

265
задан littlejim84 24 March 2015 в 09:37
поделиться

11 ответов

pprint и dir отлично работают вместе

3
ответ дан 23 November 2019 в 02:26
поделиться

Другие уже упоминали встроенную функцию dir (), которая звучит как то, что вы ищете, но вот еще один хороший совет. Многие библиотеки - включая большую часть стандартной библиотеки - распространяются в исходной форме. Это означает, что вы можете довольно легко прочитать исходный код напрямую. Хитрость в том, чтобы найти его; например:

>>> import string
>>> string.__file__
'/usr/lib/python2.5/string.pyc'

Файл * .pyc скомпилирован, поэтому удалите завершающую 'c' и откройте некомпилированный файл * .py в вашем любимом редакторе или программе просмотра файлов:

/usr/lib/python2.5/string.py

Я нашел это невероятно полезным для обнаружения например, какие исключения возникают из данного API. Подобные детали редко документируются в мире Python.

7
ответ дан 23 November 2019 в 02:26
поделиться

Кроме того, если вы хотите заглянуть внутрь списка и словарей, вы можете использовать pprint ()

0
ответ дан 23 November 2019 в 02:26
поделиться

If you want to look at parameters and methods, as others have pointed out you may well use pprint or dir()

If you want to see the actual value of the contents, you can do

object.__dict__

4
ответ дан 23 November 2019 в 02:26
поделиться

Если это нужно для исследования, чтобы увидеть, что происходит, я бы рекомендовал посмотреть IPython . Это добавляет различные ярлыки для получения документации, свойств и даже исходного кода объектов. Например, добавление "?" к функции предоставит справку по объекту (по сути, это ярлык для «help (obj)», тогда как использование двух? (« func ?? ») отобразит исходный код, если он доступен.

Есть также много дополнительных удобств, таких как завершение табуляции, красивая печать результатов, история результатов и т. Д., Которые делают его очень удобным для такого рода исследовательского программирования.

Для более программного использования интроспекции базовые встроенные функции например dir () , vars () , getattr и т. д., будут полезны, но стоит потратить время и проверить модуль inspect . Чтобы получить исходный код функции, используйте « inspect.getsource », например, применив его к самому себе:

>>> print inspect.getsource(inspect.getsource)
def getsource(object):
    """Return the text of the source code for an object.

    The argument may be a module, class, method, function, traceback, frame,
    or code object.  The source code is returned as a single string.  An
    IOError is raised if the source code cannot be retrieved."""
    lines, lnum = getsourcelines(object)
    return string.join(lines, '')

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

27
ответ дан 23 November 2019 в 02:26
поделиться

I'm surprised no one's mentioned help yet!

In [1]: def foo():
   ...:     "foo!"
   ...:

In [2]: help(foo)
Help on function foo in module __main__:

foo()
    foo!

Help lets you read the docstring and get an idea of what attributes a class might have, which is pretty helpful.

53
ответ дан 23 November 2019 в 02:26
поделиться

объект .__ dict __

163
ответ дан 23 November 2019 в 02:26
поделиться

Python обладает мощным набором функций самоанализа.

Обратите внимание на следующие встроенные функции :

type () и dir () особенно полезны для проверки типа объекта и его набора атрибутов соответственно.

319
ответ дан 23 November 2019 в 02:26
поделиться
"""Visit http://diveintopython.net/"""

__author__ = "Mark Pilgrim (mark@diveintopython.org)"


def info(object, spacing=10, collapse=1):
    """Print methods and doc strings.

    Takes module, class, list, dictionary, or string."""
    methodList = [e for e in dir(object) if callable(getattr(object, e))]
    processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
    print "\n".join(["%s %s" %
                     (method.ljust(spacing),
                      processFunc(str(getattr(object, method).__doc__)))
                     for method in methodList])

if __name__ == "__main__":
    print help.__doc__
8
ответ дан 23 November 2019 в 02:26
поделиться

Вы можете перечислить атрибуты объекта с помощью dir () в оболочке:

>>> dir(object())
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']

Конечно, есть также модуль проверки: http: //docs.python. org / library / inspect.html # module-inspect

9
ответ дан 23 November 2019 в 02:26
поделиться

Сначала прочтите источник.

Во-вторых, используйте функцию dir () .

60
ответ дан 23 November 2019 в 02:26
поделиться
Другие вопросы по тегам:

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