python库_Python 基本功: 2. 学会调用库

c3d959e6e4277cf2523f55f281daaf53.png

在完成 基本功教程1 之后:

多多教Python:Python 基本功: 1. Hello world​zhuanlan.zhihu.com
38dfc1573e2001786196b33b0fa45987.png

你已经成功完成了第一个 Python 应用程序,并且运用了三种不同的创作工具。

接下来,我们先来从宏观的角度了解一下 Python 宇宙,让你了解 Python 为什么能够在各种场景展现强悍的实力。

思维殿堂 Mind Palace

如果你看过电视剧<神探夏洛克>, 第四季中,夏洛克运用了一个技能叫: 思维殿堂

4a3c13f8068e9059c37b9a25261f658a.png

简单来说,就是把海量的数据,包括整本的书本,专业知识,实时新闻,朋友圈,全部以时间序列的方式存入脑子里,并且通过某种特殊结构来保持记忆的清晰,可以随时翻阅过去查看资料。

那真的普通人可以做到吗?我说也许可以,但是你不需要这么去做,因为你有 Python 库

Python 库 (Libraries)

Python 库是把一整套代码集合起来,包装成一个你随时可以调用的工具包,来完成某一个或者某一个特定领域的事情。例如当你需要去做一些复杂运算的时候,你可以通过调用库来直接实现,而不是去重复造车。

Never re-invent the wheels
In [1]: import numpy as np
In [2]: np.complex(100, 2)
Out[2]: (100+2j)

这里我从 Anaconda 进入 Jupyter Notebook 里来调用库,但是事实上你可以从任意一个创作软件这么做,这里我通过 Import 来调用一个库叫 Numpy。当你执行这两段代码的时候,有可能 Python 会报错说找不到 numpy, 那是因为你没有安装这个库。库原本是某一批人,或者组织写好的现成代码,他们会发布在网上让你使用 (软件的开源协议), 软件创作工具例如 Anaconda,PyCharm 会帮助你在库的管理选项里安装:

4cbb69bea67fee01344580d0473bd19d.png
Anaconda 库的管理界面,你可以直接搜索库并且下载安装

库自己也会更新,因为库的背后有一个社区或者一个组织不停的更新其功能,当然你也可以自己去贡献代码,例如 Numpy 的库:

NumPy - NumPy​numpy.org

在 Python 中,如果你已经安装了你想要的库,在代码里直接 import 就可以。一般打开一个 Python 的文件,你会发现前几行都是调用库:

import 

这里解释一下,第一个库 datetime 是 Python 自带的时间日期功能库,第二行也是 Python 自带的高级容器库,而第二行的语法 from ... import ... 是指从一个大的高级容器库 collections 里提取 一个小的库 (正确来讲是一个类型,但是之后在讨论数据类型的时候再更改) namedtuple, 这样做的好处是你不需要在一个程序中引入大量的不必要资源,引起资源冲突或者浪费内存。而 import ... as ... 语句是在调用库的时候添加一个库的别名,这样之后调用起来比较方便,不用打全名。

之后的5个库都是在 Python 宇宙中比较有名的工具库,第一个是 Pandas, 是从美国的一家量化基金公司 AQR Capital 开源出来的 (我的上家),目的是解决在金融投资领域的复杂数据处理问题,和优化运算速度。之后的三个 numpy, scipy 和 sklearn 都是很流行的复杂运算,科学建模和机器学习库,一般在一个金融领域或者数据科学的 Python 程序里都会出现这几个库,而且这几个库是相互依赖的, 当你安装或者使用一个库时需要另外一个库同时安装。所以我建议直接把这些库一起安全好。

第四个是 Matplotlib, 是一个数据可视化工具。用过 Matlab 或者 RStudio 的都知道,软件里都会有自带的画图功能,可以把函数或者数据结果直接以图像的方式展现出来,matplotlib 就帮你完成了这些功能。当然还有更高级的 plotly 库,就可以完成数据交互,数据Dashboard 和 流数据等,会在之后的教程中展现出来。

最后一个是 Python 训练神经网络的时候调用的库,你会发现小到保存数据,大到神经网络,在 Python 宇宙里调用都只是一行代码而已,所以前几节基础课虽然代码含量很少,但是你能实现的功能已经非常多样了。

这里上几个库的链接:

Python Data Analysis Library​pandas.pydata.orgscikit-learn: machine learning in Python​scikit-learn.org
2c5082abc6069076823930fd2251348b.png
Matplotlib​matplotlib.orgTensorFlow​tensorflow.google.cn
94c8cfc04fb8b28a174c6ee047e37b28.png
Flask​palletsprojects.com
03e09bd3a8b49b8cc52a4a42c9d781c2.png

如何学习库

就像教程开头所说的,库相当于一个思维殿堂,信息量是海量的。除非你要建立自己的思维殿堂,否则你没必要先去每一个库去学一遍,再想着之后如何使用。

学习库最好的方法就是先确定你的需求,你想要完成什么,然后去发现相应的库,再去想办法通过调用库的资源去实现。

我在这里整理一个列表,Python 已有的库可以帮你实现的包括:

  • 科学运算: Numpy, Pandas, Scipy, Statsmodel ...
  • 机器学习: Sklearn ...
  • 神经网络: Keras, Tensorflow, Torch ...
  • 数据可视化: Matplotlib, plotly ...
  • 数据爬虫: Curl, Scrapy
  • 建立网站: Django, Flask ...
  • 云部署: AWS, Alibaba Cloud ...
  • 平台 API: 各大平台的 Python API 几乎都有

当然还有很多其他的,更新更全的库,因为我这里只列举一些比较常用的,而且会在接下来教程中平凡用到的。你已经可以发现你可以完成的事情已经爆发式增长了,比方说你要建立一个全自动的数据流网页:

Flask (网站后台) ---> Numpy + Pandas + Scrapy (获得,处理数据) ---> Plotly (数据可视化)

如果你要走的更远,在云 (AWS, Alibaba Cloud) 上部署一个 Siri 的微服务器 (Flask),就可以直接通过 iPhone 的 快捷应用远程指挥你的网站后台,来给你实时推送流数据。

在之后的教程中,我们会一整遍走过这个流程,随后每个人 (不一定要计算机专业的学生) 都可以利用 Python 来完成一些人工无法完成的事情。

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

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

相关文章

抽象工厂模式java_《JAVA与模式》之抽象工厂模式

场景问题举个生活中常见的例子——组装电脑&#xff0c;我们在组装电脑的时候&#xff0c;通常需要选择一系列的配件&#xff0c;比如CPU、硬盘、内存、主板、电源、机箱等。为讨论使用简单点&#xff0c;只考虑选择CPU和主板的问题。事实上&#xff0c;在选择CPU的时候&#x…

java架构师_什么样的经历,才能领悟成为Java架构师?

最近我发现&#xff0c;无论是博客也好&#xff0c;还是我写的技术专栏也好&#xff0c;经常会收到很多朋友的留言&#xff0c;留言的内容除了讨论技术问题以外&#xff0c;问的最多的&#xff0c;莫过于职业生涯规划相关的了。例如&#xff1a;我刚毕业&#xff0c;如何入行Ja…

c语言实验报告9 四川师范大学,四川师范大学c语言实验报告.docx

四川师范大学c语言实验报告.docx下载提示(请认真阅读)1.请仔细阅读文档&#xff0c;确保文档完整性&#xff0c;对于不预览、不比对内容而直接下载带来的问题本站不予受理。2.下载的文档&#xff0c;不会出现我们的网址水印。3、该文档所得收入(下载内容预览)归上传者、原创作者…

浏览器崩溃_微软最新系统再迎“喜报”:更多用户的浏览器开始崩溃

Windows 10又闯祸了。事实上&#xff0c;新浪VR最近已接二连三地道了该系统的严重Bug问题&#xff0c;而这一次又跟浏览器有关。有很多用户在升级到最新版Windows 10 v2004之后发现&#xff0c;每次只要重启计算机&#xff0c;自己正常使用的Chorme就会被强制注销&#xff0c;而…

用python画画简单代码_震撼!用Python开发网站如此简单

Flask是一个基于Python语言的微型Web框架。之所以被称为微型&#xff0c;是因为其核心非常小&#xff0c;但是该Web框架简约而不简单&#xff0c;具有很强的扩展能力。本文介绍如何编写和运行第一个Flask Web应用程序。当然&#xff0c;阅读本文之前&#xff0c;需要读者有一定…

电脑有摄像头吗_网络答辩来了,我摄像头呢???

我们学校已经确定要网络答辩了。今明两天是预演答辩&#xff0c;就是指导老师带着我们一起熟悉下钉钉的使用流程&#xff0c;模拟一下答辩的过程&#xff0c;以免因为自己的不熟练而影响答辩的成绩。我们老师的意思&#xff0c;正式网络答辩过程中&#xff0c;因为自己的不熟练…

将十个数进行从大到小的顺序进行排列_如何进行商品ABC分类管理

​ ABC管理法是根据事物的经济、技术等方面的主要特征&#xff0c;运用数理统计方法&#xff0c;进行统计、排列和分析&#xff0c;抓住主要矛盾&#xff0c;分清重点与一般&#xff0c;从而有区别地采取管理方式的一种定量管理方法。又称主次分析法 、ABC分析法、分类管理法、…

c语言around用法,KET基础语法:介词among和around的用法及例句

孩子们开始学习KET考试后&#xff0c;标志着他们开始系统地学习语法&#xff0c;对孩子们来说是不小的挑战。复杂的语法时态、不同类型的介词、短语等&#xff0c;都要求他们掌握正确的复习方法&#xff0c;才能避免学习语法后&#xff0c;而不知道如何运用的误区。而学会错题整…

vue函数如何调用其他函数?_python函数调用的四种方式

第一种&#xff1a;参数按顺序从第一个参数往后排#标准调用运行结果&#xff1a;第二种&#xff1a;#关键字调用注意&#xff1a;关键调用从哪开始的&#xff0c;从哪以后都必须使用关键字调用除了‘*’收集参数。不能写成这样的&#xff1a;keyword_invoke(y1, 2)&#xff0c;…

android 基类封装用法,Android 基类封装之Fragment【原创】

现在的Android开发中&#xff0c;Activity和Fragment都是必不可少的&#xff0c;正如上篇博客所写&#xff0c;我们都会封装一个基类的Activity来做一些公共基础的操作。对于Fragment应用的越发广泛&#xff0c;在实际开发中&#xff0c;我们也应当封装一个基础的Fragment&…

fastjson 序列化 不包括转义字符_Java 反序列化工具 gadgetinspector 初窥 (上)

作者&#xff1a;Longofo知道创宇404实验室时间&#xff1a;2019年9月4日起因一开始是听Badcode师傅说的这个工具&#xff0c;在Black Hat 2018的一个议题提出来的。这是一个基于字节码静态分析的、利用已知技巧自动查找从source到sink的反序列化利用链工具。看了几遍作者在Bla…

char类型怎么输入 c语言_C语言中的char

C语言中的char是用于声明单个字符的关键字。char关键字具有一些很奇怪的特点&#xff0c;但是想要了解这些奇怪的特点为什么会存在&#xff0c;我们就要先了解char关键字的原理。char关键字会在内存中找到一字节的空闲空间&#xff0c;并且在里面写入一个从0到255的整型&#x…

无法创建ole db取值函数。请查看列元数据是否有效_[C++ Primer plus 心得]3.处理数据...

本章内容包括&#xff1a;C变量的命名规则。C内置的整型----unsigned long、long、unsigned int、int、unsigned short、short、char、unsigned char、singed char 和boot。C11新增的整型&#xff1a;unsigned long long 和long long。表示各种整型的数字字面值(常量)使用const…

android+ios打印机,Android/iOS手机安装HP打印机的详细方法和操作步骤

如今人们越来越依赖手机&#xff0c;手机几乎成为了生活必需品&#xff0c;其功能越来越多&#xff0c;对其他电子设备的操控能力也越来越强&#xff0c;那么手机如何操控打印机呢?今天小编就跟大家分享一下手机是如何通过无线安装打印机的。备注&#xff1a;本文以Android系统…

麒麟980可以升级鸿蒙吗,这五部麒麟980手机确定能升鸿蒙OS,其中有你吗?

原标题&#xff1a;这五部麒麟980手机确定能升鸿蒙OS&#xff0c;其中有你吗&#xff1f;就在今年九月的华为开发者大会上&#xff0c;余承东“一不小心”吐露出EMUI 11明年能升级鸿蒙OS 2.0的事实&#xff0c;这让许多华为用户兴奋不已&#xff0c;但首先你的手机必须要先能升…

python没有指针如何实现链表_Java、Python中没有指针,怎么实现链表、图等数据结构?...

Java、Python中没有指针&#xff0c;怎么实现链表、图等数据结构&#xff1f; (2016-10-06 11:08:19) 分类&#xff1a; C 其实Java, python完全可以看成在语言层用语法糖隐藏了指针。JAVA中到处充满指针&#xff0c;只不过把C中的指针封装成了对象的引用了&#xff0c;引用就相…

android语言列表+波斯,Android 多语言入门及实战

右键res&#xff0c;选择 New Resource Directory ,选择 locale ,选择自己想要适配的语言类型设置应用内多语言Android 7.0以下/*** 设置多语言*/public void setConfiguration(LocaleList locales, Context context) {Configuration configuration context.getResources().ge…

c# 从地址拷贝byte_面试必备的 “零拷贝” 问题!从头给你说!

本文作者&#xff1a;ksfzhaohui来源&#xff1a;juejin.im/post/5cad6f1ef265da039f0ef5df前言I/O概念1.缓冲区2.虚拟内存3.mmapwrite方式4.sendfile方式Java零拷贝1.MappedByteBuffer2.DirectByteBuffer3.Channel-to-Channel传输Netty零拷贝其他零拷贝总结前言从字面意思理解…

lda 可以处理中文_中文分词(jieba)和语料库制作(gensim)

本文的内容为以下两个部分&#xff1a;文本分词&#xff08;jieba&#xff09;语料库制作&#xff08;gensim&#xff09;结巴&#xff08;jieba&#xff09;分词在自然语言处理领域中&#xff0c;分词和提取关键词都是对文本处理时通常要进行的步骤。用Python语言对英文文本进…

js时间搓化为今天明天_秋冬国产搓背神器!360°无死角,让你搓背不求人,太舒服了...

秋冬国产搓背神器&#xff01;360无死角&#xff0c;让你搓背不求人&#xff0c;太舒服了&#xff01;夏季悄然离去&#xff0c;秋季快步走来&#xff0c;距离冬季也不远了~天气变冷以后&#xff0c;下班、放学回家了最惬意不过的就是洗个澡&#xff0c;如果泡完澡再搓个背&…