美文网首页
PYTHON 基本数据类型

PYTHON 基本数据类型

作者: 大菠萝bele | 来源:发表于2020-05-24 14:02 被阅读0次

    数字类型及操作

    整数类型

    • 可正可负,没有取值范围限制
    • 例如常用函数pow(x,y),计算x的y次方
      pow(2,3)
      8
    • 四种进制表示形式
      十进制:1010,99,-217
      二进制,以0B或0b开头:0b010,-0B010
      八进制,以0o或0O开头:0o123,-0O456
      十六进制,以0X或0x开头:0x9a,-0X89

    浮点数类型

    • 带有小数点及小数的数字
    • 浮点数取值范围和进度都有限制,通常可忽略
    • 浮点数存在不确定尾数
      python中用53位二进制表示小数部分,且二进制与十进制没有严格的对应关系,所以用十进制表示小数只是截取了小数的一部分。
      >>> 0.2 + 0.1 == 0.3
      False

      round(x,d):对x四舍五入,取d位小数
      >>> round(0.2 + 0.1 ,1) ==0.3
      True

    复数类型

    与数学中复数类型一致
    例:

    z = 1 + 2j
    z.real
    1.0
    z.imag
    2.0

    数值运算操作符

    操作符及使用 描述
    x + y 加,x与y之和
    x - y 减,x与y之差
    x * y 乘,x与y之积
    x / y 除,x与y之商
    x // y 整数除,返回x除以y的整数部分
    + x x本身
    - x x的负值
    x % y 模运算,x对y取余
    x ** y 幂运算,x的y次方,例如函数pow(2,3), 输出结果为8
    x += y 二元操作符,等价于x = x + y(其他运算类似)

    数字类型的关系

    类型之间可以混合运算,生成‘最宽’的结果

    • 三种类型间逐渐变宽:
      整数->浮点数->复数
      例如:>>> 1+2.3
      3.3

    数值运算函数

    函数及使用 描述
    abs(x) 绝对值,x的绝对值,abs(-1.0)输出结果为1.0
    divmod(x,y) 商余,同时返回(x//y)与(x%y)的结果,divmod(10,3)结果为(3,1)
    pow(x,y[,z]) 幂运算,[..]表示可省略,表示x的y次方,[,z]表示对x的y次方结果对z做模运算,例如pow(2,3,3)结果为2
    round(x[,d]) 四舍五入,d是小数位,默认值为0,例round(1.23,1)输出结果为1.2
    max(x1,x2,x3..,xn) 判断最大值,例max(1,3,5,7,9)结果为9
    min(x1,x2,x3,..,xn) 判断最小值,例min(1,3,5,7,9)结果为1
    int(x) 将数据类型转换为整数类型,例int(1.23)结果为1,int('2.34')结果为2
    float(x) 将数据类型转换为浮点型,例float(1)结果为1.0,float('2')结果为2.0

    实例练习:天天向上的力量

    • 一年365天,每天进步1%,累计进步多少?
      #DayDayUP_1.py
      dayup = 1.0
      dayfactor = 0.01
      for i in range(365):
      dayup = dayup * (1 +dayfactor)
      print('{:.2f}'.format(dayup))

      运行结果:
      37.78

    • 一年365天,每天退步1%,累计退步多少?
      #daydayUp_2.py
      dayup = 1.0
      dayfactor = 0.01
      for i in range(365):
      dayup = dayup * (1 - dayfactor)
      print('{:.2f}'.format(dayup))

      运行结果:
      0.03

    • 一年365天,一周5个工作日,每天进步1%;一周2个休息日,每天退步1%,这种工作日的力量如何?
      #daydayUp_03.py
      dayup = 1.0
      dayfactor = 0.01
      for i in range(365):
      if i % 7 in [0,6]:
      dayup = dayup * ( 1 - dayfactor)
      else:
      dayup =dayup * (1 + dayfactor)
      print('{:.2f}'.format(dayup))

    运行结果:
    4.63

    • 工作日模式要努力到什么水平才能与每天努力1%一样?
      def dayUP(df):
      dayup = 1
      for i in range(365):
      if i % 7 in [6,0]:
      dayup = dayup * (1 - 0.01)
      else:
      dayup = dayup * (1 + df)
      return dayup
      dayfactor = 0.01
      while dayUP(dayfactor) < 37.78:
      dayfactor += 0.001
      print('工作日需要努力的水平为:{:.3f}'.format(dayfactor))

    运行结果:
    工作日需要努力的水平为:0.019

    相关文章

      网友评论

          本文标题:PYTHON 基本数据类型

          本文链接:https://www.haomeiwen.com/subject/smedahtx.html