注释即对程序代码的解释,在写程序时需适当使用注释,以方便自己和他人理解程序各部分的作用。在执行时,它会被Python解释器忽略,因此不会影响程序的执行。Python支持单行注释与多行注释,具体如下所示。
1.单行注释:该注释是以“#”开始,到该行末尾结束。
具体示例如下:
#输出单行注释
print("单行注释")
2.多行注释:该注释以3个引号作为开始和结束符号,其中3个引号可以是3个单引号或3个双引号。
具体示例如下:
"""
多行注释
"""
'''
多行注释
'''
print("多行注释")
现实世界中每种事物都有自己的名称,从而与其他事物区分开。例如,生活中每种交通工具都有一个用来标识的名称,如图所示。
在Python语言中,同样也需要对程序中各个元素命名加以区分,这种用来标识变量、函数、类等元素的符号称为标识符。
Python语言规定,标识符由字母、数字和下画线组成,且是只能以字母或下画线开头的字符集合。在使用标识符时应注意以下几点:
命名时应遵循见名知义的原则。
系统已用的关键字不得用作标识符。
下画线对解释器有特殊的意义,建议避免使用下画线开头的标识符(后续章节进行说明)。
标识符区分大小写。
关键字是系统已经定义过的标识符,它在程序中已有了特定的含义,如if、class等,因此不能再使用关键字作为其他名称的标识符。
下表列出了Python中常用的关键字:
Python的标准库提供了一个keyword模块,可以输出当前Python版本的所有关键字,具体示例如下:
Python中一般是一条语句占用一行,但有时一条语句太长,就需要换行,具体示例如下:
运行结果如图所示:
示例中,第1行print()中字符串太长,分开两行编写,在首行末尾添加续行符”\”来实现,但在 []、{}中分行时,可以不使用反斜杠,如示例中的第3行和第4行。
Python语言简洁体现在使用缩进来表示代码块,而不像C++或Java中使用{},具体示例如下:
示例中,if后的条件为真,执行第2行和第3行,它们使用相同的缩进来表示一个代码块。此处需要注意,缩进的空格数是可变的,但同一个代码块中的语句必须包含相同的缩进空格,具体示例如下:
示例中,第5行与第6行缩进不一致,会引发错误。
运行结果如图所示。
变量是编程中最基本的单元,它会暂时引用用户需要存储的数据,例如小千的年龄是18,就可以使用变量来引用18,如图所示。
在图中,变量名age是一个标识符,通过赋值符(=)将数据18与变量名age建立关系,这样age就代表18,此时可以通过print()查看age的值,具体示例如下:
如果想将小千的年龄修改为20并输出,则可以使用以下语句:
在计算机中,操作的对象是数据,那么大家来思考一下,如何选择合适的容器来存放数据才不至于浪费空间?先来看一个生活中的例子,某公司要快递一本书,文件袋和纸箱都可以装载,但是,如果使用纸箱装一本书,显然有点大材小用,浪费纸箱的空间,如图所示。
同理,为了更充分地利用内存空间,可以为不同的数据指定不同的数据类型。Python的数据类型如图所示。
在上图中,Python的数据类型分为数字类型(int、float、complex、bool)、字符串类型、列表类型、元组类型、字典类型和集合类型。
1.整型
整型表示存储的数据是整数,例如1、-1等。在计算机语言中,整型数据可以用二进制、八进制、十进制或十六进制形式并在前面加上“+”或“-”表示。如果用二进制表示,那么数字前必须加上0b或0B;如果用八进制表示,那么数字前必须加上0o或0O;如果用十六进制表示,那么数字前必须加上0x或0X,具体示例如下:
八进制数是由0到7的数字序列组成,每逢8进1位;十六进制数是由0到9的数字和A~F的字母组成序列,每逢16进1位。此处需要注意,整型数值有最大取值范围,其范围与具体平台的位数有关。
2.浮点型
浮点型表示存储的数据是实数,如3.145。在Python中,浮点型数据默认有两种书写格式,具体示例如下:
在科学计数法格式中,E或e代表基数是10,其后的数字代表指数,31.4e-2表示31.4×10-2,31.4E2表示31.4×102。
3. 复数型
复数型用于表示数学中的复数,如1+2j、1-2j、-1-2j等,这种类型在科学计算中经常使用,其语法格式如下:
此处需要注意它的写法与数学中写法的区别,当虚部为1j或-1j时,在数学中,可以省略1,但在Python程序中,1是不可以省略的。
4.布尔型
布尔型是一种比较特殊的整型,它只有True和False两种值,分别对应1和0,它主要用来比较和判断,所得结果叫做布尔值。具体示例如下:
此外,每一个Python对象都有一个布尔值,从而可以进行条件测试,下面对象的布尔值为False:
除上述对象外,其他对象的布尔值都为True。
在Python中,数据类型是由存储的数据决定的。为了检测变量所引用的数据是否符合期望的数据类型,Python中内置了检测数据类型的函数type()。它可以对不同类型的数据进行检测,具体如下所示:
示例中,使用type()函数分别检测a、b、c所引用数据的类型。
除此之外,还可以使用函数isinstance()判断数据是否属于某个类型,具体示例如下:
数据类型转换是指数据从一种类型转换为另一种类型,转换时,只需要将目标数据类型名作为函数名即可,如表所示。
表中列出的是数字类型之间的转换,其他类型之间也可以转换,如数字类型转换为字符串型,这些知识将在后面章节中讲解。
接下来演示数字类型之间转换,如例所示。
运算符是用来对变量或数据进行操作的符号,也称作操作符,操作的数据称为操作数。运算符根据其功能可分为算术运算符、赋值运算符、比较运算符、逻辑运算符等。
算术运算符用来处理简单的算术运算,包括加、减、乘、除、取余等,具体如表所示。
在表中,注意除法与取整的区别。接下来演示两者的区别,如例所示。
在前面章节的学习中,程序中已多次使用赋值运算符,它的作用就是将变量或表达式的值赋给某一个变量,具体示例如下:
如果需要为多个变量赋相同的值,可以简写为如下形式:
上述语句等价于如下语句:
如果需要为多个变量赋不同的值,可以简写为如下形式:
输出a、b、c、d值时,可以使用如下语句:
除此之外,还有几种特殊的赋值运算符,如表所示。
接下来演示赋值运算符的用法,如例所示。
逻辑运算符用来表示数学中的“与”、“或”、“非”运算,具体如表所示。
在表中,a、b分别为表达式,通常都是使用比较运算符返回的结果作为逻辑运算符的操作数。此外,逻辑运算符也经常出现在条件语句和循环语句中。
接下来演示逻辑运算符的使用,如例所示。
位运算符是指对二进制位从低位到高位对齐后进行运算,具体如表所示。
虽然运用位运算可以完成一些底层的系统程序设计,但Python程序很少涉及计算机底层的技术,因此这里只需要简单了解位运算即可。
接下来演示位运算符的使用,如例所示。
成员运算符用于判断指定序列中是否包含某个值,具体如表所示。
接下来演示成员运算符的使用,如例所示。
身份运算符用于判断两个标识符是否引用同一对象,具体如表所示。
接下来演示身份运算符的使用,如例所示。
运算符的优先级是指在多种运算符参与运算的表达式中优先计算哪个运算符,与算术运算中“先乘除,后加减”是一样的。如果运算符的优先级相同,则根据结合方向进行计算,表中列出了运算符优先级从高到低的顺序。
Python会根据上表中运算符的优先级确定表达式的求值顺序,同时还可以使用小括号“()”来控制运算顺序。小括号内的运算将最先计算,因此在程序开发中,编程者不需要刻意记忆运算符的优先级顺序,而是通过小括号来改变优先级以达到目的。
从键盘输入一个3位整数,计算并输出其百位、十位和个位上的数字,具体实现如例所示。
程序运行时,从键盘输入356,则运行结果如图所示。
本章主要介绍了Python的基本语法,首先讲解标识符与关键字,接着讲解变量与数据类型,最后讲解运算符。是在将来开发过程中必须掌握的。