第一单元
-
TempStr[-1] in [‘C’, ‘c’]
表示从TempStr字符串的最后一个字符是C或c就返回一 个 true或faluse值
- <字符串>[1:3]
表示取出字符串中的第一个字符,第二个字符,但不到第三个字符
print (“转换后的温度是{: .2f} C” . format(C))
例子:输入:8.3624789 输出:8.36
- eval()函数
可去掉引号把字符变成单纯引号里的东西
例如: eval (“1”) 1;eval (“1+2”) 3;
eval (‘“1+2”’) 1+2
eval (‘print(“Hello”)’) Hello;
eval (TempStr[0, -1])
例子:TempStr[0, -1]的值是12.3 12.3
第二单元
- turtle . setup(700, 800, 0, 0)
生成窗口为宽700,高800,左上角顶点坐标相对于电脑左 上角坐标为(0,0)
- turtle . setup(700, 800)
生成窗口为宽700,高800,默认窗口在中间
- turtle . goto(x, y)
走到(x, y)这个坐标
- turtle.fd(d)
向海龟前方前进d
- turtle.bk(d)
向海龟反方向前进d
- turtle.circle(圆弧半径,角度)
向海龟左侧绕圆弧
- turtle.seth(45)
向45度方向行进
- turtle.left(45)
向海龟左边45度方向行进
- turtle.right(45)
向海龟右边45度方向行进
- turtle.colormode(mode)
1.0 是RGB小数模式; 255是RGB整数模式
- 导入库
方法一:
方法二:
From<库名> import <函数名> 或 From<库名> import <函数名>
<函数名>(<函数参数>) <函数名>(<函数参数>)
方法三:
这时代表笔飞不画东西
这时落笔画东西
- 线条的粗细
- 线条颜色
- 海龟运动
直线
曲线:圆心在左,r为正;圆心在右,r为负
- 循环语句
例一:
例二:print ("Hello:" , i),因为那个‘,’,使得Hello: 和数字间有个空格
例三:range (2, 6)表示打印从2开始,但不到6的数
第三单元
- pow(x, y) 或 x**y: 计算xy
- 整数类型
- 浮点类型
1)round (a, b): 对a四舍五入,b小数点后有几位数
2)4.3e-3: 表示4.3*10-3
9.6E5: 表示9.6*105
a//b: 取整
例子:9//2 = 4
a/b: 结果为浮点数,和正常运算一样,要和C语言区分
例子:10/3 = 3.333333333333333333333333333333333
3)整数 + 浮点数 = 浮点数
4)abs(x): 求x的绝对值
5)divmod(10, 3): 求商余,答案为 (3, 1)
6)pow(a,b, z): (a**b) % z (其中z可省略)
7)max (x1,x2,x3,x4,x5,x6,……….): 取最大值
min (x1,x2,x3,x4,x5,x6,……….): 取最小值
- 字符串
- 表示:有三种,分别是 ‘ ’ 和 ” ” 和 ‘’’ ’’’
- [:3]: 输出字符串中下标0到2的字符
- [2: 10: 3] 表示从下标为2开始到下标为10为止,隔3个输出,答案为7,9,3
例子:“ 2 4 7 6 5 9 7 8 3 4 5 7”
输出: 1 2 3 4 5 6 7 8 9 10 11
4. [:: -1] 将字符串逆向输出
- 字符串操作符
1) X + Y 将字符串X和字符串Y连接成一个字符串
2) X*n 或n*X 将字符串X复制n次
3) X in S 如果字符串X是S的子串,返回true,否则返回false
- 字符串处理函数
1)str() 把任何东西变成字符串
2)len() 求字符串长度
3)hex() 变成16进制
4)oct() 变成8进制
5)chr() 把Unicode编码转换为字符
6)ord() 把字符转换为Unicode编码
- 符串处理方法
str.lower() 把所有字符都变成小写
str.upper() 把所有字符都变成大写
str.split() 返回一个被分割的列表
例子:“A, B, C”.split(“,”) 输出: [‘A’, ‘B’, ‘C’]
str.count() 计算子串在字符串中出现的次数
例子:“I have a apple”.count(“a”) 3
str.replace(原来的,新的) 替换原来字符串的某部分
例子: "baobaolxiao".replace("l", "55555") 'baobao55555xiao'
str.center() 使字符串居中
例子: "小猪".center(20, "*") '*********小猪*********'
str.strip(想去掉的字符) 去掉左右侧某些字符
例子: "可爱贪吃的小猪想吃薯条和炸鸡配可乐".strip("可爱配可乐")
'贪吃的小猪想吃薯条和炸鸡'
str.join() 在一串字符的每个元素之间都添加某个符号
例子: "!".join("小明下学期要拿第一") '小!明!下!学!期!要!拿!第!一'
- 字符串类型的格式化
例子
"{1}很喜欢{0},因为{2}".format("苹果", "小猪", "好吃")
输出: '小猪很喜欢苹果,因为好吃'
例子:
1)"{0:&<10}".format("小猪") 左对齐
输出: '小猪&&&&&&&&'
2)"{0:@>10}".format("小猪") 右对齐
输出: '@@@@@@@@小猪'
3)"{0:*^10}".format("小猪") 居中
输出:'****小猪****'
4)"{:10}".format("我们的故事") 默认情况下,填充为空格,为左对齐
输出: '我们的故事 '
5)"{0:,.3f}".format(169875.3568412) 那个“,”会在数字千位那里分割
输出: '169,875.357'
6)整数类型
例子: "{0:b}, {0:c}, {0:o}, {0:x}, {0:X}".format(425)
输出: '110101001, Ʃ, 651, 1a9, 1A9'
7)浮点类型
例子: "{0:e}, {0:E}, {0:f}, {0:%}".format(425)
输出: '4.250000e+02, 4.250000E+02, 425.000000, 42500.000000%'
- time库的使用
- 时间获取
- import time
1)time.time()
输出: 1547620953.4495199
2)time.ctime() 输出的这个时间是一个字符串
输出: 'Wed Jan 16 14:42:43 2019'
3)time.gmtime() 输出的是计算机可处理的时间格式
输出:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=16, tm_hour=6, tm_min=43, tm_sec=23, tm_wday=2, tm_yday=16, tm_isdst=0)
- 时间格式化
- strftime() (获取一个计算机格式时间转化为字符串)
例子:
import time
t = time.gmtime() //用gmtime获得一个计算机读取的时间格式
time.strftime("%Y-%m-%d, %H:%M:%S", t) //再把这个t格式化
输出:'2019-01-17, 03:06:03'
- strptime() (字符串转化为计算机格式时间)
例子:
timestr = '2019-01-17, 03:06:03'
time.strptime(timestr, "%Y-%m-%d, %H:%M:%S")
输出:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=17, tm_hour=3, tm_min=6, tm_sec=3, tm_wday=3, tm_yday=17, tm_isdst=-1)
- 时间计时
perf_counter() (要分别计算开始和结束求差的时间才有意义)
例子:
start = time.perf_counter()
end = time.perf_counter()
answer = end - start
print (answer)
输出:18.88922767599999
time.sleep(5.2) 表示程序最后将停留5.2秒以后才会退出
- 进度条实例
1)文本条最初版本
2)文本条的刷新(在cmd运行才能刷新)
\r的作用是刷新
end = “ “是让他不换行
3)文本条终极版
在计算时间的时候用了递归
第四单元
- 分支结构
1)单分支结构
例子:
2)二分支结构
例子:
3) 二分支紧凑形式
例子:
- 多分支结构
例子:
- 条件组合
例子:
- 异常处理
执行语句1中的一部分代码,
若语句1发生异常则执行语句2
否则执行语句3
论语句1有没有异常,都要执行finally中的语句4。
用户同时输入2个变量的赋值 (用” , ”来处理)
- 循环 (循环语句一定要加 “:”,还有要记得前面空4格)
计数遍历循环
for () in range ()
for () in range (a, b) (输出从a开始但是不到b的数)
for () in range (a, b, c) (输出从a开始但不到b,步长间隔为c的数)
- 字符串遍历循环
for (a) in “遍历的字符串” (遍历字符串中每一个字符,然后输出)
- 列表遍历循环
for (a) in [x1, x2, x3, x4…..] (遍历列表,输出列表中的元素)
- 文件遍历循环 (读取文件的每一行)
- 无限循环
- While循环
- 循环控制保留字
break: 循环中断,跳出循环,!!!记住,只能跳一层!!!执行循环后语句
continue: 结束本次循环,进入下一次循环
- 循环与else
1)break
用break的时候只要执行了break,就不会执行else语句了
2)continue
用了continue的时候无论如何还是会执行else语句的
random库的使用(主要功能是用于产生随机数)
- 函数种类
- 基本函数
例子:
使用种子 (只要是同一种子,就会产生同样的随机数)
不使用种子(默认是系统时间,产生的随机数回不来的)
是生成0到1之间的随机小数
- 扩展函数
random.randint (a, b) 产生a到b之间的随机整数
例子:
random.randrange (a, b, c) 产生a到b的步长为c的一个随机整数
例子:
random.getrandbits (k) 产生一个比特长为k的随机整数
例子:
random.uniform(a, b) 产生一个a到b之间的随机整数
random.choice ([x1, x2, x3, x4…]) 从序列当中随机选取一个数
例子:
s = [x1, x2, x3, x4…] 将原来的序列打乱顺序以后重新输出
random.shuffle (s)
print (s)
例子:
第五单元 参数 操作
- lambdaf f = lambda x, y : x * y
print (f(传参数))
例子:
- 可变参数的传递
fx (n, *b) 要放在后面
- 函数内部申明全局变量 global
pyinstaller库:把Python文件打包,使其能在没安装python的环境中也能使用
第六单元
- 集合
- set函数(变成集合)
- 集合性质
1> 由{ }表示
2>不会出现重复元素
3>集合内元素无序
4>空集合:set()
例子:
- 集合操作符
S <= T或S < T S与T的子集关系
S >= T或S > T S与T的包含关系
- 增强操作符
- 集合处理方法
S.clear() 移除所有元素
S.pop() 随机返回S中的一个元素,更新S,若S为空,则报错
- 循环遍历集合
- 利用集合去重
- 序列的通用函数
字母大小的比较按照字母顺序比较
- 元组
1)一旦创建就不能被修改
2)使用时()可有可无
3)用()或tuple创建,元素间” ,”分隔
- 列表
1)可被随意修改
2)用[ ]或list创建,用” , ”分隔(这样系统上才会真正创建一个列表,lis = lt这样的赋值的不算,这样只是相当于换个名字),
3)列表操作函数
4)应用实例
替换
用另一个列表替换掉原来那个切片的列表
删除
del[a:b]: 删除下标从a到b-1的元素,凡是[a: b]这样的都是下标范围这个含义
del[::a]: 意思是删除步长为a的元素
del[i: j: k] : 删除从下标为i开始,不到j, 且步长为k的元素
添加 (若添加时不加[ ], 加入后默认拆开字符)(添加多个用+=,一个用li.append())
复制
5) 列表功能
- 字典
1)用{ }或dict()创建
2)d = { } 或 dict( )表示空字典
3)表示形式{关键字1:数值1,关键字2:数值2}
4)用dict(x1 = y1, x2 = y2)创建字典实例
等号前面为变量,等号后面为数值
- 字典类型操作函数
- jieba库的使用
第七单元
- 文件和数据格式化
以文本文件方式打开(rt)
以二进制方式打开(rb)
- 读写文件
读取文件的某几行,表示为列表,一行一个元素
- 文件的打开模式
例子
- 遍历全文本
方法一:一次读入,统一处理
方法二:(大文件)按数量读入,逐步处理
- 逐行遍历文件
方法一:一次读入,分行处理
方法二:(大文件)分行读入,逐行处理
- 写入文件
是直接拼接在一起的
- 一维数据的表示
集合:表示一组无序的一维数据
列表:表示一组有序的一维数据
- 一维数据的存储
用空格分隔,数据中不能存在空格
用逗号分隔,数据中不能存在逗号
其他分隔,数据中不能出现那个分隔的字符
- 一维数据读入处理
例子:
- 一维数据写入处理
例子:
二维数据的表示: 使用二维列表
二维数据的存储:按照习惯,先行后列
CSV格式
- 二维数据的读入写入处理
- wordcloud库的使用
- os库
- os库进程管理
使用python程序去调用外部程序
- os库环境管理