写Python时不用import,你会遭遇什么

简介: 写Python时不用import,你会遭遇什么

from *** import ***

想必你已经再熟悉不过这样的python语法。

当你的 python 代码需要获取外部的一些功能(一些已经造好的轮子),你就需要使用到 import 这个声明关键字。import可以协助导入其他 module 。(类似 C 预约的 include)

写Python不用import,那得自己造轮子,就好像使IPhone不用APP Store,偏要自己搭APP,我感觉应该幸福不起来吧,干啥都得徒手从0到1写代码,谁能受得了。

老实说,你能体会那种写Python时只用import 的幸福吗?

看到知乎上有个回答很有意思:

用import的python,如下图

5db7398b8584e3213c3d5d5b7e91c964.png

不用import的python,如下图 92fefb470ef5521f10c53b883ae999af.png

没有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设计理念最好的体现。

相关文章
|
11月前
|
API Python
python 详细理解 import ---- openstack自动import class 到 特定命名空间
python 详细理解 import ---- openstack自动import class 到 特定命名空间
95 0
|
6月前
|
数据可视化 数据挖掘 开发者
import有什么用,python中怎么使用import
import有什么用,python中怎么使用import
72 1
|
Python
89 python高级 - import导入模块
89 python高级 - import导入模块
48 0
|
4月前
|
数据采集 机器学习/深度学习 Python
【Python】已完美解决:ImportError: cannot import name ‘Imputer‘ from ‘sklearn.preprocessing
【Python】已完美解决:ImportError: cannot import name ‘Imputer‘ from ‘sklearn.preprocessing
315 3
|
5月前
|
XML 数据格式 Python
Python的`import`用于加载模块,基础形式是`import module`,全量导入
【6月更文挑战第23天】Python的`import`用于加载模块,基础形式是`import module`,全量导入;`from module import name`选择性导入部分,减少命名空间污染;`from module import *`导入所有(不推荐),易引发冲突。别名导入如`from math import sqrt as square_root`可避免冲突。包导入用`.`,如`import xml.etree.ElementTree as ET`。
64 8
|
5月前
|
XML 数据格式 Python
在Python中,导入其他模块是通过使用import语句完成的
在Python中导入模块涉及`import`语句的不同用法:1) `import math`导入整个标准库;2) `from math import sqrt`导入单个函数;3) `import numpy as np`使用别名;4) `from random import *`导入所有(不推荐);5) `import xml.etree.ElementTree as ET`导入子模块;6) 使用`importlib.import_module()`延迟导入;7) `from .module import func`导入相对路径模块,需管理`sys.path`。
91 6
|
5月前
|
XML 数据格式 Python
Python模块导入包括:`import math`导入标准库
【6月更文挑战第23天】Python模块导入包括:`import math`导入标准库,`from math import sqrt`导入单个函数,`import numpy as np`给模块取别名,`from random import *`导入所有(不推荐),`import xml.etree.ElementTree as ET`导入子模块,`import_module('pandas')`按需导入,和使用相对路径如`from .module import func`处理项目结构。记得调整`sys.path`以包含自定义模块路径。
96 4
|
4月前
|
Python
【Python】已解决:(from docx import Document导包报错)ModuleNotFoundError: No module named ‘exceptions’
【Python】已解决:(from docx import Document导包报错)ModuleNotFoundError: No module named ‘exceptions’
285 0
|
4月前
|
XML JavaScript 数据格式
【Python】已解决:(Python xml库 import xml.dom.minidom导包报错)‘No module named dom’
【Python】已解决:(Python xml库 import xml.dom.minidom导包报错)‘No module named dom’
91 0
|
5月前
|
Python
Python中import的机制详解
Python中import的机制详解
32 0