Ресурсы для [закрытого] Python программиста

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

20
задан braX 29 May 2018 в 19:00
поделиться

8 ответов

VBA очень отличается от Python, таким образом, необходимо считать, по крайней мере, "Справку Microsoft Visual Basic", в соответствии с приложением Вы собираетесь использовать (Excel, Access†¦).

Вообще говоря, VBA имеет эквивалент модулей Python; их называют "Библиотеками", и их не столь легко создать как модули Python. Я упоминаю их, потому что Библиотеки предоставят Вам высокоуровневые типы, которые можно использовать.

Как пошаговое перемещение запуска, существует два типа, которыми можно заменить list и dict.

list

VBA имеет тип Collection. Это доступно по умолчанию (это находится в библиотеке VBA). Таким образом, Вы просто делаете
dim alist as New Collection
и с тех пор, можно использовать его методы/свойства:

  • .Add(item) (list.append (объект)),
  • .Count (len (список)),
  • .Item(i) (список [я]) и
  • .Remove(i) (del список [я]). Очень примитивный, но это там.

можно также использовать Тип массива VBA, которые как массивы Python являются списками объектов того-же-типа, и в отличие от массивов Python, необходимо сделать ReDim для изменения их размера (т.е. Вы не можете только добавить и удалить объекты)

dict

, Чтобы иметь подобный словарю объект, необходимо добавить библиотеку Scripting к VBA projectВ№. Впоследствии, Вы можете
Dim adict As New Dictionary
и затем использовать его свойства/методы:

  • .Add(key, item) (dict [ключ] = объект),
  • .Exists(key) (dict.has_key [ключ]),
  • .Items() (dict.values ()),
  • .Keys() (dict.keys ()),
    и другие, которых Вы найдете в Объектном BrowserВІ.

В№ Открывают редактора VBA (Alt+F11). Перейдите к Toolsв +'References и проверьте "Microsoft Scripting Runtime" в список.

ВІ Для наблюдения Обозревателя объектов, в редакторе VBA нажимают F2 (или Viewв †’Object Браузер).

24
ответ дан 30 November 2019 в 00:27
поделиться

Это учебное руководство не 'для программистов Python', но меня thinkit's довольно хороший vba ресурс:

http://www.vbtutor.net/VBA/vba_tutorial.html

Этот сайт пробегается через реальный пример с помощью списков:

http://www.ozgrid.com/VBA/count-of-list.htm

2
ответ дан 30 November 2019 в 00:27
поделиться

Вероятно, не точно, что Вы ищете, но это - достойный сайт VBA, если у Вас есть некоторый фон программирования. Это не список этого = это, но больше проблемы/решения

http://www.mvps.org/access/toc.htm

2
ответ дан 30 November 2019 в 00:27
поделиться

VBA как в том, что было реализовано как часть Office 2000, 2003 и VB6, были удержаны от использования в пользу технологий .NET. Если Вы не поддерживаете старый код, придерживаются Python или возможно даже идут с IronPython для .NET. Если Вы идете IronPython, Вам, вероятно, придется записать некоторые классы помощника C#/VB.Net тут и там при работе с различными COM-объектами, такими как в Office, но иначе он, как предполагается, довольно функционален и хорош. Примерно все совершенство Python закончено в IronPython. Если Вы просто делаете, некоторые сценарии COM смотрят на то, что производит ActiveState. Я использовал его в прошлом, чтобы сделать некоторую работу COM. Специфически использующий Python как язык Active Scripting (классический ASP).

2
ответ дан 30 November 2019 в 00:27
поделиться

Я думаю, что эквивалент списков был бы массивами с точки зрения общего использования. Где распространено использовать список в Python, Вы обычно использовали бы массив в VB. Однако массивы VB очень негибки по сравнению со списками Python и больше похожи на массивы в C.

' An array with 3 elements
'' The number inside the brackets represents the upper bound index
'' ie. the last index you can access
'' So a(2) means you can access a(0), a(1), and a(2) '

Dim a(2) As String
a(0) = "a"
a(1) = "b"
a(2) = "c"

Dim i As Integer
For i = 0 To UBound(a)
    MsgBox a(i)
Next

Примечание, которое выстраивает в VB, не может быть изменено, если Вы объявляете начальное число элементов.

' Declare a "dynamic" array '

Dim a() As Variant

' Set the array size to 3 elements '

ReDim a(2)
a(0) = 1
a(1) = 2

' Set the array size to 2 elements
'' If you dont use Preserve then you will lose
'' the existing data in the array '

ReDim Preserve a(1)

Вы также столкнетесь с различными наборами в VB., например, http://devguru.com/technologies/vbscript/14045.asp

, Словари в VB могут быть созданы как это:

Set cars = CreateObject("Scripting.Dictionary")
cars.Add "a", "Alvis"
cars.Add "b", "Buick"
cars.Add "c", "Cadillac" 

http://devguru.com/technologies/vbscript/13992.asp

1
ответ дан 30 November 2019 в 00:27
поделиться

В то время как я не Python программист, Вы смогли выполнять VSTO с Iron Python и Visual Studio. По крайней мере, тот путь, Вы не должны будете изучать синтаксис VBA.

1
ответ дан 30 November 2019 в 00:27
поделиться

Это может звучать странным, но так как я изучил структуры данных в C++, мне было действительно нелегко выяснять, как создать их без указателей. Существует что-то о VB6/VBA, который заставляет их чувствовать себя неестественными мне. Так или иначе я столкнулся с этим разделом MSDN, который имеет несколько примеров структуры данных, записанных в VBA. Я нашел это полезным.

Создающие Динамические Структуры данных Используя Модули Класса

0
ответ дан 30 November 2019 в 00:27
поделиться

"я испытываю затруднения при приравнивании простого Списка в Python с чем-то в VBA..."

Это не лучший способ выучить язык. В некотором смысле, Вы бросаете большие части Python, потому что нет чего-то как он в VBA.

, Если нет ничего как список Python в VBA, то - хорошо - это - что-то новое. И новый было бы значительное значение в частях Python.

первые части Python Встроенные Типы не могут отобразиться хорошо на VBA. Это заставляет изучение казаться пугающим. Но ограничение себя только к вещам, которые появляются в VBA, имеет тенденцию предотвращать изучение.

0
ответ дан 30 November 2019 в 00:27
поделиться
Другие вопросы по тегам:

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