Python编程语言基础01:Python的基本语法元素,程序设计,01Python

发表时间:2021-05-11

目录

1. 编译和解释

1.1 编译

1.2 解释

2. 程序的基本编写方法IPO

2.1 含义

2.2 输入

2.3 输出

2.4 处理

3. 使用编程解决问题

3.1 问题的计算部分

3.2 编程解决问题的步骤

4. Python的编程方式

5. 程序格式框架

5.1 代码高亮

5.2 缩进

5.3 注释

6. 命名与保留字

6.1 命名

6.2 保留字

7. 数据类型

7.1 什么是数据类型

7.2 数据类型实例

7.2.1 字符串

7.2.2 数字类型

7.2.3 列表类型

8. 语句与函数

8.1 语句

8.1.1 赋值语句

8.1.2 分支语句

8.2 函数

9. Python程序的输入输出

9.1 输入函数input

9.2 输出函数print

9.3 eval函数


1. 编译和解释

1.1 编译

① 将源代码一次性转换成目标代码的过程

② 执行编译过程的程序叫做编译器

③ 编译是一次性翻译,之后不再需要源代码(类似于英文翻译)

1.2 解释

① 将源代码逐条转换成目标代码,同时逐条运行的过程

② 执行解释过程的程序叫做解释器

③ 每次程序运行时随翻译随执行(类似于同声传译)

说明1:编译与解释的关注点不同

编译过程只进行一次,所以编译过程的速度不是关键,目标代码的运行速度是关键。因此 编译器一般都集成尽可能多的优化技术 ,使生成的目标代码具备更好的执行效率

相反, 解释器不能集成太多优化技术 ,因为代码优化技术会消耗运行时间,使整个程序的执行速度受到影响

个人:由于解释器是逐条语句执行,其实也很难统揽全局进行深入优化

说明2:根据执行方式的不同,编程语言被分为2类,

① 静态语言:使用编译执行的编程语言

e.g. C/C++、Java

② 脚本语言:使用解释执行的编程语言

e.g. Python、JavaScript、PHP

由于执行方式不同,静态语言和脚本语言各有优势,

① 静态语言

编译器一次性生成目标代码,优化更充分,所以程序运行速度更快

② 脚本语言

执行程序时需要源代码,维护更灵活,可以跨多个操作系统平台,适合非性能关键的程序运行场景

补充:Python虽然采用解释方式执行,但是其解释器也保留了编译器的部分功能,随着程序运行,解释器也会生成一个完整的目标代码

这种 将解释器和编译器结合的新解释器 是现代脚本语言为提升计算性能的一种有益演进

2. 程序的基本编写方法IPO

2.1 含义

I:Input 输入,程序的输入

P:Process 处理,程序的主要逻辑

O:Output 输出,程序的输出

2.2 输入

① 程序的输入

文件输入、网络输入、控制台输入、交互界面输入、内部参数输入等

② 输入是一个程序的开始

2.3 输出

① 程序的输出

控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等

② 输出是程序展示运算结果的方式

2.4 处理

① 处理是程序对输入数据进行计算产生输出结果的过程

② 处理方法统称为算法,他是程序最重要的部分

③ 算法是一个程序的灵魂

3. 使用编程解决问题

3.1 问题的计算部分

① 计算机只能解决问题的计算部分

② 一个问题可以从多个角度理解,从而产生不同的计算部分

③ 问题的计算部分一般都有输入、处理和输出过程

3.2 编程解决问题的步骤

① 分析问题

分析问题的计算部分

② 划分边界

划分问题的功能边界,规划IPO

③ 设计算法

设计问题的求解算法,关注算法本身

④ 编写程序

编写问题的计算程序

⑤ 调试测试

调试程序使其正确运行

⑥ 升级维护

适应问题的升级维护

说明:求解计算问题的精简步骤

① 确定IPO:明确计算部分及功能边界

② 编写程序:将计算求解的设计变成现实

③ 调试程序:确保程序按照正确逻辑正确运行

4. Python的编程方式

① 交互式

对每个输入语句即时运行,适合语法练习

② 文件式

批量执行一组语句,是编程的主要方式

5. 程序格式框架

5.1 代码高亮

编程的色彩辅助体系,不是语法要求,一般由IDE提供

5.2 缩进

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

① 严格明确: 缩进是语法的一部分 ,缩进不正确程序运行错误

② 所属关系:表达代码间包含和层次关系的 唯一手段

③ 长度一致:程序内一致即可,一般4个空格或1个TAB( 但程序内不可混用

5.3 注释

用于提高代码可读性的辅助性文字,不被执行,Python有2种注释形式,

① 单行注释:以#开头,其后内容为注释

# 这里是单行注释

② 多行注释:以'''(三个单引号)开头和结尾

'''这是多行注释第一行
   这是多行注释第二行'''

tips:多行注释本质上是多行字符串

6. 命名与保留字

6.1 命名

含义:关联标识符的过程

命名规则:大小写字母、数字、下划线和汉字等字符及组合

注意事项:大小写敏感、首字符不能是数字、不与保留字相同

说明:部分以下划线或双下划线开头的名字被留作系统功能使用,建议命名时不使用

6.2 保留字

含义:被编程语言内部定义并保留使用的标识符,Python共有33个保留字;保留字一般用来构成程序整体框架、表达关键值和具有结构性的复杂语义等

注1:红色的保留字本门基础课程不会涉及

注2:保留字的最后3个True / False / None首字母大写

说明:保留字是编程语言的基本单词,大小写敏感

7. 数据类型

7.1 什么是数据类型

10,011,101该如何解释 ?

程序设计语言不允许存在语法歧义,需要定义数据的形式,因此 需要给10,011,101关联一种计算机可以理解的形式

在向计算机提供数据的同时需要 告诉计算机应该如何解释理解数据 ,因此,数据类型就是程序设计语言通过一定方式向计算机表达数据的形式

e.g. 对10,011,101的解释

整数类型:10011101

字符串类型:"10,011,101"

列表类型:[10, 011, 101]

7.2 数据类型实例

7.2.1 字符串

字符串:由 0个 或多个字符组成的有序字符序列

① 字符串由 一对单引号或一对双引号 表示(使用单 / 双引号效果相同)

② 字符串是字符的有序序列,可以对其中的字符进行索引(字符编号从0开始)

③ Python字符串索引有2种体系:正向递增序号和反向递减序号

② 这2种体系可以混用

个人:从字符串序列看,2种序号都是递增的

④ 正是由于字符串的索引体系,可以使用方括号获得字符串中的一个或多个字符,即字符串的 索引 切片 操作

索引:返回字符串中的单个字符

<字符串>[M]

e.g.  TempStr[-1]

切片:返回字符串中一段字符子串

<字符串>[M : N]  # 不包括下标为N的字符(即从M到N - 1)

e.g. TempStr[0 : -1]

个人: 索引或切片出的还是字符串类型(即都是子串),即使只是获得一个字符

由此可见,Python中并没有字符类型,只有字符串类型

7.2.2 数字类型

数字类型:整数和浮点数都是数字类型

① 整数:数学中的整数

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

7.2.3 列表类型

列表类型:由0个或多个数据组成的有序序列

① 列表使用中括号表示,采用逗号分隔各个元素

e.g. ['F', 'f']表示列表中有2个字符串元素'F'和'f'

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

8. 语句与函数

8.1 语句

8.1.1 赋值语句

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

① 赋值语句用来给变量赋予新的数据值

# 右侧运算结果赋给变量C
C = (eval(TempStr[0 : -1]) - 32) / 1.8

赋值语句右侧的数据类型同时作用于变量

# input函数返回一个字符串,所以TempStr也是字符串类型
TempStr = input("")

个人: Python中没有声明变量类型的操作,所以变量的类型完全取决于给其赋值的类型

③ Python支持 同步赋值语句 ,即可以同时给多个变量赋值,语法格式如下,

<变量 1>, ..., <变量N> = <表达式 1>, ..., <表达式N>

Python在处理同步赋值时首先计算右侧的N个表达式,同时将表达式的结果赋值给左侧的N个变量,因此可以用同步赋值语句实现变量值交换

x, y = y, x

说明:虽然同步赋值语句可以使赋值过程更简洁,但是应当尽量避免将多个无关的单一赋值语句组合成同步赋值语句,否则会降低程序的可读性

8.1.2 分支语句

分支语句:由判断条件决定程序运行方向的语句

① 使用保留字if / elif / else构成条件判断的分支结构

# 首先注意分支语句之后有冒号
# 如果条件为True则执行冒号之后带缩进的语句,否则跳过
if TempStr[-1] in ['F', 'f']:

② 每个保留字所在行最后存在一个冒号,是语法的一部分

③ 冒号及后续缩进用来表示后续语句与条件的所属关系

8.2 函数

函数:根据输入参数产生不同输出的功能过程

① 函数采用<函数名>(<参数>)的方式调用

# TempStr[0 : -1]是参数
eval(TempStr[0 : -1])

9. Python程序的输入输出

注意:下面介绍的input / print / eval函数均为Python解释器的内置函数

9.1 输入函数input

input():从控制台获得用户输入的函数

① input函数使用格式

<变量> = input(<提示信息字符串>)

② 用户输入的信息以 字符串类型 保存在<变量>中

9.2 输出函数print

print():以字符形式向控制台输出结果的函数

① print函数基本使用格式

print(<拟输出字符串或字符串变量>)

注意:输出无引号

② print函数的格式化

类似C语言中的格式化输出

print("转换后的温度是{:.2f}C".format(C))

9.3 eval函数

eval: 去掉参数最外侧引号(无论是单双引号) 并执行余下语句的函数

① eval函数的基本使用格式

eval(<字符串或字符串变量>)

② 使用实例

eval("1")
# 得到数字1

eval("1 + 2")
# 去掉外侧引号后,得到Python可理解的语句 1 + 2,最终结果为3

eval('"1 + 2"')
# 去掉外侧单引号,剩下"1 + 2"仍为字符串,输出'1 + 2'

eval('print("Hello")')
# 去掉外侧单引号,剩下print函数语句,加以执行

eval(input("请输入要计算的数值:"))
# 希望用户输入一个数字,并用程序对这个数字进行计算
# 可以采用eval函数进行转换

说明:eval函数一般用于将数字的字符串类型转换为数字类型(e.g. 温度转换代码),但是 从广义上讲eval函数是将任何字符串信息转换为Python语句执行

文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890

微配音

Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号-4
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free