在正式學(xué)習(xí)面向?qū)ο缶幊讨?,我們先講一下怎么在代碼中導(dǎo)入并調(diào)用現(xiàn)成的模組,也就是Python中的標(biāo)準(zhǔn)庫(kù)。像我們之前介紹過(guò)的os模塊就是其中之一,下面我將為大家分別介紹幾個(gè)常用的標(biāo)準(zhǔn)庫(kù)。
math
math?模塊提供了許多對(duì)浮點(diǎn)數(shù)的數(shù)學(xué)運(yùn)算函數(shù),該模塊下的函數(shù)返回值均為浮點(diǎn)數(shù)。我們使用import關(guān)鍵字來(lái)導(dǎo)入模組,再通過(guò)dir方法來(lái)獲取math模組下的內(nèi)容。
import math
print(dir(math))
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin',
'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees',
'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp',
'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt',
'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter',
'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh',
'tau', 'trunc', 'ulp']
此外我們還可以獲取math模組本身的一些屬性。
import math
print(id(math))
print(type(math))
print(math)
2827027040432
<class 'module'>
<module 'math' (built-in)>
這里介紹幾個(gè)math模組的常量和函數(shù),能用運(yùn)算符簡(jiǎn)單表示的就不列出來(lái)了。
import math
# math模組中的常量
print('e:', math.e)
print('π:', math.pi)
# math模組中的計(jì)算
# e的x次冪
x = 2
print('e的x次冪:', math.exp(x))
# y的向上取整
y = 1.5
print('y的向上取整:', math.ceil(y))
# y的向下取整
print('y的向下取整:', math.floor(y))
# y的x次冪
print('y的x次冪:', math.pow(y, x))
# z從弧度制轉(zhuǎn)為角度制
z = math.pi/2
print('z從弧度制轉(zhuǎn)為角度制:', math.degrees(z))
# z從角度制轉(zhuǎn)為弧度制
z = 90
print('z從角度制轉(zhuǎn)為弧度制:', math.radians(z))
# a的絕對(duì)值
a = -2
print('a的絕對(duì)值:', math.fabs(a))
# b的階乘
b = 3
print('b的階乘:', math.factorial(b))
# x和b的最大公因數(shù)
print('x和b的最大公因數(shù):', math.gcd(x, b))
# d的平方根
d = 4
print('d的平方根:', math.sqrt(d))
# 以x為底,d的對(duì)數(shù)
print('以x為底,d的對(duì)數(shù):', math.log(d, x))
# 以10為底,d的對(duì)數(shù)(常用對(duì)數(shù))
print('以10為底,d的對(duì)數(shù)(常用對(duì)數(shù)):', math.log10(d))
# 以e為底,d的對(duì)數(shù)(自然對(duì)數(shù))
print('以e為底,d的對(duì)數(shù)(自然對(duì)數(shù)):', math.log(d))
e: 2.718281828459045
π: 3.141592653589793
e的x次冪: 7.38905609893065
y的向上取整: 2
y的向下取整: 1
y的x次冪: 2.25
z從弧度制轉(zhuǎn)為角度制: 90.0
z從角度制轉(zhuǎn)為弧度制: 1.5707963267948966
a的絕對(duì)值: 2.0
b的階乘: 6
x和b的最大公因數(shù): 1
d的平方根: 2.0
以x為底,d的對(duì)數(shù): 2.0
以10為底,d的對(duì)數(shù)(常用對(duì)數(shù)): 0.6020599913279624
以e為底,d的對(duì)數(shù)(自然對(duì)數(shù)): 1.3862943611198906
此外還可以表示三角函數(shù)。
import math
x = math.pi
y = 1
print(math.sin(x))
print(round(math.sin(x)))
print(math.cos(x))
print(math.tan(x))
print(math.asin(y))
print(math.acos(y))
print(math.atan(y))
?需要注意math中的反三角函數(shù)不需要寫(xiě)成‘a(chǎn)rcsin’的形式,只需要寫(xiě)成asin即可。另外Python在處理浮點(diǎn)數(shù)運(yùn)算時(shí)會(huì)出現(xiàn)極小的誤差,具體原因可以查看這篇文章浮點(diǎn)精度(float、double)運(yùn)算不精確的原因。如果不想要輸出存在誤差的結(jié)果,我們可以用之前學(xué)過(guò)的round內(nèi)置函數(shù)來(lái)消除它。
1.2246467991473532e-16
0
-1.0
-1.2246467991473532e-16
1.5707963267948966
0.0
0.7853981633974483
time
time 模塊提供了處理時(shí)間的函數(shù),它以時(shí)間元組來(lái)記錄和儲(chǔ)存時(shí)間。
索引 | 元素 | 含義 | 數(shù)值 |
---|---|---|---|
0 | tm_year | 年份 | 公元紀(jì)年 |
1 | tm_mon | 月份 | 1~12 |
2 | tm_mday | 日期 | 1~31 |
3 | tm_hour | 小時(shí) | 0~23 |
4 | tm_min | 分鐘 | 0~59 |
5 | tm_sec | 秒 | 0~59 |
6 | tm_wday | 星期 | 0~6 (從周一開(kāi)始) |
7 | tm_yday | 天數(shù) | 一年中的第幾天,1~366 |
8 | tm_isdst | 夏令時(shí) | 是否為夏令時(shí):1(夏令時(shí))、0(不是夏令時(shí))、-1(未知),默認(rèn) -1 |
?補(bǔ)充一點(diǎn)關(guān)于夏令時(shí)的知識(shí):夏令時(shí)也叫夏時(shí)制,又稱“日光節(jié)約時(shí)制”和“夏令時(shí)間”,是一種為節(jié)約能源而人為規(guī)定地方時(shí)間的制度,在這一制度實(shí)行期間所采用的統(tǒng)一時(shí)間稱為“夏令時(shí)間”。一般在天亮早的夏季人為將時(shí)間調(diào)快一小時(shí),可以使人早起早睡,減少照明量,以充分利用光照資源,從而節(jié)約照明用電。
import time
# 獲取當(dāng)前時(shí)間
now_time = time.localtime(time.time())
print("現(xiàn)在時(shí)間是:", now_time)
# 格式化時(shí)間
now_time1 = time.asctime(time.localtime(time.time()))
print("現(xiàn)在時(shí)間是:", now_time1)
現(xiàn)在時(shí)間是: time.struct_time(tm_year=2024, tm_mon=1, tm_mday=15, tm_hour=17, tm_min=15, tm_sec=7, tm_wday=0, tm_yday=15, tm_isdst=0)
現(xiàn)在時(shí)間是: Mon Jan 15 17:15:07 2024
注意在格式化時(shí)間中。每一項(xiàng)字符分別代表星期、月份、該月的第幾天、時(shí)間和年份。
random
random?模塊主要用于生成各種分布的隨機(jī)數(shù),在數(shù)據(jù)分析和建模中很常用。不過(guò)random模塊生成的是偽隨機(jī)數(shù),它是用確定性的算法計(jì)算出來(lái)自[0,1]均勻分布的隨機(jī)數(shù)序列。并不真正的隨機(jī),但具有類似于隨機(jī)數(shù)的統(tǒng)計(jì)特征,如均勻性、獨(dú)立性等。在計(jì)算偽隨機(jī)數(shù)時(shí),若使用的初值(種子)不變,那么偽隨機(jī)數(shù)的數(shù)序也不變。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-798604.html
import random
random.seed(1)
# 隨機(jī)數(shù)種子編號(hào),用相同編號(hào)的種子生成的隨機(jī)數(shù)一致
print(random.random())
# 生成一個(gè)[0,1)區(qū)間內(nèi)隨機(jī)數(shù)
random.seed(1)
print(random.random())
# 種子編號(hào)一致,生成的隨機(jī)數(shù)一致
random.seed()
print(random.random())
# 默認(rèn)種子編號(hào),生成的隨機(jī)數(shù)不一致
print(random.randint(5, 10))
# 在[5,10]區(qū)間上生成一個(gè)隨機(jī)數(shù),要求閉區(qū)間兩側(cè)為整數(shù)
print(random.randrange(2, 10, 2))
# 前兩個(gè)參數(shù)為區(qū)間兩端,后一個(gè)參數(shù)為步長(zhǎng),適用于選奇偶數(shù)
print(random.gauss(1, 0))
# 遵從均值為1,標(biāo)準(zhǔn)差為0的高斯正態(tài)分布
print(random.expovariate(2))
# 遵從均值為1/2的指數(shù)分布
list1 = range(1, 10)
print(random.sample(list1, 5))
# 從序列l(wèi)ist1隨機(jī)抽取5個(gè)數(shù)字,這也是生成多個(gè)隨機(jī)數(shù)的常用方法
print(random.betavariate(1, 1))
# 貝塔分布,第一個(gè)參數(shù)是α,第二個(gè)是β
print(random.gammavariate(1, 1))
# 伽馬分布,第一個(gè)參數(shù)是α,第二個(gè)是β
0.13436424411240122
0.13436424411240122
0.21235278740282482
5
6
1.0
0.4480595130642667
[9, 5, 6, 1, 3]
0.6208966857878386
0.8193240193344321
以上就是Python中幾個(gè)比較常用的標(biāo)準(zhǔn)庫(kù)了,還剩下一個(gè)用于編寫(xiě)正則表達(dá)式的re模塊,會(huì)在下一篇文章中介紹給大家,感謝觀看。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-798604.html
到了這里,關(guān)于Python入門(mén)知識(shí)點(diǎn)分享——(十六)標(biāo)準(zhǔn)庫(kù)的導(dǎo)入和調(diào)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!