前書き

Python 3には、作業中のプログラムですぐに使用できる多くの組み込み関数が付属しています。 一部の機能ではhttps://www.digitalocean.com/community/tutorials/how-to-convert-data-types-in-python-3 [データ型の変換]を使用できますが、他の機能は特定の型に固有です。 strings

このチュートリアルでは、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()+`を使用して、返される値を正の数に変更します。

1つの関数で商と剰余を見つける

フロア除算(商を返す)とモジュロ除算(剰余を返す)の両方が密接に関連しているため、両方の演算を一度に結合する関数を使用すると便利です。

Pythonの組み込み関数 `+ divmod()+`は2つを結合し、最初に階除算からの商を返し、次に残りを返します。

`+ divmod()+`は2つの数値で動作するため、2つの数値を渡す必要があります。

divmod(a,b)

この関数を使用すると、基本的に次のことを実行できます。

a // b
a & b

たとえば、80,000語の本を書いたとします。 サイト運営者には、ページあたり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

Pythonで `+ divmod()+`関数を使用する場合。 除算が行われた回数と残りが返された回数の両方を取得します。

Pythonでは、https://www.digitalocean.com/community/tutorials/how-to-do-math-in-python-3-with-operators#power [the operator] `+ ** `を使用して指数で数値を上げるか、2つの数値を受け取る組み込み関数 ` pow()+`を使用できます。

「+ pow()+」関数がどのように機能するかを確認するために、バクテリアの研究を行っているとしましょう。 私たちが取り組んでいる特定のバクテリアは1時間ごとに2倍になるので、合計時間(この場合は24)の2乗(2倍)を計算します。

bacteria.py

hours = 24
total_bacteria = pow(2,hours)

print(total_bacteria)
Output16777216

2つの整数を `+ pow()+`関数に渡し、この24時間の終わりまでに、1600万を超えるバクテリアがいると判断しました。

数学では、3の3乗を計算する場合、一般的に次のように記述されます。

完了している計算は3 x 3 x 3で、27に等しくなります。

Pythonで3³を計算するには、「+ pow(3,3)+」と入力します。

関数 `+ pow()`は整数と浮動小数点の両方を取り、数値を特定の累乗する場合に ` ** +`演算子を使用する代わりを提供します。

丸め番号

小数点以下の桁数が多いフロートを使用する場合、数値をすばやく簡単に丸めることが重要になります。 組み込みのPython関数 `+ round()+`は2つの数値を取ります。1つは丸められ、もう1つは含める小数点以下の桁数を指定します。

この関数を使用して、小数点以下10桁以上の浮動小数点数を取得し、 `+ round()+`関数を使用して小数点以下4桁を減らします。

i = 17.34989436516001
print(round(i,4))
Output17.3499

上記の例では、小数点以下の桁数を4に制限するように指定しているため、フロート `+ 17.34989436516001 `は ` 17.3499 +`に丸められます。

また、 `+ round()`関数は数値を切り上げます。そのため、出力として ` 17.3498 `を提供する代わりに、10進数の8に続く数値が9であるため、 ` 17.3499 +`を提供します。 5以上の数字が続く数字は、次の整数に切り上げられます。

`+ round()+`の構文を分解しましょう:

round(,)

日常生活では、特にお金を扱う場合、数値の丸めが頻繁に行われます。数人の友人の間で1ペニーを均等に分割することはできません。

ヒントを計算できる簡単なプログラムの例を見てみましょう。 ここでは数値を提供しますが、プログラムを書き換えて、代わりにユーザー提供の数値を取り込むこともできます。 この例では、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で割った値を計算した後、最初に数値の出力を要求します。 この数値は金銭的な数字として意味をなさないため、 `+ round()`関数を使用して小数点以下を2桁に制限し、3人の友人が実際に操作できる出力を提供できるようにします: ` 35.17 + `。

10進値として0のみを使用して数値に丸める場合は、 `+ round()+`関数の2番目のパラメーターとして0を使用します。

round(345.9874590348545304636,0)

これは、「+ 346.0+」と評価されます。

フロートではなく整数の形式でユーザー入力を受け取る場合、エラーを受け取ることなく整数を `+ round()+`に渡すこともできます。 整数が最初のパラメーターとして渡されると、整数が返されます。

合計の計算

`+ sum()+`関数は、https://www.digitalocean.com/community/tutorials/understanding-lists-in-python-3 [lists]、httpsを含む数値複合データ型の合計を計算するために使用されます。 //www.digitalocean.com/community/tutorials/understanding-tuples-in-python-3[tuples]、およびhttps://www.digitalocean.com/community/tutorials/understanding-dictionaries-in-python-3 [辞書]。

リストを `+ 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

2番目の引数を含めない場合、 `+ sum()+`関数はデフォルトで反復可能な複合データ型に0を追加します。

結論

このチュートリアルでは、Pythonプログラミング言語の数値データ型で使用できる組み込みメソッドについて説明しました。

数値の操作の詳細については、「https://www.digitalocean.com/community/tutorials/how-to-do-math-in-python-3-with-operators[Pythonで数学を実行する方法」を参照してください。 3演算子付き]]、およびリストの詳細については、「https://www.digitalocean.com/community/tutorials/understanding-lists-in-python-3[Understanding Lists in Python 3]」をご覧ください。