@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
đại diện cho một đối tượng trong Python và hỗ trợ tra cứu viên năng động. Bất kỳ truy cập thành viên như object.foo
sẽ tự động yêu cầu thời gian chạy Python cho một thành viên với tên được chỉ định trong đối tượng này.
PythonObject
được truyền đến và trở về từ tất cả các cuộc gọi chức năng Python và tài liệu tham khảo thành viên. Nó hỗ trợ các toán tử so sánh và số học Python tiêu chuẩn.
Bên trong, PythonObject
được thực hiện như một con trỏ tham khảo-tính đến một Python C API PyObject
.
Một mô tả văn bản của này
PythonObject
, được sản xuất bởiPython.str
.Tuyên ngôn
public var description: String { get }
Tuyên ngôn
public var playgroundDescription: Any { get }
Tuyên ngôn
public var customMirror: Mirror { get }
Tạo một thể hiện mới từ một
PythonConvertible
giá trị.Tuyên ngôn
init<T>(_ object: T) where T : PythonConvertible
Tuyên ngôn
public init(_ object: PythonObject)
Tuyên ngôn
public var pythonObject: PythonObject { get }
Trả về một phiên bản callable này
PythonObject
. Khi được gọi, kết quả ném ra một lỗi Swift nếu hàm Python bên dưới ném ra một ngoại lệ Python.Tuyên ngôn
var throwing: ThrowingPythonObject { get }
Returns một
PythonObject
wrapper có khả năng truy cập thành viên.Tuyên ngôn
var checking: CheckingPythonObject { get }
Tuyên ngôn
subscript(dynamicMember memberName: String) -> PythonObject { get nonmutating set }
Truy cập các yếu tố tương ứng với quy định
PythonConvertible
giá trị đại diện cho một chìa khóa.Ghi chú
Đây là tương đương vớiobject[key]
bằng Python.Tuyên ngôn
subscript(key: PythonConvertible...) -> PythonObject { get nonmutating set }
Chuyển đổi sang bộ 2 bộ.
Tuyên ngôn
var tuple2: (PythonObject, PythonObject) { get }
Chuyển đổi sang bộ 3 bộ.
Tuyên ngôn
var tuple3: (PythonObject, PythonObject, PythonObject) { get }
Chuyển đổi sang 4 tuple.
Tuyên ngôn
var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject) { get }
Gọi
self
với các đối số vị trí nhất định.Điều kiện tiên quyết
self
phải là một callable Python.Tuyên ngôn
@discardableResult func dynamicallyCall( withArguments args: [PythonConvertible] = []) -> PythonObject
Thông số
args
Các đối số vị trí cho Python có thể gọi.
Gọi
self
với những lập luận cụ thể.Điều kiện tiên quyết
self
phải là một callable Python.Tuyên ngôn
@discardableResult func dynamicallyCall( withKeywordArguments args: KeyValuePairs<String, PythonConvertible> = [:]) -> PythonObject
Thông số
args
Các đối số vị trí hoặc từ khóa cho Python có thể gọi.
Tuyên ngôn
init(tupleOf elements: PythonConvertible...)
Tuyên ngôn
init<T : Collection>(tupleContentsOf elements: T) where T.Element == PythonConvertible
Tuyên ngôn
init<T : Collection>(tupleContentsOf elements: T) where T.Element : PythonConvertible
Tuyên ngôn
static func + (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func - (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func * (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func / (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func += (lhs: inout PythonObject, rhs: PythonObject)
Tuyên ngôn
static func -= (lhs: inout PythonObject, rhs: PythonObject)
Tuyên ngôn
static func *= (lhs: inout PythonObject, rhs: PythonObject)
Tuyên ngôn
static func /= (lhs: inout PythonObject, rhs: PythonObject)
Tuyên ngôn
static func & (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func | (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func ^ (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func &= (lhs: inout PythonObject, rhs: PythonObject)
Tuyên ngôn
static func |= (lhs: inout PythonObject, rhs: PythonObject)
Tuyên ngôn
static func ^= (lhs: inout PythonObject, rhs: PythonObject)
Tuyên ngôn
prefix static func ~ (operand: `Self`) -> PythonObject
Tuyên ngôn
public init<T>(exactly value: T) where T : BinaryInteger
Tuyên ngôn
public typealias Magnitude = PythonObject
Tuyên ngôn
public var magnitude: PythonObject { get }
Tuyên ngôn
public prefix static func - (operand: `Self`) -> PythonObject
Tuyên ngôn
public typealias Stride = PythonObject
Tuyên ngôn
public func distance(to other: PythonObject) -> Stride
Tuyên ngôn
public func advanced(by stride: Stride) -> PythonObject
Tuyên ngôn
public static func == (lhs: PythonObject, rhs: PythonObject) -> Bool
Tuyên ngôn
public static func != (lhs: PythonObject, rhs: PythonObject) -> Bool
Tuyên ngôn
public static func < (lhs: PythonObject, rhs: PythonObject) -> Bool
Tuyên ngôn
public static func <= (lhs: PythonObject, rhs: PythonObject) -> Bool
Tuyên ngôn
public static func > (lhs: PythonObject, rhs: PythonObject) -> Bool
Tuyên ngôn
public static func >= (lhs: PythonObject, rhs: PythonObject) -> Bool
Tuyên ngôn
static func == (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func != (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func < (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func <= (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func > (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
static func >= (lhs: PythonObject, rhs: PythonObject) -> PythonObject
Tuyên ngôn
public func hash(into hasher: inout Hasher)
Tuyên ngôn
public typealias Index = PythonObject
Tuyên ngôn
public typealias Element = PythonObject
Tuyên ngôn
public var startIndex: Index { get }
Tuyên ngôn
public var endIndex: Index { get }
Tuyên ngôn
public subscript(index: PythonObject) -> PythonObject { get set }
Tuyên ngôn
public struct Iterator : IteratorProtocol
Tuyên ngôn
public func makeIterator() -> Iterator
Tuyên ngôn
public init(booleanLiteral value: Bool)
Tuyên ngôn
public init(integerLiteral value: Int)
Tuyên ngôn
public init(floatLiteral value: Double)
Tuyên ngôn
public init(stringLiteral value: String)
Tuyên ngôn
public init(arrayLiteral elements: PythonObject...)
Tuyên ngôn
public typealias Key = PythonObject
Tuyên ngôn
public typealias Value = PythonObject
Tuyên ngôn
public init(dictionaryLiteral elements: (PythonObject, PythonObject)...)