这是树哥讲python系列的第三篇文章。
如何学习计算机编程这个问题是大家非常关注的问题,更加确切的说,如何自学计算机编程是一个很关键的问题。树哥觉得采用“案例+刻意练习”的方法会比较有助于快速入门和掌握基础知识。
一、案例分析:
案例
题目:用户输入自己的成绩,要求:
学习成绩>=90分的同学用A表示,60-89分之间的用B表示, 60分以下的用C表示。
分析:
需要实现:
1.用户输入一个数字。
2.判断这个数字在哪个区间?90分之上为A,60-90为B,60以下为C。
3.输出用户所在的区间。
通过分析可以看出,第一步输入和第三步输出都是需要进行交互,第一步需要让用户进行输入,并且使用一个容器来接受用户的输入。第三步要输出,直接需要展示的内容展示给用户。
这就引出几个概念:
input(“要展示的信息”):通过这个功能可以接受用户的输入信息。
变量:就是一个容器,可以放置用户的输入信息。
print:要展示的信息。
在这个案例中,我们需要有input(“请输入分数”)之类的语句来让用户输入,同时还会申明一个变量 sorce 来接受用户输入的信息。
那么第一条语句就可以是:
score = input (“input score:\n”)
也就是说,让用户输入一个分数,然后把这个分数放在变量score之中。
最后一条语句就可以是:
print(score,grade)
含义就变成了输出:用户输入的分数,级别。在这里定义了一个级别grade变量,用于放置是A、B或C的信息。
那么就需要实现程序的主体了,这个程序无非就是需要判断score的大小,和90分比较,和60分比较。如果大于等于90分,就把“A”装到grade之中,如果大于等于60就把“B”放入到grade之中,其余就把“C”放入grade之中。
整个程序逻辑非常简单,本质上是一个分支判断,不同的分支有不同的结果,语句如下:
if score >=90:
grade = ‘A’
elif score >= 60:
grade = 'B'
else:
grade = 'C'
这个语句非常好理解, if后面是条件,满足就执行冒号后的内容;相当于有if,elif和else三个分支。
不过,如果把这个程序代码输入执行的话,就会发现执行不下去,有问题。主要有两个问题:
python是严格缩进的程序,if判断之后要执行必须缩进,代表它们所属。
用户通过input输入的其实是字符,我们用它和数字比较当然会出现错误了。
所以,最终语句可以调整成如下样子:
image.png
可以看出程序是有缩进,并且在判断语句时,score前面加了一个叫eval的东西。
eval是一个函数,作用是把用户输入的具体的分数之外的引号去掉了,相当于变成了整数。
这样的一个案例就实现成功了,仅仅是8条代码,非常简单吧?请你也在不看案例的情况下输入一下这几行代码,并且执行一下看看效果。
当然,这个程序还不太完善,没有限制用户输入的是不是数字,或者是不是0-100之间的数字,不过这些并不重要,因为我们要通过这个案例来简单学习一下python的语法常识。
Python语法常识
我们通过这个案例可以观察:
image.png
代码高亮
我们第一眼看到这个程序的时候,就会发现代码有着不同的颜色,这就是代码高亮。
代码高亮只是编辑器辅助我们编程使用,例如不同的内容可能有不同的颜色,例如案例中,解释用了红色,语法用了橙色,字符用了绿色,函数用户紫色,变量用了黑色。但其实这些颜色本身对程序没有任何作用,只是帮助我们编程时,更加容易理解程序。
当然,这些高亮颜色在不同的编辑器中可能也不同,自己也可以在编辑器中自己定义。
严格明确缩进
我们谈到,第一次编写没有缩进的程序会出现运行错误,这是因为缩进也是python的语法体系。
在python中,缩进是要明确约定,可以为一层缩进,也可以为多层缩进,如下:
image.png
通过这样的缩进,可以确认代码的归属,知道那些条语法属于同一个体系之内;一些没有严格缩进的的编程语言则需要使用end之类语句来标识语法框架。
不过,在python中没有明确缩进多少,只要在一个程序中保持一致就好。如果一层缩进是四个空格,那么所有的一层缩进就都是四个空格,两层缩进就是八个空格。
注释
第一行红色以#号开头的语句是注释,注释本身对程序没有任何影响,主要是为程序员读程序时的方便。
当前的这个程序很简短,有没有注释其实没有什么关系,不过我们可以想象一下,如果是数万行的代码,又是几年之后再看这段代码进行维护的时候,有没有注释就天差万别了,如果没有注释很大概率自己都会读起来很费劲。
更何况,有的时候我们需要团队作战,一个比较清晰明了的注释,也可以帮助团队伙伴快速了解程序,更能形成紧密的团队作战。
如果是多行注释时,可以采用‘’‘ 三引号来在头尾标明。
变量
在案例中,score 和 grade 都属于变量。什么是变量呢?其实可以理解为一个一个小储存格子,这个变量就是给这个存储的小格子起的名字。
例如: grade = 'A', 相当于找一个存储的格子,把这个格子命名为 grade,然后字符‘A’放置到这个格子之中。
命名存储格子的原因主要是为了程序员记忆与编程,本质上和一串序列号代表的格子并没有什么不同。
当这个存储的格子只在一个程序中使用,就可以定义其为私有变量或局部变量,如果它需要在不同程序中使用,则可以定义为公有变量,或者全局变量。
在python中,给变量起名字也是有一点规则的:
字母、数字、下划线,甚至汉字或他们的组合都可以当成变量的名字。
大小写敏感,也就是说同样单词大小写是不同的变量。
不能和保留字相同。
什么是保留字呢?
保留字是python语法的基础词汇,如果你起的变量名字和它们相同,python的编译器将搞不清楚这是变量呢,还是语法呢,所以就会报错,无法执行。
下面的这张图,列出了python的一些常用的保留字,基本都是一些单单的单词或者单词的缩写,比较好理解。
image.png
总结:一个小小的案例展示出来python的一些语法常识,例如语法高亮、严格缩进、注释和变量。本质上,计算机编程语言就是我们和计算机之间沟通的语言,要想和严谨的计算机进行良好的沟通,就必须符合他们能认知的语法,就必须学习他们的语言:编程语言。
领取专属 10元无门槛券
私享最新 技术干货