Python 极简教程(一)前言
现在 Python 用处很多,学的人也很多,其流行程度自不必说。但是很多人学 Python 的时候都遇到过问题,特别对于非计算机专业毕业的人来说。
现在的教程非常多,但是绝大部分对于初学者都不够友好。很多教程为了求全,把很多不常用、初学者从入门到放弃都不会接触到的内容,一股脑儿全部摆出来,加重了学习的负担;要么是面向有基础的人群,很多地方语焉不详,无法参照一步步去做。当初我在学习的时候就被坑过很多次,所以想写一系列面向初学者,甚至没怎么接触过计算机的读者。希望看教程的人能够一步步的去练习。
不过学习任何技术都应该有一定的认识,虽然 Python 号称简单易学,那都是相对的。学习一门语言,不动手去敲一下,看了也白看。技术好的人,历来就是动手最多的人。
语言的学习并没有太多捷径,需要多练习。希望读者在看本教程时,不要仅仅看,还要多动手去练。
你也许没有很强的逻辑思维、你也许没有足够的数学知识、也许你写不出牛逼的算法,其实这都不重要,重要的是学会如何去使用别人已提供的库中 API(函数或方法)的用途、用法。我觉得语言就像用的各种测试工具一样,我不用去考虑底层的实现,我只要考虑如何去使用。不要给自己学习增加太多的困难,自己学语言到底要干啥?做自动化测试还是写操作系统?
也许有的人会反驳,不了解语言的原理、不了解数据结构、不了解算法、不了解...你的学语言就没有意义。如果真要会这些才算学会语言,我相信有一大半的开发人员都不合格。
有一句话我觉得很对:不求完美,先让事情开始,然后再完善它。
如果一开始追求太过,那么就应了那段经典的话:从入门到放弃。而我觉得绝大部分人可能还没摸到门槛就要放弃了。
其实我写这边教程的目的就是想告诉大家,先学到足够的知识,然后写点有意思的小玩意。让自己的学习能够见到成果,这会极大促进你学习的兴趣。
学习靠的不是毅力,靠毅力的学习都长久不了,因为这个世界有毅力的人本来就少。学习要靠正向的反馈,这些反馈来源于你学习过程中体会到的成就感。你写出一个自动化脚本,看着自动化脚本自动点击、自动输入、自动断言是有成就感的;你写了一个小爬虫,去爬了一个网站上你喜欢的图片,看着你硬盘上一个个图片的生成,这也是有成就感的。这些成就感能给你不断的正向反馈,于是你有一直学下去的动力。在教学过程中,我一直比较推荐去写写网络爬虫,这比较容易得到这种正向的反馈,同时网络爬虫的技术和自动化测试、接口测试有共通的技术点。
而你太过于纠结原理、太过于纠结完美,你会发现你的学习是寸步难行的。
Python学习过程中,就我个人的经验来说,最重要的是字符串、列表和字典的各种处理操作和函数方法等。因为以后很多时候都在处理这些内容,比如写测试脚本过程中你需要从界面上提取断言、需要自己参数化定位语句、需要从数据库中查询数据、需要批量插入数据等众多的操作,都是对这三种数据类型的处理。
也许你不一定能记住所有的函数与方法的具体写法,但是你一定要知道 Python 对某种数据类型提供了哪些函数与方法。这样当你码代码的过程中需要操作某种数据类型时,才有处理的思路,否则就傻了。对于记不住的函数或方法,你可以查阅教程资料,多用自然就记住了。
对于函数和面向对象之类的,先从概念理解。不要妄想一下就理解什么时抽象。这需要一个过程,只有当你代码写多了,你才知道为什么要写函数和写类,因为函数和面向对象就是为了减少代码而生的。但是你写了那么点代码,减了就没了,还谈什么减少。所以暂时不理解也不要过于焦虑,先记住概念。
学习很多时候,需要一个醍醐灌顶的过程。并不是所有的知识点看了、写了就领会了,每个人都有思维的短板,所以对于某些知识点有时候会出现短路的情况,也就是怎么想都理解不到,怎么问也理解不到。那么对于确实不能理解的内容,先记下来,也许你只是缺少一个契机。但如果你不去记,想给你灌顶,但是没东西给你灌啊!
由于第一次写教程,有任何意见和建议,请在评论中指出。谢谢!
Python 极简教程(一)前言的更多相关文章
- Python 极简教程(八)字符串 str
由于字符串过于重要,请认真看完并保证所有代码都至少敲过一遍. 对于字符串,前面在数据类型中已经提到过.但是由于字符串类型太过于常用,Python 中提供了非常多的关于字符串的操作.而我们在实际编码过程 ...
- python极简教程04:进程和线程
测试奇谭,BUG不见. 大家好,我是谭叔. 这一场,主讲python的进程和线程. 目的:掌握初学必须的进程和线程知识. 进程和线程的区别和联系 终于开始加深难度,来到进程和线程的知识点~ 单就这两个 ...
- python极简教程01:基础变量
测试奇谭,BUG不见. 其实很久之前,就有身边的同事或者网友让我分享一些关于python编程语言的教程,他们同大多数自学编程语言的人一样,无外乎遇到以下这些问题: 网络上的资料过多且良莠不全,不知道如 ...
- Python 极简教程(三)数据类型
每种语言都有各种数据类型.这就像在现实生活中,我们计数的时候需要用到数字,在表述金额.重量.距离等需要精确计数时用到小数,在日常交谈中要用文字,等等.在计算机语言中,为了表述不同的情况,也需要用到各种 ...
- Python 极简教程(二)编码工具
Python 的编码工具很多.目前最流行的是 pycharm,关于 pycharm 的安装使用请参考 PyCharm安装使用教程. 而学习过程中,我觉得最好用的,还是 Python 自带的练习工具 I ...
- python极简教程05:生成器和匿名函数
测试奇谭,BUG不见. 讲解之前,我先说说我的教程和网上其他教程的区别: 1 我分享的是我在工作中高频使用的场景,是精华内容: 2 我分享的是学习方法,亦或说,是指明你该学哪些.该重点掌握哪些内容: ...
- python极简教程07:封装、多态和继承
测试奇谭,BUG不见. 这一场主讲python的面向对象部分--封装.多态和继承. 目的:掌握Python面向对象的三个核心概念. 封装 01 什么是封装? 封装的目的是,保护隐私.通俗的讲:不想让别 ...
- python极简教程08:对象的方法
测试奇谭,BUG不见. 讲解之前,我先说说我的教程和网上其他教程的区别: 1 我分享的是我在工作中高频使用的场景,是精华内容: 2 我分享的是学习方法,亦或说,是指明你该学哪些.该重点掌握哪些内容: ...
- Python 极简教程(十三)while 循环
循环简单来说就是让一段代码按你想要的方式多次运行.软件拥有强大的运算能力,就是由循环提供的. 在 Python 中支持的循环由两种:while 循环 和for 循环. 现在我们先来讲while循环. ...
随机推荐
- openCV 和GDI画线效率对照
一. 因为项目须要,原来用GDI做的画线的功能.新的项目中考虑到垮平台的问题.打算用openCV来实现.故此做个效率对照. 二. 2点做一条线,来測试效率. 用了相同的画板大小---256*256的大 ...
- Android中ViewPager的使用
我们在一个apk中第一次開始的时候,会有一个guide界面.一般使用ViewPager来完毕. 布局文件例如以下: <? xml version="1.0" encoding ...
- git commit template
https://www.zhihu.com/question/27462267/answer/204658544 https://gist.github.com/adeekshith/cd4c95a0 ...
- Alternating Sum
http://codeforces.com/problemset/problem/963/A 不考虑正负的话,每两项之间之间公比为b/a,考虑正负,则把k段作为循环节,循环节育循环节之间公比为(b/a ...
- js编码方式详解
escape.encodeURI 和encodeURIComponent 的区别 escape(), encodeURI()和encodeURIComponent()是在Javascript中用于编码 ...
- Linux系统中命令提示符解释-Linux中命令格式、分类-bash中的快捷键
1.命令提示符 [root@mysqlserver01 opt]# [root@mysqlserver01 ~]# root 当前用户名 @ 固定的(格式) mysqlserver01 主机名 opt ...
- tr---对来自标准输入的字符进行替换、压缩和删除。
tr命令可以对来自标准输入的字符进行替换.压缩和删除.它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大. 语法 tr(选项)(参数) 选项 -c或——complerment:取代 ...
- C++里的模板
1.泛型编程 --即实现一个通用的标准容器库. 所谓通用的标准容器库,就是要做到:比方List类存放全部肯恩类型的对象这样的事:泛型编程让你编写一个全然一般化并可反复使用的算法,其效率与针对某特定数 ...
- linux命令行学习-dig(DNS查询器)
在web开发中.总要熟悉的就是http协议.而发起一个http開始前最先要经历的一个过程就是DNS解析.简单说就是域名怎样终于解析到实际serverip的过程. 而在研究DNS解析和排除DNS解析类故 ...
- Bounding Volume Hierarchy BVH in OpenCASCADE
Bounding Volume Hierarchy BVH in OpenCASCADE eryar@163.com Abstract. Bounding Volume Hierarchy(BVH) ...