介绍

Python 3附带了很多内置的函数,你可以在任何你正在处理的程序。有些功能使您能够转换数据类型 ,以及其他特定于某一类型,如字符串 。

本教程将介绍一些可在Python 3中与数值数据类型一起使用的内置函数。我们将介绍以下函数:

abs()的绝对值

divmod()同时找到一个商和余数

pow()要提高一些,以一定的权力

round()四舍五入一个号码到一定小数点

sum()来计算在可迭代数据类型的项目的总和

熟悉这些方法可以在编程时给您更大的灵活性,以便在决定使用哪些运算符和函数时做出明智的决策。我们将通过本教程中的示例来介绍其中的一些功能。

绝对值

内置函数abs()将返回您传递给它一个数的绝对值。 在数学中, 绝对值是指一个数是从0绝对值的数行不考虑哪个方向从零数在于,这意味着负数将与正数来表示的距离。

以得到一些实例中,绝对值15是15 ,绝对值-74是74 ,和的绝对值0是0 。

绝对价值是微积分和真实分析的一个重要概念,但当我们考虑日常情况,如距离旅行时,也是有意义的。例如,如果我们想要去58英里远的地方,但是我们旅行93英里,我们超过我们的原始目的地。如果我们想计算现在剩下多少英里的旅行以到达预定的目的地,我们将得到一个负数,但我们不能旅行负英里。

让我们使用abs()来解决这个问题:

destination_miles.py

miles_from_origin = 58 # Miles destination is from origin

miles_travelled = 93 # Miles travelled from origin to destination (too many)

# Calculate how many miles destination is from current location:

miles_to_go = miles_from_origin - miles_travelled

print(miles_to_go) # Print how many miles left (a negative number)

print(abs(miles_to_go)) # Use absolute value to account for negative number

Output-35

35

在输出中,我们可以看到,如果我们不使用abs()函数,在这种情况下,我们有一个负数, -35 。 虽然我们可以是在一个位置, miles_travelled小于miles_from_origin ,包括abs()函数获得一个负数的可能性考虑在内。

带有负号, abs()将返回一个正数作为绝对值总是正数或零。

让我们通过使用abs()与正数和零:

print(abs(89.9))

print(abs(0))

Output89.9

0

我们是最有可能使用abs()与当我们只是在寻找一个正数,可能是正的或负的实例变量。 为了说明负输入或结果,我们将使用abs()来修改什么被返回是一个正数。

在一个函数中查找商和余数

因为底部除法(返回商)和模数除法(返回余数)密切相关,所以使用同时组合两个操作的函数可能是有用的。

Python的内置函数divmod()结合了这两种,首先返回来自地板分裂,那么剩下的商。

因为divmod()将与两个数字进行工作,我们需要两个数字传递给它。

divmod(a,b)

使用此函数,我们基本上执行以下操作:

a // b

a & b

假设我们写了一本长达8万字的书。通过我们的发布商,我们可以选择每页300或250个字词,我们希望了解每种情况下我们会有多少页。随着divmod()我们可以看到,我们马上多少页将有,又有多少的话会波及到其它页面。

words_per_page.py

words = 80000 # How many words in our book

per_page_A = 300 # Option A, 300 words per page

per_page_B = 250 # Option B, 25- words per page

print(divmod(words,per_page_A)) # Calculate Option A

print(divmod(words,per_page_B)) # Calculate Option B

Output(266, 200)

(320, 0)

在选项A中,我们将有266页填充字词和200个字剩余(页面的一页)共267页,在选项B中,我们将有一个320页的书。如果我们想要对环境有意识,我们可以选择选项A,但如果我们想看起来更大的一个更大的书,我们可以选择选项B.

因为函数divmod()可以采取两个整数和浮点数,我们还通过使用花车的例子:

a = 985.5

b = 115.25

print(divmod(a,b))

Output(8.0, 63.5)

在这个例子中, 8.0是985.5由115.25除以地板商数,和63.5是余数。

请记住,您可以使用地板除法运算符//和模运算符%来验证什么divmod()做的事:

print(a//b)

print(a%b)

Output8.0

63.5

当使用divmod()在Python的功能。我们得到除法发生的整数次数,并返回余数。

功率

在Python中,你可以使用运算符 **一个指数要提高一些,或者您可以使用内置的功能pow()它有两个数字。

怎么看pow()函数的工作原理,让我们说,我们对细菌进行研究,并希望看到我们有多少细菌就必须在一天结束时,如果我们开始与1.我们正在与合作双打的特定细菌每小时,所以我们将计算2(倍增)的总小时数(在我们的情况下为24小时)的力量。

细菌

hours = 24

total_bacteria = pow(2,hours)

print(total_bacteria)

Output16777216

我们通过两个整数的pow()函数,并确定该24小时周期结束,我们将有超过16万个细菌。

在数学中,如果我们想计算3的3的幂,它通常写成这样:

我们正在完成的计算是3 x 3 x 3,等于27。

在Python计算3³,我们会打出来pow(3,3)

该功能pow()将采取两个整数和浮点数,并提供了一个替代使用**当你打算提出的数字一定电运算符。

舍入数字

当使用具有大量小数位数的浮动时,能够快速且容易地舍入数字变得重要。内置Python函数round()发生在两个数字,一个是圆的,而一个指定的小数位数。

我们将使用该函数取超过10的小数位浮点数,并使用round()函数减少小数位数为4:

i = 17.34989436516001

print(round(i,4))

Output17.3499

在上面的例子中,浮子17.34989436516001被四舍五入为17.3499 ,因为我们已指定的小数位的数目应限制为4。

还应注意的是round()函数发号码起来这样的,而不是提供17.3498作为输出,它提供了17.3499因为以下的十进制数8的数目是多少9.后跟数为5或更大将任何数量的向上舍入到下一个整数。

让我们打破了语法round()

round(number to round,number of decimal places)

在日常生活中,四舍五入的数字经常发生,特别是在用钱工作时;我们不能在几个朋友之间均匀分摊一分钱。

让我们通过一个可以计算提示的简单程序示例。这里我们将提供数字,但我们可以重写程序,以引入用户提供的数字。在这个例子中,3个朋友去了一个餐馆,想要平均分摊87.93美元的帐单,并添加了20%的提示。

bill_split.py

bill = 87.93 # Total bill

tip = 0.2 # 20% tip

split = 3 # Number of people splitting the bill

total = bill + (bill * tip) # Calculate the total bill

each_pay = total / split # Calculate what each person pays

print(each_pay) # What each person pays before rounded

print(round(each_pay,2)) # Round the number — we can’t split pennies

Output35.172000000000004

35.17

在这个程序中,我们首先要问人数的输出后,我们计算的总金额加上尖除以3,其计算结果为数字有很多小数位: 35.172000000000004 。 由于这个数字没有任何意义作为货币的数字,我们使用round()函数,并限制小数位为2,这样我们就可以提供一个输出,该3的朋友可以与实际工作: 35.17 。

如果您希望舍入到一些只有0作为十进制值,你可以在使用0作为第二个参数这么做round()函数:

round(345.9874590348545304636,0)

这将计算为346.0 。

您也可以通过整型成round()没有收到错误,如果你在一个整数,而不是一个浮动的形式接收用户输入。当传递整数作为第一个参数时,将返回一个整数。

计算总和

的sum()函数用于计算数字复合数据类型,包括的款项列表 , 元组 ,以及字典 。

我们可以通过一个列表的sum()函数来在列表中添加的所有项目一起,以便从左至右:

some_floats = [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9]

print(sum(some_floats))

Output49.5

这将工作类似的元组和字典:

print(sum((8,16,64,512))) # Calculate sum of numbers in tuple

print(sum({-10: 'x', -20: 'y', -30: 'z'})) # Calculate sum of numbers in dictionary

Output600 # Sum of numbers in tuple

-60 # Sum of numbers in dictionary

的sum()函数可能需要长达2个参数,这样你就可以在整数添加其他号码或浮动形式添加到弥补了第一的位置参数的数字:

some_floats = [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9]

print(sum(some_floats, 0.5))

print(sum({-10: 'x', -20: 'y', -30: 'z'},60))

Output50.0

0

当你不包括第二个参数的sum()函数默认为0添加到迭代复合数据类型。

结论

本教程涵盖了一些内置的方法,您可以在Python编程语言中使用数值数据类型。

要了解更多关于处理数字,你可以阅读“ 如何在Python 3 数学运算符 ”,并详细了解列表,看看“ 理解list在Python 3中 ”。