use*_*828 7 python syntax brackets
我在scikit-learn包中找到了以下几行:
if is_sparse:
problem = csr_set_problem(
(<np.ndarray[np.float64_t, ndim=1, mode='c']>X.data).data,
(<np.ndarray[np.int32_t, ndim=1, mode='c']>X.indices).shape,
(<np.ndarray[np.int32_t, ndim=1, mode='c']>X.indices).data,
(<np.ndarray[np.int32_t, ndim=1, mode='c']>X.indptr).shape,
(<np.ndarray[np.int32_t, ndim=1, mode='c']>X.indptr).data,
Y.data, (<np.int32_t>X.shape[1]), bias,
sample_weight.data)
else:
...
Run Code Online (Sandbox Code Playgroud)
我对"Python中的尖括号"的所有搜索都给出了关于文档或装饰器语法的答案,我很确定这不是因为它看起来像是真实的逻辑.
上面的Python代码中的尖括号是做什么的,我在哪里可以了解更多.他们?
这是Cython的类型转换/强制语法.它不是普通的Python.请注意文件扩展名是.pyx
您可以在Cython 的文档中了解有关它们的更多信息.
以下是从doc页面获取的示例:
cdef char *p, float *q
p = <char*>q
Run Code Online (Sandbox Code Playgroud)
使用Cython的项目并不罕见,scikit-learn通过将可读的Python与超快速度C混合,可以获得显着的优化.
| 归档时间: |
|
| 查看次数: |
3189 次 |
| 最近记录: |