python内置的四种数值类型_Python内置类型(4)--数值

Python有以下三种的数值类型: 整型(integers), 浮点型(floating point numbers), 以及 复数(complex numbers)。此外,布尔是整数的子类型。

数值类型说明

整数由1-n个数字字符表示,整数的类型名称是int,所有的整数都是类型int的实例;浮点数由整数部分和小数部分构成,中间用.连接,浮点数的类型名称是float,所有浮点数都是类型float的实例;复数由实部和虚部构成,其中虚部跟上字母j,复数的类型名称数complex,所有复数都是类型complex的实例。

数值的声明

在python中,数值声明的方式有2种方式,分别是字面量声明方式和使用数值类型构造函数初始化的方式。

字面量

和其它语言类似,python支持字面量方式声明数值。

对于整数,一串数字就表示1个正整数,负数则在数字前面添加-号表示,

# 正数

>>>19

19

# 负数

>>>-7

-7

# 0

>>>0

0

浮点数的字面量声明,负数同样的是前面添加-号来表示,

# 正浮点数

>>>19.1

19.1

# 负浮点数

>>>-7.2

-7.2

# 0.0

>>>0.0

0.0

复数的字面量声明,虚部用字母j(或者J)表示

>>>1 + 2j

1 + 2j

整数默认的是按10进制进行表示的,但是字面量也可以直接声明2进制、8进制和16进制,它们分别是向整数添加0b、0o、0x表示。

# 2进制

>>>a = 0b10

>>>a

2

# 8进制

>>>b = 0o10

>>>b

8

# 16进制

>>>c = 0x10

>>>c

16

构造函数声明

int函数是1个python内置函数,也是整数类型int的构造函数,它的作用是对传入的参数做初始化,转换成1个整数。根据传入的参数不同,初始化的结果也不相同。详见 Python内置函数33——int。

# 1. 不传入参数时,得到结果0

>>>int()

0

#2. 传入整数时,返回本身;传入浮点数时,向下取整

>>>int(3)

3

>>>int(3.6)

3

# 3. 传入字符串时,默认以10进制进行转换,字符串中可以带正负符号。

>>>int('+36')

36

>>>int('-36')

-36

# 4. 传入字符串时,并指定转换进制。

>>>int('01',2)

1

>>>int('02',3)

2

>>>int('07',8)

7

>>>int('0f',16)

15

float函数是1个python内置函数,也是浮点数类型float的构造函数,它的作用是对传入的参数做初始化,转换成1个浮点数。根据传入的参数不同,初始化的结果也不相同。详见 Python内置函数22——float。

# 1. 不传入参数时,得到结果0.0

>>>float()

0.0

#2. 传入整数或者浮点数

>>>float(3)

3.0

>>>float(3.6)

3.6

# 3. 传入字符串时,字符串中可以带正负符号。

>>>float('+3.6')

3.6

>>>float('-3.6')

-3.6

# 4. 几个特殊的字符串

>>>float('Infinity')#无穷大

inf

>>>float('inf')#无穷大

inf

>>>float('inFinIty') #不区分大小写

inf

>>>float('+inFinIty') #正无穷

inf

>>>float('-inFinIty') #负无穷

-inf

>>>float('nan') #没有值

nan

complex函数是1个python内置函数,也是复数类型complex的构造函数,它的作用是对传入的参数做初始化,转换成1个复数。根据传入的参数不同,初始化的结果也不相同。详见 Python内置函数13——complex。

# 1. 不传入参数时,得到结果0j

>>>complex()

0j

#2. 传入2个参数,分别表示实部和虚部

>>>complex(3,4)

(3 + 4j)

# 3. 传入字符串时

>>>complex('3+4j')

3.6

>>>complex('-3.6')

(3 + 4j)

支持的运算操作

常见的运算操作

整形支持以下的运算操作,按优先级升序排列

x + y 相加

x - y 相减

x * y 相乘

x / y 相除

x // y 取整除,也叫地板除

x % y 取余数

-x 取负

+x 取正,值不变

abs(x) 取绝对值

int(x) 转换成整数

float(x) 转换成浮点数

complex(re,im) 转换成复数

c.conjugate() 取复数的共轭

divmod(x, y) 返回地板除的结果和取余数的结果组成的元组

pow(x,y) x 的y 次幂

x ** y x 的y 次幂

其中x // y只支持浮点数和整数,不支持复数,除法结果向下取整。

>>>1//2

0

>>>-1//2

-1

>>>1//(-2)

-1

>>>(-1)//(-2)

0

# 其中1个是浮点数 结果也是浮点数

>>>5//3

1

>>>5//3.0

1.0

浮点数的四舍五入

python提供了内置函数float用来对浮点数进行四舍五入操作。其中有一点一定要注意,float如果不传入第2个参数,表示截断成整数。和传入0保留0位小数是不一样的。

>>>round(3.456,2)

3.46

>>>round(3.456,1)

3.5

>>>round(3.456,0)

3.0

>>>round(3.456) #不传入参数,结果是整数

3

浮点数转换成整数的几个截断方法

在math模块中,提供了另外几种将浮点数截断成小数的方法,他们分别是trunc截断、floor向下取整、ceil向上取整。而上面提到的round函数,如果不传入第2个参数,也有取整的功能。

# 导入math

import math

>>>a = 3.556

>>>b = -3.556

# 直接截断

>>>math.trunc(a)

3

>>>math.trunc(b)

-3

# 向下取整

>>>math.floor(a)

3

>>>math.floor(b)

-4

# 向上取整

>>>math.ceil(a)

4

>>>math.ceil(b)

-3

# 四舍五入取整

>>>round(a)

4

>>>round(b)

-4

浮点数的is_integer()方法

is_integer()是浮动数的一个实例方法,

如果浮点数实例是整数值,则返回True,否则返回False.

>>>f1 = 3.0

>>>f1.is_integer()

True

>>>f2 = 3.14

>>>f2.is_integer()

False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值