蟒蛇"as"相当于朱莉娅



当我想在python中导入一个包时,我可以将它别名:

import package_with_a_very_long_nameeeeee as pl

在该语句之后,我可以通过别名来引用包:

pl.foo()

julia允许我做:

using PackageWithAVeryLongName
pl = PackageWithAVeryLongName
pl.foo()

但它感觉像一个丑陋的黑客,可能有我不理解的含义。

在julia中是否有一种习惯的方法来别名导入的包?

现在可以在即将发布的Julia 1.6中使用与Python完全相同的语法:

julia> import LinearAlgebra as LA
julia> typeof(LA)
Module
help?> LA.svd
svd(A; full::Bool = false, alg::Algorithm = default_svd_alg(A)) -> SVD

在以前的版本中,你可以按照@Bill的建议去做——但是我强烈建议const赋值与import:

一起做。
julia> import SparseArrays
julia> const SA = SparseArrays
SparseArrays

python:

>>> import matplotlib as plt
>>> type(plt)
<class 'module'>
>>>

朱莉娅:

julia> using Plots
[ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]
julia> const plt = Plots
Plots
julia> typeof(plt)
Module

所以,语言之间的效果几乎是相同的。可能使这种用法不太理想,因此在Julia中看起来很难看的是,多重分派通常允许从多个模块导出函数名而不会产生冲突,因为它们的参数通常不同。因此,必须在函数名前面加上模块别名,这可能意味着需要导出某些东西,但没有随模块一起导出。例外应该是很少的。

最新更新