Python数字

数字是编程语言中最基础的数据类型。

数字分类
优先级问题
类型强制转换

1. 数字类型

Python中数字类型:
1)整数:例如:1, 100
2)布尔:True,False;
3)浮点数:例如3.14, 10.1;

>>> a = 20
>>> b = True
>>> pi = 3.14
>>>
2. 优先级问题

先看下面例子:

>>> r = 10
>>> pi = 3.14
>>> c = 2 * pi * r
>>> c
62.800000000000004
>>> r + True
11
>>> pi + True
4.140000000000001

整数和浮点数运算结果是浮点;
整数和布尔值运算结果是整数;
浮点和布尔值运算结果是浮点;
所以优先级顺序:浮点>整数>布尔。

不同数字类型进行算数运算过程:
内部强制转化数据类型,例如浮点和整数: 
先将整数强制转化为浮点数,然后进行运算。

3. 数据类型强制转化:
  • 数字之间转换
>>> pi = 3.14
>>> r = 10
>>> float(r)     #整数转浮点
10.0
>>> int(pi)      #浮点转整数
3
>>> bool(pi)     #浮点转布尔
True
>>> bool(0)      #整数转布尔
False
>>>

三个函数int,float,bool。

  • 将字符串转化为数字
>>> s = '16'
>>> int(s)           #强制转化为整数,10进制
16
>>> int(s, 16)      #16进制,16:1 * 16 + 6 = 22
22
>>> int('0x16', 16)  #16进制
22
>>> bool(s)          #布尔值
True
>>> float(s)         #浮点数
16.0
>>> int('a16')       #10进制必须纯数字字符串,否则异常
Traceback (most recent call last):
  File "", line 1, in 
ValueError: invalid literal for int() with base 10: 'a16'

如何将数字转成字符串?根据前面内容可以使用格式化方式:

>>> '%d' % 10    #格式化的
'10'
>>>

另外一种方式我们在后面内容中详细介绍。

到这里我们对数字有了基本认识,程序中的数字并不是简单的加减乘除还有其他很多灵活用法。

你可能感兴趣的:(Python数字)