內置函數就是Python/ target=_blank class=infotextkey>Python預先定義的函數,這些內置函數使用方便,無需導入,直接調用,大大提高使用者的工作效率,也更便于程序的閱讀。截止到Python版本3.9.1,Python一共提供了69個內置函數。
如果你還沒入門,或剛剛入門Python,那么,這篇文章非常適合你。為了方便記憶,木木老師會將這些內置函數分類介紹給大家。
- 數學運算(7個)
- 類型轉換(24個)
- 序列操作(8個)
- 對象操作(9個)
- 反射操作(8個)
- 變量操作(2個)
- 交互操作(2個)
- 文件操作(1個)
- 編譯執行(5個)
- 裝飾器(3個)
abs:求數值的絕對值
print(abs(-2)) # 絕對值:2
divmod:返回兩個數值的商和余數
print(divmod(20,3)) # 求商和余數:(6,2)
max:返回可迭代對象中的元素中的最大值或者所有參數的最大值
print(max(7,3,15,9,4,13)) #求最大值:15
min:返回可迭代對象中的元素中的最小值或者所有參數的最小值
print(min(5,3,9,12,7,2)) #求最小值:2
pow:返回兩個數值的冪運算值或其與指定整數的模值
print(pow(10,2,3)) # 如果給了第三個參數. 表示最后取余:1
round:對浮點數進行四舍五入求值
print(round(2.675, 2)) # 五舍六入:2.67
sum:對元素類型是數值的可迭代對象中的每個元素求和
print(sum([1,2,3,4,5,6,7,8,9,10])) # 求和:55
類型轉換(24個)
bool:根據傳入的參數的邏輯值創建一個新的布爾值
print(bool(0)) # 數值0、空序列等值為:False
int:根據傳入的參數創建一個新的整數
print(int(3.6)) # 整數:3
float:根據傳入的參數創建一個新的浮點數
print(float (3)) # 浮點數:3.0
complex:根據傳入參數創建一個新的復數
print(complex (1,2)) # 復數:1+2j
str:將數據轉化為字符串
print(str(123)+'456') #123456
bytearray:根據傳入的參數創建一個新的字節數組
ret = bytearray("alex" ,encoding ='utf-8')print(ret[0]) #97print(ret) #bytearray(b'alex')ret[0] = 65 #把65的位置A賦值給ret[0]print(str(ret)) #bytearray(b'Alex')
bytes:根據傳入的參數創建一個新的不可變字節數組
bs = bytes("今天吃飯了嗎", encoding="utf-8")print(bs) #b'xe4xbbx8axe5xa4xa9xe5x90x83xe9xa5xadxe4xbax86xe5x90x97'
memoryview:根據傳入的參數創建一個新的內存查看對象
v = memoryview(b'abcefg')print(v[1]) # 98
ord:返回Unicode字符對應的整數
print(ord('中')) # '中'字在編碼表中的位置:20013
chr:返回整數所對應的Unicode字符
print(chr(65)) # 已知碼位求字符:A
bin:將整數轉換成2進制字符串
print(bin(10)) # 二進制:0b1010
oct:將整數轉化成8進制數字符串
print(oct(10)) # 八進制:0o12
hex:將整數轉換成16進制字符串
print(hex(10)) # 十六進制:0xa
tuple:根據傳入的參數創建一個新的元組
print(tuple([1,2,3,4,5,6])) # (1, 2, 3, 4, 5, 6)
list:根據傳入的參數創建一個新的列表
print(list((1,2,3,4,5,6))) # [1, 2, 3, 4, 5, 6]
dict:根據傳入的參數創建一個新的字典
print(dict(a = 1,b = 2)) # 創建字典: {'b': 2, 'a': 1}
range:根據傳入的參數創建一個新的range對象
for i in range(15,-1,-5):print(i)# 15# 10# 5# 0
set:根據傳入的參數創建一個新的集合
a = set(range(10))print(a) # 創建集合:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
frozenset:根據傳入的參數創建一個新的不可變集合
a = frozenset(range(10))print(a) #frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
enumerate:根據可迭代對象創建枚舉對象
lst = ['one','two','three','four','five']for index, el in enumerate(lst,1): # 把索引和元素一起獲取,索引默認從0開始. 可以更改print(index)print(el)# 1# one# 2# two# 3# three# 4# four# 5# five
iter:根據傳入的參數創建一個新的可迭代對象
lst = [1, 2, 3]for i in iter(lst):print(i)# 1# 2# 3
slice:根據傳入的參數創建一個新的切片對象
lst = "你好啊"it = reversed(lst) # 不會改變原列表. 返回一個迭代器, 設計上的一個規則print(list(it)) #['啊', '好', '你']lst = [1, 2, 3, 4, 5, 6, 7]print(lst[1:3:1]) #[2,3]s = slice(1, 3, 1) # 切片用的print(lst[s]) #[2,3]
super:根據傳入的參數創建一個新的子類和父類關系的代理對象
class A:def add(self, x):y = x+1print(y)class B(A):def add(self, x):super().add(x)b = B()b.add(2) # 3
object:創建一個新的object對象
class A:passprint(issubclass(A,object)) #默認繼承object類 # Trueprint(dir(object))# ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
序列操作(8個)
all:判斷可迭代對象的每個元素是否都為True值
print(all([1,'hello',True,9])) #True
any:判斷可迭代對象的元素是否有為True值的元素
print(any([0,0,0,False,1,'good'])) #True
filter:使用指定方法過濾可迭代對象的元素
def is_odd(n):return n % 2 == 1newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])print(newlist) # [1, 3, 5, 7, 9]
map:使用指定方法去作用傳入的每個可迭代對象的元素,生成新的可迭代對象
def f(i):return ilst = [1,2,3,4,5,6,7,]it = map(f, lst) # 把可迭代對象中的每一個元素傳遞給前面的函數進行處理. 處理的結果會返回成迭代器print(list(it)) #[1, 2, 3, 4, 5, 6, 7]
next:返回可迭代對象中的下一個元素值
it = iter([1, 2, 3, 4, 5])while True:try:x = next(it)print(x)except StopIteration:break# 1# 2# 3# 4# 5
reversed:反轉序列生成新的可迭代對象
print(list(reversed([1,2,3,4,5]))) # [5, 4, 3, 2, 1]
sorted:對可迭代對象進行排序,返回一個新的列表
a = [5,3,4,2,1]print(sorted(a,reverse=True)) # [5, 4, 3, 2, 1]
zip:聚合傳入的每個迭代器中相同位置的元素,返回一個新的元組類型迭代器
my_list = [11,12,13]my_tuple = (21,22,23)print(list(zip(my_list,my_tuple))) # [(11, 21), (12, 22), (13, 23)]
對象操作(9個)
help:返回對象的幫助信息
print(help(str)) #查看字符串的用途
dir:返回對象或者當前作用域內的屬性列表
print(dir(tuple)) #查看元組的方法
id:返回對象的唯一標識符
s = 'alex'print(id(s)) # 139783780730608
hash:獲取對象的哈希值
s = 'alex'print(hash(s)) #-168324845050430382lst = [1, 2, 3, 4, 5]print(hash(lst)) #報錯,列表是不可哈希的
type:返回對象的類型,或者根據傳入的參數創建一個新的類型
dict = {'Name': 'Zara', 'Age': 7}print("Variable Type : %s" % type (dict)) # Variable Type :
len:返回對象的長度
mylist = ["Apple", "orange", "cherry"]x = len(mylist)print(x) # 3
ascii:返回對象的可打印表字符串表現方式
s = 5print(ascii(s)) # 5format:格式化顯示值s = "hello world!"print(format(s, "^20")) #居中print(format(s, "<20")) #左對齊print(format(s, ">20")) #右對齊# hello world!# hello world!# hello world!
vars:返回當前作用域內的局部變量和其值組成的字典,或者返回對象的屬性列表
class Person:name = "John"age = 36country = "norway"x = vars(Person)print(x)# {'__module__': '__main__', 'name': 'Bill', 'age': 63, 'country': 'USA', '__dict__': , '__weakref__': , '__doc__': None}
反射操作(8個)
__import__:動態導入模塊
import osname = input("請輸入你要導入的模塊:")__import__(name) # 可以動態導入模塊
isinstance:判斷對象是否是類或者類型元組中任意類元素的實例
arg=123print(isinstance(arg, int)) # 輸出True
issubclass:判斷類是否是另外一個類或者類型元組中任意類元素的子類
class A:passclass B(A):passprint(issubclass(B,A)) # 返回 True
hasattr:檢查對象是否含有屬性
class Coordinate:x = 10y = -5z = 0point1 = Coordinate()print(hasattr(point1, 'x'))print(hasattr(point1, 'y'))print(hasattr(point1, 'z'))print(hasattr(point1, 'no')) # 沒有該屬性# True# True# True# False
getattr:獲取對象的屬性值
class Person():age = 14Tom = Person()print(getattr(Tom,'age')) # 14
setattr:設置對象的屬性值
class A():name = "吊車尾"a = A()setattr(a, "age", 24)print(a.age) # 24
delattr:刪除對象的屬性
class Person:def __init__(self, name, age):self.name = nameself.age = agetom = Person("Tom", 35)print(dir(tom)) # ['__doc__', '__init__', '__module__', 'age', 'name']delattr(tom, "age")print(dir(tom)) # ['__doc__', '__init__', '__module__', 'name']s
callable:檢測對象是否可被調用
a = 10print(callable(a)) #False 變量a不能被調用
變量操作(2個)
globals:返回當前作用域內的全局變量和其值組成的字典
x = 'hello'a = 8888888print(globals()) #返回一個全局變量的字典,包括所有導入的變量x,a# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000000000212C2B0>, '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'D:/Pythonproject/111/global.py', '__cached__': None, 'x': 'hello', 'a': 8888888}
locals:返回當前作用域內的局部變量和其值組成的字典
print(locals())# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x10ab79358>, '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': '/Users/pankaj/Documents/github/journaldev/Python-3/basic_examples/python_locals_example.py', '__cached__': None}
交互操作(2個)
print:向標準輸出對象打印輸出
print(1,2,3) # 1 2 3
input:讀取用戶輸入值
a = input('請輸入你的姓名') #輸入:張三print(a) # 張三
文件操作(1個)
open:使用指定的模式和編碼打開文件,返回文件讀寫對象
f = open('file',mode='r',encoding='utf-8')f.read()f.close()
編譯執行(5個)
compile:將字符串編譯為代碼或者AST對象,使之能夠通過exec語句來執行或者eval進行求值
code = "for i in range(3): print(i)"com = compile(code, "", mode="exec")exec(com)# 0# 1# 2
eval:執行動態表達式求值
code = "5+6+7"com = compile(code, "", mode="eval")print(eval(com)) # 18
exec:執行動態語句塊
s = "for i in range(5): print(i)"a = exec(s)# 0# 1# 2# 3# 4
repr:返回一個對象的字符串表現形式(給解釋器)
class test:def __init__(self,name,age):self.age = ageself.name = namedef __repr__(self):return "Class_Test[name="+self.name+",age="+str(self.age)+"]"t = test("Zhou",30)print(t) # Class_Test[name=Zhou,age=30]
breakpoint:暫停腳本的執行,允許在程序的內部手動瀏覽
裝飾器(3個)
property:標示屬性的裝飾器
class C:def __init__(self):self._name = ''@propertydef name(self):"""i'm the 'name' property."""return self._name@name.setterdef name(self,value):if value is None:raise RuntimeError('name can not be None')else:self._name = value
classmethod:標示方法為類方法的裝飾器
class C:@classmethoddef f(cls,arg1):print(cls)print(arg1)
staticmethod:標示方法為靜態方法的裝飾器
class Student(object):def __init__(self,name):self.name = name@staticmethoddef sayHello(lang):print(lang)if lang == 'en':print('Welcome!')else:print('你好!')
另附數學math模塊55個函數詳解
Python math 模塊提供了許多對浮點數的數學運算函數。主要框架包括
- 數論與表示函數
- 冪函數與對數函數
- 三角函數
- 角度轉換
- 雙曲函數
- 特殊函數
- 常量
import mathprint(dir(math))[ 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
注意:上面的函數是不能直接訪問的,需要導入 math 模塊,通過靜態對象調用該方法。
數論與表示函數 ceil()
描述:向上取整數,返回 x 的上限,即大于或者等于 x 的最小整數
語法:math.ceil(x)
import math#需要導入數學模塊math.ceil(5.1)6math.ceil(5.0)5math.ceil(5.8)6
copysign()
描述:返回一個基于 x 的絕對值和 y 的符號的浮點數。在支持帶符號零的平臺上,copysign(1.0, -0.0) 返回 -1.0.
語法:math.copysign(x, y)
math.copysign(1,-1)-1.0math.copysign(-1,-1)-1.0math.copysign(-1,1)1.
fabs()
描述:返回數字的絕對值
語法:math.fabs( x )
math.fabs(-45.17)45.17math.fabs(100)100.0math.fabs(math.pi)3.14159265358979
factorial()
描述:以一個整數返回 x 的階乘。 如果 x 不是整數或為負數時則將引發 ValueError。
語法:math.factorial( x )
math.factorial(5)#1*2*3*4*5120math.factorial(3)#1*2*36
floor()
描述:返回 x 的向下取整,小于或等于 x 的最大整數。如果 x 不是浮點數,則委托 x.__floor__() ,它應返回 Integral 值。
語法:math.floor( x )
math.floor(1.2)1math.floor(1.99)1
fmod()
描述:返回余數,函數 fmod() 在使用浮點數時通常是首選,而Python的 x % y 在使用整數時是首選。
語法:math.fmod(x, y)
math.fmod(10, 3)1.0math.fmod(8, 3)2.0math.fmod(8.2, 3)2.199999999999999
frexp()
描述:返回 x 的尾數和指數作為對``(m, e)``。 m 是一個浮點數, e 是一個整數,正好是 x == m * 2**e 。 如果 x 為零,則返回 (0.0, 0) ,否則返回 0.5 <= abs(m) < 1 。這用于以可移植方式“分離”浮點數的內部表示。
語法:math.frexp(x)
math.frexp(32)(0.5, 6)
fsum()
描述:對迭代器里的每個元素進行求和操作,返回迭代中的精確浮點值。通過跟蹤多個中間部分和來避免精度損失
語法:math.fsum( x )
math.fsum((1,2,3,4))10.0math.fsum([1,2,3,4])10.0sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])0.9999999999999999math.fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])1
gcd()
描述:返回整數 a 和 b 的最大公約數。如果 a 或 b 之一非零,則 gcd(a, b) 的值是能同時整除 a 和 b 的最大正整數。gcd(0, 0) 返回 0。
語法:math.gcd( x,y)
math.gcd(12,6)6math.gcd(15,25)5
isclose()
描述:若 a 和 b 的值比較接近則返回 True,否則返回 False。根據給定的絕對和相對容差確定兩個值是否被認為是接近的。
語法:math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
- rel_tol 是相對容差 —— 它是 a 和 b 之間允許的最大差值,相對于 a 或 b 的較大絕對值。例如,要設置5%的容差,請傳遞 rel_tol=0.05 。默認容差為 1e-09,確保兩個值在大約9位十進制數字內相同。 rel_tol 必須大于零。
- abs_tol 是最小絕對容差 —— 對于接近零的比較很有用。 abs_tol 必須至少為零。
如果沒有錯誤發生,結果將是: abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol) 。
IEEE 754特殊值 NaN , inf 和 -inf 將根據IEEE規則處理。具體來說, NaN 不被認為接近任何其他值,包括 NaN 。 inf 和 -inf 只被認為接近自己。
math.isclose(1.0,1.0000000000001)Truemath.isclose(1.0,1.000000001)False
isfinite()
描述:如果 x 既不是無窮大也不是NaN,則返回 True ,否則返回 False 。 (注意 0.0 被認為 是 有限的。)
語法:math.isfinite(x)
math.isfinite(2)Truemath.isfinite(math.nan)Falsemath.isfinite(math.inf)False
isinf()
描述:如果 x 是正或負無窮大,則返回 True ,否則返回 False 。
語法:math.isinf()
math.isinf(math.inf)Truemath.isinf(-math.inf)True
isnan()
描述:如果 x 是 NaN(不是數字),則返回 True ,否則返回 False 。
語法:math.isnan(x)
math.isnan(math.nan)True
ldexp()
描述:返回 x * (2**i) 。 這基本上是函數 frexp() 的反函數。
語法:math.ldexp(x, i)
math.ldexp(5, 3)40.05 * (2**3)40
modf()
描述:返回 x 的小數和整數部分。兩個結果都帶有 x 的符號并且是浮點數。
語法:math.modf(x)
math.modf(3.71828)(0.71828, 3.0)
remainder()
描述:返回 IEEE 754 風格的 x 相對于 y 的余數
語法:math.remainder(x, y)
math.remainder(14, 5)-1.0math.remainder(13, 5)-2.0math.remainder(12, 5)2.0math.remainder(11, 5)1
trunc()
描述:返回 Real 值 x 截斷為 Integral (通常是整數)
語法:math.trunc(x)
math.trunc(3.718281828459045)3
冪函數與對數函數 exp()
描述:返回 e 次 x 冪,其中 e = 2.718281... 是自然對數的基數。這通常比 math.e ** x 或 pow(math.e, x) 更精確。
語法:math.exp( x )
注意:exp()是不能直接訪問的,需要導入 math 模塊,通過靜態對象調用該方法。
math.exp(1)2.718281828459045math.exp(0)1.0math.exp(3)20.08553692318766
expm1()
描述:返回 e 的 x 次冪,減1。這里 e 是自然對數的基數。對于小浮點數 x , exp(x) - 1 中的減法可能導致 significant loss of precision; expm1() 函數提供了一種將此數量計算為全精度的方法
語法:math.expm1(x)
math.exp(1e-5) - 1 1.0000050000069649e-05math.expm1(1e-5)1.0000050000166667e-05math.expm1(1)1.718281828459045math.expm1(2)6.3890560989306
log()
描述:使用一個參數,返回 x 的自然對數(底為 e )。
語法:math.log(x[, base])
參數:
- x -- 數值表達式。
- base -- 可選,底數,默認為 e。
math.log(math.e)1.0math.log(20)2.995732273553991math.log(100,10)#返回以10為底的對數2.
log1p()
描述:返回 1+x (base e) 的自然對數。以對于接近零的 x 精確的方式計算結果。
語法:math.log1p(x)
math.log1p(1)0.6931471805599453
log2()
描述:返回 x 以2為底的對數。這通常比 log(x, 2) 更準確。
語法:math.log2(x)
math.log2(8)3.0
log10()
描述:返回 x 底為10的對數。這通常比 log(x, 10) 更準確。
語法:math.log10( x )
math.log10(100)2.0math.log10(1000)3.0
pow()
描述:返回 (x的y次方) 的值。與內置的 ** 運算符不同, math.pow() 將其參數轉換為 float 類型。使用 ** 或內置的 pow() 函數來計算精確的整數冪。
語法:math.pow( x, y )
math.pow( 2, 4 )16.0math.pow( 10, 2 )100.0
sqrt()
描述:返回數字x的平方根。
語法:math.sqrt( x )
math.sqrt(4) 2.0math.sqrt(100) 10.0math.sqrt(7) 2.6457513110645907math.sqrt(math.pi) 1.77245385090551
三角函數 acos()
描述:以弧度為單位返回 x 的反余弦值。
語法:math.acos(x)
math.acos(.5)1.0471975511965979
asin()
描述:以弧度為單位返回 x 的反正弦值。
語法:math.asin(x)
math.asin(.5)0.5235987755982989
atan()
描述:以弧度為單位返回 x 的反正切值。
語法:math.atan(x)
math.atan(1)0.7853981633974483
atan2()
描述:以弧度為單位返回 atan(y / x) 。結果是在 -pi 和 pi 之間。從原點到點 (x, y) 的平面矢量使該角度與正X軸成正比。 atan2() 的點的兩個輸入的符號都是已知的,因此它可以計算角度的正確象限。 例如, atan(1) 和 atan2(1, 1) 都是 pi/4 ,但 atan2(-1, -1) 是 -3*pi/4 。
語法:math.atan2(y, x)
math.atan2(1, 1)0.7853981633974483math.pi/40.7853981633974483
cos()
描述:返回 x 弧度的余弦值。
語法:math.cos(x)
math.cos(math.pi/6)0.8660254037844387
hypot()
描述:返回歐幾里德范數, sqrt(x*x + y*y) 。 這是從原點到點 (x, y) 的向量長度。
語法:math.hypot(x, y)
math.hypot(1, 1)1.4142135623730951
sin()
描述:返回 x 弧度的正弦值。
語法:math.sin(x)
math.sin(math.pi/6)0.49999999999999994
tan()
描述:返回 x 弧度的正切值。
語法:math.tan(x)
math.tan(math.pi/4)0.9999999999999999
角度轉換 degrees()
描述:將角度 x 從弧度轉換為度數。
語法:math.degrees(x)
math.degrees(math.pi)180.0math.degrees(3)171.88733853924697
radians()
描述:將角度 x 從度數轉換為弧度。
語法:math.radians(x)
math.radians(180)3.141592653589793
雙曲函數
雙曲函數 是基于雙曲線而非圓來對三角函數進行模擬。
acosh()
描述:返回 x 的反雙曲余弦值。
語法:math.acosh(x)
math.acosh(3)1.762747174039086
asinh()
描述:返回 x 的反雙曲正弦值。
語法:math.asinh(x)
math.asinh(1)0.8813735870195429
atanh()
描述:返回 x 的反雙曲正切值。
語法:math.atanh(x)
math.atanh(0.5)0.5493061443340549
cosh()
描述:返回 x 的雙曲余弦值。
語法:math.cosh(x)
math.cosh(2)3.7621956910836314
sinh()
描述:返回 x 的雙曲正弦值。
語法:math.sinh(x)
math.sinh(1)1.1752011936438014
tanh()
描述:返回 x 的雙曲正切值。
語法:math.tanh(x)
math.tanh(3)0.9950547536867305
特殊函數 erf()
描述:返回 x 處的 error function 。
語法:math.erf(x)
math.erf(1)0.8427007929497149erf() 函數可用于計算傳統的統計函數,如 累積標準正態分布def phi(x): return (1.0 + erf(x / sqrt(2.0))) / 2.0
erfc()
描述:返回 x 處的互補誤差函數。 互補錯誤函數 定義為 1.0 - erf(x)。 它用于 x 的大值,從其中減去一個會導致 有效位數損失。
語法:math.erfc(x)
math.erfc(1)0.1572992070502851
gamma()
描述:返回 x 處的 伽馬函數 值。
語法:math.gamma(x)
math.gamma(4)6.0
lgamma()
描述:返回Gamma函數在 x 絕對值的自然對數。
語法:math.lgamma(x)
math.lgamma(4)1.7917594692280554
常 量 pi
描述:圓周率。數學常數 π = 3.141592...,精確到可用精度。
語法:math.pi
math.pi3.141592653589793
e
描述:數學常數 e = 2.718281...,精確到可用精度。
語法:math. e
math.e2.718281828459045
tau
描述:數學常數 τ = 6.283185...,精確到可用精度。Tau 是一個圓周常數,等于 2π,圓的周長與半徑之比
語法:math.tau
math.tau6.283185307179586
inf
描述:浮點正無窮大。 (對于負無窮大,使用 -math.inf 。)相當于``float('inf')`` 的輸出。
語法:math.inf
math.infinf
nan
描述:浮點“非數字”(NaN)值。 相當于 float('nan') 的輸出。
語法:math.nan
math.nannan