python生信学习我爱编程

【基础篇】1-介绍与学习准备

2018-03-25  本文已影响376人  王诗翔

在正式学习用Python进行数据分析之前,我们先来简单的了解下Python以及进行学习之前的软件安装和配置。

Python是什么

在IEEE发布的2017年编程语言排行榜中,Python高居首位。对于这样一门流行的编程语言,无数的Python入门图书都给相关的定义,但我个人认为,最清晰明了的说明来自维基百科:

Python是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,如面向对象) 的LISP。作为一种解释型语言,Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。

这一段话虽然不长,却简要地囊括了读者需要了解的Python最基本的信息:

  1. Python被广泛使用
  2. 属于高级编程语言,这区别于C这样的中级语言或是底层的硬件编程、汇编等语言
  3. 创始人为吉多·范罗苏姆,于1991年发布
  4. 支持面向对象编程(OOP)
  5. 属于解释型语言,解释型语言以文本的方式存储程序代码,不需要在运行前进行编译(为大众所熟知的C语言就不是解释型语言,在运行前必须编译为机器识别的语言)
  6. 强调代码的可读性和简洁的语法是Python的设计哲学,这一点尤为需要注意和理解,这是Python在形式上最有别于其他编程语言之处,Python使用空格的缩进来划分不同的代码块,其他一些常见语言一般使用大括号或者关键字。正是这个特点,让Python代码不论大小长短都看起来非常简单清晰,易于使用(我们会在学习的过程中深入理解这一特点)

为何要使用Python进行数据分析

近一些年,Python的科学计算库不断进行改良,比如结构化数据操作库pandas、机器学习库scikit-learn,使得利用Python来进行数据分析任务是一个非常优选的方案;不仅如此,Python有一个“胶水语言”的外号,它能够非常轻松地集成C、C++等底层代码,进行计算优化;与SAS和R这样分析建模领域特定编程语言相比,Python可以同时用于项目原型的构建和生产,从而免去使用多个语言的苦恼。加上Python本身几十年精进的强大编程能力,我们只使用Python就可以完成以数据为中心的建模、分析与应用。

科学计算核心库简介

Python拥有着众多的软件包/库,我们难以一一涉猎和学习,这里简单介绍几个构成Python科学生态系统的核心成员,我们会在学习Python基本知识后进行简单学习和使用:

软件安装与配置

Python存在Python2(现在一般指Python2.7)和Python3(现在一般指Python3.5及以上)两个不同的版本,官方已经发布声明2020年将停止Python2的更新和维护,全面进入Python3时代。因此,我们学习都以Python3版本为标准。

另一个我们需要解决的问题是IDE(集成开发环境),现在流行的Python集成开发环境很多,比如PyCharm、Sublime Text、Eclipse+Pydev和Anaconda中的Spyder。不同的软件、系统安装和配置方式各不相同,为统一学习者的使用环境,我们使用Anaconda平台的Jupyter notebook进行学习。Anaconda是非常强大的跨系统开源计算平台,支持我们个人PC使用的Windows、Linux和MAC,提供的近1000个软件包可以完全解决我们个人工作任务需求。

为方便大家不同个人电脑配置下的学习,我介绍一下线上和本地机器上学习环境的安装和配置,读者任选其一即可。

线上平台

网络上现在有很多在线的Python解释器,可以在有网的情况下通过浏览器运行代码。因为包的导入和计算都在服务器端,因而学习者不需要较高的配置的电脑就能进行学习和分析。这里我推荐两个免费Jupyter Notebook网址,大家结合自己电脑的配置和网络情况使用。

一是Jupyter官方提供的使用Ipython学习教程网站,包含学习Ipython使用的例子和练习,读者可以在教程的主页运行、调试代码,并下载Jupyter笔记本到本地存储。

Jupyter官方提供的在线网站

二是微软公司提供的Jupyter数据探索学习平台(https://notebooks.azure.com/),支持在线运行多种语言进行数据科学探索,最常用的就是Python和R啦。读者可以通过微软账户创建仓库,新建Jupyter Notebook书写代码和探索数据,完成后可以保存、与他人分享(使用过Github等开源仓库的读者会发现这个平台的操作极为相似)。

微软Jupyter数据科学学习平台

两者相比较,我更推荐读者使用后者。经过我的测试,发现前者在使用过程中比较容易崩溃,运行代码效率也低;后者在创建、使用、保存与分享方面都优于前者,不过大家首先需要做的就是拥有一个微软账号。

本地安装与配置

如果想要在本地部署学习环境,我们需要安装两款软件。第一款是我们前面已经提及的Anaconda,为必需软件;第二款为nteract(https://nteract.io/),为可选软件。与Anaconda默认提供的Jupyter Notebook不同,nteract像我们常用的文字编辑器一样,界面非常简洁酷爽,可以非常方便的编辑Jupyter Notebook文件(文件后缀名为.ipynb)。不过nteract目前只有alpha版本(测试版),功能还在完善中,当然这不会影响我们使用它学习Python,所以推荐读者大家尝鲜使用,本书后面的代码和文档展示也都会使用它。由于Jupyter Notebook与nteract运行Python都是基于ipython内核ipykernel,除了显示效果,在使用上并没有太多的不同,因而读者完全不必担心软件的选择和使用问题。

nteract官网

Anaconda下载与安装

读者可以到Anaconda官网下载地址(https://www.anaconda.com/download/)下载对应系统的Python 3.6版本的Anaconda。安装过程在Windows和Mac系统上跟普通软件相似,一路点击下一步、同意协议等等即可,唯一需要的一点是将Anaconda路径添加到环境变量,Windows系统如下图所示:

Windows安装Anaconda注意事项

Linux使用命令行安装(Mac也可以),下载完成后打开文件所在目录并在该目录下打开终端(也可以从其他目录使用cd命令切换过去)。

然后键入命令:

# 除了使用浏览器,也可以通过终端下载Anaconda
# https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh

# 添加执行权限
chmod u+x Anaconda3-5.1.0-Linux-x86_64.sh
# 执行安装
./Anaconda3-5.1.0-Linux-x86_64.sh

# 也可以直接使用Bash进行安装
bash Anaconda3-5.1.0-Linux-x86_64.sh

然后按照提示敲回车键即可,同样注意要添加路径到环境变量

在终端中键入:

jupyter notebook

即可打开Jupyter Notebook(Windows使用Windows+R组合键,键入cmd)。默认浏览器会自动打开,跳转到主页面,然后读者可以新建Python3 Jupyter笔记本进行学习和创作啦!

Jupyter Notebook主页

提示: 如果觉得官网下载过慢,可以使用百度云。链接:https://pan.baidu.com/s/16osMDSyqWeqigs0v1R1YRg 密码:jivn 如果百度云存储的版本过久,请提醒我进行更新

推荐阅读

如果大家对Anaconda及其安装、Jupyter Notebook不了解,可以阅读

Anaconda介绍、安装及使用教程https://www.jianshu.com/p/62f155eb6ac5
Jupyter Notebook介绍、安装及使用教程 https://www.jianshu.com/p/91365f343585

nteract下载与安装

同样地,在nteract官网https://nteract.io/下载系统对应软件版本,Windows、Mac与Linux上都可以直接点击安装。安装后直接点击软件图标打开:

nteract界面

点击上方菜单栏的“Runtime”,如果出现Python则说明可以使用了,左下方也会出现“Python 3”标记。如果没有,请检查你是否已经成功安装Anaconda,其他问题请在网上检索,或者留言、邮件咨询我。

提示: 如果觉得官网下载过慢,可以使用百度云。链接:https://pan.baidu.com/s/1ykgw1ukd2IwQ4vELo5JDcw 密码:kgka 如果百度云存储的版本过久,请提醒我进行更新

如果你已经成功配置好了软件,那么让我们正式迈出Python数据分析的第一步吧!


第一章花了一周多的闲暇时间终于写完了,写的时候需要查询、准备和整合资料,这中间不可避免出现疏漏甚至错误,请大家原谅。也请大家在阅读的过程中多提意见,你的一点意见,都是这篇文章、这本书的一次优化。如果大家在学习的过程中出现问题或者遇到困难,欢迎随时留言或者邮件@我。

上一篇 下一篇

猜你喜欢

热点阅读