Chinaunix首页 | 论坛 | 博客
  • 博客访问: 71699
  • 博文数量: 23
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-05 21:57
文章分类
文章存档

2016年(4)

2015年(5)

2014年(14)

我的朋友

分类: Python/Ruby

2016-12-06 00:37:00

Hi,我是舍得。

六年前,我为了给SuperMemo设计一个辅助工具,无意中撞进Python这个圈子,从此,一发不可收拾。

当时,我的编程知识几乎可算是零基础。真要认真滴追根溯源的话,嗯嗯,我在2000年左右开始接触asp,做过几个网站,然后慢慢学了点PHP,直到2009年,建了一个叫“舍得学苑”的网站。然而,毫不客气的讲,这些对于我后来学习编程,帮助真的不大。

都说学编程最好有不错的英语基础。这倒不假。你若能有一定的英语阅读能力,在Python的学习中,可以直接去查看各种英文文档。

不要被”英语基础“这四个字吓倒。舍得的英语基础并不好,当年在读技校的时候是没有英语这门课的。so,我的“原始”英语基础仅仅是初中水平。能读英文文档,完全是后来慢慢一步步积累起来的。我能做到的,你自然也能。

为什么选Python?

这个嘛,我还真没办法告诉你一个完全正确的答案。

我只能很唯心滴讲几点自己的看法:

  • 简单,学习成本低:连我这零基础的都学得会,六年间,开发了转换精灵、课程助手、课程编辑器等软件,自然是因为Python的学习成本够低;
  • 开发速度够快:写几行代码,随时可以运行一下看到效果;
  • 大量的库可用:你不必自己去造轮子。自带的标准库不必再说了,读写excel有xlrd/xlwt,数据分析有pandas,数据库工具可选用sqlalchemy,打包可以用cx_freeze……

    至于图形界面的开发,可以使用PyQt,同样非常的方便。

    如何开始?

    俗话说,万事开头难。这个一点不假。

    难在哪里?

    难在刚开始的时候容易碰到各种卡到你的问题,这确实是一件让人扫兴的事情。所以,若能让学习之路变得更好走一些,让学习的曲线更平坦一些,无疑会帮助我们更快地度过学习的起步阶段。

    那么,从哪开始呢?

  • 给自己的电脑上装上python,舍得根据目前的Python的现状,推荐安装Python3.4.x。3.3及以前的版本,有些常用的库慢慢地不再支持,而3.5及以后的版本呢,也有一部分的库还来不及支持它,所以当下最适合的版本是3.4.x。舍得会在文末放出相应的下载地址,当然,你也可以去官方下载;
  • 阅读《Head First Python》。刚学Python时不要去读太多书!最好的学习方式是边读书,边敲代码来验证、来获得最直观的体验,代码执行的结果会让你明白,哦,原来书中讲的是就是这个!我们不需要知道为什么写这个代码可以获得这样的结果,我们只要记住,这个代码可以让你实现这种效果,下次这么去用就行了。《Head First Python》是Python入门类书籍中的佼佼者,舍得竭诚推荐优先食用;
  • 使用一些工具,来加快学习过程,提升学习效率。这个呆会舍得再细讲;

    之后怎么学习?

    严格地讲,这个话题应该留到以后。不过舍得觉得,先预告一下也无妨:

    • 进一步完善开发环境:安装PyQt4、Eric6,还有一些常用的库;
    • 从PyQt4的官方范例入手学习:这是最快的学习方式之一。官方范例大多短小精悍,你可以像舍得一样,走”修改流“路线,把它们修修改改,跟捏橡皮泥一样,最后捏出的东西跟你自己的作品一样。这个跟刚开始学自行车一样,一开始有人帮忙扶着、看着,骑得熟了,慢慢不用扶,不用看了,你就学会骑车了;

    如何用工具来提升学习速度?

    前面舍得讲到,我们要在看书的同时,做相应的练习。这个练习,可以用Python自带的Shell来完成。但老话说的好,工欲善其事,必先利其器。用自带的Shell来做练习,太过原始了。现在,我们可以有更好的办法。

    方法一:安装ipython。这是一个python的交互式的shell,比自带的强太多了。下面舍得直接讲安装办法(注意,以下所用到的安装包均会在文末提供下载,操作系统为windows-win7或win8,示例用的Python默认安装路径为”C:\Python34”):

    1. 先将舍得提供的ipython-5.1.0-py2.py3-none-any.whl文件解压到Python34\Scripts文件夹下;

    2. 打开命令提示符窗口,转到python下的Scripts文件夹下:

      • 按Win+X组合键,从弹出的快捷菜单中选择“命令提示符(管理员)”;
      • *如果你的系统盘和Python安装位置并不在同一分区,比如你将python装在“D:\Python34”下,而系统盘是C,那么需要输入“D:”再敲回车;
      • 输入“cd\Python34\Scripts”,然后敲回车, 就会进入Scripts文件夹下;

    3. 输入“pip install ipython-5.1.0-py2.py3-none-any.whl”,再敲回车;

    4. 如果没有出现错误提示的话,你可以Scripts文件夹下找到“ipython3.exe”这个文件,用鼠标右键点击它,然后从弹出的菜单中选择“发送到->桌面快捷方式”,以后只要运行它,就可以在这个ipython的窗口下敲敲代码来学习了!

    SNAG-0127

    方法二:安装notebook。这是一种更高级、用起来更爽的方式,舍得以后发的部分文章,会发布相应的notebook文档。这个需要安装多个包,下面一一讲解:

    1. 将下面用到的whl文件解压到Python34\Scripts文件夹下;

    2. 打开命令提示符窗口,转到python下的Scripts文件夹下,具体方法详见方法一;

    3. 输入“pip install pyzmq-16.0.2-cp34-cp34m-win32.whl”,再敲回车;

    4. 输入“pip install Jinja2-2.8-py2.py3-none-any.whl”,再敲回车;

    5. 输入“pip install tornado-4.4.2-cp34-cp34m-win32.whl”,再敲回车;

    6. 输入“pip install notebook-4.2.3-py2.py3-none-any.whl”,再敲回车。理论上3-5步可以不做,直接做第6步也行,但那样靠它自已去获取相应的依赖包(就是3-5中的这仨),下载速度可能会比较慢,有时甚至会安装中断,推荐这样逐个安装;

    7. 以上工作完成后,你可以Scripts文件夹下找到“jupyter-notebook.exe”这个文件,用鼠标右键点击它,然后从弹出的菜单中选择“发送到->桌面快捷方式”,当然你可以双击它直接运行;

    8. 双击运行jupyter-notebook.exe,程序会在你的浏览器(推荐在系统内安装chrome,如果你还在用IE系列的浏览器,辣么,是时候告别它了)中打开Jupyter的页面。这是jupyter-notebook利用tornado这个web框架搭的一个本地服务器——如果你对这些名词不熟悉,先别管它,你只要知道,执行这个程序,你就可以在浏览器中敲代码来学习。

    9. 在Jupyter的页面右侧找到并点击”New“按钮,从下拉菜单中选择”Python3”:

    SNAG-0129

    10. 我们可以在接着打开的页面中输入代码,输入到前面带“In”字样的文本框内即可,然后点击SNAG-0131按钮,就可以看到代码执行后的效果。

    SNAG-0130

    11. 每天用Jupyter notebook一一敲完当天所学、所用过的代码后,你可以点击左上角的”File”按钮,然后从菜单中选择“Download as->Notebook”,可以把当天的学习成果存成”ipynb”格式的文档,供以后回顾、复习使用。这个,就是ipython所不能提供的功能,更不用说python自带的shell了。

    还有什么高效的工具?

    要想快速度过起步时的困难阶段,缩短“新手期”,降低学习成本,将新学到的知识点牢牢记住是最佳的选择。

    而记住这些知识点,靠什么?一是反复地练习,二是有目的、有针对性地去复习。

    舍得建议大家使用SuperMemo UX来帮助自己复习每天新学到的知识点。这个软件的使用并不难,具体的使用方法,舍得会撰写专文讲解。在后续的话题展开过程中,舍得也会制作一些相应的SuperMemo课程,来帮助大家提高学习效果。

     

    好了,Python的起步部分就先介绍到这里。顺便提供本文中讲到的一些工具的下载:

    一、Python 3.4.4.msi

    链接: 密码:oqba

    二、《Head First Python》中文版,pdf格式,相应的阅读器请自行下载,推荐使用百度阅读器。

    链接:

    三、Python推荐安装包:

    链接: 密码:so4k

     

    本文版权归所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:
    首发:舍得新浪博客

  • 阅读(1565) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~