下列不是python数据类型的是_Python数据类型(一)

本文详细介绍了Python的六种基本数据类型:数字(整数、浮点数、复数)、字符串、列表、元组、字典和集合。数字类型包括整数的10进制、16进制、2进制和8进制表示,浮点数和复数,并阐述了它们之间的转换和运算规则。同时,文章还讨论了不同类型之间的关系以及如何通过内置函数进行类型转换。

类型的概念

之所以要对数据进行进行类型的划分,这是因为对于一个简单的数据来说,从不同的角度看,数据会有不同的含义。

例如这样一个数据:110,010,011。有多少含义呢?

(1)当我们看到这样一个数据,我们对它的第一印象可能是它是一个很大的十进制数;(2)它是一个二进制数字;

(3)这是一行文字,中间逗号将其隔开成三个数字。由于对一个数据可能存在多种含义,而对程序而言不能有这种

情况存在,必须明确每个数据的含义,所以就有数据类型的划分。

Python语言有六种基本数据类型,分别是:数字类型、字符串类型、列表类型、元组类型、字典类型和集合类型。

数字类型

Python语言有三种数字类型:整数类型、浮点数类型、复数类型。

整数类型

例:

(1) 1010, 99, -217(10进制数)

(2)0x9a, -0X89 (0x, 0X开头表示16进制数)

(3)0b010, -0B101 (0b, 0B开头表示2进制数)

(4)0o123, -00456 (0o, 00开头表示8进制数)

pow(x,y)函数是Python语言中的一个内置函数,用于求幂积x的y次方。

1787723-20190921144426028-1543883698.png

浮点数类型

浮点数是带有小数点及小数的数字,Python语 言中浮点数的数值范围存在限制,小数精度也存在限制。这种限制

与在不同计算机系统有关。

例:

0.O, -77, -2.17

96e4, 4.3e-3, 9.6E5 ( 科学计数法),科学计数法使用字母"e”或者“E” 作为幕的符号,以10为基数。科学计数法含义如下:

e =a*10b

1787723-20190921150611917-301704414.png

复数类型

与数学中的复数概念一致,z= a + bj, a是实数部分,b是虚数部分, a和b都是浮点类型,虚数部分用或者J标识。

例:

12.3+4j, -5.6+7j

z =1.23e-4+5.6e+ 89j 这个实例中,实数部分是1.23e-4,虚数部分是5.6e+89j.对于复数z,可以用z.real获得

实数部分,z.imag获得虚数部分。

z.real = 0.000123 z.imag = 5.6e+ 8

1787723-20190921152050289-2044814486.png

数字类型的关系

三种类型存在一种逐渐“扩展”的关系:整数->浮点数->复数(整数是浮点数特例,浮点数是复数特例)。不同数字类型

之间可以进行混合运算,运算后生成结果为最宽类型123 + 4.0= 127.0 (整数+浮点数=浮点数),127.0+(12+5j)=

139+5j(浮点数+复数=复数)。

1787723-20190921153415406-1833020711.png

数字类型的转换

三种类型可以相互转换函数: int(), float(), complex()

例:

int(4.5)= 4 (直接去掉小数部分),float(4)= 4.0 (增加小数部分),complex(4) = 4 + Oj

1787723-20190921153822246-342665969.png

### Python 中不支持的数据类型分析 Python种动态类型的高级编程语言,其设计哲学强调代码的可读性和简洁性。然而,在某些情况下,Python 并未直接支持些低级数据类型,这些类型通常存在于 C 或 Java 等编译型语言中。 #### 1. **Char 类型** Python 不支持单独的 `char` 数据类型[^2]。即使变量被赋予单个字符值,它也会被视为长度为 1 的字符串而不是独立的字符类型。这种行为与许多其他语言(如 C 和 Java)不同。例如: ```python c = 'a' # 这是个字符串而非 char 类型 print(type(c)) # 输出:<class 'str'> ``` 尽管如此,通过 Cython 可以实现对底层 `char` 类型的支持[^3]。Cython 提供了种机制来桥接 Python 和 C 数据类型之间的差异,允许开发者更高效地操作内存敏感的应用场景。 #### 2. **Int 类型** 严格来说,Python 支持整数类型 (`int`),但它并不区分短整型、长整型或其他变体形式。相反,Python 使用统的 `int` 表示任意大小的整数值,并且该类型可以自动扩展到所需范围而无需显式声明位宽。因此,“bint”作为布尔标志或者固定宽度整数的概念仅适用于 Cython 而不是原生 Python。 #### 3. **Float 类型** 类似于整数处理方式,Python 自带浮点数(`float`)也不存在多种规格化版本;所有实数都默认映射至 IEEE 754双精度标准表示方法上。如果需要更高性能控制,则需借助外部库比如 NumPy 来定义特定平台上的单/双重精确度数值。 #### 4. **List 类型** 列表(lists)实际上是 Python 原生容器之,所以断言 python “不支持”的说法显然错误[^1]。不过值得注意的是常规 lists 存储对象引用而非实际原始资料本身——这意味着当涉及到大量同质元素集合时可能会引入额外开销。对于这种情况下的优化需求,Cython 同样提供了数组(array)以及静态分配选项(statically typed memoryviews),从而减少不必要的封装层次并提升运行效率. 综上所述,除了真正的基础单元级别字符(char),其余所谓“不受支援”的类别实际上要么已经内置提供(像lists),要么可以通过第三方工具集加以弥补. ```python # 示例展示如何利用 cython 定义 c-style 数组 def sum_array(unsigned int[:] arr): cdef unsigned int i, total=0 for i in range(len(arr)): total += arr[i] return total ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值