如何深入理解并应用python的ctypes库?

2026-06-09 12:090阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计379个文字,预计阅读时间需要2分钟。

如何深入理解并应用python的ctypes库?

再次更新前面面对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的ctypes库?

再次更新前面面对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数据类型暴露出来。

阅读全文