学Python不需要报班看视频

1、Python

    Python作为一种解释型编程语言,学习起来非常通俗易懂,所以成为了当下最为流行的变成语言之一。尤其在数据处理方面,它的表现颇为不俗,所以笔者从自身经历出发,详细介绍Python从安装到进行数据处理的入门过程。

笔者不是计算机专业出身,之前几乎对编程没有任何学习经历,仅仅抱着对繁琐数据处理工作的烦躁心情和我的好奇心,开启了我的Python生涯。

同时,我相信学习编程语言最重要的是练习,所以我们可以从我们平时遇到的问题出发,进行针对性的练习。当然,你也可以从以下网址中寻找问题灵感、下载数据集,进行一些练习,还有一些可以参赛拿奖金哦!!!

网址如下:
1、Kaggle主要为开发商和数据科学家提供举办机器学习竞赛、托管数据库、编写和分享代码的平台
2、Become a Big Data Analyst?

2、安装Python

    第一步,自然是Python的安装。现在在很多微信公众号在做一些软件的学习推广并附有详细的安装步骤,笔者将自己下载安装的链接附在了微信公众号—佐佑思维(二维码见后,回复Anaconda即可)中,公众号里会有详细的教程。

2.1、建议安装 Anaconda,为什么呢?

因为Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,我们在实际操作时可能就需要导入一个叫“模块”的东西。这个模块在笔者的理解,认为就是提前写好的代码块儿,可以直接引用,方便笔者这类非专业人士直接引用来实现所需功能,简单的操作有读取文件比如:Excel表格数据,复杂的也有机器学习。

假如我们只是安装了Python,那么它只包含python自带模块,那么我们还需要通过下载安装很多第三方开源模块(可通过pip install 模块名 联网安装)。而Anaconda是一个开源的Python发行版本,其包含了大量的科学包,这样在我们进行Python编程时,Anaconda 的下载文件比较大(约 几百 MB),如果你想要节省存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。

3、Python编译器

  简单讲,编译器在笔者认为就是将Python这种代码语言传递给计算机去执行的一个程序。
Anaconda里,有很多编译器,如
**Anaconda**编译器这其中,我最推荐的是jupyter notebook和jupyterLab,因为这两个编译器是网页窗口,可以直接在浏览器中运行,而且界面简单清新,打开也很快,

3.1、jupyter notebook的基本使用

只需要在开始菜单点击运行运行,输入cmddos窗打开,输入jupyter notebookcmd即可进入浏览器,发现多出来了
在这里插入图片描述接下来找到左上角File下确定你要保存的文件夹
在这里插入图片描述然后找到右上角的New点击并选择Python3
在这里插入图片描述即可在所选文件夹创建一个新的ipnb格式的代码文件。
以下是打开后的编写代码的界面,点击顶部灰色的Untitled可以设置中文或英文的文件名,下面绿色框出的是一个个的代码块儿,每个小块儿可以单独地运行
在这里插入图片描述方形框选的一排是常用的快捷操作,这里面最最常用的Run,它可以单独运行一个小的代码块儿,可能你对这个功能不是很理解,没关系,这里简单解释一下,其实就是说,你在写代码时一般不会一次性就写出完美运行的程序,那么在检查哪行代码出错时,可以将你的代码分段,然后一行或者多行逐步运行,这样就可以检查出错误的位置。
在这里插入图片描述至于圆形框选出的部分写着Code,这是表示你当前所在代码块儿是被你用来写代码的,它还可以选择Markdown,这样编写的就是文本,Run后就变成了在这里插入图片描述它还可以通过”# “转换成标题,这里必须要有空格

# 佐佑思维
## 佐佑思维

如此在写代码时就可以形成目录,有助于分类整理,便于记忆。
在这里插入图片描述

3.2、jupyter notebook的插件

jupyter notebook有很多扩展插件,有助于提升你在编程中的使用效率,其中,笔者使用的是Nbextensions 插件。界面如下:
Nbextensions 插件Nbextensions 插件扩展功能非常多,笔者主要使用的是形成目录栏(Table of Contents(2))、显示所有构建的变量信息(Variable Inspector)、计算每一个模块的开始时间和运行结束时间(Execute Time)、代码折叠(Codefolding)等。

3.2.1、Nbextensions插件的安装排坑

安装Nbextensions插件时,请使用最新的pip,如果不是,在cmd窗口输入python -m pip install --upgrade pip进行更新。

如果采用官方网站下载会非常慢,甚至容易下载失败,所以建议使用国内的镜像安装:

按照前面的方法在cmd窗口
cmd中将“jupyter notebook”换为

pip3 install jupyter_contrib_nbextensions -i https://pypi.doubanio.com/simple/

当下载完成后,进行配置

jupyter contrib nbextension install --user --skip-running-check

这时运气好可以在Home的浏览器标签页看到Nbextensions板块,点开界面如前面的图。
在这里插入图片描述但是笔者安装后发现Nbextensions板块里的界面为空,没有扩展功能项,这时继续在cmd窗口输入

jupyter contrib nbextension install --user

成功得到了如前所示的Nbextensions扩展功能界面
如果还是不行,可以通过关注公众号“佐佑思维”询问。

3.2.2、Nbextensions插件的扩展功能简介

笔者介绍一下自己使用的功能:
在这里插入图片描述我相信对于非专业人士来说,这五个功能也绝对是相当有用的。

3.2.2.1、AutoSaveTime

选中AutoSaveTime这个功能选项后,返回jupyter notebook中,就可以调整你编写代码的自动保存时间,这样就不用一直担心没有保存而导致代码丢失,时间设置得也不要太频繁,不然对电脑运行也是一种压力。
在这里插入图片描述图中所展示的圆形框选中的就是在jupyter notebook中可以调节自动保存时间的按钮。

3.2.2.2、Table of Contents(2)

当你在Nbextensions板块儿勾上Table of Contents(2)后,返回jupyter notebook中,就可以发现一个按钮
在这里插入图片描述AutoSaveTime的旁边,图中用圆形框选出。点击后出现由Markdown“+”#的方式(前面第3.1节有介绍)设置的标题组成的目录页在这里插入图片描述如上图方形框所示。

3.2.2.3、Variable Inspector

当勾选Variable Inspector选项后,返回jupyter notebook中,发现在AutoSaveTime的左侧多出一个按钮
在这里插入图片描述
点击这个圆形框选的按钮,将显示所有构建的变量信息(变量名),如下图框选所示。
在这里插入图片描述

3.2.2.4、Codefolding

当勾选Variable Inspector选项后,返回jupyter notebook中,发现在代码块儿的最左侧出现一个下三角在这里插入图片描述这就是代码的折叠功能,当你写的代码非常长的时候可以将它折叠便于管理。折叠效果如下图:
在这里插入图片描述它可以折叠一个循环、条件、函数、类等。

3.2.2.5、ExcecuteTime

当勾选ExcecuteTime选项后,返回jupyter notebook中,执行代码块儿后,可以发现在代码块儿的下部会出现
在这里插入图片描述这就是ExcecuteTime功能,可以计算每一个代码块儿的运行时间,以及运行结束时间。

4、Python编程学习

    当上面的工作都准备好之后,就可以进行正式的编程了。首先,笔者认为要建立一个思想,就是编程不是一定要多额高大上,它的本身没有多么难,最核心的东西还是你构建的思路,那么你只需要学习简单几样儿东西就可以慢慢上手解决你的问题。

最最关键的就是了解以下几块儿内容之后,你就可以利用 百度 来解决你所遇到的问题,还有很多相关的代码网站,我会在之后的内容分享出来。

4.1、注释、变量和输出

在这里插入图片描述如图所示,我们写代码时,由于不是特别熟悉,也为了防止思路被遗忘,我们在Python中常使用“#”来进行注释;

对于图中的a、b、c都是表示变量,就像数学方程里的x、y,进行解方程前,x、y都是未知的,只是代表某个值,解出来就知道具体等于多少,就像“鸡兔同笼”问题,将鸡、兔个数定义为x、y,这里的x、y就是变量名,它们表示变量,在计算机中,可以通过变量名来调出变量所代表的值。当然,变量是个抽象概念,可以是很多数据类型,下面会介绍数据类型;

至于print(c)是将结果输出在屏幕上,可以让我们检查结果哦,当然如果你不想学习如何输出到Excel、文本文件等文件中,也可以直接复制粘贴你的结果。

4.2、数据类型

对于笔者这种非专业人士,我相信大部分的非专业人士也一样,主要是进行一些简单的数据处理,那么数据的类型就需要我们了解一下:
笔者主要使用的标准数据类型

#数字
int()
float()
bool() 
#字符串  
str()     
#列表
[]
#字典       
{key:value} 

这些都是无需导入模块儿就可以进行操作的数据类型
还有一个数组平时会经常用到,但是需要导入模块儿numpy
如下输入

import numpy as np
a=np.zeros(5)

就可以建立一维零数组[0. 0. 0. 0. 0.]
接下来很多运算符号和我们在平时用到的基本保持一致,如果不太知道可以直接百度,会有很多详细地解答。

4.3、语句

语句在笔者看来就是固定格式的代码,对于大部分人,用Python最核心的就是用好 “if” 判断语句和 “for” 循环语句,解决问题其实最主要的就是将这两种语句结合起来,从而实现所需功能。

4.3.1、 “if” 判断语句

以下是判断语句的一般形式:

#condition_1表示条件1
if condition_1:       
    statement_block_1  #表示满足条件就会执行这一行代码,不满足就跳到elif
else:                  #不满足condition_1的条件就执行else下面的代码
    statement_block_2

整个代码的意思就是,如果(if)满足条件(condition_1),就进行statement_block_1的代码;如果不满足(else)条件(condition_1),就进行statement_block_2。只要能理解这四行的意思,就可以实现判断,而且statement_block_1statement_block_2也可以继续使用判断语句。

4.3.2、“for” 循环语句

以下是循环语句的一般形式:

for variable in sequence:  #variable表示变量名;sequence表示一个范围
    statements               #statements表示你要循环的代码

循环可以用来进行一些重复性工作,比如将序列sequence(笔者常用列表和数组,如果你要重复n次可以用range(n)来替代这个序列),用variable代表一次循环的序列元素值,这样在statements里就可以对序列值一次次地进行循环操作。

4.4、模块

在进行一些比较复杂的操作时,可能最最基础的Python功能是无法实现的,但是幸好有许许多多的工程师在不断地发展Python,他们将很多编好的现成代码形成了模块,这样就实现了很多很多我们现在的功能,比如之前提过的numpy就是关于数组的模块,所以我们现在只需要通过import引用一下就可以使用现成的功能了。

import module1[, module2[,... moduleN]

当然关于很多模块的功能,用的时候去百度就可以了,当然也可以关注“佐佑思维”的公众号,笔者会知无不言,言无不尽。

4.5、代码参考

当然,对于像笔者一样的非专业人士,要实现一些功能总是需要参考一些代码的,这样也有利于自己在编程时思路的拓展,那么我在这里推荐一个网站,是代码共享的“天堂”,笔者几乎查到了我所需要解决问题的所有代码:Github
我相信很多大神都知道,这个网站真的有很多大神,所以对于像笔者这种非专业人士,Github就是神一般的存在。

5、笔者会在之后的博客中针对自己遇到的问题详尽地介绍关于数据处理的各种知识点,佐佑思维公众号也会同步更新,欢迎大家关注!

6 佐佑思维二维码:

佐佑思维

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值