Python基本语法元素

编译和解释

计算机执行源程序的两种方式:编译和解释
- 源代码:采用某种编程语言编写的计算机程序,人类可读
  例如:result = 2 + 3
- 目标代码:计算机可直接执行,人类不可读 (专家除外)
  例如:11010010 00111011

编译

解释

 

编译和解释

- 编译:一次性翻译,之后不再需要源代码(类似英文翻译)
- 解释:每次程序运行时随翻译随执行(类似实时的同声传译)

静态语言和脚本语言

  根据执行方式不同,编程语言分为两类
- 静态语言:使用编译执行的编程语言
  C/C++语言、Java语言
- 脚本语言:使用解释执行的编程语言
  Python语言、JavaScript语言、PHP语言

  执行方式不同,优势各有不同
- 静态语言:编译器一次性生成目标代码,优化更充分
  程序运行速度更快
- 脚本语言:执行程序时需要源代码,维护更灵活
  源代码在维护灵活、跨多个操作系统平台

程序的基本编写方法

IPO

程序的基本编写方法
- I:Input 输入,程序的输入
- P:Process 处理,程序的主要逻辑
- O:Output 输出,程序的输出

理解IPO

- 程序的输入
文件输入、网络输入、控制台输入、交互界面输入、内部参数输入等
- 输入是一个程序的开始

- 处理是程序对输入数据进行计算产生输出结果的过程
- 处理方法统称为算法,它是程序最重要的部分
- 算法是一个程序的灵魂

- 程序的输出
控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等
- 输出是程序展示运算结果的方式

编程解决问题的步骤

- 分析问题:分析问题的计算部分,想清楚
- 划分边界:划分问题的功能边界,规划IPO
- 设计算法:设计问题的求解算法,关注算法
- 编写程序:编写问题的计算程序,编程序
- 调试测试:调试程序使正确运行,运行调试
- 升级维护:适应问题的升级维护,更新完善

"温度转换"问题分析

温度刻画的两种体系

- 摄氏度:中国等世界大多数国家使用
以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
- 华氏度:美国、英国等国家使用
以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画

分析问题

  直接将温度值进行转换,温度数值需要标明温度体系,即摄氏度或华氏度,转换后也需要给出温度体系。

划分边界

- 输入:带华氏或摄氏标志的温度值
- 处理:根据温度标志选择适当的温度转换算法
- 输出:带摄氏或华氏标志的温度值

输入输出格式设计

  标识放在温度最后,F表示华氏度,C表示摄氏度,82F表示华氏82度,28C表示摄氏28度。

设计算法

根据华氏和摄氏温度定义,利用转换公式如下:

C = ( F – 32 ) / 1.8
F = C * 1.8 + 32

其中, C表示摄氏温度, F表示华氏温度

"温度转换"实例编写

#TempConvert.py
TempStr = input("请输入带有符号的温度值: ")
if TempStr[-1] in ['F', 'f']:
  C = (eval(TempStr[0:-1]) - 32)/1.8
  print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C', 'c']:
  F = 1.8*eval(TempStr[0:-1]) + 32
  print("转换后的温度是{:.2f}F".format(F))
else:
  print("输入格式错误")

 程序的格式框架

代码高亮

缩进

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

注释

不被程序执行的辅助性说明信息
- 单行注释:以#开头,其后内容为注释
  # 这里是单行注释
- 多行注释:以'''开头和结尾
  ''' 这是多行注释第一行
  这是多行注释第二行 '''

命名与保留字

变量

用来保存和表示数据的占位符号
- 变量采用标识符(名字) 来表示,关联标识符的过程叫命名
  TempStr是变量名字
- 可以使用等号(=)向变量赋值或修改值,=被称为赋值符号
  TempStr = "82F" #向变量TempStr赋值"82F"

命名

关联标识符的过程
- 命名规则: 大小写字母、数字、下划线和中文等字符及组合
  如: TempStr, Python_Great, 这是门Python好课
- 注意事项: 大小写敏感、首字符不能是数字、不与保留字相同
  Python和python是不同变量,123Python是不合法的

保留字

被编程语言内部定义并保留使用的标识符
- Python语言有35个保留字(也叫关键字)
  if, elif, else, in
- 保留字是编程语言的基本单词,大小写敏感
  if 是保留字,If 是变量

 

数据类型

供计算机程序理解的数据形式
- 程序设计语言不允许存在语法歧义,需要定义数据的形式
  需要给10,011,101关联一种计算机可以理解的形式
- 程序设计语言通过一定方式向计算机表达数据的形式
  "123"表示文本字符串123,123则表示数字123

数据类型

10,011,101
- 整数类型: 10011101
- 字符串类型: "10,011,101"
- 列表类型: [10, 011, 101]

字符串

由0个或多个字符组成的有序字符序列
- 字符串由一对单引号或一对双引号表示
  "请输入带有符号的温度值: "或者 'C'
- 字符串是字符的有序序列,可以对其中的字符进行索引
  "请" 是 "请输入带有符号的温度值: " 的第0个字符

 

使用[ ]获取字符串中一个或多个字符
- 索引:返回字符串中单个字符 <字符串>[M]
  "请输入带有符号的温度值: "[0] 或者 TempStr[-1]
- 切片:返回字符串中一段字符子串 <字符串>[M: N]
  "请输入带有符号的温度值: "[1:3] 或者 TempStr[0:-1]

数字类型

整数和浮点数都是数字类型
- 整数:数学中的整数
  32 或者 -89
- 浮点数:数学中的实数,带有小数部分
  1.8 或者 -1.8 或者 -1.0

列表类型

由0个或多个数据组成的有序序列
- 列表使用[ ]表示,采用逗号(,)分隔各元素
  ['F','f']表示两个元素'F'和'f'
- 使用保留字 in 判断一个元素是否在列表中
  TempStr[-1] in ['C','c']判断前者是否与列表中某个元素相同

语句与函数

赋值语句

由赋值符号构成的一行代码
- 赋值语句用来给变量赋予新的数据值
  C=(eval(TempStr[0:-1])-32)/1.8 #右侧运算结果赋给变量C
- 赋值语句右侧的数据类型同时作用于变量
  TempStr=input("") #input()返回一个字符串,TempStr也是字符串

分支语句

由判断条件决定程序运行方向的语句
- 使用保留字if elif else构成条件判断的分支结构
  if TempStr[-1] in ['F','f']:#如果条件为True则执行冒号后语句
- 每个保留字所在行最后存在一个冒号(:),语法的一部分
  冒号及后续缩进用来表示后续语句与条件的所属关系

函数

根据输入参数产生不同输出的功能过程
- 类似数学中的函数, y = f(x)
  print("输入格式错误") #打印输出 "输入格式错误"
- 函数采用 <函数名>(<参数>) 方式使用
  eval(TempStr[0:-1]) # TempStr[0:-1]是参数

Python程序的输入输出

输入函数 input()

从控制台获得用户输入的函数
- input()函数的使用格式:
  <变量> = input(<提示信息字符串>)
- 用户输入的信息以字符串类型保存在<变量>中
  TempStr = input("请输入") # TempStr保存用户输入的信息

输出函数 print()

以字符形式向控制台输出结果的函数
- print()函数的基本使用格式:
  print(<拟输出字符串或字符串变量>)
- 字符串类型的一对引号仅在程序内部使用,输出无引号
  print("输入格式错误") # 向控制台输出 输入格式错误

评估函数 eval()

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

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

>>> eval('"1+2"')
'1+2'
>>> eval('print("Hello")')
Hello
>>> eval("1")
1
>>> eval("1+2")
3
posted @ 2019-08-16 17:05  小白的个人总结  阅读(1666)  评论(0编辑  收藏  举报