Python 第一节课
2018年3月8日 14:47
数字运算
- 内置的数值运算操作符
操作符 | 描述 | 举例 |
x + y | x与y的和 | 4 + 3 |
x - y | x与y的差 | 4 - 3 |
x * y | x与y的积 | 4 * 3 |
x / y | x与y的商 | 4 / 3 |
x // y | x与y的整数商 | 4 // 3 |
x % y | x与y之商的余数(模运算) | 4 % 3 |
-x | x的负值 | |
+x | x本身 | |
x ** y | x的y次幂 | 4 ** 3 |
数字类型
- 内置的数值运算操作符
扩展关系
整型 ---> 浮点型 ---> 复数
- 整数之间的运算,结果类型是数学意义上的结果类型 --例如:7/2 结果是 浮点数3.5; 8/2 结果是 整数4
- 整数和浮点数混合运算,结果是浮点数
--例如:12 + 4.0 结果是浮点数16.0
- 整数或浮点数与复数运算,结果是复数
数值运算函数
函数 | 描述 | |
abs(x) | x的绝对值 | |
divmod(x,y) | (x//y, x%y)、 输出为元组类型 | |
pow(x,y[,z]) | z可省略,即pow(x,y) =x ** y | |
round(x[,n]) | 对x四舍五入,保留n位小数, n可省略,返回四舍五入的整数值 | |
max(x1,x2,...,xn) | n个数字的最大值 | |
min(x1,x2,…,xn) | n个数字的最小值 |
转换函数
——隐式转换
——显式转换
函数 | 描述 | |
int(x) | 将x转换为整数
int(3.6) = 3(舍弃小数,非四舍五入) |
|
float(X) | 将x转换为浮点数 | |
complex(re[,im]) | 生成一个复数 | |
x.real | x的实数部分 | |
x.imag | x的虚数部分 |
表达式
- 是由数字、算符、数字分组符号(括号)、变量等以能求得值的有意义排列方法所得的组合
--举例: 2 + 3; max(1,3,9)……
命令行常用命令
cd | 更改目录 |
dir | 目录 |
cd.. | 返回上级目录 |
cls | 清屏 |
Tab | 补全名称 |
Python 第二节课
2018年3月8日 14:48
变量
- 变量:保存数据
- 变量的命名:
- 字母(大、小写)、数字、下划线、汉字等字符及其组合
- 首字符不能是数字
- 中间不能出现空格不能是python的保留字
False | def | if | raise |
None | del | import | return |
True | elif | in | try |
and | else | is | while |
as | except | lambda | with |
assert | finally | nonlocal | yield |
break | for | not | |
class | from | or | |
continue global | pass |
字符串类型
- 概念:字符的序列。
- 序列中字符的个数:字符串的长度 L = len(s)
- 字符的顺序:字符串的序号体系
- 正向递增 从 0 到 L-1
- 反向递减 从 -1 到 -L
- 序列中某个字符或者某个子序列:字符串索引和切片
- 索引:表示字符串中的单个字符 s[序号n] (第n个字符)
- 切片:表示字符串中的字符片段 s[序号n:序号m] (从n到m,不包含m)
- 转义字符:\ 与其后的一个字符共同组成了新的含义。
- \n 换行
- \\ 反斜杠
- \' 单引号
- \” 双引号
- \t 制表符(Tab)
基本的字符串操作运算
- 基本操作符(5个)
操作符 | 描述 | 举例 |
x + y | 连接两个字符串x与y | 'ab' + 'bc' 得到 'abbc' |
x * n 或 n * x | 复制n次字符串x | 'hello' * 3 |
x in s | 如果x是s的子串,为True,否则为False | 'Y' in 'Python' |
str[i] | 索引,str的第i个字符 | str = 'abcd' str[3] |
str[N:M] | 切片,str索引第N到第M(不包含M)的子串 | str[1:3] |
- 内置的字符串处理函数(6个)
函数 | 描述 | 举例 |
len(x) | 返回字符串x的长度 | len('python') |
str(x) | 将任意类型x转换为对应的字符串形式 | str(1) '1' |
- 内置的字符串处理方法(16个)
- str.format() 字符串类型的格式化
- 基本使用 <模板字符串>.format(<逗号分隔的参数>)
○ 模板字符串:由一系列槽({}表示)组成,控制修改字符串中嵌入值的位置。 (将 format方法中逗号分割的内容按照序号或顺序替换到槽中。 )
○ 例如:'我正在学习{}'.format('python')
○ 例如:'我正在学习{1}'.format('c', 'python')
- 格式控制 槽除了包括序号信息外,还可包括格式控制信息
○ {<参数序号>:<格式控制标记>}
○ 格式控制标记:<宽度>、<对齐>、<填充>、<精度>、<类型>、<,>
str.lower() | 返回字符串str的副本,全部字符小写 |
str.upper() | 返回字符串str的副本,全部字符大写 |
str.islower() | 当str所有字符都是小写时,返回True,否则返回False |
str.isprintable() | 当str所有字符都是可打印的,返回True,否则返回False |
str.isnumeric() | 当str所有字符都是数字时,返回True,否则返回False |
Python 第三节课
2018年3月15日 14:30
函数与模块的概念
- 函数:完成某些特定功能的语句集合。
- 参数:函数的“输入”
- 返回值:函数的“输出”
- 模块:是一个包含了很多Python函数和变量名等代码的Python程序文件。
- 内置库:Python默认支持的函数库,也叫做标准函数库
- turtle、math、random
- 第三方库:第三方提供,需要进行安装的函数库
- 安装在python解释器的路径下,即可导入使用
库的导入(以turtle库和shape('')函数为例)
种类 | 导入库方式 | 库函数使用方法 |
一 | import 库名例如:import turtle | <库名>.<函数名>()
例如:turtle.shape('circle') |
二 | from 模块名 import 函数名
例如:from turtle import shape |
<函数名>()
例如:shape('circle') |
from 模块名 import * 例如:from turtle import * |
turtle 库函数举例
函数名 | 功能 | 参数 |
shape | 设置“画笔”形状 | 'arrow','turtle','circle','square','triangel','cl assic' |
color | 设置“画笔”颜色 | colorstring:'red','blue'等
(r, g, b):(0,0,0)~(255,255,255) |
fd | 前进 | 数字(负数代表反方向前进) |
分区 Python 的第 7 页
lt 或 rt | 转向 | 数字(旋转角度) |
分区 Python 的第 8 页
Python 第四节课
2018年3月19日 14:27
函数的定义
函数的使用
全局变量和局部变量
- 程序中的变量包括两类:
分区 Python 的第 10 页
•变量类型 | •定义位置 | •作用域 |
•全局变量 | •函数之外 | •全过程有效 |
•局部变量 | •函数内部 | •仅在函数内部有效 |
复习课(1)
2018年3月26日 13:33
第一章课程介绍:
- 重要概念
- 计算机基本特性
- 程序、程序设计、程序设计语言
- Python 启动和运行
- 交互式
命令行常用操作:cd、cd.. 、dir 、cls(清屏)、Tab
- 文件式
第二章编程语言基础知识
- 数据与数据的运算
- 数字
- a) 分类
- b) 运算
1) 运算符
2) 函数
3) 转换函数
- 字符串
- a) 表示形式
- b) 切片和索引
第三章程序的组织结构
- 模块、库函数、自定义函数
分区 Python 的第 12 页
第五节课
2018年4月2日 16:19
流程图基本元素
程序基本结构流程图
选择结构的语法——单、双分支
选择结构
第六节课
2018年4月12日 13:47
循环结构的形式
- 确定次数循环
- 对次数有明确定义
- “遍历循环”:遍历结构、元素个数
- for语句
- 非确定次数循环
- 不确定可能执行的次数
- 条件判断 + 无限循环
- while语句
循环结构的形式——while语句
计数循环——迭代变量
第七节课
2018年4月16日 16:19
组合数据类型(一)
元组和列表(教材153-162页)组合数据类型
- 基本数据类型:表示单一数据(例如:数字类型)
- 组合数据类型:表示多个数据(每个数据称为元素)
- 将多个同类型或者不同类型的数据,通过单一的表示组织起来,使数据操作更有序,更容易
- 根据数据之间的关系,组合数据类型可分为:
- 序列类型:存在先后关系,序号访问,不排他
- 集合类型:无序,唯一性
- 映射类型:“键-值”对序列类型
- 字符串(str):单一字符的有序组合,因其常用且单一字符串只表达一个含义,也被看作是基本数据类型。
- 元组(tuple):
- 用括号表示一组数据,数据间用逗号分隔
- 例如 (1,2,3)('a','b','c')
- 一旦创建不能被修改。 用于表达函数多个返回值、多变量同步赋值、循环遍历等。
- 列表(list):
- 用中括号表示一组数据,数据间用逗号分隔
- 例如 [3,'a',[1,'b']]
- 长度和内容都可动态修改
序列类型的通用操作符和函数
操作符 | 描述 |
x in s | 如果 x 是 s 的元素,返回True,否则返回False |
x not in s | 如果 x 不是 s 的元素,返回True,否则返回
False |
s + t | 连接 s 和 t |
s * n 或 n * s | 将序列 s 复制 n 次 |
s[i] | 索引,返回序列的第 i 个元素 |
s[i:j] | 分片,返回包含序列 s 第 i 到 j 个元素的子序列(不包含第 j 个元素 |
s[i:j:k] | 步骤分片,返回包含序列 s 第 i 到 j 个元素以 k 为步数的子序列 |
len(s) | 序列 s 的元素个数(长度) |
min(s) | 序列 s 中的最小元素 |
max(s) | 序列 s 中的最大元素 |
s.index(x[,i[,j]]) | 序列 s 中从 i 开始到 j 位置中第一次 |
s.count(x) | 序列 s 中出现 x 的总次数 |
集合类型的操作符
操作符 | 描述 |
S—T 或
S.difference(T) |
返回一个新集合,包括在集合 S 中但不在集合 T 中的元素 |
S-=T 或
S.difference_updat e(T) |
更新集合 S,包括在集合 S 中但不在集合
T 中的元素 |
S & T 或
S.intersection(T) |
返回一个新集合,包括同时在集合 S 和 T 中的元素 |
S&=T 或
S.intersection_upd ate(T) |
更新集合 S,包括同时在集合 S 和 T 中的元素 |
S^T 或
s.symmetric_differ ence(T) |
返回一个新集合,包括集合 S 和 T 中的元素,但不包括同时在其中的元素 |
S=^T 或
s.symmetric_differ ence_update(T) |
更新集合 S 和 T 中的元素,但不包括同时在其中的元素 |
S| T 或 S.union(T) | 返回一个新集合,包括集合 S 和 T 中的所 |
有元素 | |
S=| T 或
S.update(T) |
更新集合 S,包括集合 S 和 T 中的所有元素 |
S<=T 或
S.issubset(T) |
如果 S 与 T 相同或 S 是 T 的子集,返回
True,否则返回 False,可以用 S<T 判断 S 是否是 T 的真子集 |
集合类型的操作函数或方法
操作函数或方法 | 描述 |
S.add(x) | 如果数据项 x 不在集合 S 中,将 x 增加到 s |
S.clear() | 移除 S 中所有的数据项 |
S.copy() | 返回集合 S 中的所有数据项 |
S.pop() | 随机返回集合 S 中的一个元素,如果 S 为空,产生 KeyError 异常 |
S.discard(x) | 如果 x 在集合 S 中,移除该元素;如果 x 不在集合 S 中,不报错 |
S.remove(x) | 如果 x 在集合 S 中,移除该元素;如果 x 不在集合 S 中,产生 KeyError 异常 |
S.isdisjoint
(T) |
如果集合 S 与 T 没有相同元素,返回 True |
len(S) | 返回集合 S 的元素个数 |
x in S | 如果 x 是 S 的元素,返回 True,否则返回 False |
x not in S | 如果 x 不是 S 的元素,返回 True,否则返回
False |
创建列表
- 列表名 = [元素1,元素2,……]
- 例如:numbers = [1,2,3,4]
- list()
- 将元组或字符串转换成列表 num = list('123')
- 直接使用list()生成一个空列表[]
- 鉴于列表通常包含多个元素,可以给列表指定一个表示复数的名称
创建数值列表的简便方法
- 函数range():根据给定参数生成数字列表
- range(参数1) 指定上界,默认下届为0、步长为1
- range(参数1,参数2) 指定下界和上界,默认步长为1
- range(参数1,参数2,参数3) 指定下届、上界和步长
- 不包含右边界
遍历列表—— for-in语句
关于"range()"函数在Python3中不能运行的解决办法
- range()函数生成的是一个range类对象,通过只存储下届、上届、步长三个数据的形式,占用较少资源来存储一个可以用于for循环遍历的结构,可以用 list(range(2,9,2)) 将其转换为列表,再输出就可以了。
复习课(2)
2018年4月26日 13:48
一、数据
- 基本
○ 数字
▪ 整数 int()
▪ 浮点 float()
○ 布尔
▪ True ▪ False
- 组合
○ 序列
▪ 字符串 str()
▪ 元组 tuple()
▪ 列表 list()
○ 集合
○ 映射
二、基本操作
- 单分支 If 条件表达式:
语句块1
- 双分支 If 条件表达式: 语句块1 else: 语句块2
- 多分支 If 条件表达式1: 语句块1 else: if 条件表达式2: 语句块2 else: if…..
变量命名规则:
1.可以包含数字、字母、下划线、汉字
2.数字不能作为变量名字的开头
3.不能有空格
4.不能是关键字
数字类型的数据操作(数字操作符)
Python 第八节课
2018年5月3日 13:45
集合类型
- 无序组合
- 元素是固定数据类型,不重复
- 用大括号表示,逗号分隔元素
- 例如:
a = {1,2,3} b = {1,(10,'zhang'),'hello'} c = {[1,2,3],[1,2],[2,3,4]} Ï
set() 函数
- 输入函数:任何组合数据类型
- 返回结果:一个无重复且排序任意的集合
- 例如:
集合类型的操作符
集合类型的操作函数
字典
数字索引和字符索引
- 列表 lst1 = ['a','b','c','d']
元素 | 'a' | 'b' | 'c' | 'd' |
序号 | 0 | 1 | 2 | 3 |
字典的表示形式
- 字典 是一系列键-值对,放在花括号{ }中
- 举例:
– 元素:键-值对 键和值之间用冒号分隔
– 字典元素与集合类似:无序、不重复
–
字典可以看成是元素为键值对的集合
– {}或者dict()创建字典
字典元素的访问
- 列表 lst = ['a','b','c','d']
元素 | 'a' | 'b' | 'c' | 'd' |
序号 | 0 | 1 | 2 | 3 |
- 字典 dict = {'中国':'北京','美国':'华盛顿'}
值 | '北京' | '华盛顿' |
键 | '中国' | '美国' |
第一个元素的值'北京' 通过 dict['中国'] 来访问字典元素添加与修改
1、键-值对的排列顺序与添加顺序可能不同
2、键没有重复字典类型的函数和方法
函数和方法 | 描述 |
<d>.keys() | 返回所有的键信息 |
<d>.values() | 返回所有的值信息 |
<d>.items() | 返回所有的键值对 |
<d>.get(<key>,<default>) | 键存在则返回相应值,否则返回默认值 |
<d>.pop(<key>,<default>) | 键存在则返回相应值,同时删除键值对,否则返回默认值 |
<d>.popitem() | 随机从字典中取出一个键值对,以元组(key,value)形式返回 |
<d>.clear() | 删除所有的键值对 |
del<d>[<key>] | 删除字典中某一个键值对 |
<key> in <d> | 如果键在字典中则返回True,否则返回False |
列表类型特有的函数或方法
函数或方法 | 描述 |
ls[i] = x | 替换列表 ls 第 i 数据项为 x |
ls[i:j] = lt | 用列表 lt 替换列表 ls 中第 i 到第 j 项数据(不包含第 j 项,下同) |
ls[i:j:k] = lt | 用列表 lt 替换列表 ls 中第 i 到第 j 项以 k 为步数的数据 |
del ls[i:j] | 删除列表 ls 第 i 到第 j 项数据,等价于 ls[i:j]=[] |
del ls[i:j:k] | 删除列表 ls 第 i 到第 j 项以 k 为步数的数据 |
ls+=lt 或 ls.extend(lt) | 将列表 lt 元素增加到列表 ls 中 |
ls*=n | 更新列表 ls,其元素重复n次 |
ls.append(x) | 在列表 ls 最后增加一个元素 x |
ls.clear() | 删除 ls 中的所有元素 |
ls.copy() | 生成一个新列表,复制 ls 中的所有元素 |
ls.insert(i,x) | 在列表 ls 第 i 位置增加元素 x |
ls.pop(i) | 将列表 ls 中的第 I 项元素取出并删除该元素 |
ls.remove(x) | 将列表中出现的第一个元素 x 删除 |
ls.reverse(x) | 列表 ls 中的元素反转 |
Python 第九节课
2018年5月7日 18:31 文件
- 文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容。
- 文件类型:文本文件和二进制文件
Python对文件的操作步骤
打开文件
- 使用open函数打开文件并实现该文件与一个程序变量的关联:
- 两个参数均为字符串类型:
– 参数1:文件名(或者包含完整路径的文件名)
- 例如:text.txt(或者D:\text.txt)
– 参数2:打开模式(7种模式)参数1 文件名
- 文件地址:被打开文件的存储位置
- 绝对路径 从根目录(盘符)开始
- 相对路径 从程序所在目录开始
- 当程序与文件在同一目录时,可直接写文件名描述路径
- python在描述路径时可以有多种方式,现列举常见的三种
- 方式一:转义的方式 'd:\\a.txt'
- 方式二:显式声明字符串不用转义 'd:r\a.txt'
- 方式三:使用Linux的路径 'd:/a.txt' 参数2 文件的打开模式
打开模式 | 含义 | |
1 | 'r' | 只读,默认 |
2 | 'w' | 覆盖写 |
3 | 'x' | 创建写 |
4 | 'a' | 追加写 |
5 | 'b' | 二进制文件模式 |
6 | 't' | 文本文件模式,默认 |
7 | '+' | 与在原功能基础上增加同时读写功能 |
关闭文件
- 访问文件结束后,需要将其关闭,以避免可能会造成的数据丢失或受损
- 关闭文件的方法
– 句柄.close()
读取文件内容
- 读文件的不同方式:
- read()
- readline()
- readlines()
文件内容的处理
将数据写入文件
- 文件内容写入方法
- write(s) 写入字符串
- writelines(lines) 写入多行字符串(列表)
- seek(offset) 阅读课本185页例7.3
Comments NOTHING