【Python】abs 関数の使い方と実行結果

Python の組み込み関数 absエービーエス の使い方です。

abs 関数で『絶対値』を計算するコード例と、実行結果を載せました。

abs 関数は、複素数の complex や、時間差の timedelta にも、使用することができました。

あと、『エラーになったコード例』も書きました。

エラーになったコード例

abs 関数で、エラーになったコードれいです。

(Python) abs(x)

abs('') # '' 空文字列
TypeError: bad operand type for abs(): 'str'
abs('5') # '5'
TypeError: bad operand type for abs(): 'str'
abs(None) # None
TypeError: bad operand type for abs(): 'NoneType'
abs(()) # () 空のタプル
TypeError: bad operand type for abs(): 'tuple'
abs([]) # [] 空のリスト
TypeError: bad operand type for abs(): 'list'
abs(set()) # set() 空の集合
TypeError: bad operand type for abs(): 'set'
abs({}) # {} 空の辞書
TypeError: bad operand type for abs(): 'dict'
abs(lambda x: x) # <function <lambda> at 0x0000000000000000>
TypeError: bad operand type for abs(): 'function'
abs(range(0, 1)) # range(0, 1)
TypeError: bad operand type for abs(): 'range'
abs(bytes([5])) # b'\x05'
TypeError: bad operand type for abs(): 'bytes'
abs(bytearray([5])) # bytearray(b'\x05')
TypeError: bad operand type for abs(): 'bytearray'
import datetime
abs(datetime.datetime.max) # datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
TypeError: bad operand type for abs(): 'datetime.datetime'
import datetime
abs(datetime.date.max) # datetime.date(9999, 12, 31)
TypeError: bad operand type for abs(): 'datetime.date'
import datetime
abs(datetime.time.max) # datetime.time(23, 59, 59, 999999)
TypeError: bad operand type for abs(): 'datetime.time'

int を渡した結果

abs 関数に、intイント整数せいすう)を渡した結果です。

(Python) abs(x)

(Python) class int([x])

abs(2)
2
abs(-2)
2
abs(1)
1
abs(-1)
1
abs(0)
0

float を渡した結果

abs 関数に、floatフロート浮動小数点数ふどうしょうすうてんすう)を渡した結果です。

(Python) abs(x)

(Python) class float([x])

abs(float('nan')) # nan
nan
abs(float('inf')) # inf
inf
abs(float('-inf')) # -inf
inf
abs(1.0) # 1.0
1.0
abs(-1.0) # -1.0
1.0
abs(0.1) # 0.1
0.1
abs(-0.1) # -0.1
0.1
abs(0.0) # 0.0
0.0
abs(-0.0) # -0.0
0.0

complex を渡した結果

abs 関数に、complexコンプレックス複素数ふくそすう)を渡した結果です。

abs 関数 は、虚数きょすうを含んだ複素数にも、使用することができました。

(Python) abs(x)

(Python) class complex([real[, imag]])

abs(complex(+3.0, +4.0)) # (3+4j)
5.0
abs(complex(-3.0, +4.0)) # (-3+4j)
5.0
abs(complex(-3.0, -4.0)) # (-3-4j)
5.0
abs(complex(+3.0, -4.0)) # (3-4j)
5.0
abs(complex(+0.0, +0.0)) # 0j
0.0
abs(complex(-0.0, -0.0)) # (-0-0j)
0.0
abs(complex(float('inf'), float('inf'))) # (inf+infj)
inf
abs(complex(float('-inf'), float('-inf'))) # (-inf-infj)
inf
abs(complex(float('inf'), 4.0)) # (inf+4j)
inf
abs(complex(float('-inf'), -4.0)) # (-inf-4j)
inf
abs(complex(3.0, float('inf'))) # (3+infj)
inf
abs(complex(-3.0, float('-inf'))) # (-3-infj)
inf
abs(complex(0.0, float('inf'))) # infj
inf
abs(complex(-0.0, float('-inf'))) # (-0-infj)
inf
abs(complex(float('nan'), float('nan'))) # (nan+nanj)
nan
abs(complex(float('inf'), float('nan'))) # (inf+nanj)
inf
abs(complex(float('-inf'), float('nan'))) # (-inf+nanj)
inf
abs(complex(float('nan'), float('inf'))) # (nan+infj)
inf
abs(complex(float('nan'), float('-inf'))) # (nan-infj)
inf
abs(complex(3.0, float('nan'))) # (3+nanj)
nan
abs(complex(-3.0, float('nan'))) # (-3+nanj)
nan
abs(complex(float('nan'), 4.0)) # (nan+4j)
nan
abs(complex(float('nan'), -4.0)) # (nan-4j)
nan

Decimal を渡した結果

abs 関数に、Decimal 型デシマルがた十進数型じゅっしんすうがた)を渡した結果です。

(Python) abs(x)

(Python) class decimal.Decimal(value="0", context=None)

from decimal import Decimal
abs(Decimal(2)) # Decimal('2')
Decimal('2')
from decimal import Decimal
abs(Decimal(-2)) # Decimal('-2')
Decimal('2')
from decimal import Decimal
abs(Decimal(1.1)) # Decimal('1.100000000000000088817841970012523233890533447265625')
Decimal('1.100000000000000088817841970')
from decimal import Decimal
abs(Decimal(-1.1)) # Decimal('-1.100000000000000088817841970012523233890533447265625')
Decimal('1.100000000000000088817841970')
from decimal import Decimal
abs(Decimal(0.0)) # Decimal('0')
Decimal('0')
from decimal import Decimal
abs(Decimal(-0.0)) # Decimal('-0')
Decimal('0')
from decimal import Decimal
abs(Decimal('inf')) # Decimal('Infinity')
Decimal('Infinity')
from decimal import Decimal
abs(Decimal('-inf')) # Decimal('-Infinity')
Decimal('Infinity')
from decimal import Decimal
abs(Decimal('nan')) # Decimal('NaN')
Decimal('NaN')

datetime.timedelta を渡した結果

abs 関数に、時間差じかんさdatetime.timedeltaデートタイム ドット タイムデルタ を渡した結果です。

(Python) abs(x)

(Python) class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

import datetime
abs(datetime.timedelta(1, 0, 0, 0, 0, 0)) # datetime.timedelta(days=1)
datetime.timedelta(days=1)
import datetime
abs(datetime.timedelta(-1, 0, 0, 0, 0, 0)) # datetime.timedelta(days=-1)
datetime.timedelta(days=1)
import datetime
abs(datetime.timedelta(0, 1, 0, 0, 0, 0)) # datetime.timedelta(seconds=1)
datetime.timedelta(seconds=1)
import datetime
abs(datetime.timedelta(0, -1, 0, 0, 0, 0)) # datetime.timedelta(days=-1, seconds=86399)
datetime.timedelta(seconds=1)
import datetime
abs(datetime.timedelta(0, 0, 1, 0, 0, 0)) # datetime.timedelta(microseconds=1)
datetime.timedelta(microseconds=1)
import datetime
abs(datetime.timedelta(0, 0, -1, 0, 0, 0)) # datetime.timedelta(days=-1, seconds=86399, microseconds=999999)
datetime.timedelta(microseconds=1)
import datetime
abs(datetime.timedelta(0, 0, 0, 1, 0, 0)) # datetime.timedelta(microseconds=1000)
datetime.timedelta(microseconds=1000)
import datetime
abs(datetime.timedelta(0, 0, 0, -1, 0, 0)) # datetime.timedelta(days=-1, seconds=86399, microseconds=999000)
datetime.timedelta(microseconds=1000)
import datetime
abs(datetime.timedelta(0, 0, 0, 0, 1, 0)) # datetime.timedelta(seconds=60)
datetime.timedelta(seconds=60)
import datetime
abs(datetime.timedelta(0, 0, 0, 0, -1, 0)) # datetime.timedelta(days=-1, seconds=86340)
datetime.timedelta(seconds=60)
import datetime
abs(datetime.timedelta(0, 0, 0, 0, 0, 1)) # datetime.timedelta(seconds=3600)
datetime.timedelta(seconds=3600)
import datetime
abs(datetime.timedelta(0, 0, 0, 0, 0, -1)) # datetime.timedelta(days=-1, seconds=82800)
datetime.timedelta(seconds=3600)
import datetime
abs(datetime.timedelta(0, 0, 0, 0, 0, 0)) # datetime.timedelta(0)
datetime.timedelta(0)

以上です。

スポンサーリンク
Python評価
シェアする(押すとSNS投稿用の『編集ページ』に移動します)
フォローする(RSSフィードに移動します)
スポンサーリンク
シラベルノート
タイトルとURLをコピーしました