2.2 基础数据类型与基础语法规则
每种编程语言都有自己的语法规则,本节将介绍Python中基础的数据类型与语法规则。读者一开始时不必死记硬背,先从整体上建立对基本概念的认识,对基础数据类型与基础语法规则有大体印象即可。在使用时如有疑惑,再翻阅图书查阅,多使用,自然就会熟悉。
2.2.1 基础数据类型
1.整型和浮点型
整型(integer)是绝大多数编程语言中基本的数据类型之一,Python也不例外。整型其实就是数学中的整数,与之相对的是浮点型(float),即数学中的小数,代码如下:
上述代码创建了4个具有不同值的变量,并通过type方法分别获取了4个变量的数据类型。从输出结果可以看出,a变量与b变量是整型,通过int(由integer前缀构成)表示;c变量与d变量是浮点型,通过float表示。整型与浮点型可以进行加、减、乘、除等数学运算。
2.字符串型
除整型与浮点型外,Python的另一个基本数据类型就是字符串型(string),无论是单个字符还是一段话,它们在Python中都是字符串型,代码如下:
在上述代码中,创建变量s用于存放一段话,通过type方法获取该变量的数据类型,由此可知它是字符串型,通过str(由string前缀构成)表示。
在Python中,字符串可以由单引号包裹,也可以由双引号包裹,还可以由三引号包裹(三引号包裹的字符串支持换行),代码如下:
Python提供了很多方法来操作字符串,这里简单介绍几个常见方法。
当要替换字符串中的某些内容时,可以使用replace方法,代码如下:
在上述代码中,通过replace方法将字符串中的“Python”替换成“你”。在使用replace方法时,第一个参数是原始字符串中要被替换的内容,如“Python”;第二个参数是用于替换原始字符串的内容,如“你”。利用replace方法可以达到剔除字符串中空格的效果,代码如下:
当需要将一段文字拆分成多段时,可以使用split方法,代码如下:
split方法会根据传入的标识对字符串进行拆分,拆分的结果构成列表类型。
有时我们需要根据变量的值来构建字符串,不同的变量值构建的字符串的内容是不同的。在Python3.6版本之后,可以通过f-string方法轻松达到这种效果,我们通常将其称为格式化字符串,代码如下:
用f-string方法格式化字符串时,需要在字符串前加上f关键字,然后在字符串中通过花括号“{}”将变量括起来,这样Python会自动将变量的值放到字符串中。
Python中还有很多字符串操作方法,我们在这里只抛砖引玉地介绍了较为常用的几种方法,其他字符串操作方法在后续章节中会具体介绍。
此外,字符串可以理解为是由多个字符构成的列表,列表中的很多操作,如通过下标取值、切片等,在字符串中都可以使用,这部分内容请阅读3.1节。
3.布尔类型
最后,读者还需要了解布尔类型(Boolean)。布尔类型只有False和True两个值,False表示假,True表示真。布尔类型常出现于判断语句中,代码如下:
上述代码创建了a和b两个变量,并给出了两个截然相反的判断语句,a>b的结果为False,表示a>b是不成立的,通过type方法获得c变量的数据类型为布尔类型,通过bool(由Boolean前缀构成)表示;而a<b的结果为True,表示a<b是成立的,同样通过type方法获取d变量的数据类型为布尔类型。
2.2.2 基础语法规则
Python的基础语法规则非常简单,本节将从缩进、注释、多行语句三方面介绍Python的基础语法规则。
1.缩进
与很多编程语言不同,Python通过相同的缩进来表示代码块,不需要使用花括号“{}”(Java、C++等编程语言使用花括号表示代码块)。示例代码如下:
在上述代码中,同一个代码块中的代码都缩进4个空格(默认缩进4个空格),否则会出现IndentationError: unindent does not match any outer indentation level错误,即Python不知道某行Python语句属于哪个代码块,从而导致代码运行失败。
2.注释
注释通常用于解释代码,代码在运行时,注释部分的内容并不会执行。写注释是编写程序的重要步骤,一个复杂程序如果没有注释,会让人难以理解其实现逻辑,导致代码难以维护。示例代码如下:
在Python中,单行注释以“#”号开头;多行注释可以使用多个“#”号开头的文字,也可以直接使用“'''”号或“"""”号将注释包裹。通常,一个程序员编写代码的时间远少于阅读及调试代码的时间,而注释可以帮助程序员快速理解代码的功能与意图。
3.多行语句
在Python中,通常一条程序语句占一行,但如果程序语句太长则会显得不规范,此时可以使用反斜杠“\”将一条程序语句拆分成多条语句。示例代码如下:
须注意,使用反斜杠将一条较长程序语句拆分成多条语句的操作并不是硬性规定,只是很多程序员的习惯性做法。如果有读者不习惯使用反斜杠,不拆分代码也不会有任何问题。