毫无基础的人如何入门 Python ?

一、写在前面

其实不止是 Python,任何学习都会遇到这么几个难点

  1. 迷茫,对于学习过程中,对新的、未知的概念欠缺了解;
  2. 彷徨,没有目的性的学习,不知道学完之后可以怎么用;
  3. 乏力,知道很重要,缺乏完整的知识体系,怎么都感觉没有学好;
  4. 无知,学习后觉得自己可以了,用到实际的时候依然不知所以然;

首先,不能不说的一点,学习python,一开始不要想着和数据分析有什么关系,而是了解完python可以做什么,再去想想哪些过程能应用到这些功能,解决什么问题;更不要想着和数学有什么关系,撇开其他不谈,python也是一门程序语言,和C、C++、VBA、R语言并没有什么区别,用类别的方式进行学习,事半功倍!

以下是一些可以去做检索的关键词,利用好百度、Google、知乎、CSDN、Stackoverflow、github,可以很好的进行自我学习;

11~13年的时候python学习的社区还不成熟,躺了无数多个坑。发展到现在,有特别多的在线课程可以跟着学习,站在前人的基础上进行翱翔。可以跟着循循渐进的进行学习,在理论知识、工具介绍、模块拆解、语法讲解上都有特别细的说明,也可以根据自己的目标去选择性学习(提高办公效率、高逼格分析可视化、算法实践),把知识嵌入到实际项目中去!

二、塑造清晰的认知(解决迷茫)

对于python学习来说,没有具体场景、数据的支撑,看了书、看了视频、看了课程,学完之后依然觉得很难应用,绝大多数情况下是因为只看了浅层的知识介绍,忽略了原有知识体系和本我工作的锲合度。

2.1 了解和认识Python的应用范围

应用1:利用python进行数据分析;

场景:替换原来在Excel中的函数统计、绘图的过程,对分析过程中的数据进行聚合处理,直接利用python相应的库进行分析结果呈现,实现多因素的可视化呈现,增加数据的可读性;

应用2:python爬虫;

场景:这应该是绝大多数初学者最容易上手的切入点,也应该是最感兴趣的一个点,通过爬虫去做数据采集,模拟业务场景去进行数据探索分析,必不可少的要去了解HTML的构成、元素、框架和规则; 然后就是爬图片、爬视频、爬评论,git上最经典的一个案例就是豆瓣、 但是爬虫有风险,一定要关注法律,不要因小失大!!! 参考链接:github地

应用3:机器学习和深度学习;

场景:在信息化程度比较高的企业,往往会有大数据算法分析应用的场景,利用sklearn提供的算法能力,可以快速建立模型,实现预测、分类、聚类、回归等目的;

应用4:Web应用开发;

当了解到python可以搭建网站的时候,跟着刘江老师的博客,手把手复刻了一个项目,利用django做了一个可视化系统,出来的效果如下图;同样的,还有flask的案例;

应用5:自动化测试和运维;

自动化的运维,省时省力省心,凡是能够自动化的过程,都可以在过程中有效的进行优化(偷懒) 关于nginx的开源网站介绍,一些开源项目可以直接拿来部署应用的项目情况,gitee

应用6:……

2.2 了解和认知Python的运行平台

工具1:IDLE;

IDLE是python自带的一个编辑器,相当简洁,简洁到简陋的地步;当安装好python之后,就伴生存在了,不需要再做额外的动作,基本功能有语法加亮、段落缩进、基本文本编辑、TABLE键控制、调试程序。

工具2:CMD and 终端命令行;

学习python过程中的一大阻力!!!尤其是对计算机系统并不是那么熟悉的同学,但是不得不去克服这种困难,在后续的学习过程中可能需要通过终端的命令来进行库的安装、查看,尤其是要做定时运行的时候。 windows下:win+R,输入CMD;mac下:直接打开终端;

工具3:Pycharm;

一开始有点难用,都是纯E的菜单、信息,但是它的诸多功能都特别实用,语法高亮、提示、补全、运行预览,而且安装包比较方便,属于熟悉之后就离不开的那种;

工具4:Anaconda;

naconda是最省心的一个平台工具,一站式解决了python安装、库安装的问题,直接集成了多个GUI的应用,并且提供了比较好的节目进行脚本开发;

工具5:Jupyterlab / Jupyter Notebook;

实现网页版的交互式脚本撰写,支持Markdown格式,在做数据探索的时候,顺便生成一份分析报告;

工具6:iPython;

python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。 在cmd命令行窗口直接输入ipython,得到如下界面:

工具7:Spyder; 适合科学计算,界面和 Rstudio类似,可以逐行调试;

2.3 了解和认知Python的基础知识

python基础知识就不展开了,在很多基础知识的网站上都会有介绍,在学习之初,最重要的几个概念理解清楚,然后不断的去发散。 知识1:pip; 知识2:import库操作; 知识3:文件读写; 知识4:pyhon的常用库及解决什么问题; 知识5:python2.x和python3.x的区别

三、建立明确的目标(消除彷徨)

在不同应用范围下,对相关的库所需要了解和掌握的程度差异略大,本质上是工作类别的差异性。 以数据分析岗为例,对于python的学习,可以集中在以下一些库上:

3.1 文件类

os——学习Python最优先看的应该就是os包,对文件夹、文件进行操作:

3.2 数据计算类

Pandas——像用Excel一样对数据进行统计分析; Numpy——拥有大量的计算函数,可以进行矩阵计算; Scipy——用于数学、科学、工程领域的常用软件包;

3.3 Python绘图类

Matplotlib——绘图必备,可以和seaborn结合一起,绘制出和ggplot风格的图; Pyecharts——百度可视化的开源库,可以做出丰富的JS图表;

3.4 交互类

Openpyxl——Python和Excel的交互包,可以对Excel进行操作; Pymysql——Python和mysql的交互包,直接连到数据库获取数据源;

3.5 文本处理类

re——必须要学会的正则表达式,对于文本处理有非常好的用途; json——非结构式的key:value数据处理;

四、构建完整的体系(丢掉乏力)

为什么要去构建知识体系?让知识有层次、有结构、有深浅。参考一本书的目录,从浅入深的做好知识沉淀; 脱离于认知期和熟悉期之后,对于python能够实现的功能有了大概的了解,能够定向的去解决一些问题,用来用去也就那么几个方法。这时候,就需要对所用的包有一个具体的了解,而且一定要围绕自己学习的重点来展开,

4.1 官网的知识地图(以pandas为例)

参考一下官网的知识结构梳理: 语法 - 数据整理 - 数据重塑 - 行列操作 - 数据统计用法 - 缺失值处理 - 数据集合并 - 数据分组 - 绘图呈现

可以按照这个思路对所用的库进行拆解,能够有更清晰的认知,针对某一场景的时候,可以用多个不同的方法进行解决,以及如何高效的进行解决!

4.2 用Xmind构建知识树(adaboost)

参考一本书的目录,从浅入深的做好知识沉淀; 譬如:

知识体系的构建,不是一朝一夕的事情,需要依赖长时间的经验沉淀,根据自己对知识的掌握,绘制一些知识树,把python可解决的一些能力具象出来。

五、完善场景的练习(不要无知)

刻意练习,不能闭门造车!!! 从实际的业务场景中进行需求提炼,把场景和python学习结合在一起,基于需求的学习可以事半功倍。 我用python主要是还是用在数据分析上,从数据采集、清洗、处理、建模、结果、可视化、汇报的流程链路上,用不同的库分别解决各自的问题,实现效率的提升。在这个过程里面,需要结合大量的数理知识、算法知识、设计理念来把事情串起来。可以把数据场景和Python的库进行一一对应,也可以进行对比学习,把所有Excel处理的场景通过Python进行复现,然后逐步的去Excel化! 1.基础 -> 2.统计 -> 3.编程 -> 4.机器学习 -> 5.NLP -> 6.可视化 -> 7.大数据 -> 8.资料撷取 -> 9.数据清洗 -> 10.工具箱

python是工具,工具即利器,磨刀不误砍柴工,把工具研究透彻,就能在实际的项目上大刀阔斧,而不是临阵磨枪,乱了阵脚。 碰到问题解决问题,建立自己的一套问题词库,在碰到困难的饿时候,可以优先通过平台搜索解决很大一部分问题,问题解决的优先级: 搜索引擎 > 厉害的知识博主 > 周边的大牛 > 较早学习的前辈 > 视频课程 > 书籍

六、写在最后

在学习的路上,就是一个塑造自我认知的过程,一定要清晰,且明朗,知之为知之,把每一个概念理解清楚,扩散的知识点了解清楚,在碰到问题的时候就会游刃有余,而不是不知所措。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

通过 CMake 制作库文件 静态库 和 动态库

hehedalinux:~/Linux/loveDBTeacher-v2$ tree . ├── CMakeLists.txt ├── include │ └── head.h ├── main.c └── src├── add.c├── div.c├── mult.c└── sub.c CMake Calc 项目 在这里有add.c,div.c,mult.c,sub.c,main.c,head.h 二、生成静态库 …

protobuf学习日记 | 初识protobuf

目录 前言 一、序列化与反序列化 二、protobuf是什么 三、protobuf的使用特点 四、快速上手 1、proto文件编写 2、编译proto文件 3、序列化与反序列化的使用 前言 这是小编新开的一个栏目,为了记录自己在学习ProtoBuf的历程,也希望能帮助大家&am…

༺༽༾ཊ—设计-七个-07-原则-模式—ཏ༿༼༻

第七原则:迪米特职责 类与类之间的耦合度尽可能低 换言之,我们可以理解成———只与直接朋友说话,不跟陌生人说话 直接朋友: 通过方法传参传进来的朋友, 类自己的字段, 构造函数进来的也是直接朋友&…

CrystalDiskInfo v9.2.2

软件介绍 CrystalDiskInfo免费专业硬盘检测工具,硬盘健康状态信息检测工具。支持检测机械硬盘及固态硬盘信息,采用S.M.A.R.T.技术检测分析读取磁盘的详细信息,包含硬盘温度,固件、序列号、驱动器接口等。CrystalDiskInfo是由日本…

前沿重器[40] | 高级RAG技术——博客阅读

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经…

回声状态网络(Echo State Networks,ESN)详细原理讲解及Python代码实现

回声状态网络(Echo State Networks,ESN)详细讲解及Python代码实现 1 基本概念 回声状态网络是一种循环神经网络。ESN 训练方式与传统 RNN 不同。网络结构如下图: (1)储层(Reservoir)&#x…

zotero使用gpt

zotero使用gpt 下载 zotero下载:https://www.zotero.org/download/ 插件下载:https://github.com/MuiseDestiny/zotero-gpt?tabreadme-ov-file 插件安装 zotero中选择 工具->添加组件 选择右上角的齿轮,选择Install add-on from fil…

LabVIEW水泵性能测试系

项目背景: 水泵作为工业和日常生活中不可或缺的设备,其性能测试对于提高设计水平和改善性能至关重要。传统测试方法往往需要依赖经验和理论的结合,且测试效率和准确性有待提高。为了解决这些问题,设计了一套基于NI-LabVIEW平台的水…

TikTok电商加快闭环,独享IP为运营带来哪些好处?

近日有消息称TikTok电商在加快闭环,以后商家可能无法继续在TikTok上为其他电商平台或独立站引流了。如今“TikTok Shop Shopping Center”平台正在构建,将各种购物渠道整合为一体,这可能是一种趋势,意味着TikTok逐渐从社交应用转型…

movie-web, 开源的电影搜索网站

这个开源的电影网站 movie-web 看起来是一个很不错的项目。它提供了简洁易用的界面,并且能够保存播放进度和收藏电影。同时,它还支持中文输入和快速的搜索响应速度,这对于中文用户来说是非常方便的。 不过需要注意的是,虽然它可以…

C# Cad2016二次开发api(三)

直线 Line 属性中文数据类型作用Length长度double直线的长度Angle角度double直线的弧度,0~2πDelta增量Vector3d起点到终点的向量Normal法向向量Vector3d直线所在平面的法向单位向量Thickness厚度doubleEndPoint终点Point3d直线的终点StartPoint起点Point3d直线的起…

使用Python实现深度学习模型通常涉及以下几个步骤:

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

RabbitMQ脑裂处理

脑裂现象: Network partition detected Mnesia reports that this RabbitMQ cluster has experienced a network partition. There is a risk of losing data. Please read RabbitMQ documentation about network partitions and the possible solutions. 转载请在文…

什么是技术架构?架构和框架之间的区别是什么?怎样去做好架构设计?(二)

什么是技术架构?架构和框架之间的区别是什么?怎样去做好架构设计?(二)。 技术架构是对某一技术问题(需求)解决方案的结构化描述,由构成解决方案的组件结构及之间的交互关系构成。广义上的技术架构是一系列涵盖多类技术问题设计方案的统称,例如部署方案、存储方案、缓存…

Centos系统安全设置

1 设置密码复杂度,帐号密码有效期3个月 密码复杂度要求:最小长度8位,至少2位大写字母,1位小写字母,4位数字,1位特殊字符 1)执行备份: #cp -p /etc/login.defs /etc/login.defs_bak…

逸学Docker【java工程师基础】3.3Docker安装nacos

docker pull nacos/nacos-server docker network create nacos_network #创建容器网络 docker run -d \ --name nacos \ --privileged \ --cgroupns host \ --env JVM_XMX256m \ --env MODEstandalone \ --env JVM_XMS256m \ -p 8848:8848/tcp \ -p 9848:9848…

Linux 有哪些搜索方式?5分钟带你搞懂!

5分钟带你掌握 Linux 的三种搜索方式 前言 1.find 命令 find 命令是用来在给定的目录下查找符合给定条件的文件 语法格式:find [查找起始路径] [查找条件] [处理动作] (1)根据名称查找:find [查找起始路径] -name 文件名 或者…

​LeetCode解法汇总82. 删除排序链表中的重复元素 II

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:. - 力扣(LeetCode) 描述: 给定一个已排序的链表的头 head &#xf…

request entity too large 解决请求实体过大问题的方法

在网络请求过程中,有时会出现请求实体过大而导致服务器无法处理的情况。本文将介绍两种情况及其解决办法,真实可用! 问题描述 请求实体过大问题主要分为两种情况: 1、带413状态码的请求实体过大 这种情况通常发生在请求文件过…

09- OpenCV:图像上采样和降采样

目录 1、上采样和降采样 简介 2、采样的应用场景 3、采样的API 4、图像金字塔概念 5、代码演示 1、上采样和降采样 简介 在图像处理中,上采样(Upsampling)和降采样(Downsampling)是常用的操作。 (1&…