zoukankan      html  css  js  c++  java
  • Python:起步

    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文件解压到Python34Scripts文件夹下;

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

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

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

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

      SNAG-0127

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

      1. 将下面用到的whl文件解压到Python34Scripts文件夹下;

      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

      链接:http://pan.baidu.com/s/1kVDbPyf 密码:oqba

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

      链接:http://pan.baidu.com/s/1c1O5g7A

      三、Python推荐安装包:

      链接:http://pan.baidu.com/s/1dFHrKK5 密码:so4k

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

  • 相关阅读:
    [YTU]_2911(我想放假)
    [YTU]_2907(类重载实现矩阵加法)
    [YTU]_2617(B C++时间类的运算符重载)
    [YTU]_2633( P3 数钱是件愉快的事)
    [YTU]_2444(C++习题 对象转换)
    [YTU]_2535( C++复数运算符重载(+与<<))
    [YTU]_2354 (实现复数类中的加运算符重载【C++运算符重载】)
    集训总结DAY.1(18.5.22)——KMP
    爬爬爬山
    P3803 【模板】多项式乘法(FFT)
  • 原文地址:https://www.cnblogs.com/emagic/p/6136080.html
Copyright © 2011-2022 走看看