我并非科班出身,当初在学校学的是道路和桥梁,因为一些原因在学校的时候自学了python,所以我就分享我的一些学习心得,如有不对欢迎指正。虽然非科班出身虽然是一个痛点,但是在工作上,我其实不输给我其他同事,这点我倒是很有自信,而且我也同意一句话“目前互联网上的免费编程课程,足够让你成为一个合格的码农”。
我始终认为,学习是需要静下心来钻研的,是需要沉淀的,同时,学习不应该被赋予太多的功利色彩,但是当下是一个喧嚣、浮躁的时代。我们总是被生活中大量涌现的热点所吸引,几乎没有深度阅读和思考的时间和机会,所以如果你是小白,想要学习python,那么你一定要明确你的学习目标,不急于求成,不好高骛远。一个Python 程序员的成长路线图应该是这样子的:基础语法–>语感训练–>课题练习–>分方向继续学习–>中级程序员–>拓展深度和广度–>高级程序员。
而不是学完基础语法之后,不了解 http 协议和 Ajax 异步请求,就兴冲冲研究爬虫去了;或者,学完基础语法,就去搞视觉识别,连 OpenCV 的数据结构都看不懂;甚至,学完基础语法就直接研究神经网络,结果是重演了一遍从入门到放弃。
我给初学者的建议就是,不急于求成,不好高骛远,一步一步,稳扎稳打,功到自然成。不急于求成,可以避免走弯路,非但不会延缓你成长的速度,反倒会节省你的时间。不好高骛远,达成一个目标,再制定下一个目标,在连续的成功和进步中,建立起自信心,激发出更强的学习兴趣。
Now is better than never,Although never is often better than *right* now.
这是Python之禅中的一句,翻译过来的意思是,做也许好过不做,但不假思索就动手还不如不做。的确,在开始学习 Python 之前,你需要了解的一些背景,做出一些选择,并在你的计算机上做好准备工作。
首先我们先安装python
我们在python官网下载好安装包进行安装,使用默认方式安装即可
请注意:你现在是初学者,可以下载使用最新版本,但是如果是用于生产,那么必须要考虑你需要用的第三方模块是否支持最新版的python
不要忘记勾选下面两个复选框,否则后续的模块安装会有麻烦
然后选择一款趁手的开发工具
开发工具就和剑客的剑一样,没有最好只有最适合。初学者我建议使用notepad++,python初学者使用notepad++能够专注于python本身,不被使用工具问题干扰;手工运行代码,可以更直观、更深刻地了解脚本的解释执行过程;手工调试代码,有助于代码优化,提高代码把控能力;可以更好地使用pip安装和管理第三方模块
习惯使用IDLE
解释型语言的优势,就是可以写一句执行一句,想到哪儿写到哪儿,不必像编译型语言那样得把程序全部写完,编译成功后才能运行。我特别喜欢使用python的IDLE,甚至拿它当计算器用。很多时候,我用IDLE验证代码的写法是否正确,查看模块是否安装成功以及版本号。IDLE支持tab键自动补齐,我经常用这个功能查看某个对象的方法和属性。
>>> import numpy as np
>>> np.__version__
'1.17.0'
>>> np.hypot(3,4)
5.0
>>> def factorial(n): # 计算n的阶乘
if n == 0: # 递归出口
return 1
return n*factorial(n-1) # 向递归出口方向靠近的自身调用
>>> factorial(5)
120
>>> _*2-100
140
tab键自动补齐
光标移动到执行过的语句上敲击回车,可以重复这个命令
下划线(_)可以获取最后一次执行结果
实际上,IDLE就是一个IDE,你可以用它来创建或打开.py脚本文件,可以编辑、运行和调试。
严格遵从编码规范
解释器声明
编码格式声明
模块注释或文档字符串
模块导入
常量和全局变量声明
顶级定义(函数或类定义)
执行代码
代码的运行、调试
如果你使用的集成开发工具,那么代码的运行和调试,就完全依赖于工具了。如果你使用编辑器开写代码,那就需要手工运行和调试代码。运行代码分成两步:
第1步,打开一个命令行窗口,路径切换到脚本所在的文件夹。我习惯在脚本所在窗口的空白位置(确保没有选中任何对象),按下shift键点击鼠标右键,在弹出的菜单中选择打开Powershell窗口。如下图所示。
第2步,输入python+空格+脚本文件名,回车即可运行。输入脚本文件名时,按tab可以自动补齐。脚本的运行信息、错误信息、运行结果等,都可以显示在这个窗口中。这是最原始的信息。你在其他开发工具中看到信息,都是对这些信息的再加工。
当然,很多编辑器也支持自定义运行命令,可以实现一键运行python脚本。以Notdpan++为例,点击“运行”->“运行”菜单,在弹出的窗口中输入:
cmd /k cd /d “$(CURRENT_DIRECTORY)” & python “$(FULL_CURRENT_PATH)” & echo. & pause & exit
因为转义缘故,复制该命令的话,请检查$符号前面是否有符号,如有,请删除。接下来,点击“保存”按钮,在弹出的窗口中输入新增命令的名称,比如PyRun,定义快捷键,最后点击“确定”按钮。
完成以上设置后,就可以在Notepad++中使用菜单命令或者快捷键运行Python代码了。
手工调试代码的手段不多,除了 print 信息,几乎只有把调试信息写成调试文件了。听起来,好像问题很严重,其实只是理念和取向不同而已。反过来想,手段单一,不恰好意味着简单、简明吗?我一直使用 print 调试,坚信没有比它更好的了。