学习笔记

发布于 2018-05-17  9 次阅读


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

第一章课程介绍:

  • 重要概念
  1. 计算机基本特性
  2. 程序、程序设计、程序设计语言
  • Python 启动和运行
  1. 交互式

命令行常用操作:cd、cd.. 、dir 、cls(清屏)、Tab

  1. 文件式

第二章编程语言基础知识

  • 数据与数据的运算
  1. 数字
  2. a) 分类
  3. b) 运算

1) 运算符

2) 函数

3) 转换函数

  1. 字符串
  2. a) 表示形式
  3. 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()

○ 集合

○ 映射

二、基本操作

  1. 单分支 If 条件表达式:

语句块1

  1. 双分支 If 条件表达式: 语句块1 else: 语句块2
  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