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 نشان دهنده یک شی در پایتون و از مراجعه به عضو پویا. هر گونه دسترسی عضو مانند object.foo به صورت پویا درخواست زمان اجرا پایتون برای یک عضو با نام مشخص شده در این شی.

PythonObject به تصویب رسید و از همه پایتون فراخوانی تابع و مراجع عضو بازگشت. از عملگرهای محاسباتی و مقایسه استاندارد پایتون پشتیبانی می کند.

در داخل، PythonObject به عنوان یک اشاره گر مرجع شمارش به پایتون 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 را می دهد اگر تابع پایتون زیر استثناء پایتون را پرتاب کند.

    اعلام

    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 }
  • به 2 تاپل تبدیل می شود.

    اعلام

    var tuple2: (PythonObject, PythonObject) { get }
  • به 3 تاپل تبدیل می شود.

    اعلام

    var tuple3: (PythonObject, PythonObject, PythonObject) { get }
  • به 4 تاپل تبدیل می شود.

    اعلام

    var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject) { get }
  • پاسخ self را با استدلال موضعی مشخص شده است.

    پیش شرط

    self باید یک قابل فراخوانی پیتون باشد.

    اعلام

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

    مولفه های

    args

    استدلالهای موضعی برای پایتون قابل تماس

  • پاسخ self را با استدلال مشخص شده است.

    پیش شرط

    self باید یک قابل فراخوانی پیتون باشد.

    اعلام

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

    مولفه های

    args

    استدلال های موضعی یا کلید واژه برای پایتون قابل تماس.

  • اعلام

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