(掌握要点:变量的基本用法、Python保留字的含义、注释和缩进的用法)
一、基本概念
Python是一种通用性编程语言,作为一种解释型语言,强调代码的可读性和简洁的语法,尤其是使用空格缩进划分代码块,而非使用大括号或者关键字。与C++或Java相比,无论程序规模大小,Python都让程序的结构显得更清晰明了,让开发者能够用更少的代码得到想要的结果。
1、保留字
保留字即其他语言中的关键字,是指在语言本身的编译器中已经定义过的单词,具有特殊含义和用途,用户不能将其作为变量名、函数名或类名使用。
在Python环境中,执行以下命令可以看到当前版本的保留字。
python
>>>import keyword
>>>keyword.kwlist
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
2、注释
Python中的单行注释以 “#” 开头,它可以独占一行 ,也可以在同一行的代码右边出现,如下:
# 这是单行注释
test = 124 # 这也是单行注释
# 这里还是单行注释 print(test)
需要注意的是,一行中 “#” 右侧的所有字符均被认为是注释内容,因此上述代码中的“print(test)”将不被执行。
当注释内容超过一行,即需要注释多行时,可以在需要注释的每行开头使用 “#” 形成多行注释。还可以使用 “ ‘’’ ” (连续3个英文单引号)或 “ “”" ” (连续3个英文双引号) 将多行注释内容包括起来,如下:
# 这里是单行注释
# 这里也是单行注释
。。。。。。‘’’
这里是多行注释
这里也是多行注释
‘’’
。。。。。。。。“”"
这里是多行注释
这里也是多行注释
“”"
3、行与缩进
一般来说,一条Python语句应该在一行内写完,当语句过长时,也可以使用反斜杠 ” \ “ 来实现多行语句,如下:
str2 = "我在编写一篇文章 " \
"一篇关于python基础知识的文章" \
"这里主要是介绍基本概念" \
"接下来会编写数据类型相关知识"
print(str2) # 我在编写一篇文章 一篇关于python基础知识的文章这里主要是介绍基本概念接下来会编写数据类型相关知识
有一些特殊的多行语句不需要使用反斜杠 ,比如在成对的方括号[] 、花括号{} 、圆括号 () 中的多行语句,如下:
total = [‘item_one’,‘item_two’,‘item_three’,
‘item_four’,‘item_five’]
编写程序时使用的是物理行,而在Python环境中使用的则是逻辑行。在Python中可以使用分号 ”;“标识一个逻辑行的结束。但为了避免使用分号,通常每个物理行只写一个逻辑行。
Python最具特色的语法是使用缩进来表示代码块,优点是不需要像其他语言一样使用大括号”{}”。行首的空白(空格或制表符)用来决定逻辑行的缩进层次,从而决定语句的分组(即代码块)。这意味着不同代码块缩进的距离(即行首空白)可以不同,但同一代码块的语句必须有相同的缩进距离,每一组这样的语句称为一个代码块。如下:
> if Ture:
> print("Ture")
> else:
> print("False")
而以下代码由于最后一行语句缩进距离不一致,运行时将出现报错。
> if Ture:
> print("Answer")
> print("Ture")
> else:
> print("False")
> print("Anwser") #缩进距离不一致,会导致运行报错
注意:不要混合使用空格和制表符来缩进,这将导致同一段Python代码在不同操作系统或平台上无法正常工作。
4、变量
Python将变量称为标识符,其命名规则主要有以下3点。
1)、第一个字符必须是字母表中的字母或下划线 “_” (在Python 3.x 中也可使用非ASCII字母表标识符)。
2)、标识符的其他部分由字母、数字和下划线组成。
3)、标识符对大小写敏感。
a = 1
b = '你好'
中文变量名 = ’汉字‘
_boolVar = True
与C、C++、Java、C#等语言不同,Python没有定义常量的关键字,即Python中没有常量。
如果想实现与其他语言中功能相近的常量,那么可以使用面向对象的方法编写一个“常量”模块。
。。。