Add(Item: Variant);
Add(Item: Object);
Item. Значение, которое будет добавлено в список.
Метод Add добавляет указанное значение в список.
Списки в Python могут содержать значения различных типов, поэтому с помощью метода Add можно добавить в список как значения простых типов, так и различные объекты, являющиеся экземплярами классов Python.
Для выполнения примера предполагается наличие папки с модулями Python «d:\Work\Python\». В папке имеется модуль «sample.py». В модуле реализована следующая функция:
def getSizeOfList(l):
return l.__sizeof__()
Добавьте ссылку на системную сборку Python.
Sub UserProc;
Var
pUtils: IPythonUtils;
pList: IPythonList;
Result: Variant;
Begin
pUtils := New PythonUtils.Create;
pUtils.AddFolderToPythonPath("d:\Work\Python\");
//Создание списка
pList := New PythonList.Create(0, "A", Char.Chr(169)); //169-код знака ©
//Получение информации о списке
Result := pUtils.Invoke("sample", "getSizeOfList", pList);
Debug.WriteLine("Количество элементов в списке: " + pList.Length.ToString);
Debug.WriteLine("Размер занимаемой памяти (байт): " + Result);
//Добавление элементов
pList.Add(Integer.MinValue);
pList.Add(Double.MaxValue);
pList.Add(DateTime.Now.ToString);
//Повторное получение инфорамции о списке
Result := pUtils.Invoke("sample", "getSizeOfList", pList);
Debug.WriteLine("Количество элементов в списке: " + pList.Length.ToString);
Debug.WriteLine("Размер занимаемой памяти (байт): " + Result);
End Sub UserProc;
Imports Prognoz.Platform.Interop.Python;
Public Shared Sub Main(Params: StartParams);
Var
pUtils: IPythonUtils = New PythonUtilsClass();
pList: IPythonList = New PythonListClass();
Result: Object;
Begin
pUtils.AddFolderToPythonPath("d:\Work\Python\");
//Создание списка
pList.Create(0, "A", Char.ConvertFromUtf32(169)); //169-код знака ©
//Получение информации о списке
Result := pUtils.Invoke("sample", "getSizeOfList", pList);
System.Diagnostics.Debug.WriteLine("Количество элементов в списке: " + pList.Length.ToString());
System.Diagnostics.Debug.WriteLine("Размер занимаемой памяти (байт): " + Result);
//Добавление элементов
pList.Add(Integer.MinValue);
pList.Add(Double.MaxValue);
pList.Add(DateTime.Now.ToString());
//Повторное получение инфорамции о списке
Result := pUtils.Invoke("sample", "getSizeOfList", pList);
System.Diagnostics.Debug.WriteLine("Количество элементов в списке: " + pList.Length.ToString());
System.Diagnostics.Debug.WriteLine("Размер занимаемой памяти (байт): " + Result);
End Sub;
При выполнении примера будет создан объект, содержащий в себе список Python. Список будет передан в функцию getSizeOfList для получения объёма памяти, которую он занимает. После этого в список будут добавлены несколько элементов и осуществлён повторный вызов функции getSizeOfList. Количество элементов в списке и объём занимаемой памяти после создания и после добавления новых элементов будут выведены в консоль среды разработки.
См. также: