from *** import ***
想必你已经再熟悉不过这样的python语法。
当你的 python 代码需要获取外部的一些功能(一些已经造好的轮子),你就需要使用到 import 这个声明关键字。import可以协助导入其他 module 。(类似 C 预约的 include)
写Python不用import,那得自己造轮子,就好像使IPhone不用APP Store,偏要自己搭APP,我感觉应该幸福不起来吧,干啥都得徒手从0到1写代码,谁能受得了。
老实说,你能体会那种写Python时只用import 的幸福吗?
看到知乎上有个回答很有意思:
用import的python,如下图
不用import的python,如下图
没有import就不会有Python的今天,模块化封装让Python拥有了成千上万个优秀的工具包,像pandas、numpy、requests、tensorflow等,拿来即用,甚至比有些图形化软件还容易上手,正是这些工具包使得Python流行起来。
举个简单的例子,你想计算两组数据的相关性,如果import numpy库,三四行代码能搞定。
import numpy as np x = np.array([1, 2, 3, 4, 5]) # 定义两个数组 y = np.array([2, 3, 4, 5, 6]) corr = np.corrcoef(x, y)[0, 1] # 计算相关系数
假如你自己手撸代码,则需要十几行。
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 # 示例数据 x = [1, 2, 3, 4, 5] y = [2, 3, 4, 5, 6] correlation = pearson_correlation_coefficient(x, y)
这还只是一个简单的算法,对于有些复杂的算法实现,则需要几千几万行代码,难度和复杂度会把99.99%的人拒之门外。
当然对于想提升代码能力和算法思维的人来说,不用import,徒手撸算法是很好的训练方法,但如果你只是用Python来解决问题,遇到好的工具包,最好能import就import。
Python设计之初所提倡的就是实用、简洁、易读,模块化和可重用性就是对Python设计理念最好的体现。