@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 thành viên động. Bất kỳ quyền truy cập thành viên nào như object.foo
sẽ tự động yêu cầu thời gian chạy Python cho thành viên có tên được chỉ định trong đối tượng này.
PythonObject
được chuyển đến và trả về từ tất cả các lệnh gọi hàm và tham chiếu thành viên của Python. Nó hỗ trợ các toán tử so sánh và số học Python tiêu chuẩn.
Trong nội bộ, PythonObject
được triển khai dưới dạng con trỏ được tính tham chiếu tới API PyObject
của Python C.
Mô tả bằng văn bản về
PythonObject
này, được tạo 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 phiên bản mới từ giá trị
PythonConvertible
.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ề phiên bản có thể gọi được của
PythonObject
này. Khi được gọi, kết quả sẽ đưa ra lỗi Swift nếu hàm Python cơ bản đưa ra ngoại lệ Python.Tuyên ngôn
var throwing: ThrowingPythonObject { get }
Trả về trình bao bọc
PythonObject
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 phần tử tương ứng với các giá trị
PythonConvertible
được chỉ định đại diện cho một khóa.Ghi chú
Điều này tương đương vớiobject[key]
trong Python.Tuyên ngôn
subscript(key: PythonConvertible...) -> PythonObject { get nonmutating set }
Chuyển đổi thành 2-tuple.
Tuyên ngôn
var tuple2: (PythonObject, PythonObject) { get }
Chuyển đổi thành 3-tuple.
Tuyên ngôn
var tuple3: (PythonObject, PythonObject, PythonObject) { get }
Chuyển đổi thành 4 tuple.
Tuyên ngôn
var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject) { get }
Gọi
self
với các đối số vị trí được chỉ định.điều kiện tiên quyết
self
phải là một Python có thể gọi được.Tuyên ngôn
@discardableResult func dynamicallyCall( withArguments args: [PythonConvertible] = []) -> PythonObject
Thông số
args
Đối số vị trí cho Python có thể gọi được.
Gọi
self
với các đối số được chỉ định.điều kiện tiên quyết
self
phải là một Python có thể gọi được.Tuyên ngôn
@discardableResult func dynamicallyCall( withKeywordArguments args: KeyValuePairs<String, PythonConvertible> = [:]) -> PythonObject
Thông số
args
Đối số vị trí hoặc từ khóa cho Python có thể gọi được.
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)...)