寫Python時(shí)不用import,你會(huì)遭遇什么
共 2279字,需瀏覽 5分鐘
·
2024-05-29 22:42
from *** import ***
想必你已經(jīng)再熟悉不過這樣的python語(yǔ)法。
當(dāng)你的 python 代碼需要獲取外部的一些功能(一些已經(jīng)造好的輪子),你就需要使用到 import 這個(gè)聲明關(guān)鍵字。import可以協(xié)助導(dǎo)入其他 module 。(類似 C 預(yù)約的 include)
寫Python不用import,那得自己造輪子,就好像使IPhone不用APP Store,偏要自己搭A(yù)PP,我感覺應(yīng)該幸福不起來(lái)吧,干啥都得徒手從0到1寫代碼,誰(shuí)能受得了。
老實(shí)說,你能體會(huì)那種寫Python時(shí)只用import 的幸福嗎?
看到知乎上有個(gè)回答很有意思:
用import的python,如下圖不用import的python,如下圖
沒有import就不會(huì)有Python的今天,模塊化封裝讓Python擁有了成千上萬(wàn)個(gè)優(yōu)秀的工具包,像pandas、numpy、requests、tensorflow等,拿來(lái)即用,甚至比有些圖形化軟件還容易上手,正是這些工具包使得Python流行起來(lái)。
舉個(gè)簡(jiǎn)單的例子,你想計(jì)算兩組數(shù)據(jù)的相關(guān)性,如果import numpy庫(kù),三四行代碼能搞定。
import numpy as np
x = np.array([1, 2, 3, 4, 5]) # 定義兩個(gè)數(shù)組
y = np.array([2, 3, 4, 5, 6])
corr = np.corrcoef(x, y)[0, 1] # 計(jì)算相關(guān)系數(shù)
假如你自己手?jǐn)]代碼,則需要十幾行。
def pearson_correlation_coefficient(x, y):
x_mean = sum(x) / len(x)
y_mean = sum(y) / len(y)
numerator = 0
denominator = 0
for i in range(len(x)):
numerator += (x[i] - x_mean) * (y[i] - y_mean)
denominator += (x[i] - x_mean) ** 2
return numerator / denominator if denominator != 0 else 0
# 示例數(shù)據(jù)
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]
correlation = pearson_correlation_coefficient(x, y)
這還只是一個(gè)簡(jiǎn)單的算法,對(duì)于有些復(fù)雜的算法實(shí)現(xiàn),則需要幾千幾萬(wàn)行代碼,難度和復(fù)雜度會(huì)把99.99%的人拒之門外。
當(dāng)然對(duì)于想提升代碼能力和算法思維的人來(lái)說,不用import,徒手?jǐn)]算法是很好的訓(xùn)練方法,但如果你只是用Python來(lái)解決問題,遇到好的工具包,最好能import就import。
Python設(shè)計(jì)之初所提倡的就是實(shí)用、簡(jiǎn)潔、易讀,模塊化和可重用性就是對(duì)Python設(shè)計(jì)理念最好的體現(xiàn)。
加入知識(shí)星球【我們談?wù)摂?shù)據(jù)科學(xué)】
提供100節(jié)專屬Pandas數(shù)據(jù)分析視頻教程
600+小伙伴一起學(xué)習(xí)!
