Cython的类型

1 类型定义

1.1 定义一个C变量:

1.1.1 在Cython里定义一个C变量和C语言类似,不同的地方就是在声明的最前面要加上cdef,另外,末尾不用加分号";“如:

cdef int an[10]

cdef int n = 123

cdef int *pn = &n

printf("%d \n",pn[0])

1.1.2 这里要注意的是,以Cython里不能用类似*ptr这样代码来对指针变量进行取值,而必须用ptr[0]这样的形式,如上面的例子中,printf("%d\n",*pn)是编译通不过的

1.2 定义一个Python对象

1.2.1 和Python没有区别,直接给一个变量名赋值即可,如:

b = [1,2,3]

a = 'hello,world'

1.2.2 每个变量名实现上都是一个Python对象指针

2 类型转换

2.1 在Cython里用<>替代了()来进行类型转换,如:

cdef floata= 123.456

cdef intb

b = <int>a

2.2 再如:

cdef intn

a = 'hello,world'

n = <int>a

2.2.1 这里要注意的是:n = <int>a 把一个Python字符串对象指针强制转换成了一个整形变量,这在封装回调函数时经常会用到强制将一个Python对象指针强制转换成C类型的情况。

Cython基础--Cython的类型相关推荐

  1. Cython基础--Cython的函数

    Cython的函数 1 函数定义: 1.1 在Cython里定义一个类C函数: 1.1.1 在这里之所以说是定义一个"类C"函数,而不是一个C函数,是因为它和纯C函数的定义还是有区 ...

  2. TS基础1(类型定义、接口)-学习笔记

    文章目录 TS基础1(类型定义.接口)-学习笔记 什么是TS TS基础1(类型定义.接口)-学习笔记 什么是TS //ts用法var n:number = 10;let str:string = '1 ...

  3. Java基础笔记 – 枚举类型的使用介绍和静态导入

    Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...

  4. js php 数据类型判断,【js基础】变量类型判断

    类型判断方法比较: 如果需要想详细了解,请看下文: 注:原封不动复制备份,防止删帖 在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, B ...

  5. Python基础-高级变量类型

    Python基础-高级变量类型 1.高级变量类型 """ 数值型:int float bool compex 非数值型:str list set dict tuple & ...

  6. java基础之java类型

    系列文章目录 java基础之java类型 文章目录 系列文章目录 基本类型 自动类型提升 引用类型 基本类型 整型 Byte 8位 -2^7~2^7-1 默认值0 Short 16位 -2^15~2^ ...

  7. python数值类型教程_Python 基础数据类型-数值类型

    Python 基础数据类型-数值类型 为什么会有数据类型?[了解] 更好分配管理内存 方便统一管理 更贴近人类分类管理习惯 数据类型种类 [熟悉] 数值类型:int.bool.float.comple ...

  8. C++基础之string类型

    C++基础之string类型 string 类型支持长度可变的字符串,C++ 标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作.标准库 string 类型的目的就是满足对字符串的一般应用. ...

  9. python提供的三种基本数值类型_Python 基础数据类型-数值类型

    Python 基础数据类型-数值类型 为什么会有数据类型?[了解] 更好分配管理内存 方便统一管理 更贴近人类分类管理习惯 数据类型种类 [熟悉] 数值类型:int.bool.float.comple ...

最新文章

  1. ●洛谷P3168 [CQOI2015]任务查询系统
  2. 警惕谷歌新形式的垄断
  3. 了解计算机指令和汇编指令
  4. 北大计算机科学与技术专业河南录取分数线,北京大学河南录取分数线|2021北京大学河南分数线|2021年北京大学河南高考分数线|2021年北京大学河南招生计划录取人数...
  5. 让你成为有钱一族的黄金理财法则?
  6. 利python写用赌博游戏函数版赏析:
  7. Let‘s Encrypt 免费Https证书
  8. 马斯克惹麻烦?特斯拉股票一夜暴跌12%,千亿市值蒸发
  9. android app应用签名生成工具,Android应用签名证书(.keystore)生成
  10. java安卓软件开发菜鸟教程,Android 开发环境搭建
  11. java缓存Ehcache的使用
  12. xcode 可以打开xmind_如何在 iPad 上玩转 XMind?
  13. 宝宝的眼睛与微量元素的关系
  14. git clone 项目时总是提示输入密码
  15. 自定义dns服务器是什么,dns是什么意思?dns怎么设置(手动设置/软件设置)
  16. 2021数据分析师薪资大PK
  17. 百脑汇 Ghost_XP_SP3 电子城国庆版 2012.10
  18. oracle fx成立时间,oracle 日期格式FM/FX和日期后缀SP/TH/SPTH/THSP
  19. 强化练习200题(一)正题:160
  20. DataGrip连接MongoDB

热门文章

  1. PaaS architecture
  2. 5G标准中常见缩略词总结(26个英文字母)
  3. 前端 sqllite sql.js
  4. 郭禹缘:鲍威尔释放鹰派言论,国际黄金或跌势重启后市分析。
  5. 关于出现IllegalArgumentException异常的可能原因
  6. VS2012使用svn
  7. IKAnalyzer 分词工具的使用与问题
  8. 太棒了!CSS颜色基本样式
  9. 【文献阅读】Proximal Policy Optimization Algorithms
  10. Uva 12325 Zombie's Treasure Chest (贪心,分类讨论)