Objek Python

@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 mewakili objek dengan Python dan mendukung pencarian anggota dinamis. Setiap akses anggota seperti object.foo akan secara dinamis meminta runtime Python untuk anggota dengan nama yang ditentukan dalam objek ini.

PythonObject diteruskan dan dikembalikan dari semua panggilan fungsi Python dan referensi anggota. Ini mendukung aritmatika dan operator perbandingan Python standar.

Secara internal, PythonObject diimplementasikan sebagai penunjuk yang dihitung referensi ke Python C API PyObject .

  • Deskripsi tekstual dari PythonObject ini, diproduksi oleh Python.str .

    Pernyataan

    public var description: String { get }
  • Pernyataan

    public var playgroundDescription: Any { get }
  • Pernyataan

    public var customMirror: Mirror { get }
  • Membuat instance baru dari nilai PythonConvertible .

    Pernyataan

    init<T>(_ object: T) where T : PythonConvertible
  • Pernyataan

    public init(_ object: PythonObject)
  • Pernyataan

    public var pythonObject: PythonObject { get }
  • Mengembalikan versi PythonObject yang dapat dipanggil ini. Saat dipanggil, hasilnya memunculkan kesalahan Swift jika fungsi Python yang mendasari memunculkan pengecualian Python.

    Pernyataan

    var throwing: ThrowingPythonObject { get }
  • Mengembalikan pembungkus PythonObject yang mampu mengakses anggota.

    Pernyataan

    var checking: CheckingPythonObject { get }
  • Pernyataan

    subscript(dynamicMember memberName: String) -> PythonObject { get nonmutating set }
  • Akses elemen yang sesuai dengan nilai PythonConvertible tertentu yang mewakili sebuah kunci.

    Catatan

    Ini setara dengan object[key] dengan Python.

    Pernyataan

    subscript(key: PythonConvertible...) -> PythonObject { get nonmutating set }
  • Mengonversi menjadi 2-tupel.

    Pernyataan

    var tuple2: (PythonObject, PythonObject) { get }
  • Mengonversi menjadi 3-tupel.

    Pernyataan

    var tuple3: (PythonObject, PythonObject, PythonObject) { get }
  • Mengonversi menjadi 4-tupel.

    Pernyataan

    var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject) { get }
  • Panggil self dengan argumen posisi yang ditentukan.

    Prasyarat

    self harus dapat dipanggil dengan Python.

    Pernyataan

    @discardableResult
    func dynamicallyCall(
        withArguments args: [PythonConvertible] = []) -> PythonObject

    Parameter

    args

    Argumen posisi untuk callable Python.

  • Panggil self dengan argumen yang ditentukan.

    Prasyarat

    self harus dapat dipanggil dengan Python.

    Pernyataan

    @discardableResult
    func dynamicallyCall(
        withKeywordArguments args:
        KeyValuePairs<String, PythonConvertible> = [:]) -> PythonObject

    Parameter

    args

    Argumen posisi atau kata kunci untuk callable Python.

  • Pernyataan

    init(tupleOf elements: PythonConvertible...)
  • Pernyataan

    init<T : Collection>(tupleContentsOf elements: T)
        where T.Element == PythonConvertible
  • Pernyataan

    init<T : Collection>(tupleContentsOf elements: T)
        where T.Element : PythonConvertible
  • Pernyataan

    static func + (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func - (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func * (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func / (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func += (lhs: inout PythonObject, rhs: PythonObject)
  • Pernyataan

    static func -= (lhs: inout PythonObject, rhs: PythonObject)
  • Pernyataan

    static func *= (lhs: inout PythonObject, rhs: PythonObject)
  • Pernyataan

    static func /= (lhs: inout PythonObject, rhs: PythonObject)
  • Pernyataan

    static func & (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func | (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func ^ (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func &= (lhs: inout PythonObject, rhs: PythonObject)
  • Pernyataan

    static func |= (lhs: inout PythonObject, rhs: PythonObject)
  • Pernyataan

    static func ^= (lhs: inout PythonObject, rhs: PythonObject)
  • Pernyataan

    prefix static func ~ (operand: `Self`) -> PythonObject
  • Pernyataan

    public init<T>(exactly value: T) where T : BinaryInteger
  • Pernyataan

    public typealias Magnitude = PythonObject
  • Pernyataan

    public var magnitude: PythonObject { get }
  • Pernyataan

    public prefix static func - (operand: `Self`) -> PythonObject
  • Pernyataan

    public typealias Stride = PythonObject
  • Pernyataan

    public func distance(to other: PythonObject) -> Stride
  • Pernyataan

    public func advanced(by stride: Stride) -> PythonObject
  • Pernyataan

    public static func == (lhs: PythonObject, rhs: PythonObject) -> Bool
  • Pernyataan

    public static func != (lhs: PythonObject, rhs: PythonObject) -> Bool
  • Pernyataan

    public static func < (lhs: PythonObject, rhs: PythonObject) -> Bool
  • Pernyataan

    public static func <= (lhs: PythonObject, rhs: PythonObject) -> Bool
  • Pernyataan

    public static func > (lhs: PythonObject, rhs: PythonObject) -> Bool
  • Pernyataan

    public static func >= (lhs: PythonObject, rhs: PythonObject) -> Bool
  • Pernyataan

    static func == (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func != (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func < (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func <= (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func > (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    static func >= (lhs: PythonObject, rhs: PythonObject) -> PythonObject
  • Pernyataan

    public func hash(into hasher: inout Hasher)
  • Pernyataan

    public typealias Index = PythonObject
  • Pernyataan

    public typealias Element = PythonObject
  • Pernyataan

    public var startIndex: Index { get }
  • Pernyataan

    public var endIndex: Index { get }
  • Pernyataan

    public func index(after i: Index) -> Index
  • Pernyataan

    public subscript(index: PythonObject) -> PythonObject { get set }
  • Pernyataan

    public struct Iterator : IteratorProtocol
  • Pernyataan

    public func makeIterator() -> Iterator
  • Pernyataan

    public init(booleanLiteral value: Bool)
  • Pernyataan

    public init(integerLiteral value: Int)
  • Pernyataan

    public init(floatLiteral value: Double)
  • Pernyataan

    public init(stringLiteral value: String)
  • Pernyataan

    public init(arrayLiteral elements: PythonObject...)
  • Pernyataan

    public typealias Key = PythonObject
  • Pernyataan

    public typealias Value = PythonObject
  • Pernyataan

    public init(dictionaryLiteral elements: (PythonObject, PythonObject)...)