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