面向聪明小白的编程入门教程 开始敲代码!你是聪明的小白吗?

经过之前的热身,我们已经大概了解了编程是怎么回事。接下来的教程,就是一步步拆解,一点点组装,用一行行代码重新实现我们的文档转换器。

1. 了解IDE

之前的教程中,我们安装了 Notepad ++Visual Studio CodeNodepad ++ 是一个小巧的文本编辑器, Visual Studio Code 是一个全能型文本编辑器,算是大半个IDE吧。

IDE(Integrated Development Environment),一般译为集成开发环境,可以理解为开发过程中需要的工具组合。软件开发中,IDE并不是不可或缺的,毕竟IDE也是被开发出来的。

IDE一般提供这些功能:代码编辑、代码搜索、代码分析、代码执行、代码调试、版本控制(用于代码修改历史的追溯)、项目管理(软件写到后期,可能需要将单个文件拆解成多个文件,不然巨无霸的代码难以阅读)、代码重构(一键更改代码风格)、项目部署(应用打包)等。

对于我们一百行代码的小项目来说,一般只能用到IDE中很少的一部分功能:代码编辑、代码执行、代码调试。其中代码编辑,又包括代码高亮、智能补全、智能纠错、码品分析等。

我们的项目只有一百行代码,用得着IDE吗?其实用不用IDE,跟代码行数无关。一个智能的IDE,是学习编程最好的老师。在一个智能的IDE里,每敲入一个字符,IDE就会根据上下文给出他的建议、提示或报警。在一次次的互动中,我们慢慢学会了规避常见的错误、选择最佳的语法、写出最整齐的代码。有些教程教新手使用文本编辑器编程,甚至用记事本编程,简直是误人子弟。

2. 选择IDE

现代的IDE,主要有微软公司的 Visual Studio ,苹果公司的 XCode ,IBM公司的 Eclipse ,甲骨文公司的 Netbeans 和Jebrains公司的 IntelliJ IDEA 。这些IDE主要都不是做Python开发的,但是理论上,他们都可以通过插件集成Python开发。

这五个IDE中, Visual Studio 原来是收费的,现在不要钱了。 XCode 不要钱,但是是苹果机专用。 EclipseNetbeans 一直是免费软件。到现在为止,只有 IntelliJ IDEA 是收费的IDE。

IntelliJ IDEA 来自捷克的 Jetbrains 公司。这家公司的主营业务就是 IDE 。术业有专攻,这家公司做IDE的技术应该是宇宙第一。用这个IDE,经常能惊喜地发现它提供的某个功能,正是自己需要的,但自己之前根本没意识到自己有这个需要(像是乔布斯做的产品,帮用户想需求)。

IntelliJ IDEA 可以安装 Python 插件,以支持Python开发。但是,Jetbrains也提供了 IntelliJ IDEA 的缩水版 PyCharm ,内置支持了Python开发,IDE售价也便宜了许多。不过,对于我这种没有版权意识的低素质人来说,也没啥感觉。

PyCharm 分两个版本,一种是专业版,按年收费,每年三五百块钱吧。一种是社区版,免费使用,但是功能有缩水。低素质人用软件只用旗舰版,我也没去了解到底缩水了哪些功能。

为了不错过任何有意思的功能,我们直接选择 PyCharm 专业版。 PyCharm 专业版虽然收费,但是也提供了30天全功能不骚扰的免费试用。如果30天后我们学Python的热度还没褪尽,再研究破解(或者直接用免费版)不迟。

使用 Chocolatey 安装 PyCharm : choco install pycharm

3. 使用PyCharm

对于小的Python脚本来说,无所谓项目不项目的概念。直接新建一个空的 .py 文件,用 PyCharm 打开即可运行。但是,做软件最好把源代码单独放一个目录里头,这样也方便后期扩展或是添加文档。

按业界惯例,编写的第一个计算机程序,应该起名叫HelloWorld。

在桌面上Shift右键,打开命令行窗口,输入命令 mkdir helloworld && cd helloworld && echo>app.py && explorer . 。这条命令是四条命令的组合,这四条命令的意思分别是:

  1. mkdir helloworld 创建文件夹(MaKeDIRectory)helloworld
  2. cd helloworld 切换目录(ChangeDirectory)到helloworld
  3. echo>app.py 发送空白文本到 app.py ,用作创建空文件
  4. explorer . 在我的电脑中打开当前目录(helloworld)

此时,应该能看到新创建的Python空文件 app.py 。以上操作都可以通过鼠标键盘操作完成,但是命令行也是程序员吃饭的看家本领,多学点没有坏处。

打开 PyCharm ,选择 File -> Open ,打开桌面上的 helloworld 文件夹。双击左边文件夹树下的 app.py ,进入代码编辑。

在编辑界面输入 print("Hello World") ,然后在代码区域用鼠标右键调出菜单,左键选择 Run app 。如无意外,PyCharm会开启一个停靠在底部的控制台窗口,输出”Hello World”。

在原来的控制台窗口中,打 python app.py ,应该也能看到”Hello World”的输出。

4. HelloWorld

但是,这个HelloWorld仅仅是一个控制台版的HelloWorld。我们要做的是一个带窗口的HelloWorld。

from PyQt5.Qt import QApplication, QWidget  # 从PyQt5的Qt包中导入QApplication和QWidget

app = QApplication([])  # 创建Qt应用程序,起名为app
wnd = QWidget()  # 创建一个窗体,起名为wnd
wnd.setWindowTitle("Hello World")  # 设置窗体标题为"Hello World"
wnd.show()  # 显示这个窗体 在Qt中,新创建的窗体默认不显示
app.exec()  # 执行Qt应用程序,一直接受与处理用户的键盘鼠标等事件,知道窗体被关闭,应用被退出

复制以上代码到 app.py ,右键运行此程序,应该可以看到一个空窗体显示出来,窗体标题是“Hello World”

5. HelloWorld代码分析

5.1 from PyQt5.Qt import QApplication, QWidget

从PyQt5的Qt子模块中导入QApplication和QWidget。PyQt5是一个图形模块,我们借助这个模块来绘制窗体。Qt是这个模块的子模块,父子模块用”.”符号连接。 from ... import ... 即从…导入…。导入的多个项目之间,用逗号隔开。在Python中,如果要使用外部模块,必须先导入。这样这些符号才能在程序中被识别。

PyQt5这个框架(模块、包)的底层是 Qt5 ,一个使用 C++ 语言编写的图形界面框架。PyQt5是对Qt5这个框架使用Python语言的封装。因此,Qt5的相关资料也适用于 PyQt5

5.2 app = QApplication([])

创建Qt应用程序,起名为app。这句代码之前有个空行。Python一般无视空行、空格、制表符等空白符号。这些空白符号是为了对齐代码、方便阅读用的。

如果要用 PyQt5 创建窗体,必须先创建一个Qt应用。 函数名(...) 这种形式,在Python中叫函数调用。所谓函数,就是一段可以重复利用的代码,函数名就是给这段代码起的名字。我们给他一个输入,他处理后给我们一个输出。比如输入1,输出”奇数”,输入2,输出”偶数”。这个处理过程是任意的,可以执行任意代码,做任意的事。

QApplication([]) 即调用名字为 QApplication 的函数,小括号中是函数的参数(输入)。这个函数要求的输入格式是一个列表(可以存放0个、1个或任意多个元素的数据结构),列表使用方括号表示,里面的各元素用逗号隔开, [] 表示空列表。 QApplication 这个函数的参数我们目前不关心,但是函数的定义中这个参数是必选项,所以使用空列表。

QApplication 这个函数运行成功后,返回一个代表Qt应用程序的对象。因为之后需要引用这个对象,所以需要给他一个名字。 name = value 这种语法,称为赋值语句,即用 name 表示这个 value

5.3 wnd = QWidget()

创建一个窗体,起名为wnd。此处创建的一个窗体,只是在内存中创建的一个在程序逻辑上代表窗体的区域,并不是真正的屏幕上显示的窗体。此处 QWidget 也是一个函数,输入为空,输出(返回)一个空窗体对象。

5.4 wnd.setWindowTitle(“Hello World”)

默认的窗体的标题栏是空白的。如果要修改标题栏,需要调用窗体的 setWindowTitle 函数。括号中的参数是一个字符串(一个字符序列,因为字符序列中什么字符都可能有,可能会和其他代码发生冲突,因此必须要用引号来定界),调用这个函数后,窗体的标题就会更新为这个字符串。

5.5 wnd.show()

显示窗体。实际上调用此代码后,并不会马上显示窗体。因为此时Qt应用还没有执行,不可能会有窗体的显示。这个函数(方法)的真正作用是标记,标记这个窗口需要被显示。因为在Qt中,窗体的默认状态是隐藏。

5.6 app.exec()

运行Qt应用。等待用户对窗体的操作,并作出正确的反馈。比如,点击关闭按钮,会关闭窗体,退出应用。理论上,如果没有意外情况的话,这个函数是一个永远运行不会结束的函数。因为这个函数要保证只要系统不关机,用户不退出应用,应用的窗体就要一直显示,而且永远能响应用户的点击和拖拽等事件。

6. 该系统地学习一下Python了

我不做小白很多年,已经几乎忘了小白是怎么思考问题的。但是上一小节直接冒出了6行功能各异的代码,我觉得再怎么解释给小白听,小白都是要蒙逼的。所以,是时候来稍微系统地学一遍Python了。

作为过来人,我给小白们几点忠告:

  1. 别指望一遍就学会,这是不可能的,碰到想不明白的问题就囫囵吞枣直接跳过,以后慢慢体会吧
  2. 别只看一个人的教程,要多看看其他人是怎么讲的。每个人都有自己的局限性,多听听各方的解释,更容易学明白
  3. 别老盯着第一章看,要学会适当地跳读,别在没什么营养的地方浪费时间
  4. 一定要多动手,一个字符一个字符地跟着敲,哪怕完全搞不懂,也先混个手熟
  5. 不要怕程序报错。程序报错越多(种类),人进步越快。碰到报错要仔细阅读报错信息,分析出错原因
  6. 碰到不懂的名词,多查百科,大略浏览一下,先让大脑对这个东西有个概念
  7. 多改代码,就算教程没提到,对同一个函数,也要多试试不同的参数,看看不同参数对程序的影响
  8. 不要保留没用的代码,要多尝试,确保每一行代码、每一个字符都是不可或缺,不要被无用的代码所羁绊
  9. 眼观六路,耳听八方,对顺便扫到的各种函数要多尝试,多猜测,多揣摩设计者的意图
  10. 用好IDE,IDE的忠告都是有价值的,不要忽略它
  11. 不要为了学而学,编程是为了解决问题的,可以自己想出一些有趣的点子,自己写代码去实现
  12. 不要强迫自己学不敢兴趣的东西,大概了解一些语法后,再以需求出发,层层倒推,步步逼近
  13. 善用搜索引擎,碰到问题先推理,搞不定的话再搜索

编程语言的语法,比较杂,比较碎,我也不知道从何教起。因此,推荐几个学习资料,方便读者学习参考。

  1. 极简Python教程 可能不太适合小白入门,但是可作为快速参考。
  2. 用搜索引擎搜索 Python入门Python教程 或者 Python tutorial ,多挑几个教程,选择能看明白的。
  3. 哔哩哔哩 上搜索 Python ,有大量入门教程,自己挑选。

猜你喜欢

转载自blog.csdn.net/qq_42156420/article/details/88797003