Python内置数据类型讲解(转)

Python 有多种内置数据类型。以下是比较重要的一些:

  1. Booleans[布尔型] 或为 True[真] 或为 False[假]
  2. Numbers[数值型] 可以是 Integers[整数](int,long)、Floats[浮点数](float,double)、Fractions[分数](1/22/3);甚至是 Complex Number[复数](complex)
  3. Strings[字符串型] 是 Unicode 字符序列,例如: hello,"hello",hello
  4. Bytes[字节]Byte Arrays[字节数组]例如: 一份 JPEG 图像文件。
  5. Lists[列表] 是值的有序序列。例如:[1,2,3],[1,2,3,[1,2,3],4]
  6. Tuples[元组] 是有序而不可变的值序列,例如:(1,2,3,abc)。
  7. Sets[集合] 是装满无序值的包裹。
  8. Dictionaries[字典] 是键值对的无序包裹,例如:{1:"nihao",2:"hello"}。

当然,还有更多的类型。在 Python 中一切均为对象,因此存在像 module[模块]function[函数]class[类]method[方法]file[文件] 甚至 compiled code[已编译代码] 这样的类型。您已经见过这样一些例子:模块的 name函数的 docstrings 等等。将学到的包括 《类 迭代器》 中的 Classes[类],以及 《文件》 中的 Files[文件]。例如:File(文件)    f = open(a.txt,rw)

python 还可以引用C语言变量
import ctypes
可以通过help(ctypes)查看有多少个类型
 
这里介绍下指针类型
>>> n = ctypes.c_int(100)
>>> p = ctypes.pointer(n)
>>> print p
<__main__.LP_c_long object at 0x01FF4EE0>
>>> print n
c_long(100)
>>> p.contents
c_long(100)
>>> ctypes.addressof(n)
33506168
>>> hex(33506168)
0x1ff4378
>>> ctypes.addressof(p.contents)
33506168
 
请注意ctypes.addressof(n)和ctypes.addressof(p.contents)的值才是相等的,而
>>> print p
<__main__.LP_c_long object at 0x01FF4EE0>
表示的是p这个指针变量的地址在0x01FF4EE0
 
下面说下Python类型转换
ord()    将字符转换成ASCII
chr()    将ASCII转换成字符
hex()    将整数转换成十六进制
oct()    将整数转换成八进制
bin()    将整数转换成二进制
还有其他的如int(),str()

原文地址:https://www.cnblogs.com/fuxianfeng1988/p/3249818.html