Python数据类型

前言:简述python数据类型

引入:
对于 10,011,101 ,该如何解释呢?
这可能是一段二进制数,用逗号分隔得3个数字,也可能是一段文本。

作为二进制数字,10 ,011,101 的值是十进制 157
作为用逗号分隔的 3个数字
作为一段文本,逗号是文本中的一部分,一共包含10 个字符

这种模糊不清的表述,就会产生歧义,而程序设计语言不允许存在语法歧义,所以需要定义出各种数据类型

自带的内置数据类型

  1. 可变数据类型:list(列表)dic(字典)set(集合)

  2. 不可变数据类型:int.floatcomplex(复数)bool(布尔)tuple(元组)str(字符串)frozenset(不变集合)

  3. 序列类型:元组(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.

pythonbool(布尔)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。

关键字标志性符号是否可变(允许局部替换)是否为序列强制类型转换函数
整数intint()
实数float小数点float()
复数complex+ / jcomplex()
布尔boolTrue/Falsebool()
字符(串)str’ ’ / " "str()
列表list[ ]list()
元组tuple( , , , )tuple()
集合set{ }set()
集合常量frozenset{ }frozenset()
字典dict{ } 、keydict()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值