69個の常用python関数(一)——数学演算
21102 ワード
この文章はCSDN学院のある課程の簡略なノートです.
abs()
数の絶対値を返します.パラメータは、整数、浮動小数点数、または実装された_abs__()のオブジェクト.パラメータが複数の場合は、そのモジュールを返します.
divmod()
division(求商)とmodulus(余剰数を取る)の2つの単語の略語で、2つの数字(非複素数)を実パラメータとして、商と余剰数を含む1つのメタグループを返します.すなわち、結果は(a//b、a%b)です.
max()
反復可能なオブジェクトの最大要素を返すか、2つ以上の実パラメータの最大要素を返します.
位置パラメータが1つしか指定されていない場合は、空でない反復可能オブジェクトでなければなりません.反復可能オブジェクトの最大要素を返します.2つ以上の位置パラメータが指定されている場合は、最大の位置パラメータが返されます.
max()には、オプションのキーワードパラメータが2つあります.keyパラメータソート関数用のパラメータを指定します.defaultパラメータは、反復可能オブジェクトが空の場合に返される値です.反復可能なオブジェクトが空であり、defaultが与えられていない場合、ValueErrorが報告されます.
min()
min()はmax()構造と同様に最小値を返すだけである.max()を参考にして理解できます.
pow()
フォーマット:pow(base,exp[,mod])
機能:baseのexp次べき乗を返します.modが存在する場合、baseのexp次べき乗はmodに対して残りを取ります(pow(base,exp)%modより効率的です).
round()
フォーマット:round(number[,ndigits])
機能:numberが小数点に切り込まれた後のndigitsビット精度の値を返します.ndigitsが省略またはNoneの場合、入力値に最も近い整数が返されます.2倍の距離が等しい場合は偶数を選択します(したがって、
sum()
書式:sum(iterable,start)
機能:startから左から右へiterableのアイテムを合計し、合計値を返します.iterableの項目は通常数値であり、start値は文字列では許可されません.
abs()
数の絶対値を返します.パラメータは、整数、浮動小数点数、または実装された_abs__()のオブジェクト.パラメータが複数の場合は、そのモジュールを返します.
print(abs(12)) # 12
print(abs(-1.2)) # 1.2
# ,
print(abs(-3+4j)) # 5.0
print(abs(-1.2+1.6j)) # 2.0
# __abs__()
class TestClass:
def __abs__(self):
return 123
print('abs(TestClass()) = ',abs(TestClass())) # abs(TestClass()) = 123
divmod()
division(求商)とmodulus(余剰数を取る)の2つの単語の略語で、2つの数字(非複素数)を実パラメータとして、商と余剰数を含む1つのメタグループを返します.すなわち、結果は(a//b、a%b)です.
a = 10 #
b = 2 #
print('divmod(a, b) = ',divmod(a, b)) # divmod(a, b) = (3, 1)
print('(a//b, a%b) = ',(a//b, a%b)) # (a//b, a%b) = (3, 1)
a = 2.0 #
b = 0.3 #
print(f' divmod(a, b) = ',divmod(a, b)) # divmod(a, b) = (6.0, 0.20000000000000007)
print('(a//b, a%b) = ',(a//b, a%b)) # (a//b, a%b) = (6.0, 0.20000000000000007)
# ,
# 2.0 0.4
a = 2.0 #
b = 0.4 #
print(f' divmod(a, b) = ',divmod(a, b)) # divmod(a, b) = (4.0, 0.3999999999999999)
print('(a//b, a%b) = ',(a//b, a%b)) # (a//b, a%b) = (4.0, 0.3999999999999999)
max()
反復可能なオブジェクトの最大要素を返すか、2つ以上の実パラメータの最大要素を返します.
位置パラメータが1つしか指定されていない場合は、空でない反復可能オブジェクトでなければなりません.反復可能オブジェクトの最大要素を返します.2つ以上の位置パラメータが指定されている場合は、最大の位置パラメータが返されます.
max()には、オプションのキーワードパラメータが2つあります.keyパラメータソート関数用のパラメータを指定します.defaultパラメータは、反復可能オブジェクトが空の場合に返される値です.反復可能なオブジェクトが空であり、defaultが与えられていない場合、ValueErrorが報告されます.
# ,
print(f'{ max([1,2,4,5,3]) = }') # max([1,2,4,5,3]) = 5
# , 。
print(f'{ max(1,2,4,5,3) = }') # max(1,2,4,5,3) = 5
# key, , list.sort,abs
print(f'{ max([3, 9, -20, 15], key=abs) = }') # max([1, 2, -3, 2], key=abs) = -3
# default,
print(f'{ max([], default=None) = }') # max([], default=None) = None
# , default , ValueError。
# print(f'{ max([]) = }')
# ,
print(f'{ max([1, 2, -3, 2, 3], key=abs) = }') # max([1, 2, -3, 2, 3], key=abs) = -3
print(f'{ max([1,2,4,5,3]) = }')
この書き方はpython 3.6で親測ではサポートされていませんが、3.8バージョンで使用できます.min()
min()はmax()構造と同様に最小値を返すだけである.max()を参考にして理解できます.
pow()
フォーマット:pow(base,exp[,mod])
機能:baseのexp次べき乗を返します.modが存在する場合、baseのexp次べき乗はmodに対して残りを取ります(pow(base,exp)%modより効率的です).
# base exp ;
print(f'{ pow(10, 2) = }') # pow(10, 2) = 100
# mod , base exp mod ( pow(base, exp) % mod )
print(f'{ pow(12, 34, 56) = }') # pow(12, 34, 56) = 16
# 。 , 。 int , ( ), ; , 。
print(f'{ pow(10, 2) = }') # pow(10, 2) = 100
print(f'{ pow(10, -2) = }') # pow(10, -2) = 0.01
#
# , 。
print(f'{ pow(2.0, 3) = }') # pow(2.0, 3) = 8.0
# int , ( ), ; , 。
print(f'{ pow(2, 3) = }') # pow(2, 3) = 8
print(f'{ pow(2, -3) = }') # pow(2, -3) = 0.125
# int base exp, mod, mod mod 。 mod exp , base mod ( 1 )。
# 20 47 :
print(pow(20, -1, mod=47)) # 40
print(40 * 20 % 47 == 1) # True
# :https://wenku.baidu.com/view/6f2879cca1c7aa00b52acb5f.html
# 3.8 : (1) int , pow , 。(2) , 。
round()
フォーマット:round(number[,ndigits])
機能:numberが小数点に切り込まれた後のndigitsビット精度の値を返します.ndigitsが省略またはNoneの場合、入力値に最も近い整数が返されます.2倍の距離が等しい場合は偶数を選択します(したがって、
round(0.5)
およびround(-0.5)
はいずれも0
であり、round(1.5)
は2
であります).任意の整数値は、有効なndigits(正、ゼロ、または負)として使用できます.ndigitsが省略またはNoneの場合、戻り値は整数になります.そうでない場合、戻り値はnumberのタイプと同じです.# number ndigits 。
print(f'{ round(123.456, 2) = }')
# ndigits None, 。
print(f'{ round(123.456) = }') # round(123.456, 2) = 123.46
print(f'{ round(123.456, None) = }') # round(123.456, None) = 123
# , ( ,round(0.5) round(-0.5) 0 round(1.5) 2)。
numbers = [-0.5, 0.5, 1.5, 2.5, 3.5]
for num in numbers:
print(f'{ num = } { round(num) = }')
# :
# num = -0.5 round(num) = 0
# num = 0.5 round(num) = 0
# num = 1.5 round(num) = 2
# num = 2.5 round(num) = 2
# num = 3.5 round(num) = 4
# ,round() , , ( )
# ndigits ( 、 )。
print(f'{ round(123.456, 2) = }') # round(123.456, 2) = 123.46
print(f'{ round(123.456, 0) = }') # round(123.456, 0) = 123.0
print(f'{ round(123.456, -2) = }') # round(123.456, -2) = 100.0
print(f'{ round(193.456, -2) = }') # round(193.456, -2) = 200.0
# ndigits None 。 number 。
print(f'{ round(123.456) = }') # round(123.456) = 123
print(f'{ round(123.456, None) = }') # round(123.456, None) = 123
print(f'{ round(123.456, 2) = }') # round(123.456, 2) = 123.46
# Python number, round number.__round__。
print(f'{ round(123.456, 2) = }') # round(123.456, 2) = 123.46
print(f'{ 123.456.__round__(2) = }') # 123.456.__round__(2) = 123.46
# round() : ,round(2.675, 2) 2.67 2.68。 : 。
print(f'{ round(2.675, 2) = }') # round(2.675, 2) = 2.67
print(f'{ round(0.125, 2) = }') # round(0.125, 2) = 0.12
sum()
書式:sum(iterable,start)
機能:startから左から右へiterableのアイテムを合計し、合計値を返します.iterableの項目は通常数値であり、start値は文字列では許可されません.
# start iterable 。
print(f'{ sum([1, 2, 3]) = }') # sum([1, 2, 3]) = 6
print(f'{ sum([1, 2, 3], 10) = }') # sum([1, 2, 3], 10) = 16
print(f'{ sum([1, 2, 3], 100) = }') # sum([1, 2, 3], 100) = 106
print(f'{ sum([1, 2, 3], start=100) = }') # sum([1, 2, 3], start=100) = 106
# :iterable ,
# , sum() 。 ''.join(sequence)。 , math.fsum()。 , itertools.chain()。
# 3.8 : start 。
# ''.join(sequence)。
print(f'{ "a" + "b" + "c" = }') # "a" + "b" + "c" = 'abc'
# print(f'{ sum(["a", "b", "c"]) = }')
print(f'{ "".join(["a", "b", "c"]) = }') # "".join(["a", "b", "c"]) = 'abc'