菜鸟教程《Python 3 教程》笔记(4):数字

笔记带有个人侧重点,不追求面面俱到。

4 数字

出处:菜鸟教程 - Python3 数字(Number)

数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。

4.1 Python 数字运算

注意:// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。

实例:

>>> 7//2
3
>>> 7.0//2
3.0
>>> 7//2.0
3.0

4.2 数字函数

4.2.1 abs() 函数

描述:

abs() 函数返回数字的绝对值。

语法:

abs(x)

参数:

  • x – 数值表达式,可以是整数,浮点数,复数

返回值:

函数返回 x(数字)的绝对值,如果参数是一个复数,则返回它的大小

>>>v = Vecter(3, 4)
>>>abs(v)
5.0

fabs() 与 abs() 的区别:

  1. abs() 是一个内置函数,而 fabs() 在 math 模块中定义的;
  2. fabs() 函数只适用于 float 和 integer 类型,而 abs() 也适用于复数;
  3. abs() 的返回值可以是整数也可以是浮点数,视输入而定,fabs() 的返回值总是浮点数。

4.2.2 ceil() 函数

描述:

ceil() 函数返回一个大于或等于 x 的的最小整数。(向上取整)

语法:

import math
math.ceil(x)

参数:

  • x – 数值表达式。

返回值:

返回一个大于或等于 x 的的最小整数。

4.2.3 cmp() 函数(Python 3 已废弃)

描述:

如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。

注意: Python 3 已废弃,使用 (x>y)-(x<y) 替换。

4.2.4 floor() 函数

描述:

floor() 返回数字的下舍整数,小于或等于 x。(向下取整)

语法:

import math
math.floor(x)

参数:

  • x – 数值表达式。

返回值:

返回小于或等于 x 的整数。

4.2.5 max() 函数

描述:

max() 方法返回给定参数的最大值,参数可以为序列。

注意: 入参类型不能混入,要么全是数字,要么全是序列。入参是序列的话: 单序列入参,返回序列中最大的一个数值。多序列入参, 按索引顺序,逐一对比各序列的当前索引位的 “值”,直到遇见最大值立即停止对比,并返回最大值所在的序列

>>> max(0, True)
True
>>> max([1,2,3])
3
>>> max([2,4], [3,6])
[3, 6]
>>> max([2,4], [1,5])
[2, 4]
>>> max((1,-1,0), (True,False,2,0),(1, 0, 0, 2))
(True, False, 2, 0)
>>> max((1,-1,0), (True,),(1,))
(1, -1, 0)
>>> max([1,3,2],3,4) #非法入参
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'int' and 'list'
>>> max((1,2,3), [2,4,1]) #非法入参
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'list' and 'tuple'

4.2.6 modf() 函数

描述:

modf() 方法返回 x 的整数部分与小数部分,两部分的数值符号与 x 相同,整数部分以浮点型表示

语法:

import math
math.modf(x)

参数:

  • x – 数值表达式。

返回值:

返回x的整数部分与小数部分。

实例:

>>> import math
>>> math.modf(3.2)
(0.20000000000000018, 3.0)
>>> math.modf(-0.01)
(-0.01, -0.0)
>>> type(math.modf(-3.2))
<class 'tuple'>

4.2.7 pow() 函数

描述:

pow() 方法返回 xy(x的y次方) 的值。

语法:

import math
math.pow(x, y)
pow(x, y[, z])

注意: pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。

参数:

  • x – 数值表达式。
  • y – 数值表达式。
  • z – 数值表达式。

返回值:

返回 xy(x的y次方) 的值。

4.2.8 round() 函数

描述:

round() 方法返回浮点数 x 的四舍五入值,准确的说保留值将保留到离上一位更近的一端(四舍六入)。精度要求高的,不建议使用该函数。

语法:

round( x [, n]  )

参数:

  • x – 数字表达式。
  • n – 表示从小数点位数,其中 x 需要四舍五入,默认值为 0。

返回值:

返回浮点数x的四舍五入值。

注意: round() 保留值将保留到离上一位更近的一端(四舍六入)。如果距离两边一样远,会保留到偶数的一边。比如 round(0.5) 和 round(-0.5) 都会保留到 0,而 round(1.5) 会保留到 2。同时,受浮点数精度影响,结果不一定复合预期。

参考:python中关于round函数的小坑

4.3 随机数函数

4.3.1 choice() 函数

描述:

choice() 方法返回一个列表,元组或字符串的随机项。

语法:

import random
random.choice(seq)

参数:

  • seq – 可以是一个列表,元组或字符串。

返回值:

返回随机项。

实例:

random.choice(range(100))
random.choice([1, 2, 3, 5, 9])
random.choice('Runoob')

4.3.2 randrange() 函数

描述:

randrange() 方法返回指定递增基数集合中的一个随机数,基数默认值为1。

语法:

import random
random.randrange ([start,] stop [,step])

参数:

  • start – 指定范围内的开始值,包含在范围内;
  • stop – 指定范围内的结束值,不包含在范围内;
  • step – 指定递增基数。

返回值:

从给定的范围返回随机项。

实例:

random.randrange(1, 100, 2)
random.randrange(100)

4.3.3 shuffle() 函数

描述:

shuffle() 方法将序列的所有元素随机排序。

语法:

import random
random.shuffle(lst)

参数:

  • lst – 列表。

返回值:

返回 None。

4.3.4 uniform() 函数

描述:

uniform() 方法将随机生成下一个实数,它在 [x,y] 范围内。

语法:

import random
random.uniform(x, y)

参数:

  • x – 随机数的最小值,包含该值;
  • y – 随机数的最大值,包含该值。

返回值:

返回一个浮点数 N,取值范围为如果 x<y 则 x <= N <= y,如果 y<x 则y <= N <= x。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猎猫骑巨兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值