美文网首页NumPy API
NumPy API(二十八)——C-Types 外部功能接口

NumPy API(二十八)——C-Types 外部功能接口

作者: 无赖宵小 | 来源:发表于2019-01-03 09:27 被阅读0次

C-Types外部功能接口

  • numpy.ctypeslib.as_array (obj, shape=None) source
    从ctypes数组或ctypes POINTER创建一个numpy数组。 numpy数组与ctypes对象共享内存。

如果从ctypes POINTER转换,则必须给出size参数。 如果从ctypes数组转换,则忽略size参数

  • numpy.ctypeslib.as_ctypes(obj) source
    从numpy数组创建并返回ctypes对象。 实际上接受了暴露array_interface的任何东西。

  • numpy.ctypeslib.ctypes_load_library (*args, **kwds) source
    不推荐使用ctypes_load_library,而是使用load_library

    可以使用 lib = ctypes.cdll [<full_path_name style="color: rgb(51, 68, 85); box-sizing: border-box;">]加载库</full_path_name>

    但是存在跨平台的考虑因素,例如库文件扩展,以及Windows将只加载它找到的具有该名称的第一个库。 为方便起见,NumPy提供load_library函数。

    • Parameters:

      • libname : str
        库的名称,可以将“lib”作为前缀,但不带扩展名。
      • loader_path : str
        提供这个库的路径
    • Returns:

      • ctypes.cdll[libpath] : library object
        一个ctypes库对象
    • Raises:

      • OSError
        如果没有具有预期扩展名的库,或者库有缺陷且无法加载。
  • numpy.ctypeslib.load_library(libname, loader_path) source
    可以使用>>> lib = ctypes.cdll [<full_path_name style="color: rgb(51, 68, 85); box-sizing: border-box;">]加载库</full_path_name>

    但是存在跨平台的考虑因素,例如库文件扩展,以及Windows将只加载它找到的具有该名称的第一个库。 为方便起见,NumPy提供load_library函数。

    • Parameters:

      • libname : str
        库的名称,可以将“lib”作为前缀,但不带扩展名。
      • loader_path : str
        提供这个库的路径
    • Returns:

      • ctypes.cdll[libpath] : library object
        一个ctypes库对象
    • Raises:

      • OSError
        如果没有具有预期扩展名的库,或者库有缺陷且无法加载。
  • numpy.ctypeslib.ndpointer (dtype=None, ndim=None, shape=None, flags=None) source
    数组检查restype / argtypes。

    ndpointer实例用于描述restypes和argtypes规范中的ndarray。 这种方法比使用“POINTER(c_double)”更灵活,因为可以指定几个限制,这些限制在调用ctypes函数时得到验证。 这些包括数据类型,维度数量,形状和标志。 如果给定的数组不满足指定的限制,则引发“TypeError”。

    • Parameters:

      • dtype : 数据类型,可选
        数组数据类型
      • ndim : int, 可选
        数组维数。
      • shape : 整数元组,可选
        阵列形状。
      • flags : str的str或tuple
        • 数组标志; 可能是以下一种或多种:
          • C_CONTIGUOUS / C / CONTIGUOUS
          • F_CONTIGUOUS / F / FORTRAN
          • OWNDATA / O
          • WRITEABLE / W
          • ALIGNED / A
          • WRITEBACKIFCOPY / X
          • UPDATEIFCOPY / U
    • Returns:

      • klass : ndpointer类型对象
        一个类型对象,它是一个包含dtype,ndim,shape和flags信息的_ndtpr实例。
    • Raises:

      • TypeError
        如果给定的数组不满足指定的限制。

例子

>>> clib.somefunc.argtypes = [np.ctypeslib.ndpointer(dtype=np.float64,
...                                                  ndim=1,
...                                                  flags='C_CONTIGUOUS')]
... 
>>> clib.somefunc(np.array([1, 2, 3], dtype=np.float64))
... 

原文:https://www.numpy.org.cn/reference/routines

相关文章

  • NumPy API(二十八)——C-Types 外部功能接口

    C-Types外部功能接口 numpy.ctypeslib.as_array (obj, shape=None) ...

  • mybatis架构介绍

    Mybatis的功能架构 API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层...

  • Mybatis源码剖析

    架构设计 我们把Mybatis的功能架构分为三层: (1) API接口层:提供给外部使用的接口 API,开发人员通...

  • Mybatis源码剖析 -- 架构原理

    一、架构设计 Mybatis 的功能架构分为三层 API 接口层提供给外部使用的接口 API,开发人员通过这些本地...

  • 接口测试

    接口测试概念: 接口:接口是为了提供一种服务 所有的接口统称为API,接口分为内部接口和外部接口 外部接口:测试被...

  • Golang 并发 与 context标准库

    这篇文章将:介绍context工作机制;简单说明接口和结构体功能;通过简单Demo介绍外部API创建并使用cont...

  • ThinkPHP5开发API接口实例

    接口功能说明: 前端提交学生学号(sno)给Api,Api接口返回此学生的基本信息 API接口端 namespac...

  • NumPy API 目录

    NumPy API 目录 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来...

  • MyBatis的功能架构的大体分层

    大体被分为三层 API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调...

  • 一个HTTP Basic Authentication引发的异常

    这几天在做一个功能,其实很简单。就是调用几个外部的API,返回数据后进行组装然后成为新的接口。其中一个API是一个...

网友评论

    本文标题:NumPy API(二十八)——C-Types 外部功能接口

    本文链接:https://www.haomeiwen.com/subject/jkqtrqtx.html