文章目录

  • Python语法元素
  • 1. 缩进
  • 2. 注释
  • 3. 常量与变量
  • 3.1 常量
  • 3.2 变量
  • 4. 命名
  • 5. 保留字
  • 6. 数据类型
  • 6.1 字符串
  • 6.2 数字类型
  • 6.3 列表整数
  • 7. 表达式
  • 8. 表达式中空格的使用
  • 9. 输入输出函数
  • 9.1 输入函数input()
  • 9.2 输出函数print()
  • 10. 语句
  • 10.1 分支语句
  • 10.2 赋值语句:使用等号给变量赋值
  • 11. 循环语句
  • 12. 评估函数eval()



python 源代码 语法分析 语法树 python程序语法元素分析_Python


以下内容来自于中国慕课网中《零基础学Python语言CAP》课程的学习笔记。

Python语法元素

1. 缩进

一行代码开始前的空白区域,表达程序的格式框架

  1. 严格明确:缩进是语法的一部分,缩进不正确程序运行错误
  2. 所属关系:表达代码间包含和层次关系的唯一手段
  3. 长度一致:程序内一致即可,一般用4个空格或1个TAB

1个缩进 = 4个空格

◼◼ 用以在Python中标明代码的层次关系

◼◼ 缩进是Python语言中表明程序框架的唯一手段

python 源代码 语法分析 语法树 python程序语法元素分析_函数_02

2. 注释

注释:程序员在代码中加入的说明信息,不被计算机执行

  1. 单行注释以#开头
#Here are the comments
  1. 多行注释以 ’’’开头和结尾
'''
This is a multiline comment
used in Python
'''

3. 常量与变量

在Python语言中,变量和常量使用上基本没有区别。

3.1 常量
  • 程序中值不发生改变的元素
  • 使用常量的好处:
    例如:程序中含有一个常量,PI=3.14
    如果程序中多次使用PI,当我们需要更精确的值时,直
    接修改常量定义,而不需要每一处使用都修改具体值
3.2 变量
  • 程序中值发生改变或者可以发生改变的元素

4. 命名

  • 命名:给程序元素关联一个标识符,保证唯一性
  • 变量和常量都需要一个名字
  • 命名规则:
    ◼◼ 大小写字母、数字和下划线的组合,但首字母只能是大小写字母或下划线,不能使用空格。
    ◼◼ 中文等非字母符号也可以作为名字。
    ◼◼ 以下是合法命名的标识符:
python_is_good python_is_not_good
_is_it_a_question_ python语言

5. 保留字

被编程语言内部定义并保留使用的标识符

  • Python语言有33个保留字(也叫关键字)
  • 保留字是编程语言的基本单词,大小写敏感

if 是保留字,If 是变量

6. 数据类型

供计算机程序理解的数据形式

  • 程序设计语言不允许存在语法歧义,需要定义数据的形式

需要给10,011,101关联一种计算机可以理解的形式

  • 程序设计语言通过一定方式向计算机表达数据的形式

"123"表示文本字符串123,123则表示数字123

6.1 字符串
  1. 由0个或多个字符组成的有序字符序列
  2. 字符串由一对单引号或一对双引号表示

"请输入带有符号的温度值: " 或者 ‘C’

  1. 字符串是字符的有序序列,可以对其中的字符进行索引

“请” 是 "请输入带有符号的温度值: " 的第0个字符

  1. 字符串的序号
    1)正向递增序号
    2)反向递减序号
  2. python 源代码 语法分析 语法树 python程序语法元素分析_字符串_03

  3. 字符串的使用
    使用[ ]获取字符串中一个或多个字符
  • 索引:返回字符串中单个字符 <字符串>[M]

"请输入带有符号的温度值: "[0] 或者 TempStr[-1]

  • 切片:返回字符串中一段字符子串 <字符串>[M: N]

"请输入带有符号的温度值: "[1:3] 或者 TempStr[0:-1]

  1. 字符串操作
    ◼◼ 操作符+可以实现两个字符串的连接操作
  2. python 源代码 语法分析 语法树 python程序语法元素分析_赋值_04

  3. ◼◼ 字符串可理解为字节序列,若长度为L,第一个字节索
    引为0或-L,最后一个字节索引为L-1或-1
  4. python 源代码 语法分析 语法树 python程序语法元素分析_Python_05

  5. ◼◼ 以区间形式获得字符串的子串
  6. python 源代码 语法分析 语法树 python程序语法元素分析_python 源代码 语法分析 语法树_06


  7. python 源代码 语法分析 语法树 python程序语法元素分析_Python_07

6.2 数字类型
  • 整数
    数学中的整数

32 或者 -89

  • 浮点数
    数学中的实数,带有小数部分

1.8 或者 -1.8

6.3 列表整数

由0个或多个数据组成的有序序列

  • 列表使用[ ]表示,采用逗号(,)分隔各元素

[‘F’,‘f’]表示两个元素’F’和’f’

  • 使用保留字 in 判断一个元素是否在列表中

TempStr[-1] in [‘C’,‘c’]:判断前者是否与列表中某个元素相同

7. 表达式

  • 程序中产生或计算新数据值的一行代码
  • Python语言的33个保留字或者操作符可以产生
    符合语法的表达式。例如
>>>x=25 #将数字25赋给变量x
在使用变量前必须对其赋值,否则编译器报错

8. 表达式中空格的使用

  • 空格的使用:
    ◼◼不改变缩进相关的空格数量
    ◼◼空格不能将命名分割
    ◼◼增加空格增加程序可读性

9. 输入输出函数

9.1 输入函数input()

从控制台获得用户输入的函数

  • input()函数的使用格式:
<变量> = input(<提示信息字符串>)
  • 用户输入的信息以字符串类型保存在<变量>中

TempStr = input(“请输入”) # TempStr保存用户输入的信息

9.2 输出函数print()
  • print()函数用来输出字符信息,以字符形式向控制台输出结果的函数。
  • print()函数可以输出各种类型变量的值。
  • print()函数通过%来选择要输出的变量。
  • print()函数的基本使用格式:
print(<拟输出字符串或字符串变量>)
  • 字符串类型的一对引号仅在程序内部使用,输出无引号
  • print()函数的格式化:
print("转换后的温度是{:.2f}C".format(C))

{ }:表示槽,后续变量填充到槽中
{ :.2f }:表示将变量C填充到这个位置时取小数点后2位

10. 语句

10.1 分支语句
  • 分支语句:控制程序运行,根据判断条件选择程序执行路径。基本过程如下:
if <条件1成立>:
<表达式组1>
elif <条件2成立>:
<表达式组2>
……
elif <条件N-1成立>:
<表达式组N-1>
else:
<表达式组N>赋值语句
10.2 赋值语句:使用等号给变量赋值

由赋值符号构成的一行代码

  • 赋值语句用来给变量赋予新的数据值
C=(eval(TempStr[0:-1])-32)/1.8 #右侧运算结果赋给变量C
  • 赋值语句右侧的数据类型同时作用于变量

TempStr=input("") #input()返回一个字符串,TempStr也是字符串

f=1.8*float(input_str[0:-1]) + 32
  • 同步赋值语句:同时给多个变量赋值(先运算右侧N个表
    达式,然后同时将表达式结果赋给左侧)
<变量1>,…,<变量N>=<表达

例:将变量x和y交换

  • 采用单个赋值,需要3行语句:
    即通过一个临时变量t缓存x的原始值,然后将y值赋给x,再将x的原始值通过t赋值给y。
  • 采用同步赋值语句,仅需要一行代码。

11. 循环语句

  • 循环语句:控制程序运行,根据判断条件或计数条件确定
    一段程序的运行次数
    ◼◼ 计数循环,基本过程如下:
for i in range (<计数值>):
<表达式1>

其中,变量i用于计数

例如,使某一段程序连续运行10次:

python 源代码 语法分析 语法树 python程序语法元素分析_函数_08

12. 评估函数eval()

去掉参数最外侧引号并执行余下语句的函数

  • eval()函数的基本使用格式:
          eval(<字符串或字符串变量>)