序章

Python 3には、作業中のどのプログラムでも簡単に使用できる多くの組み込み関数が付属しています。 データ型を変換できる関数もあれば、文字列などの特定の型に固有の関数もあります。

このチュートリアルでは、Python3の数値データ型で使用できるいくつかの組み込み関数について説明します。 次の機能について説明します。

  • abs() 絶対値の場合
  • divmod() 商と剰余を同時に見つけるには
  • pow() 数を特定の累乗に上げる
  • round() 数値を特定の小数点に丸める
  • sum() 反復可能なデータ型の項目の合計を計算します

これらのメソッドに精通することで、プログラミングの柔軟性が高まり、使用する演算子や関数を決定する際に情報に基づいた決定を下すことができます。 このチュートリアル全体を通して、これらの関数のいくつかを例とともに説明します。

前提条件

Python 3をインストールし、コンピューターまたはサーバーにプログラミング環境をセットアップする必要があります。 プログラミング環境をセットアップしていない場合は、ローカルプログラミング環境またはサーバー上のプログラミング環境のインストールおよびセットアップガイドを参照して、オペレーティングに適したものにすることができます。システム(Ubuntu、CentOS、Debianなど)

絶対値

内蔵機能 abs() 渡した数値の絶対値を返します。 数学では、絶対値は、数値が0から数直線上にある距離を指します。 絶対値は、数値がゼロからどちらの方向にあるかを考慮していません。つまり、負の数値は正の数値で表されます。

いくつかの例を挙げると、 1515、の絶対値 -7474、およびの絶対値 00.

絶対値は微積分と実際の分析にとって重要な概念ですが、移動距離などの日常の状況を考えるときにも意味があります。 たとえば、58マイル離れた場所に移動しようとして、代わりに93マイル移動した場合、元の目的地を超えてしまいます。 目的の目的地に到達するためにあと何マイル移動するかを計算したい場合、負の数になりますが、負のマイルを移動することはできません。

使ってみよう abs() この問題を解決するために:

情報:このチュートリアルのサンプルコードに従うには、ローカルシステムでPythonインタラクティブシェルを開いて、 python3 指図。 次に、例の後に追加して、例をコピー、貼り付け、または編集できます。 >>> 促す。

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))
Output
89.9 0

使用する可能性が最も高い abs() 正の数のみを探している場合、インスタンスで正または負になる可能性のある変数を使用します。 負の入力または結果を説明するために、 abs() 返されるものを正の数に変更します。

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

フロア除算(商を返す)とモジュロ除算(剰余を返す)は密接に関連しているため、両方の操作を同時に組み合わせる関数を使用すると便利です。

Python組み込み関数 divmod() 2つを組み合わせて、最初に床分割から得られる商を返し、次に余りを返します。

なぜなら divmod() 2つの数値を処理するので、2つの数値を渡す必要があります。

divmod(a,b)

この関数を使用して、基本的に次のことを実行します。

a // b
a & b

80,000語の長さの本を書いたとしましょう。 出版社では、1ページあたり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単語が残り(1ページの2/3)、合計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)
Output
8.0 63.5

使用する場合 divmod() Pythonで機能します。 除算が発生した整数と余りの両方を取得します。

Pythonでは、演算子を使用できます ** 指数で数値を上げるか、組み込み関数を使用できます pow() これは2つの数字を取ります。

どのように pow() 関数は機能します。たとえば、バクテリアの研究を行っていて、1から始めた場合に1日の終わりにバクテリアがいくつあるかを確認したいとします。 私たちが扱っている特定のバクテリアは1時間ごとに2倍になるので、合計時間数(この場合は24)の累乗で2(2倍)を計算します。

バクテリア.py
hours = 24
total_bacteria = pow(2,hours)

print(total_bacteria)
Output
16777216

2つの整数をに渡しました pow() 機能し、この24時間の終わりまでに、1600万以上のバクテリアが存在することを決定しました。

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

完了している計算は3×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))
Output
17.3499

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

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

の構文を分解してみましょう round():

round(number to round,number of decimal places)

日常生活では、特にお金を使って作業する場合、数値の丸めが頻繁に発生します。 1ペニーを数人の友人に均等に分割することはできません。

チップを計算できるプログラムの例を見てみましょう。 ここでは数字を提供しますが、代わりにユーザーが提供した数字を取り込むようにプログラムを書き直すこともできます。 この例では、3人の友人が、20%のチップを追加するとともに、87.93ドルの請求書を均等に分割したいレストランに行きました。

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
Output
35.172000000000004 35.17

このプログラムでは、合計請求額とチップを3で割った値を計算した後、最初に数値の出力を要求します。これは、小数点以下の桁数が多い数値に評価されます。 35.172000000000004. この数値は金額としては意味がないため、 round() 関数を作成し、小数点以下2桁に制限して、3人の友人が実際に操作できる出力を提供できるようにします。 35.17.

10進値が0のみの数値に丸めたい場合は、の2番目のパラメーターとして0を使用することでこれを行うことができます。 round() 関数:

round(345.9874590348545304636,0)

これは次のように評価されます 346.0.

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

合計の計算

The 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))
Output
49.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 
Output
600 # Sum of numbers in tuple -60 # Sum of numbers in dictionary

The 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))
Output
50.0 0

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

結論

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

数値の操作の詳細については、「演算子を使用してPython 3で数学を行う方法」を参照してください。リストの詳細については、「Python3のリストについて[ X191X]。」