PythonObject

@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 ومراجع الأعضاء وإعادتها منها. وهو يدعم العمليات الحسابية والمقارنة القياسية في بايثون.

داخليًا، يتم تنفيذ PythonObject كمؤشر مُعد مرجعيًا إلى Python C API PyObject .

  • وصف نصي لـ 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] في بايثون.

    تصريح

    subscript(key: PythonConvertible...) -> PythonObject { get nonmutating set }
  • يتحول إلى 2-tuple.

    تصريح

    var tuple2: (PythonObject, PythonObject) { get }
  • يتحول إلى 3-tuple.

    تصريح

    var tuple3: (PythonObject, PythonObject, PythonObject) { get }
  • يتحول إلى 4-tuple.

    تصريح

    var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject) { get }
  • استدعاء self مع الحجج الموضعية المحددة.

    شرط مسبق

    self يجب أن تكون لغة بايثون قابلة للاستدعاء.

    تصريح

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

    حدود

    args

    الحجج الموضعية لـ Python القابلة للاستدعاء.

  • استدعاء self مع الحجج المحددة.

    شرط مسبق

    self يجب أن تكون لغة بايثون قابلة للاستدعاء.

    تصريح

    @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 func index(after i: Index) -> Index
  • تصريح

    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)...)