1. 程序设计的概述
- 程序过程
- 数据输入
- 数据处理
- 数据输出
- 程序设计的概述
- 分析问题,确认数学模型和方法
- 设计算法,画出流程图
- 选择编程工具,按算法写出程序
- 调试过程,分析输出结果
- 基本结构
- 顺序结构
- 选择结构
- 循环结构
2. python程序的书写规则
python通过语句缩进与对齐来反映语句之间的逻辑关系,从而区分不同的语句块。缩进可以使用(四个)空格或(一个)制表符组成
3. 赋值
表达式:表达式是运算符和操作符构成的序列
- 直接赋值
变量 = 表达式,如a = 1 - 复合语句赋值
+= -= *= /= //= %= **= ,如 a += 1 - 链式赋值
变量1 = 变量2 = 变量3,如 a = b = c = 1
- 同步赋值
变量1,变量2 = 表达式,表达式2,如a, b = 1, 2
4. 常量和变量
- 常量:运行期间一直不变
- 变量:Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
- 标识符:主要用来表示常量、变量、函数和类型等程序要素的名字,是只起到标识作用的一类符号。在 Python 中,标识符由字母、数字、下划线 (_) 组成,不能由数字开头,区分大小写。
- 关键字
- 特殊情况:单独的下划线 (_) 是一个特殊的变量,用于上一次运算的结果。
5. 数据类型
python中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
不可变数据3个:Number,String,Tuple
可变数据3个:List,Dictionary,Set
6.Number(数字)
- int整型,不固定长度,只要内存允许。十进制,二级制(0b,0B),八进制(0O,0o),十六进制(0x,0X)
转换:- 十进制int()
- 二进制bin()
- 八进制oct()
- 十六进制hex()
- ord(x) 将一个整数转换为一个字符
- chr(x) 将一个字符转换为一个整数
- float浮点型,17位有效数字精度
float(x) 将x转换为一个浮点数 - bool布尔型,True,False
- complex复数
complex(x) 将x转换为一个复数,实数部分为x,虚数部分为0
complex(x,y)将x和y转换为一个复数,实数部分为x,虚数部分为y
7. String(字符串)
定义: ' '," ",''' ''',""" """
字符串定义
8. 转义字符
- 无法看见的字符
- 与语言本身语法有冲突的字符
- 不想发生转义,可以在字符串前添加一个r或R表示原始字符串
- 示例
\n 换行
\r 回车
\\ 反斜杠符号
\t 横向制表符
\b 空格
\' 单引号
\''双引号
\ 在行尾时,续行符
9. 内置的函数
- print() 输出函数
- eval() 把字符串的内容作为对应的python语句来运行
- len() 返回字符串的长度
- max() 返回可迭代类型的最大值
- min() 返回可迭代类型的最小值
- range(start, end, scan)
- abs(x) 返回x的绝对值
- divmod(x,y) 返回x/y的商和余数
- round(x,[n])
10. 运算符
- 算数运算符
+加 -减 * 乘 / 除 // 整除 ** 幂 % 余 - 比较运算符
== 等于 != 不等于 < 小于 > 大于 <= 小于等于 >= 大于等于 - 赋值运算符
= 简单的赋值运算符 += 加法赋值运算符 -= 减法赋值运算符 *= 乘法赋值运算符
/= 除法赋值运算符 %= 取模赋值运算符 **= 幂赋值运算符 //= 取整除赋值运算符 - 位运算符:把数字看作二进制来进行计算的
& 按位与运算符 | 按位或运算符 ^ 按位异或运算符
<< 左移动运算符 >> 右移动运算符 - 逻辑运算符
and 与 or 或 not 非 - 成员运算符
in x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 - 身份运算符
is x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 -
运算符优先级,添加括号可以改变优先级
运算符
11. 导入模块
- 用法:
import 模块名
from 模块名 import 函数名
from 模块名 import * - 模块math常用方法:
绝对值fabs(x)
平方根sqrt(x)
幂函数pow(x,y)
返回e的x次幂exp()
ceil(x)为向上取整,如ceil(4.1)=5
round(x,[n])为四舍五入,n代表小数点后的位数
floor(x)向下取整,如round(4.1)=4
fmod(x,y) 为求x/y的余数
sin(x),cos(x),tan(x),acos(x),asin(x),atan(x)
12. 列表list
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
- 列表的定义
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如:list1=[1,2,3],空列表为 [] - 列表的访问
list1[0] 返回一个元素
list1[0:1] 返回一个列表 - 列表的更新
list[x] = 表达式,如list1[0]=1 - 列表的删除
del list[x],x为索引值
del list - 列表的操作
+列表加列表
*列表乘整型数字
in /not in 判断元素是否在列表内
len() 返回列表长度
max() 返回列表的最大值
min() 返回列表的最小值
list() 将元组转换为列表
list.append(obj) 在列表末尾添加新的元素
list.count(obj) 统计列表中某个元素出现的次数
list.extend(seq) 在列表的末尾一次性添加另一个序列的多个值
list.index(obj) 在列表中找到某个值第一个匹配项的索引值
list.insert(index,obj) 在列表指定索引位置插入元素
list.pop([i]) 移除列表的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中的元素
list.sort() 排序原列表
list.clear() 清空列表
list.copy() 复制列表,如list2 = list1.copy() - 列表解析
13. 元组tuple
- Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
- 元组的定义
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
空元组 ()
只有一个元素的元组,如(1,)
注:(1)不是一个元组,()被视为括号 - 元组的访问
- 元组不允许修改
- 元组的删除
del tuple - 元组的操作
+元组加元组
*元组乘整型数字
in /not in 判断元素是否在元组内
len() 返回元组长度
max() 返回元组的最大值
min() 返回元组的最小值
tuple() 将列表转换为元组
14. 集合set
- 集合的定义
一个无序不重复元素的序列。(无序,不重复) - 集合间的操作
没有索引,不能切片
-求两个集合的差集
&求两个集合的交集
|求两个集合的并集
^求不同时包含于两个集合的元素
- 集合的基本操作
- 添加元素:
s.add(x) 添加元素x,如果元素x已存在,不进行任何操作
s.update(x) 添加元素,参数可以是列表,元组,字典等 - 移除元素
s.remove(x) 移除元素x,如果元素x不存在,报错
s.pop() 随机删除集合中的一个元素 - 计算元素的个数
len(s) - 清空集合
s.clear() - 判断元素是否在集合内
in / not in
- 添加元素:
15.字典dict
- 字典的定义
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = { key1 : value1, key2 : value2 } - 字典的访问
把相应的键放入到方括号中
如果用字典里没有的键访问数据,会输出错误 - 字典的修改
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值
dict[key]=value - 删除字典元素
del dict[key]
del dict
dict.clear() 清空字典 - 字典键的特性
- 不允许同一个键出现两次,创建时如果同一个键被赋值两次,后一个值会被记住
- 键必须不可变,可用int,str,tuple
- 字典的内置函数和方法
len(dict) 计算字典元素个数
str(dict) 输出字典
16. 选择结构
- 条件的描述
- 关系运算: < > <= >= == !=
表达式1 关系运算符 表达式2 - 逻辑运算: and,or,not
- 关系运算: < > <= >= == !=
- 选择结构的实现(注意缩进)
- 单分支选择结构
if表达式:
语句块 - 双分支选择结构
if表达式:
语句块
else表达式:
语句块 - 多分支选择结构
if表达式:
语句块
elif表达式:
语句块
else表达式:
语句块 - if嵌套
- 单分支选择结构
17. 循环结构
- while循环(达到目标或递归)
while表达式:
语句块
else(可省略):
语句块 - for循环(遍历)
for 目标变量 in 序列对象:
语句块
注:序列对象:可迭代对象,range(开始:结束:步长)函数 - break语句
可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。 - continue语句:Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
- else语句:循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。
- pass语句:空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句
网友评论