如何深入理解并应用python的ctypes库?
- 内容介绍
- 文章标签
- 相关推荐
本文共计379个文字,预计阅读时间需要2分钟。
再次更新前面面对Python基本数据类型的理解,阅读了相关文章后,有了新的认识。从文章中了解到,Python的基本数据类型包括数字、字符串和布尔值等。其中,数字类型包括整数、浮点数和复数。字符串是由字符组成的序列,而布尔值只有True和False两个值。这些基本数据类型是Python编程的基础,对于理解Python编程至关重要。
再一次更正前面的理解,看了文章, zhuanlan.zhihu.com/p/124994344 又有了新的理解。
从文章(zhuanlan.zhihu.com/p/124994344)可以知道其实Python基本数据类型是在C类型数据上进行包装的,也就是使用结构体在一层上面再套一层,如果这么说的话前文个人的观点就是错误的,在这种角度看调用C语言的动态链接库完全可以在Python类型数据上进行操作,这时我们只需要找到Python数据类型下的C类型数据即可。
前文认为的ctypes定义的数据类型是一种翻译,是一种关系映射,这一点还是没有问题的,只不过它不是在C语言内存空间下再次生成C类型数据,而是在Python数据类型下找到被包装起来的可以进行C语言库函数操作的数据类型,因为Python数据类型是在兼容C类型数据的基础上进行再次包装的。
换句话说Python数据类型是在C数据类型上进行包装的,而ctypes是对Python数据类型进行再次包装,而这次包装的目的是要把被隐藏起的C数据类型暴露出来。
本文共计379个文字,预计阅读时间需要2分钟。
再次更新前面面对Python基本数据类型的理解,阅读了相关文章后,有了新的认识。从文章中了解到,Python的基本数据类型包括数字、字符串和布尔值等。其中,数字类型包括整数、浮点数和复数。字符串是由字符组成的序列,而布尔值只有True和False两个值。这些基本数据类型是Python编程的基础,对于理解Python编程至关重要。
再一次更正前面的理解,看了文章, zhuanlan.zhihu.com/p/124994344 又有了新的理解。
从文章(zhuanlan.zhihu.com/p/124994344)可以知道其实Python基本数据类型是在C类型数据上进行包装的,也就是使用结构体在一层上面再套一层,如果这么说的话前文个人的观点就是错误的,在这种角度看调用C语言的动态链接库完全可以在Python类型数据上进行操作,这时我们只需要找到Python数据类型下的C类型数据即可。
前文认为的ctypes定义的数据类型是一种翻译,是一种关系映射,这一点还是没有问题的,只不过它不是在C语言内存空间下再次生成C类型数据,而是在Python数据类型下找到被包装起来的可以进行C语言库函数操作的数据类型,因为Python数据类型是在兼容C类型数据的基础上进行再次包装的。
换句话说Python数据类型是在C数据类型上进行包装的,而ctypes是对Python数据类型进行再次包装,而这次包装的目的是要把被隐藏起的C数据类型暴露出来。

