Python数据类型
程序员文章站
2023-11-08 18:22:16
本文链接:https://www.cnblogs.com/zyuanlbj/p/11905636.html 内置类型 - 数值类型:整型int,浮点型float,复数(complex) 3+6j - str:字符串 - bool:布尔值[True,False] - None:空值,表示变量没有确定的 ......
本文链接:
内置类型
- 数值类型:整型int,浮点型float,复数(complex) 3+6j
- str:字符串
- bool:布尔值[true,false]
- none:空值,表示变量没有确定的值
- list:列表
- tuple:元组
- dict:字典
- set:集合
- bytes类型
bytes类型
如果希望将一个字符串转换成 bytes 对象,有如下三种方式:
- 如果字符串内容都是 ascii 字符,则可以通过直接在字符串之前添加 b 来构建字节串值。
- 调用 bytes() 函数(其实是 bytes 的构造方法)将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 utf-8 字符集。
- 调用字符串本身的 encode() 方法将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 utf-8 字符集。
自定义类型
- class:类
类型判断
我们可以用type和isinstance来测试和判断数据类型。
type用法
type(obj)
功能:返回obj的数据类型
参数:obj是你要测试变量或数值
示例:
age = 10 name = 'hello' print(type(name),type(age)) # <class 'str'> <class 'int'> # 判断变量是否是指定类型 if type(age) is int: print('是') else: print('否')
isinstance用法
isinstance(obj,typename)
功能:判断obj是否是指定类型,是返回true,否返回false
参数: objobj是你要判断的变量或数值
typename是指定数据类型,可以是int,float,str等。也可是一个类型的元组,例如:(int,float)
示例:
age = 10 name = 'hello' print(isinstance(age,int)) print(isinstance(name,(str,int)) #只要name是str或int的一种就返回true
if isinstance(age, int):
print('是') else: print('否') class a: pass class b(a): pass obja = a() objb = b() #输出否 if type(objb) is a: print('是') else: print('否') print(isinstance(objb,a)) #true
type和isinstance的区别
type判断基本类型是没问题的,但无法判断子类对象是父类的一种。
isinstance可以判断子类对象是父类的一种。
结论:优先使用isinstance。