python学习_数据类型

一、python常用的数据类型

  1. 数值类型:整数类型 int,如9;浮点数类型float,如3.14159
  2. 布尔类型 bool,如True和False,只有这两个值
  3. 字符串类型str,如"人生苦短"

二、数值类型

  • 整数类型

可以表示正数、负数和零,整数类型的数据有不同进制表示方式,有如下几种进制表示方式

十进制:默认的进制

二进制:以0b开头,如print("二进制整数",0b10110110)

八进制:以0o开头,如print("八进制整数",0o176)

十六进制:以0x开头,如print("十六进制整数",0x1EAF)

  • 浮点数类型

浮点数由整数部分和小数部分组成,由于计算机采用二进制,对于浮点数的存储存在不精确,所以使用浮点数进行计算时,可能会存在小数位数不确定的情况,

要解决这个小数位数不确定的问题,我们可以通过导入decimal模块来进行精确计算

0.1+0.2==0.3   #结果为False

 要解决这种情况需要用到decimal模块的Decimal()

import decimal
a=decimal.Decimal('0.1')
b=decimal.Decimal('0.2')
print(a+b)
c=decimal.Decimal('0.3')
a+b==c

 浮点数的科学计数法表示:0.00005=5e-05

  • 不常用数值类型:复数

复数由实部+虚部组成,形式如1+2j,其中1就是实部,2就是虚部,实部和虚部在计算机中都是以浮点数的形式存放的

x=1+2j
print('实部',x.real)
print('虚部',x.imag)

 由上可见实部和虚部都是浮点数存放

  •  数值运算

print(3+2)    #5
print(3-2)    #1
print(3*2)    #6
print(3/2)    #1.5
print(3//3)   #1,整除,向下取整
print(3//-2)  #-2,向下取整
print(3%2)    #1,余数
print(3%-2)   #-1,余数=被除数-除数*商(整除的结果)  也就是=3-(-2)*(3//-2)=-1
print(pow(2,4)) #16,幂运算:2的4次方
print(2**4)     #16,幂运算:2的4次方
print(abs(-20))   #20,绝对值运算
print(abs(1+2j))   #2.23606797749979,结果为负数的模
print(int('520'))   #520,只有字符串里面是整数才能转成int类型
print(int(3.14))    #3,直接抹掉小数部分
print(int(9.99))    #9
print(int(-9.99))   #-9
print(float('3'))    #3.0  ,只有字符串里面是数字才能转成float类型
print(float('3.14159'))  #3.14159
print(float(3))      #3.0
print(complex(1,2))   #(1+2j),得到一个复数
print(divmod(3,2))    #(1, 1),返回(x//y,x%y)

三、布尔类型

布尔类型只有两个值True和False,也就是真和假,True表示真,False表示假,布尔类型其实也是一种特殊的整数类型,可以转换为整数参与计算,True表示整数1,False表示整数0,python中一切皆对象,在python中所有对象都有一个bool值,要获取对象的布尔值使用内置函数bool()

以下对象的布尔值为False:

1)None和False对象

2)值为0的数字类型:0,0.0,0j,Decimal(0),Fraction(0,1)   #注意:Fraction(0,1)表示的是分子为0,分母为1的有理数

3)  空的字符串、列表、字典、元组和集合: '',[],list(),{},dict(),(),tuple(),set(),range(0)

其他只要内容不为空的对象,数字不为0布尔值就是True

import decimal
import fractions
print(bool('250'))   #True
print(bool('False')) #True
print(bool(False))   #False
print(bool(None))    #False
print(bool(''))      #False
print(bool(' '))     #True,有空格也是True
print(bool(0))       #False
print(bool(0.0))     #False
print(bool(decimal.Decimal(0)))  #False
print(bool(fractions.Fraction(0,1))) #False
print(bool([]))   #False
print(bool({}))   #False
print(bool(range(0)))  #False
print(True+False)     #1
print(True-False)     #1
print(True*False)     #0

四、字符串类型

1)字符串又被称为不可变的字符序列

2)可以使用单引号' '、双引号" "、三引号''' '''或者""" """来定义

3)单引号和双引号定义的字符串必须在一行

4)三引号定义的字符串可以分布在连续的多行

 五、数据类型转换:

为什么需要数据类型转换?

将不同数据类型的数据拼接在一起时就需要用到数据类型转换

 三种数据类型之间的相互转换关系如下:

 

posted @ 2023-07-07 17:41  机智的老猫咪  阅读(64)  评论(0编辑  收藏  举报