现在 Python 用处很多,学的人也很多,其流行程度自不必说。但是很多人学 Python 的时候都遇到过问题,特别对于非计算机专业毕业的人来说。

现在的教程非常多,但是绝大部分对于初学者都不够友好。很多教程为了求全,把很多不常用、初学者从入门到放弃都不会接触到的内容,一股脑儿全部摆出来,加重了学习的负担;要么是面向有基础的人群,很多地方语焉不详,无法参照一步步去做。当初我在学习的时候就被坑过很多次,所以想写一系列面向初学者,甚至没怎么接触过计算机的读者。希望看教程的人能够一步步的去练习。

不过学习任何技术都应该有一定的认识,虽然 Python 号称简单易学,那都是相对的。学习一门语言,不动手去敲一下,看了也白看。技术好的人,历来就是动手最多的人。

语言的学习并没有太多捷径,需要多练习。希望读者在看本教程时,不要仅仅看,还要多动手去练。

你也许没有很强的逻辑思维、你也许没有足够的数学知识、也许你写不出牛逼的算法,其实这都不重要,重要的是学会如何去使用别人已提供的库中 API(函数或方法)的用途、用法。我觉得语言就像用的各种测试工具一样,我不用去考虑底层的实现,我只要考虑如何去使用。不要给自己学习增加太多的困难,自己学语言到底要干啥?做自动化测试还是写操作系统?

也许有的人会反驳,不了解语言的原理、不了解数据结构、不了解算法、不了解...你的学语言就没有意义。如果真要会这些才算学会语言,我相信有一大半的开发人员都不合格。

有一句话我觉得很对:不求完美,先让事情开始,然后再完善它。

如果一开始追求太过,那么就应了那段经典的话:从入门到放弃。而我觉得绝大部分人可能还没摸到门槛就要放弃了。

其实我写这边教程的目的就是想告诉大家,先学到足够的知识,然后写点有意思的小玩意。让自己的学习能够见到成果,这会极大促进你学习的兴趣。

学习靠的不是毅力,靠毅力的学习都长久不了,因为这个世界有毅力的人本来就少。学习要靠正向的反馈,这些反馈来源于你学习过程中体会到的成就感。你写出一个自动化脚本,看着自动化脚本自动点击、自动输入、自动断言是有成就感的;你写了一个小爬虫,去爬了一个网站上你喜欢的图片,看着你硬盘上一个个图片的生成,这也是有成就感的。这些成就感能给你不断的正向反馈,于是你有一直学下去的动力。在教学过程中,我一直比较推荐去写写网络爬虫,这比较容易得到这种正向的反馈,同时网络爬虫的技术和自动化测试、接口测试有共通的技术点。

而你太过于纠结原理、太过于纠结完美,你会发现你的学习是寸步难行的。

Python学习过程中,就我个人的经验来说,最重要的是字符串、列表和字典的各种处理操作和函数方法等。因为以后很多时候都在处理这些内容,比如写测试脚本过程中你需要从界面上提取断言、需要自己参数化定位语句、需要从数据库中查询数据、需要批量插入数据等众多的操作,都是对这三种数据类型的处理。

也许你不一定能记住所有的函数与方法的具体写法,但是你一定要知道 Python 对某种数据类型提供了哪些函数与方法。这样当你码代码的过程中需要操作某种数据类型时,才有处理的思路,否则就傻了。对于记不住的函数或方法,你可以查阅教程资料,多用自然就记住了。

对于函数和面向对象之类的,先从概念理解。不要妄想一下就理解什么时抽象。这需要一个过程,只有当你代码写多了,你才知道为什么要写函数和写类,因为函数和面向对象就是为了减少代码而生的。但是你写了那么点代码,减了就没了,还谈什么减少。所以暂时不理解也不要过于焦虑,先记住概念。

学习很多时候,需要一个醍醐灌顶的过程。并不是所有的知识点看了、写了就领会了,每个人都有思维的短板,所以对于某些知识点有时候会出现短路的情况,也就是怎么想都理解不到,怎么问也理解不到。那么对于确实不能理解的内容,先记下来,也许你只是缺少一个契机。但如果你不去记,想给你灌顶,但是没东西给你灌啊!

由于第一次写教程,有任何意见和建议,请在评论中指出。谢谢!

Python 极简教程(一)前言的更多相关文章

  1. Python 极简教程(八)字符串 str

    由于字符串过于重要,请认真看完并保证所有代码都至少敲过一遍. 对于字符串,前面在数据类型中已经提到过.但是由于字符串类型太过于常用,Python 中提供了非常多的关于字符串的操作.而我们在实际编码过程 ...

  2. python极简教程04:进程和线程

    测试奇谭,BUG不见. 大家好,我是谭叔. 这一场,主讲python的进程和线程. 目的:掌握初学必须的进程和线程知识. 进程和线程的区别和联系 终于开始加深难度,来到进程和线程的知识点~ 单就这两个 ...

  3. python极简教程01:基础变量

    测试奇谭,BUG不见. 其实很久之前,就有身边的同事或者网友让我分享一些关于python编程语言的教程,他们同大多数自学编程语言的人一样,无外乎遇到以下这些问题: 网络上的资料过多且良莠不全,不知道如 ...

  4. Python 极简教程(三)数据类型

    每种语言都有各种数据类型.这就像在现实生活中,我们计数的时候需要用到数字,在表述金额.重量.距离等需要精确计数时用到小数,在日常交谈中要用文字,等等.在计算机语言中,为了表述不同的情况,也需要用到各种 ...

  5. Python 极简教程(二)编码工具

    Python 的编码工具很多.目前最流行的是 pycharm,关于 pycharm 的安装使用请参考 PyCharm安装使用教程. 而学习过程中,我觉得最好用的,还是 Python 自带的练习工具 I ...

  6. python极简教程05:生成器和匿名函数

    测试奇谭,BUG不见. 讲解之前,我先说说我的教程和网上其他教程的区别: 1 我分享的是我在工作中高频使用的场景,是精华内容: 2 我分享的是学习方法,亦或说,是指明你该学哪些.该重点掌握哪些内容: ...

  7. python极简教程07:封装、多态和继承

    测试奇谭,BUG不见. 这一场主讲python的面向对象部分--封装.多态和继承. 目的:掌握Python面向对象的三个核心概念. 封装 01 什么是封装? 封装的目的是,保护隐私.通俗的讲:不想让别 ...

  8. python极简教程08:对象的方法

    测试奇谭,BUG不见. 讲解之前,我先说说我的教程和网上其他教程的区别: 1 我分享的是我在工作中高频使用的场景,是精华内容: 2 我分享的是学习方法,亦或说,是指明你该学哪些.该重点掌握哪些内容: ...

  9. Python 极简教程(十三)while 循环

    循环简单来说就是让一段代码按你想要的方式多次运行.软件拥有强大的运算能力,就是由循环提供的. 在 Python 中支持的循环由两种:while 循环 和for 循环. 现在我们先来讲while循环. ...

随机推荐

  1. sp_executesql invalid object name

    https://stackoverflow.com/questions/10417126/dynamically-named-temp-table-returns-invalid-object-nam ...

  2. Linux 桌面的 Dock 类程序

    1.Cairo-Dock是一个Dock类软件,它支持OpenGL.提供动画及视觉效果的插件.新的Applet.重写配置面板.新增主题等功能. 2.Docky是从GNOME Do项目剥离出来的一个Doc ...

  3. 开发板ping得通本地,但是不能上网

    在3531D的开发板上面接入LAN7500的USB转以太网口,加载完驱动后. 然后开启eth1 查看一下ifconfig,发现没有ip,配置一下ip 直接ping本地发现可以ping得通,代表链路是连 ...

  4. 11/1 NOIP 模拟赛

    11.1 NOIP 模拟赛 期望得分:50:实际得分:50: 思路:暴力枚举 + 快速幂 #include <algorithm> #include <cstring> #in ...

  5. ArcGIS 空间查询一例

    ISpatialFilter spatialFilter = new SpatialFilterClass(); spatialFilter.Geometry = Polygon ;//设置用于筛选几 ...

  6. ASP.NET中的几种弹出框提示

    B/S不像C/S那样一个MessageBox就可以弹出提示框,不过可以通过js的“Alert”来弹出消息,或者通过一些变种的js方法.下面我给大家介绍几种,希望大家喜欢. 四种弹出框代码: prote ...

  7. 4.2.2 MINUS

    4.2.2 MINUS正在更新内容,请稍后

  8. 设计模式实例(Lua)笔记之六(Adapter模式)

    1.描写叙述 "我"在 2004 年的时候带了一个项目,做一个人力资源管理,该项目是我们总公司发起的项目,公司一共同拥有 700 多号人,包含子公司,这个项目还是比較简单的,分为三 ...

  9. PipeCAD之管道标准库PipeStd

    PipeCAD之管道标准库PipeStd eryar@163.com Key Words. PipeCAD, PipeStd, 管道设计软件,管件库 1. Introduction 前不久,两位老友徐 ...

  10. C# 插入排序 冒泡排序 选择排序 高速排序 堆排序 归并排序 基数排序 希尔排序

    C# 插入排序 冒泡排序 选择排序 高速排序 堆排序 归并排序 基数排序 希尔排序 以下列出了数据结构与算法的八种基本排序:插入排序 冒泡排序 选择排序 高速排序 堆排序 归并排序 基数排序 希尔排序 ...