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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/19066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信号处理中简单实用的方法

最小二乘法拟合消除趋势项 消除趋势项函数 在MATLAB的工具箱中已有消除线性趋势项的detrend函数;再介绍以最小二乘法拟合消除趋势项的polydetrend 函数。 函数:detrend功能:消除线性趋势项 调用格式:ydetrend(x) 说明:输入参数x是带有线性趋势项的信号序列,输出…

salesforce 公式字段 判断一个字段是否在某个多选列表中

在 Salesforce 中,你可以使用公式字段来判断一个字段的值是否在一个多选列表中。这通常涉及使用包含特定值的函数和一些字符串操作。以下是一个常见的方法: 假设你有一个多选列表字段 Multi_Select_Field__c,你想检查这个字段是否包含某个值…

函数式接口:现代编程的利器

1. 引言 在软件开发的演进过程中,函数式编程(Functional Programming, FP)逐渐显露头角,成为解决复杂问题的有效工具之一。函数式接口作为函数式编程的核心概念之一,其重要性不言而喻。本文将深入探讨函数式接口的概念…

【408真题】2009-28

“接”是针对题目进行必要的分析,比较简略; “化”是对题目中所涉及到的知识点进行详细解释; “发”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材(2025版&…

C++进程间通信 匿名管道和命名管道

C进程间通信 匿名管道和命名管道 1. 匿名管道匿名管道概述匿名管道代码示例代码解释运行结果 2. 命名管道命名管道概述命名管道代码示例写入数据的程序(writer.cpp)读取数据的程序(reader.cpp) 代码解释运行步骤运行结果 匿名管道…

遇到软件测试职业瓶颈,如何突破

作为职场人,遇到发展瓶颈是在所难免的,无论是晋升受限、技能升级缓慢,还是工作激情的丢失,这些挑战都可能让人感到挫败。但是,积极应对,你就可能找到那扇通向新机遇的窗。 1. 自我评估 识别问题 是缺乏技能…

2024年四川省三支一扶报名流程图解✅

2024年四川省三支一扶报名流程图解✅ 🔴时间安排 1、报名时间:5月31日—6月4日17:00 2、资格初审时间:5月31日—6月5日17:00 3、准考证打印时间:6月25日—6月29日 4、笔试时间:6月30日 5、笔试成绩:7…

电脑显示由于找不到msvcr110.dll 无法继续执行如何处理?最简单的修复msvcr110.dll文件方法

电脑显示由于找不到msvcr110.dll 无法继续执行?当你看到这种提示的时候,请不要紧张,这种是属于dll文件丢失,解决起来还是比较简单的,下面会详细的列明多种找不到msvcr110.dll的解决方法。 一.找不到msvcr110.dll是怎么…

【credit_based流控机制】

credit_based流控机制 1 credit_based way1.1 Principle1.3 DFD1.4 Module1.4.1 Interface1.4.2 Code Block 在网络芯片处理大流量报文中,一般主要是两种机制:1.valid–ready反压(backpressure)机制;2.credit信用机制; credit机制…

idea、datagrip注册记录下

一、DataGrip注册 DataGrip版本号:DataGrip 2023.2 访问地址:https://3.jetbra.in/ 点击“hardbin.com”,下载“jetbra.zip” 在vm里面添加上: -javaagent:D:\work\idea\jetbra\ja-netfilter.jarjetbrains重启datagrip 在刚刚…

自然语言处理(NLP)中的迁移学习

Transfer Learning in NLP 迁移学习(Transfer Learning)无疑是目前深度学习中的新热点(相对而言)。在计算机视觉领域,它已经应用了一段时间,人们使用经过训练的模型从庞大的ImageNet数据集中学习特征&…

英飞凌24GHz毫米波雷达-BGT24LTR11N16家用机器人应用

BGT24LTR11N16基础描述: 关于BGT24LTR11N16,它是一款用于信号生成和接收的硅锗雷达MMlC,工作频率为24.00GHz至24.25GHz ISM频段。它基于24GHz基本电压控制振荡器(VCO)。 这颗芯片是属于1T1R,也就是一发一收…

真实机安装完Centos7没有网卡驱动,ifconfig后,只有lo

文章目录 前言一、1查看网卡型号2 下载相应的驱动程序3、参考官方说明 二、总结 前言 参考1 参考2](https://blog.csdn.net/weixin_46945904/article/details/136365222?spm1001.2101.3001.6650.2&utm_mediumdistribute.pc_relevant.none-task-blog-2defaultYuanLiJiHuaP…

检索字符串

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中,字符串对象提供了很多应用于字符串查找的方法,这里主要介绍以下几种方法。 (1)count()方…

【busybox记录】【shell指令】rmdir

目录 内容来源: 【GUN】【rmdir】指令介绍 【busybox】【rmdir】指令介绍 【linux】【rmdir】指令介绍 使用示例: 删除空目录 - 默认 删除dirname下的所有空目录,包括因删除其他目录而变为空的目录 常用组合指令: 指令不…

多激光雷达ip与端口配置

首先是雷达的ip 我们连上雷达,想要进入雷达的上位机的时候,需要对本机ip进行一些配置: 第一个是ip,第二个是掩码,第三个是网关。 其中ip可以通过wireshark来进行读取,一般就是192.168.102(雷达默认) 然后掩…

Selenium中使用的三种等待

文章目录 1.前言2.在selenium中常见的等待操作一般有3个 1.前言 在使用selenium时很多元素在使用的时候都需要加载,如果不等待加载结束直接使用就会报错,功能不能继续。一般解决的办法就是使用等待操作。 2.在selenium中常见的等待操作一般有3个 slee…

自定义数据集上的3D目标检测:使用OpenPCDet训练CenterPointPillar模型

前言 在自动驾驶和机器人领域,3D目标检测是关键技术之一。它能够提供关于周围环境中物体的精确位置和尺寸信息。OpenPCDet是一个基于PyTorch的开源3D目标检测框架,支持多种3D检测网络。在本文中,我们将探讨如何使用OpenPCDet框架和CenterPoi…

springboot3 controller中的参数 本地开发可以正常注入,但是打包到生产后就无法识别,必须使用@RequestParam后才可以识别问题解决

问题 在Controller代码中声明了一个参数,本地可以正常注入: RestController public class TestController {GetMapping("test")public String test(String testParam) {return "test" testParam;} }在本地 访问 GET http://local…

树莓派4B 学习笔记1:TF卡系统盘烧录_初次启动_远程端连接配置

今日开始学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) TF卡系统盘烧录_初次启动_远程端连接配置 目录 格式化SD卡: 烧录系统Win32DiskImager: Raspberry Pi Imager镜像烧写: 树莓派官网资料…