Python入门笔记

文章目录

  • 第0周 课程导学
  • 第1周 Python基本语法元素
    • 保留字
    • 数据类型
    • 语句与函数
    • 输入函数
  • 第2周 Python基本图形绘制
    • turtle库
    • 绝对坐标
    • 海龟坐标
    • turtle角度坐标体系
    • RGB色彩体系
    • 画笔控制函数
    • 运动控制函数
    • 方向控制函数
    • 循环语句
  • 第3周 基本数据类型
    • 整型
    • 浮点数
    • 科学计数法
    • 复数类型
    • 数值运算操作符
    • 二元操作符有对应的增强赋值操作符
    • 数值运算函数
    • 字符串类型的表示
    • 字符串切片
    • 字符串类型及操作
    • 字符串类型格式化
    • time库
    • 时间获取
    • 时间格式化
    • 程序计时应用
    • 文本进度条
    • 单行进度刷新
    • 完整效果
  • 第4周 程序的控制结构
    • 单分支结构
    • 二分支结构
    • 多分支结构
    • 条件判断及组合
    • 程序异常处理
    • 遍历循环
    • 无限循环
    • 循环控制保留字
    • 循环其他用法
    • random库
    • 基本随机数函数
    • 扩展随机数函数
    • 函数的理解和定义
    • 函数的使用及调用过程
    • 函数的返回值
    • 局部变量和全局变量
    • lambda函数
    • 七段数码管绘制
    • 代码复用与模块化设计
    • 递归
    • 递归调用过程
    • 递归例子
    • PyInstaller库的使用
    • 科赫雪花
  • 第6周 组合数据类型
    • 集合类型定义
    • 集合操作符
    • 集合处理方法
    • 集合应用场景
    • 序列类型定义
    • 序列处理函数及方法
    • 元组类型及操作
    • 列表类型及操作
    • 序列应用场景
    • 字典类型
    • 字典类型操作函数和方法
    • 字典应用场景
    • jieba库基本介绍及使用
    • 文本词频统计
  • 第7周 文件和数据格式化
    • 文件类型
    • 文件的打开和关闭
    • 文件内容读取
    • 数据的文件写入
    • 自动轨迹绘制
    • 数据组织的维度
    • 一维数据的表示
    • 一维数据的存储
    • 一维数据的处理
    • 二维数据表示
    • CSV格式与二维数据的存储
    • 二维数据处理
    • wordcloud库
    • 政府工作报告词云
  • 第8周 程序设计方法学
    • 自顶向下和自底向上
    • 体育竞技分析
    • 计算思维
    • 计算生态和Python语言
    • 基本的程序设计模式
    • 看见更大的Python世界
    • os库
  • 第9周 Python计算生态概览
    • 数据分析
    • 可视化
    • 文本处理
    • 机器学习
    • 网络爬虫
    • Web信息提取
    • Web网站开发
    • 网络应用开发
    • 图形用户界面
    • 游戏开发
    • 虚拟现实
    • 图形艺术

第0周 课程导学

第1周 Python基本语法元素

保留字

and, elif, import, raise, global, as, else, in, return, nonlocal, assert, except, is, try, True, break, finally, lambda, while, False, class, for, not, with, None, continue, from, or, yield, def, if, pass, del

区分大写小

数据类型

字符串:由一对单引号或一对双引号表示,编号从0开始,最后一个可以是-1,配合[]使用
索引:返回字符串中单个字符,TemStr[-1]
切片:返回字符串一段字符子串,TemStr[0:-1],表示从0开始但不到-1

整数
浮点数
列表:[‘F’,‘f’],可用in 判断元素是否在列表中

语句与函数

#TempConvert.py
TempStr=input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']:
	C = (eval(TempStr[0:-1]) - 32)/1.8
	print("转换后的温度是{:.2f}C".fortmat(C))
elif TempStr[-1] in ['C','c']:
	F = 1.8*eval(TempStr[0:-1]) + 32
	print("转换后的温度是{:.2f}F".format(F))

输入函数

TemStr = input(“请输入”)

print(“转换后的温度是{:.2f}C”.format©),{}表示槽,:.2f表示保留2位小数

eval(“1+2”)表示去掉双引号,然后执行1+2

第2周 Python基本图形绘制

Python蟒蛇绘制

#PythonDraw.py
import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
    turtle.circle(40,80)
    turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.cicle(16,180)
turtle.fd(40*2/3)
turtle.done()

turtle库

最小单位是像素

屏幕左上角是(0,0)
turtle.setup(width, height, startx, starty)

绝对坐标

画布中心为(0,0),水平右为正x,竖直上为正y
turtle.goto(x,y)

海龟坐标

turtle.fd(d):向海龟前进方向走d距离
turtle.bk(d):向海龟后退方向
turtle.circle(r,angle):画半径为r,角度为angle的圆

turtle角度坐标体系

turtle.seth(angle):改变海龟行进方向
turtle.rigth(angle):右转
turtle.left(angle):左转

import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)

RGB色彩体系

white:255,255,255或1,1,1
yellow:255,255,0或1,1,0
magenta(洋红):255,0,255或1,0,1
cyan(青色):0,255,255或0,1,1
blue:0,0,255或0,0,1
black:0,0,0或0,0,0

turtle默认使用小数值

import 库名:第一种方法不会出现函数重名问题
from 库名 import * 函数名(参数):会出现重名问题

import 库名 as 库别名:给库起小名

import turtle as t
t.setup(0,0,600,600)

画笔控制函数

turtle.penup:抬起
turtle.pendown:落下
turtle.pensize:笔宽
turtle.width:笔宽
turtle.pencolor(“purple”)或turtle.color(r,g,b)或turtle((r,g,b)):颜色

运动控制函数

turtle.fd(100)或turtle.fd(-100)
turtle.circle(60,30):默认从海龟左侧画
turtle.circle(100):半径100的圆
turtle.circle(-100,90):从右边画圆

方向控制函数

turtle.seth(90):改变方向为绝对角度90
turtle.right(90):右转90度
turtle.left(90):左转90度

循环语句

for 变量 in range 参数

for i in range(5)print (i)

结果是
0
1
2
3
4

print("Hello",i)

输出结果为
Hello i
逗号使得结果中有空格

第3周 基本数据类型

整型

pow(x,y)

表示 x y x^y xy

4种进制:
十进制
二进制:0b或0B开头
八进制:0o或0O开头
十六进制:0x或0X开头

浮点数

带有小数点的数

浮点数间运算存在不确定尾数

0.1+0.2
0.30000000000000004

round(0.1+0.2, 1) == 0.3
True

round(x,d):对x四舍五入,d是小数截取位数

浮点数的比较可以用round

科学计数法

e或E,以10为基数
4.3 e − 3 = 4.3 × 1 0 − 3 4.3e-3=4.3\times10^{-3} 4.3e3=4.3×103

复数类型

z1=1+2j
z2=2+3j
z1+z2

数值运算操作符

+:加
-:减
*:乘
/:除
//:整除
+:正号
-:负号
%:取模
**:幂运算

二元操作符有对应的增强赋值操作符

x op= y,如
x += y
x -=y

混合运算,生成的数据类型是最宽的类型:整数->浮点数->复数

数值运算函数

abs():取绝对值
divmod(x,y):商余,同时输出商和余数(3,0)
pow(x,y,z):z可以省略,表示x**y%z
round(x,d):d可省略,表示保留小数位数,默认是0
max(x1,x2,…):最大值
min(x1,x2,…):最小值
int(x):将x舍弃小数,变成整数,x可以是数值字符串
float(x):将x变成浮点数

字符串类型的表示

2类4种表示方法:
由一对单引号或双引号表示,仅表示单行字符串

由一对三单引号或三双引号表示,可表示多行字符串

如果字符串中有双引号,则最外层的要用单引号;如果字符串中出现单引号,则最外层用双引号;如果既有单引号,又有双引号,则用三个单引号

'(")'
"(')"
'''(')(")'''

字符串序号:正向从0开始递增,反向从-1开始递减

字符串切片

[M:N:K]:M缺失表示到开头,N缺失表示到结束,K为步长。N是不包括的

转义符
“\b”:回退
“\n”:换行
“\r”:回车

字符串类型及操作

x + y:连接两个字符串
n * x 或 x * n:复制n次字符串x
x in s:如果x是s的子串,返回True,否则返回False

获取星期字符串:
输入:1-7的整数,表示星期几
输出:输入整数对应的星期字符串

weekStr = "星期一星期二星期三星期四星期五星期六星期日"
weekId = eval(input("请输入星期数字(1-7):"))
pos = (weekId -1)*3
print(weekStr[pos:pos+3])

len(x):返回字符串长度
str(x):任意类型x转化为字符串

Unicode编码

"1 + 1 = 2 “ + chr(1004)

ord():将字符转化为Unicode

星座字符串

for i in range(12):
	print(chr(9800 + i), end = "")

方法本身是函数,a.b中的b即为方法
str.lower()或str.upper():返回字符串的副本,全部字符小写/大写
str.split(sep = None):返回一个列表,由str根据sep被分隔的部分组成

"A,B,C".split(",")

str.count(sub):返回子串sub在str中出现的次数
str.replace(old,new):新的代替旧的
str.center(width[,fillchar]):用fillchar填充使字符串位于中心
str.strip(chars):从str中去掉在其左侧和右侧chars中列出的字符

"= python= ".strip(" =np")

str.join(iter):有iter变量除最后元素外每个元素后增加一个str

”,“.join("12345")

字符串类型格式化

.format()
槽:{}

"{}:计算机{}的CPU占用率为{}%".format("2018-10-10","C",10)

{参数序号:格式控制标记}

充填 对齐 宽度 , .精度 类型
引导符号 用于填充的单个字符 <左对齐>右对齐^居中对齐 槽设定的输出宽度 数字的千位分隔符 浮点数小数精度或字符串最大输出长度 整数类型b,c,d,0,x,X浮点数类型e,E,f
"{0:=^20}".format("PYTHON")
"{0:*>20}".format("BIT")
"{:10}".format("BIT")
"{0:,.2f}".format(12345.6789)
"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)

time库

import time

时间获取:time(),ctime(),gmtime()
时间格式化:strftime(),strptime()
程序计时:sleep(),perf_counter()

时间获取

time.time()

时间从1970年1月1日零点零分开始到现在以秒为单位的时间

time.ctime()

返回字符串

time.gmtime()

生成计算机可以处理的格式,time.struct_time()

时间格式化

t=time.gmtime()
strftime("%Y-%m-%d-%H:%M:%S",t)

strftime(tpl,ts)
tpl:格式化模板字符串
ts:计算机内部时间类型变量

t='2018-01-26 12:55:20'
time.strptime(t,"%Y-%m-%d %H:%M:%S")

time.strptime能将一段字符串变成时间

程序计时应用

start = time.perf_counter()
end = time.perf_counter()
dif = end - start
def wait():
	time.sleep(3.3)
wait()

sleep以秒为单位

文本进度条

import time
scale=10
print("------开始执行------")
for i in range(scale+1):
	a =** i
	b = '.' * (scale-i)
	c = 

你可能感兴趣的:(计算机)