Hi~我是李浩逍遥,这里是100天入门编程专栏,我会持续更新我自学编程的过程,将我遇到的坑以及如何填坑、避坑写出来,希望看到的小伙伴也能有所收货。
本篇是入门编程学习的第1篇,今天我主要学习了python官方文档中的python教程的解释器。
注意:这是一篇入门文章,如果你已经熟悉python语言的使用,请…. 哈哈哈哈,请给我一个赞,毕竟,写文章也是很辛苦的。
为什么要写100天系列
100天系列的来源是有一天晚上,我突发灵感,想做一个挑战,那就是连续100天做什么事,可以让生活有一点不一样呢?或者说可以让生命更有趣一点呢?然后就决定做这个系列,100天这个时间段,其实也是蛮有意思的,因为你不能用100小时的观念看它,100小时相比100天,太短了,很多事情是需要沉淀的;也不能用100周的观念看它,100周比100天,又太长了,如果选择不恰当,会有一种拖拉的感觉。只有选择一个恰当的项目,用上100天这个时间段,才能最合适,也最有效果。
最后根据我自己的兴趣爱好以及分析,我决定用100天的时间来系统入门学习编程这个技能,因为我觉得未来,应该是人人会编程的时代。为了避免脱轨,我有必要学习一下。用入门这个词汇,主要是觉得,编程毕竟是一个大的系统工程,100天完全学会是不太可行的(学无止境啊),但是100天入门是足以的。我衡量入门的标准其实很简单,就是可以根据自己的需求,找到可以实现需求的开源库,然后再修改代码,让其可以为自己所用,实现自己的需求。说白了,就是能利用编程这个技能达成自己的一些简单目标。
那已经决定学习编程了,为什么不去埋头苦学,疯狂编码,而要将学编程这个过程,写出来呢?其实主要是两个原因,第一根据费曼学习法,教是最好的学。能讲明白,大概率也就是学明白了。第二,根据输出倒逼输入原则,为了写作输出讲明白,潜意识会逼迫大脑深度开发,去汲取更多的知识的养分。两者都是有利于我更好的学习编程,这也就是写作这个系列的缘由了。
标题说是零基础入门,其实也不能说完全零基础,毕竟十来年前咱也是拿到了计算机二级证书滴,不过过了这么久,以及考虑到证书的含金量,可以约等于零基础了。另外虽然在5月份,咱还写了一篇用wechaty搭建微信机器人的文章,但是那篇文章的代码基本上是完全抄袭官方的,在群友的帮助下,修改了一丢丢而已。自己的斤两我自己清楚。为了不一直靠群友的手把手教,我有必要系统学习一下编程。
如果说看到本篇文章的小伙伴,是真正的小白,也不用担心学不会。说起来,只要你能看到这篇文章,就代表能识字(我们国家基本没有文盲了,没有几个不认识·字的年轻人了),那就不用怕,因为这就不算零基础了。没有所谓真正的零基础,每个人的情况也确实不一样,天赋,投入时间,学习状态,都各不相同,没有必要因为感觉自己是零基础,害怕学不会,就放弃了,试试呗,万一学会了呢?毕竟试试胜于雄辩呀。
为什么用python语言
决定了要系统学习编程,首先要解决的就是编程语言的选择,因为编程算是一个手艺活了,它需要你用特有的字符去表达你想要说的东西,同时还能被电脑读懂。你也要看得懂,电脑也要看得懂(字符经过处理后,电脑就可以读懂了)。这个特有的字符,就是编程语言。因为我不考虑找一份编程工作,所以我的选择全凭兴趣,我选择用python语言入门(以后可能会学其他的),python给我的感觉是比较容易学会,开源的库也特别的多,方便我后期找开源库完成我的需求,然后我一个好朋友,会python,遇到不会的,我还可以咨询他,另外就是创始人老爷子头发浓密,我觉得这个很重要。毕竟万一学的很厉害了,我也不会掉发啊。:heart:所以如果小伙伴,在不考虑就业的前提下,也可以学习python,遇到不会的,我们还可以共同探讨,还是不会的,也可以问大佬。如果说涉及到就业的需求,那就根据具体的情况,选择编程语言了。
确定了用python语言来学习编程后,我当前主要的学习资料是Python官方文档,另外就是通过编程入门指南 v1.5 – 知乎 (zhihu.com)对照,寻找补充材料。知乎上的这篇指南,我很多年前就看到了,非常赞同,但是一直以来都没有时间去具体落实,这一次好好的用一下。另外就是我大佬朋友推荐我用Github上面一个大神为入职谷歌而作的计划Coding Interview University来做对照,查漏补缺。因为光懂一个编程语言的语法,几乎做不了任何事情,编程是一个系统工程,需要掌握的各种知识比较繁杂。用这个计划来对照比较方便找到学习方向。现在的大方向是这样的,其他具体的学习材料会根据到时的需要来选择。
python官方文档是一个超级大部头,我下载的版本是Python 3.9.3,我用calibre阅读器打开,显示8735页,这太吓人了。不过我不打算全部看完,先看完教程部分,其他的当作字典查询使用。有需要的话再学习。大致看了一下,计划学习的这些部分,有8页。不过涉及到的知识点不算多。应该可以拿下。
Python教程学习
Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。解释型语言说明Python不需要编译,动态类型语言,说明python定义变量或参数时,不需要声明数据类型。
Python支持把程序分割为模块,方便复用,同时内置了大量的标准模块,可以直接使用。
Python使用缩进实现代码块分组,这和C语言使用括号是有所不同的。我觉得更美观一下。
Python解释器
Python简单易用,可以在 Windows、Mac OS X、Unix 等操作系统上使用。我使用的是Win10操作系统, 后面的代码操作都是基于这个系统的。
因为文档是python3.9的,所以我使用conda命令安装了python3.9版本。激活环境后,根据文档输入py启动python,我发现没有成功,输入python成功。应该是和python执行程序的名称有关。需要注意。
退出解释器的快捷键是ctrl+z。或者quit()。我用exit(),也成功了。
启动解释器的另一种方式是 python -c command [arg] …,这与 shell 的 -c 选项类似,其中,command 需换成要执行的语句。由于 Python 语句经常包含空格等被 shell 特殊对待的字符,一般情况下,建议用单引号标注整个 command。
python helloworld.py
Python 模块也可以当作脚本使用。输入:python -m module [arg] …,会执行 module 的源文件,这跟在命令行把路径写全了一样。
这个我暂时没有用上,就先放一下了。?
在交互模式下运行脚本文件,只要在脚本名称参数前,加上选项 -i 就可以了。
交互模式就是在主提示符(>>> )后面输入代码,然后enter执行的模式。暂时也没用到交互模式下执行脚本。暂时放下。?
遇到连续行时,会显示次要提示符(…)。
我应该比较多的会用到脚本模式,就是源代码都存储在源码文件中。
默认情况下,Python 源码文件的编码是 UTF-8。如果不使用默认编码,想要声明文件的编码,文件的第一行要写出特殊的注释形式。
# -*- coding: encoding -*-
一般来说,最好都在文件开头申明使用的编码是utf-8吧。# -*- coding: utf-8 -*-
以上就是今天学习的全部内容。
其他
今天因为写了不少前言的内容,以及自己的一些计划打算,导致真正用于学习的时间并不多,因此设计的学习任务也比较轻,但是我没想到系统的学习还是有难度的,我算有一些额外的其他知识的基础,但是依然不能把知识点都掌握。其中也遇到了一些问题,我都记录在上面了。阅读体验可能会比较差,后面慢慢改进了。
另外Python有两个大的版本,分别是python2和python3,版本之间具有一定的差异。对于版本的选择,我当前的方案是,学习资料用的什么版本,我就用什么版本。后面开发的时候,开源库用什么版本,我就用什么版本。保持版本的一致性,避免因为版本不同,导致的意外结果,耽误时间。不同版本之间的共存问题,可以使用anaconda版本管理解决,编程开发工具,我现在用的是IDE(集成开发环境)Pycharm。具体写代码的时候,会根据材料的版本,用pycharm选择anaconda对应python版本虚拟环境中的python解释器。anaconda和pycharm的使用现在都傻瓜式了,网上的材料也一大堆,我就不再赘述了,如果实在有不懂的,可以私信或留言给我。
考虑到这是一个100天挑战项目,我也不敢保证就能成功。毕竟除了本职工作繁忙以外,我还需要照顾家人,所以只能利用业余时间进行学习,但是我一定尽力完成目标。如果实在没有完成,也请轻拍:cry:。
?代表以后用到的时候补上的内容。暂时不用的我都先放一边,选择需要的学习。毕竟知识学不完,除非这个知识点会影响接下来的学习,不然我都会挑用得上的学习。
因为属于一边学一边分享,所以难免有疏忽遗漏以及不正确的地方,请看到的朋友们一定帮忙指出斧正。谢谢
接下来我将学习,python教程中的Python速览,这些内容也会在下一篇文章分享出来(催更请点赞:smile:)
今日语录
试试胜于雄辩,试试呗,万一成了呢?