前言:简述python数据类型
引入:
对于 10,011,101 ,该如何解释呢?
这可能是一段二进制数,用逗号分隔得3个数字,也可能是一段文本。作为二进制数字,10 ,011,101 的值是十进制 157
作为用逗号分隔的 3个数字
作为一段文本,逗号是文本中的一部分,一共包含10 个字符这种模糊不清的表述,就会产生歧义,而程序设计语言不允许存在语法歧义,所以需要定义出各种数据类型
自带的内置数据类型
-
可变数据类型:
list(列表)
、dic(字典)
、set(集合)
-
不可变数据类型:
int.
、float
、complex(复数)
、bool(布尔)
、tuple(元组)
、str(字符串)
、frozenset(不变集合)
-
序列类型:
元组(tuple)
、列表(list)
、字符串(str)
第三方扩展库中的数据类型,比python中自带的更方便使用,如:pandas中的DataFrame
在Python中,
序列(Sequence)
并不是特指一个独立的数据类型,而是泛指一种有序的容器,其容器中有先后顺序。集合(Set)不属于序列,因为集合中的元素没有先后顺序
查看数据类型
python中使用内置函数type()
来查看python对象的数据类型
type(1.2)
# <class 'float'>
print(type(2))
# <class 'int'>
判断数据类型
isinstance函数
isinstance(obj, class_or_tuple) -> bool
Return whether an object is an instance of a class or of a subclass thereof.
A tuple, as in isinstance(x, (A, B, ...)), may be given as the target to check against. This is equivalent to isinstance(x, A) or isinstance(x, B) or ... etc.
在python
中bool(布尔)
是int
类型的子类
# 判断x是否为整型(int)
>>> x = 10;
>>> isinstance(x,int)
True
# 特殊情况
>>> isinstance(True,int)
True
# 在python中bool是int类型的子类
数据类型转换
使用强制类型转换,强制类型转换函数名和目标数据类型的名称一致
# 例如:
>>> int(1.5)
1
>>> float(8)
8.0
方法 | 说明 |
---|---|
int(x [,base ]) | 将x转换为一个整数 |
float(x ) | 将x转换到一个浮点数 |
complex(real [,imag ]) | 创建一个复数 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 用来计算在字符串中的有效 Python 表达式,并返回一个对象 |
tuple(s ) | 将序列 s 转换为一个元组 |
list(s ) | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个字符 |
unichr(x ) | 将一个整数转换为 Unicode 字符 |
ord(x ) | 将一个字符转换为它的整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
注:在 Python 3 里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
关键字 | 标志性符号 | 是否可变(允许局部替换) | 是否为序列 | 强制类型转换函数 | |
---|---|---|---|---|---|
整数 | int | 无 | 否 | 否 | int() |
实数 | float | 小数点 | 否 | 否 | float() |
复数 | complex | + / j | 否 | 否 | complex() |
布尔 | bool | True/False | 否 | 否 | bool() |
字符(串) | str | ’ ’ / " " | 否 | 是 | str() |
列表 | list | [ ] | 是 | 是 | list() |
元组 | tuple | ( , , , ) | 否 | 是 | tuple() |
集合 | set | { } | 是 | 否 | set() |
集合常量 | frozenset | { } | 否 | 否 | frozenset() |
字典 | dict | { } 、key | 是 | 否 | dict() |