python中的数据类型

python

基础类型

  • 数值型可以分为:

    • 整型(int): python3中只有int一种,可以表示整数,例如:10,-5,10000
    • 浮点型(float): 表示带小数点的实数,有两种表示法:

      • 小数表示: 1.9 .23
      • 科学计数法: 用e来表示10的指数,1e2就代表了100,注意e前面必须有数值,e后面必须为整数

    • 复数(complex):表示数学上的无理数,形如:a+bj

  • 布尔型(bool):表示事务的两种状态,男女、阴晴、亮暗等,它只有两个值:True,False
  • None:表示空对象,一般用于判断,不同于0和空字符
  • 字符串(str):在python中,可以使用字符串表示文本

    • 字符串的表示

      # 用单引号表示: 'hello'

      # 用双引号表示:"我用python"

      # 用3个单引号表示:可以表示多行文本,例如:

      '''伟大


      祖国

      '''

      # 用3个双引号表示:可以表示多行文本,例如:

      """生死看淡,

      不服就干"""

    • 字符串编码:计算机只能识别二进制,那么字符串如何存储到计算机里呢

      计算机不能直接存储字符串,但我们可以将字符编码,例如用65表示大写字符A,66表示大写字符B....等这种表示方式就是美国类的ASCII码,只能表示127个字符,但对于美国人来说已经足够了。一但能用整数表示字符,我们可以很方便的把整数用二进制表示,那么字符串也就和容易存储到计算机了。

      但还有很多其他国家的语言是不能用ASCII表示的,所有ISO组织就推出了unicode码,用来表示任何一种语言的字符,unicode码也称之为万国码,通用码,可以表示任何一种语言的任何一个字符。unicdoe码有多中表示方式,例如:utf-8、utf-16、utf-32等。一般使用较多的是utf-8,utf-8是一种变长的编码,表示一个字符可能用一个字节,也可能是三个字节

      中文常用编码一般用GBK编码,用2个字节表示一个汉字

    • 转义字符:有些特殊字符无法从键盘输入,可以使用转义字符表示,另外,无论是单引号、双引号还是三引号字都叫字符串界定符,也就是说用引号引起来的才是字符串,那么如果字符串中包含了引号该怎么表示呢?这个时候我们就要使用转义字符表示,把引号转义成普通字符。常见的转义字符

类型判断

我们可以使用type和isinstance来测试和判断数据类

#type用法:

type(obj)

功能:返回obj的数据类型

参数:obj是你要测试变量或数值

示例:

age = 10

name = 'hello'

print(type(name),type(age))

#判断变量是否是指定类型

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('否')

#type和isinstance的区别

type一般用于类型显示,isinstance一般用于类型判断

type也可以判断类型,但无法判断子类对象是父类的一种,isinstance可以判断子类对象是父类的一种

class A:

pass

class B(A):

pass

objA = A()

objB = B()

#输出否

if type(objB) is A:

print('是')

else:

print('否')

print(isinstance(objB,A)) #True

结论:优先使用isinstance

以上是 python中的数据类型 的全部内容, 来源链接: utcz.com/z/386905.html

回到顶部