@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
representa un objeto en Python y admite la búsqueda dinámica de miembros. Cualquier acceso de miembro como object.foo
solicitará dinámicamente el tiempo de ejecución de Python para un miembro con el nombre especificado en este objeto.
PythonObject
se pasa y devuelve desde todas las llamadas a funciones de Python y referencias de miembros. Admite operadores aritméticos y de comparación estándar de Python.
Internamente, PythonObject
se implementa como un puntero contado por referencia a un PyObject
API de Python C.
Una descripción textual de este
PythonObject
, producida porPython.str
.Declaración
public var description: String { get }
Declaración
public var playgroundDescription: Any { get }
Declaración
public var customMirror: Mirror { get }
Crea una nueva instancia a partir de un valor
PythonConvertible
.Declaración
init<T>(_ object: T) where T : PythonConvertible
Declaración
public init(_ object: PythonObject)
Declaración
public var pythonObject: PythonObject { get }
Devuelve una versión invocable de este
PythonObject
. Cuando se llama, el resultado genera un error de Swift si la función subyacente de Python genera una excepción de Python.Declaración
var throwing: ThrowingPythonObject { get }
Devuelve un contenedor
PythonObject
capaz de acceder a miembros.Declaración
var checking: CheckingPythonObject { get }
Declaración
subscript(dynamicMember memberName: String) -> PythonObject { get nonmutating set }
Acceda al elemento correspondiente a los valores
PythonConvertible
especificados que representan una clave.Nota
Esto es equivalente aobject[key]
en Python.Declaración
subscript(key: PythonConvertible...) -> PythonObject { get nonmutating set }
Se convierte en una tupla de 2.
Declaración
var tuple2: (PythonObject, PythonObject) { get }
Se convierte en una tupla de 3.
Declaración
var tuple3: (PythonObject, PythonObject, PythonObject) { get }
Se convierte en una tupla de 4.
Declaración
var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject) { get }
Llámese
self
con los argumentos posicionales especificados.Condición previa
self
debe ser un Python invocable.Declaración
@discardableResult func dynamicallyCall( withArguments args: [PythonConvertible] = []) -> PythonObject
Parámetros
args
Argumentos posicionales para el invocable de Python.
Llámese
self
con los argumentos especificados.Condición previa
self
debe ser un Python invocable.Declaración
@discardableResult func dynamicallyCall( withKeywordArguments args: KeyValuePairs<String, PythonConvertible> = [:]) -> PythonObject
Parámetros
args
Argumentos posicionales o de palabras clave para el invocable de Python.
Declaración
init(tupleOf elements: PythonConvertible...)
Declaración
init<T : Collection>(tupleContentsOf elements: T) where T.Element == PythonConvertible
Declaración
init<T : Collection>(tupleContentsOf elements: T) where T.Element : PythonConvertible
Declaración
static func + (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func - (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func * (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func / (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func += (lhs: inout PythonObject, rhs: PythonObject)
Declaración
static func -= (lhs: inout PythonObject, rhs: PythonObject)
Declaración
static func *= (lhs: inout PythonObject, rhs: PythonObject)
Declaración
static func /= (lhs: inout PythonObject, rhs: PythonObject)
Declaración
static func & (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func | (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func ^ (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func &= (lhs: inout PythonObject, rhs: PythonObject)
Declaración
static func |= (lhs: inout PythonObject, rhs: PythonObject)
Declaración
static func ^= (lhs: inout PythonObject, rhs: PythonObject)
Declaración
prefix static func ~ (operand: `Self`) -> PythonObject
Declaración
public init<T>(exactly value: T) where T : BinaryInteger
Declaración
public typealias Magnitude = PythonObject
Declaración
public var magnitude: PythonObject { get }
Declaración
public prefix static func - (operand: `Self`) -> PythonObject
Declaración
public typealias Stride = PythonObject
Declaración
public func distance(to other: PythonObject) -> Stride
Declaración
public func advanced(by stride: Stride) -> PythonObject
Declaración
public static func == (lhs: PythonObject, rhs: PythonObject) -> Bool
Declaración
public static func != (lhs: PythonObject, rhs: PythonObject) -> Bool
Declaración
public static func < (lhs: PythonObject, rhs: PythonObject) -> Bool
Declaración
public static func <= (lhs: PythonObject, rhs: PythonObject) -> Bool
Declaración
public static func > (lhs: PythonObject, rhs: PythonObject) -> Bool
Declaración
public static func >= (lhs: PythonObject, rhs: PythonObject) -> Bool
Declaración
static func == (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func != (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func < (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func <= (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func > (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
static func >= (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Declaración
public func hash(into hasher: inout Hasher)
Declaración
public typealias Index = PythonObject
Declaración
public typealias Element = PythonObject
Declaración
public var startIndex: Index { get }
Declaración
public var endIndex: Index { get }
Declaración
public subscript(index: PythonObject) -> PythonObject { get set }
Declaración
public struct Iterator : IteratorProtocol
Declaración
public func makeIterator() -> Iterator
Declaración
public init(booleanLiteral value: Bool)
Declaración
public init(integerLiteral value: Int)
Declaración
public init(floatLiteral value: Double)
Declaración
public init(stringLiteral value: String)
Declaración
public init(arrayLiteral elements: PythonObject...)
Declaración
public typealias Key = PythonObject
Declaración
public typealias Value = PythonObject
Declaración
public init(dictionaryLiteral elements: (PythonObject, PythonObject)...)