程序设计基本方法
计算机的概念
- 功能性:对数据的操作,表现为数据计算、输入输出处理和结果存储等
- 可编程性:根据一系列指令自动地、可预测地、准确地完成操作者的意图
计算机的发展
- 计算机硬件所以来的集成电路规模参照摩尔定律发展
1. 重要的预测法则
2. 单位面积集成电路上可容纳晶体管的数量约每两年翻一番
3. 自提出50余年实际情况基本符合定律 - 计算机运行速度也因此接近几何级数快速增长
- 计算机所能支撑的各类运算功能不断丰富发展
程序设计语言
- 一种用于人和计算机间交互的人造语言
- 诞生于1990年
编程语言的执行方式
- 源代码:采用某种编程语言编写的计算机程序,可读性好
- 目标代码:计算机可直接执行,比如二进制代码
编译和解释
编译 compiler:源代码一次转换成目标代码的过程
1.使用编译执行的编程语言:静态语言,如C/C++、Java
2.优化更充分,运行速度快
解释 interpreter:源代码逐条转换成目标代码同时逐条运行的过程
1. 使用解释执行的语言:脚本语言,如JS、PHP、Python
2. 源代码维护灵活,跨多个操作系统平台
3. 每次执行都需要源代码在
程序的基本编写方法:IPO
- Input 输入
- Process 处理:将输入通过计算产出输出,代码逻辑、处理方法统称为算法
- Output 输出:控制台输出、图形、文件输出等
编程解决问题的步骤
分析问题、划分边界(规划IPO)、设计算法、编写程序、运行调试、更新完善
两种编程方式
- 交互式:对每个输入语句即时运行结果,适合语法练习
- 文件式:批量执行一组语句并运行结果,编程的主要方式
Python的运行方式
- Shell方式
- Shell是交互式的解释器
- 输入一行命令,解释器就解释运行出相应结果
- 文件方式
- 在Python的IDE环境中,创建一个以py为扩展名的文件
- 用Python解释器在Shell中运行出结果
Python开发环境配置
- Python:译为“蟒蛇”、拥有者PSF、开发者Guido,主流版本:Python 3,理念:开源、开放
- Python集成开发环境 IDE
- Mac OS & Linux下: python 3
- Python内置IDE:IDLE
- 其他IDE:PyCharm等
- 第三方包(插件)的安装:用pip命令安装第三方包。官网 https://pypi.org/
- 如安装分词工具jieba:
pip install jieba
- 如安装分词工具jieba:
程序的格式框架
- 代码高亮:编程的色彩辅助体系,不是语法要求
- 缩进:一行代码开始前的空白区域,表达格式框架,是强制要求
- 注释:不被程序执行的辅助性说明信息
1. 单行注释:以#开头
2. 多行注释:以‘‘‘开头和结尾
Python的命名与保留字
- 变量:程序中用于保存和表示数据的占位符号
1. 采用标识符来表示,关联标识符的过程叫命名
2. 可以使用 = 赋值符号,向变量赋值 - 标识符,命名规则
1. 可含大小写字母、数字、下划线和汉字
2. 大小写敏感、首字符不能是数字、不与保留字相同 - Python共33个保留字:and、as、assert、break、class、continue、def、elif、else、except、finally、for、from、if、import、in、is、lambda、not、or、pass、raise、return、try、while、with、yield、del、global、nonlocal、True、False、None
Python数据类型
数据类型:供计算机程序理解的数据形式
数字
- 整型、布尔型
- 浮点型(float)
- 复数型(complex,如2.4+5.6j)
- 复数的实数部分:复数.real
- 复数的虚数部分:复数.imag
- 复数的共轭:复数.conjugate()
字符串
- 单引号、双引号、三引号内的都是字符串;不可以变类型
-
序号体系:提供了正向递增序号和反向递减序号
- 索引:使用 [ ] 获取字符串中一个或多个字符 <字符串>[M]
- 切片:返回字符串中一段字符串字符 <字符串>[M:N]
列表
由0个或多个数据组成的有序序列,使用 [ ] 表示,采用逗号 , 分隔各元素,如[ ‘F’, ‘f’ ] 表示两个元素 ’F’ 和 ‘f’;列表是一种强大的数据类型,可以变类型
元组
与列表相似,用小括号 ( ) 界别,不可变类型
字典
映射类型。用大括号 { } 界别,类似于哈希表的键值对
Python语句
语句:完整执行一个任务的逻辑代码
赋值语句:给变量赋值,右侧语句同时作用于变量。
- 赋值前不需要声明。通过引用的方式赋值。
- 相同的小整数,256及以下会被分配同一内存空间。可以优化程序的速度
- 增量赋值:m%=5 即 m=m%5
- 链式赋值:PI = pi = 3.14159
- 多重赋值(等式两边都以元祖的方式出现),如(pl, r) = (3.14, 3),本质由两个步骤构成:
1.temp =3.14, 3 # 元组打包(Tuple packing)
2.pl, r= temp # 序列解包(Sequence unpacking)
分支语句:由判断条件决定程序运行方向
Python基本运算
算术运算
考虑结合方向。乘方 **、正负号 + -、乘除 * /、整除 //、取余 %、加减 + -
比较运算
数值按照值比大小、字符串按ASCII码值比大小。==、!=、<、>、<=、>=。
逻辑运算
not、and、or
字符运算
原始字符串操作符(r / R),在字符串引号前加,用于不希望转义字符起作用的地方
混合运算优先级
- 算术运算 > 位运算符 > 关系运算符(~特殊) > 逻辑运算符
- 算数运算符优先级:** > + -(正负号)> * / // % > + -
- not > and > or
Python函数
函数:根据输入参数产生不同输出的功能过程
输入函数input():从控制台获得用户输入 <变量> = input(<提示信息字符串>)
输出函数print():输出到控制台 print(<待输出字符串>)
print函数格式化
1. 如print("转换后的温度是{:.2f}C".format(C))
2. { }表示槽,后续变量填充到槽中
3. {:.2f}表示将变量C填充到这个位置时,取小数点后两位
评估函数eval()
1. 去掉参数最外侧引号,并执行余下语句,如eval(‘“1+2”’)输出字符串 “1+2”
2. 将任何字符串形式的信息,变成Python语句
内建函数:如str()、type()
非内建函数:import导入模块中的函数
函数的引用
可以使用变量来引用函数,例如可以通过bar=math.sqrt进行赋值,然后就可以使用bar来进行计算平方根,例如bar(9)结果是3.0