Julia 函数 运行 python class 中的 julia 方法
Julia function to run julia method in python class
我正在学习 julia (v1.6),我正在尝试从 python class(等效的 pycall)创建一个 julia 函数到 运行 julia 方法其中方法是打印。
我尝试了不同的方法,但在创建 class 或调用方法或其他方法时遇到了不同的错误。
https://github.com/JuliaPy/PyCall.jl(作为参考)
这是我正在使用的代码。
using PyCall
# Python Class
@pydef mutable struct python_class
function __init__(self, a)
self.a = a
end
# Julia Method embeded in Python Class
function python_method(self, a)
println(a)
end
# Julia calling python class with julia method
function main(class::PyObject, a::string)
# Instantiate Class
b = class(a)
# Call Method
b.python_method(a)
end
a = "This is a string"
# Run it
main(python_class, a)
end
预期输出等同于 python.
中的 print('This is a string')
有人可以帮我让它工作吗?
提前致谢
除了你有一个 end
在错误的地方,这一切似乎都有效,它应该是 String
而不是 string
。
julia> @pydef mutable struct python_class
function __init__(self, a)
self.a = a
end
# Julia Method embeded in Python Class
function python_method(self, a)
println(a)
end
end
PyObject <class 'python_class'>
julia> function main(class::PyObject, a::String)
# Instantiate Class
b = class(a)
# Call Method
b.python_method(a)
end
main (generic function with 1 method)
julia> a = "This is a string"
"This is a string"
julia> main(python_class, a)
This is a string
我正在学习 julia (v1.6),我正在尝试从 python class(等效的 pycall)创建一个 julia 函数到 运行 julia 方法其中方法是打印。
我尝试了不同的方法,但在创建 class 或调用方法或其他方法时遇到了不同的错误。
https://github.com/JuliaPy/PyCall.jl(作为参考)
这是我正在使用的代码。
using PyCall
# Python Class
@pydef mutable struct python_class
function __init__(self, a)
self.a = a
end
# Julia Method embeded in Python Class
function python_method(self, a)
println(a)
end
# Julia calling python class with julia method
function main(class::PyObject, a::string)
# Instantiate Class
b = class(a)
# Call Method
b.python_method(a)
end
a = "This is a string"
# Run it
main(python_class, a)
end
预期输出等同于 python.
中的 print('This is a string')有人可以帮我让它工作吗?
提前致谢
除了你有一个 end
在错误的地方,这一切似乎都有效,它应该是 String
而不是 string
。
julia> @pydef mutable struct python_class
function __init__(self, a)
self.a = a
end
# Julia Method embeded in Python Class
function python_method(self, a)
println(a)
end
end
PyObject <class 'python_class'>
julia> function main(class::PyObject, a::String)
# Instantiate Class
b = class(a)
# Call Method
b.python_method(a)
end
main (generic function with 1 method)
julia> a = "This is a string"
"This is a string"
julia> main(python_class, a)
This is a string