现在 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. html 下载文件代码

    首先在html中加个a标签 <a class="menu" href="/cmdb/file_down" download="ljctest.t ...

  2. ssh 免密及加密远程脚本实现

    windows_host文件路径:C:\Windows\System32\drivers\etc ssh-copy-id -i ~/.ssh/id-rsa.pub root@xxxxxxx 免密验证操 ...

  3. Android控件-Fragment+ViewPager(高仿微信界面)

    什么是Fragment? Fragment是Android3.0后新增的概念,Fragment名为碎片,不过却和Activity十分相似,具有自己的生命周期,它是用来描述一些行为或一部分用户界面在一个 ...

  4. TwinCAT 3中基于UDP协议通讯的C++实现

    因为项目需要,学习了TwinCAT3中使用UDP协议进行通讯的基本知识.这个做个简单的笔记,方便以后查询. 1 概述 倍福为了实现从实时环境中直接访问网卡(network cards)专门提供了一个函 ...

  5. 联想M4600 (110主板),安装正版win7 ,进入桌面后鼠标无法使用

    问题:联想M4600 (110主板),安装正版win7 ,进入桌面后鼠标无法使用 原因: 110主板和win7系统问题,具体网上查询 处理: 修改bios 中 “USB Virtual KBS Sup ...

  6. Flex之登录界面

    制作登录框界面 环境搭建:MyEclipse 6.5+Flex Builder 3 Plug-in <?xml version="1.0" encoding="ut ...

  7. 51nod 多重背包问题(二进制优化)

    有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi ...

  8. 紫书 例题 9-5 UVa 12563 ( 01背包变形)

    总的来说就是价值为1,时间因物品而变,同时注意要刚好取到的01背包 (1)时间方面.按照题意,每首歌的时间最多为t + w - 1,这里要注意. 同时记得最后要加入时间为678的一首歌曲 (2)这里因 ...

  9. Android的SQLite的增删查改

    原创作品,允许转载,转载时请务必声明作者信息和本声明.http://www.cnblogs.com/zhu520/p/8343675.html 本人小白,那个大神看到有问题可指出,谢谢.... 一:s ...

  10. Ubuntu安装php

    http://jingyan.baidu.com/article/dca1fa6fadc61ff1a5405244.html