@dynamicCallable
@dynamicMemberLookup
public struct PythonObject
extension PythonObject : CustomStringConvertible
extension PythonObject : CustomPlaygroundDisplayConvertible
extension PythonObject : CustomReflectable
extension PythonObject : PythonConvertible, ConvertibleFromPython
extension PythonObject : SignedNumeric
extension PythonObject : Strideable
extension PythonObject : Equatable, Comparable
extension PythonObject : Hashable
extension PythonObject : MutableCollection
extension PythonObject : Sequence
extension PythonObject : ExpressibleByBooleanLiteral, ExpressibleByIntegerLiteral,
ExpressibleByFloatLiteral, ExpressibleByStringLiteral
extension PythonObject : ExpressibleByArrayLiteral, ExpressibleByDictionaryLiteral
PythonObject
представляет объект в Python и поддерживает динамический поиск членов. Любой доступ к члену, например object.foo
будет динамически запрашивать среду выполнения Python для члена с указанным именем в этом объекте.
PythonObject
передается и возвращается из всех вызовов функций Python и ссылок на члены. Он поддерживает стандартные арифметические операции Python и операторы сравнения.
Внутри PythonObject
реализован как указатель с подсчетом ссылок на PyObject
API Python C.
Текстовое описание этого
PythonObject
, созданноеPython.str
.Декларация
public var description: String { get }
Декларация
public var playgroundDescription: Any { get }
Декларация
public var customMirror: Mirror { get }
Создает новый экземпляр на основе значения
PythonConvertible
.Декларация
init<T>(_ object: T) where T : PythonConvertible
Декларация
public init(_ object: PythonObject)
Декларация
public var pythonObject: PythonObject { get }
Возвращает вызываемую версию этого
PythonObject
. При вызове результат выдает ошибку Swift, если базовая функция Python выдает исключение Python.Декларация
var throwing: ThrowingPythonObject { get }
Возвращает оболочку
PythonObject
, допускающую доступ к членам.Декларация
var checking: CheckingPythonObject { get }
Декларация
subscript(dynamicMember memberName: String) -> PythonObject { get nonmutating set }
Получите доступ к элементу, соответствующему указанным значениям
PythonConvertible
представляющим ключ.Примечание
Это эквивалентноobject[key]
в Python.Декларация
subscript(key: PythonConvertible...) -> PythonObject { get nonmutating set }
Преобразуется в двухкортеж.
Декларация
var tuple2: (PythonObject, PythonObject) { get }
Преобразуется в трехкортеж.
Декларация
var tuple3: (PythonObject, PythonObject, PythonObject) { get }
Преобразуется в 4-кортеж.
Декларация
var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject) { get }
Вызовите
self
с указанными позиционными аргументами.Предварительное условие
self
должен быть вызываемым объектом Python.Декларация
@discardableResult func dynamicallyCall( withArguments args: [PythonConvertible] = []) -> PythonObject
Параметры
args
Позиционные аргументы для вызываемого объекта Python.
Вызовите
self
с указанными аргументами.Предварительное условие
self
должен быть вызываемым объектом Python.Декларация
@discardableResult func dynamicallyCall( withKeywordArguments args: KeyValuePairs<String, PythonConvertible> = [:]) -> PythonObject
Параметры
args
Позиционные или ключевые аргументы для вызываемого объекта Python.
Декларация
init(tupleOf elements: PythonConvertible...)
Декларация
init<T : Collection>(tupleContentsOf elements: T) where T.Element == PythonConvertible
Декларация
init<T : Collection>(tupleContentsOf elements: T) where T.Element : PythonConvertible
Декларация
static func + (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func - (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func * (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func / (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func += (lhs: inout PythonObject, rhs: PythonObject)
Декларация
static func -= (lhs: inout PythonObject, rhs: PythonObject)
Декларация
static func *= (lhs: inout PythonObject, rhs: PythonObject)
Декларация
static func /= (lhs: inout PythonObject, rhs: PythonObject)
Декларация
static func & (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func | (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func ^ (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func &= (lhs: inout PythonObject, rhs: PythonObject)
Декларация
static func |= (lhs: inout PythonObject, rhs: PythonObject)
Декларация
static func ^= (lhs: inout PythonObject, rhs: PythonObject)
Декларация
prefix static func ~ (operand: `Self`) -> PythonObject
Декларация
public init<T>(exactly value: T) where T : BinaryInteger
Декларация
public typealias Magnitude = PythonObject
Декларация
public var magnitude: PythonObject { get }
Декларация
public prefix static func - (operand: `Self`) -> PythonObject
Декларация
public typealias Stride = PythonObject
Декларация
public func distance(to other: PythonObject) -> Stride
Декларация
public func advanced(by stride: Stride) -> PythonObject
Декларация
public static func == (lhs: PythonObject, rhs: PythonObject) -> Bool
Декларация
public static func != (lhs: PythonObject, rhs: PythonObject) -> Bool
Декларация
public static func < (lhs: PythonObject, rhs: PythonObject) -> Bool
Декларация
public static func <= (lhs: PythonObject, rhs: PythonObject) -> Bool
Декларация
public static func > (lhs: PythonObject, rhs: PythonObject) -> Bool
Декларация
public static func >= (lhs: PythonObject, rhs: PythonObject) -> Bool
Декларация
static func == (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func != (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func < (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func <= (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func > (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
static func >= (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Декларация
public func hash(into hasher: inout Hasher)
Декларация
public typealias Index = PythonObject
Декларация
public typealias Element = PythonObject
Декларация
public var startIndex: Index { get }
Декларация
public var endIndex: Index { get }
Декларация
public subscript(index: PythonObject) -> PythonObject { get set }
Декларация
public struct Iterator : IteratorProtocol
Декларация
public func makeIterator() -> Iterator
Декларация
public init(booleanLiteral value: Bool)
Декларация
public init(integerLiteral value: Int)
Декларация
public init(floatLiteral value: Double)
Декларация
public init(stringLiteral value: String)
Декларация
public init(arrayLiteral elements: PythonObject...)
Декларация
public typealias Key = PythonObject
Декларация
public typealias Value = PythonObject
Декларация
public init(dictionaryLiteral elements: (PythonObject, PythonObject)...)