Python数据类型


 本文链接:https://www.cnblogs.com/zyuanlbj/p/11905636.html


 内置类型

- 数值类型:整型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。

Life is short, you neeed python.
原文地址:https://www.cnblogs.com/zyuanlbj/p/11905636.html