1.Python基础复习

日期和时间的输出

from datetime import datetime
now=datetime.now()
now.strftime("%x")  #输出其中日期部分
now.strftime("%X")  #输出其中时间部分

python无法进行高精度浮点数运算,例如1.23456789*2.3456789,但是我们可以通过去掉小数点,当整数运算,则可以确定精准值:

在这里插入图片描述

拓展:高精度浮点运算类型
Python通过标准库decimal提供了一个更精度的数字类型Decimal,并可以使用getcontext().prec参数自定义浮点数精度的位数,例如:

>>> import decimal
>>> a=decimal.Decimal('3.141592653')
>>> b=decimal.Decimal('4.123232323232')
>>>> decimal.getcontext().prec=5
>>> a*b
#Decimal('12.954')

2.数值函数

2.1复数类型:

前言:
复数类型表示数学中的复数。很久以前,数学界被求解如下等式难住了:
x2 = -1
这是因为任何实数都不是上述等式的解。直到18世纪,数学家发明了“虚数单位”,记为j,并规定j=√-1。围绕这个特殊数字出现了新的数学分支,产生了“复数”。对于一个实数n,根据上述定义,nxjxj的值是-n


复数可以看做是二元有序实数对(a,b),表示为a+bj,其中,a是实数部分,简称实部,b是虚数部分,简称虚部。 12.3+4j 对于复数z,可以用`z.real`和`z.imag`分别获得它的实数部分和虚数部分,例如:

在这里插入图片描述

分析(1.23e-4+5.67e+8j).real
1.23e-4意思是1.23乘以10的-4次幂 也就是0.000123
加上后面的5.67e+8j.real 是5.67乘以e的8j.real次幂,8j.real是复数的虚数部分为0,因此结果是0.0
最终答案就是0.000123

总结:复数类型在科学计算中十分常见,基于复数的运算属于数学的复变函数分支,该分支有效支撑了众多科学和工程问题的数学表示和求解。python直接支持复数类型,为这类运算求解提供了便利。

2.2内置的数值运算函数(共6个)

函数 描述
abs(x) x的绝对值
divmod(x,y) (x//y,x%y),输出为二元组形式(也称为元组类型),//为整除%为取余
pow(x,y[,z]) pow(x,y),它与x**y相同,取x的y次方
round(x[,ndigits]) 对x四舍五入,保留ndigits位小数
max(x1,x2,x3) 返回其中最大值
min(x1,x2,x3) 返回其中最小值

2.3内置的数字类型转换函数(共3个)

函数 描述
int(x) 将x转
换为整数,x可以是浮点数或字符串float(x) 返回浮点数x或者字符串x所对应的整数类型
complex(re[,im]) 生成一个复数,实部为re,虚部为im,re可以是整数、浮点数或字符串,im可以是整数或浮点数但不能为字符串

2.4math库的数学常数

在这里插入图片描述

2.5math库的高等特殊函数

在这里插入图片描述

2.6math库的幂对数函数

在这里插入图片描述

2.7math库的三角运算函数

在这里插入图片描述

3.基本的字符串操作符

操作符 描述
x+y 连接两个字符串x与y
x*n 复制n次字符串x
x in s 如果x是s的子串,返回True,否则返回false
str[i] 索引,返回第i个字符串
str[N:M] 切片,返回索引第N到第M的字串,其中不包含M

4.内置的字符串处理函数

函数 描述
len(x) 返回字符串x的长度,也可以返回其他组合数据类型元素个数
str(x) 返回任意类型x所对应的字符串形式
chr(x) 返回Unicode编码x对应的单字符
ord(x) 返回单字符串表示的Unicode编码
hex(x) 返回整数x对应十六进制数的小写形式字符串
oct(x) 返回整数x对应八进制数的小写形式字符串

5.常用的内置字符串处理方法

在这里插入图片描述
在这里插入图片描述

5.1 程序的循环结构:

continue和break的区别:
continue语句只结束本次循环,break则是结束整个循环过程

5.2random库的常用函数

函数 描述
seed(a=None) 初始化随机数种子,默认为当期系统时间
random 生成一个[0.0,1.0)之间的随机小数
randint(a,b) 生成一个[a,b]之间的整数
getrandbits(k) 生成一个k比特长度的随机数
randrange(start,stop[,step]) 生成一个[start,stop)之间以step为步数的随机整数
uniform(a,b) 生成一个[a,b]之间的随机小数
choice(seq) 从序列类型,例如列表中随机返回一个元素
shuffle(seq) 将序列类型中的元素随机排列,返回打乱后的序列
sample(pop,k) 从pop类型中随机选取k个元素,以列表类型返回

5.3程序的异常处理

try:
	...
except:
	...

5.3.1异常处理的高级用法

支持多个except语句,语法格式如下:

try:
	...
except<异常类型1>:
	...
except<异常类型N>:
	...
except:
	...

还可以和else和finally保留字配合使用,语法格式如下:

try:
	...1
except<异常类型1>:
	...2
else:
	...3
finally:
	...4
	
#没异常则执行1;任何情况都会执行4;1没问题且2有问题则执行3

6.datetime库概述

from datetime import datetime
datetime.now
返回一个datetime类型,表示当前的日期和时间,精确到微妙
datetime.utcnow()
返回一个datetime类型,表示当前日期和时间对应的UTC(世界标准时间)
也可以直接使用datetime构造一个日期和时间对象:
datetime(year,month,day,hour=0,minute=0,second=0,microsecond=0)
例如:

datetime(2019,11,2,22,33,34,7)
表示201911222:33(34秒,7微妙)

6.1datetime类常用属性

请添加图片描述

7.python内置函数

请添加图片描述
all() 函数一般针对组合数据类型,如果其中每个元素都是True,则返回True,否则返回false(0,空"",空列表[]等都被当做false)。
any() any与all相反,any中只要任意一个值为True则返回True
hash() 函数对于能够计算哈希的类型返回哈希值。
id() 函数对于每一个数据返回唯一的编号,数据不同编号不同,可以通过对比两个变量编号是否相同,判断数据是否一致。
reversed() 函数返回输入组合数据类型的逆序形式

ls=[1,2,3,5]
list(reversed(ls))

sorted() 函数对一个序列进行排序,默认从小到大

8.组合数据类型

8.1序列类型

a=1,2,3,45
b="cat","dog","tiger"

序列类型的通用操作符和函数

操作符 描述
x in s 如果x是s的元素,返回True,否则返回false
x not in s 如果x不是s的元素,返回True,否则返回false
s + t 链接s和t
s * n 将序列s复制n次
s[i] 索引,返回序列的第i个元素
s[i:j] 分片,返回包含序列s第i到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位置中第一次出现元素x的位置
s.count(x) 序列s中出现x的总次数

元组是序列类型中比较特殊的类型,应为它一旦被创建就不能被修改

>>> creature="cat","dog","tiger"
>>> include=("aaa","bbb",creature)
>>> include
('aaa', 'bbb', ('cat', 'dog', 'tiger'))
>>> include[0]
'aaa'
>>> include[0][0]
'a'
>>> include[-1]
('cat', 'dog', 'tiger')
>>> include[-1][0]
'cat'
>>> include[-1][0][0]
'c'

8.2集合类型

集合不存在顺序,用{}表示

>>> s={1,10,"apple","cat",11,17}
>>> s
{1, 10, 11, 17, 'cat', 'apple'}

set(),set函数可以用于生成集合,输入的参数可以是任何组合数据类型,返回结果是一个无重复且任意排列的集合:

>>> set("apple")
{'p', 'l', 'a', 'e'}

集合类型的操作符
请添加图片描述
集合类型的操作函数或方法
请添加图片描述

8.3列表类型

>>> a=[1,2,3,4,"cat","dog"]
>>> a
[1, 2, 3, 4, 'cat', 'dog']
>>> p="中国是一个伟大的国家!"
>>> list(p)
['中', '国', '是', '一', '个', '伟', '大', '的', '国', '家', '!']

列表类型特有的函数或方法
请添加图片描述

9.字典类型

>>> a={"1+1":2,"2+2":4,"中国":"北京"}
>>> a
{'1+1': 2, '2+2': 4, '中国': '北京'}
>>> a["1+1"]
2

字典中还可以这样添加元素:

>>> d={}
>>> d["中国"]="北京"
>>> d
{'中国': '北京'}
>>> d["2^10"]=1024
>>> d
{'中国': '北京', '2^10': 1024}

字典类型的函数和方法

请添加图片描述

9.1jieba库的使用

jieba库文章分开写了,如有需要请点击转跳链接:

——————jieba库的使用——————

10.文件和数据格式化

文件的打开模式

文件的打开模式 含义
r 只读模式,如果文件不存在则返回异常FileNotFoundError(默认值)
w 覆盖写模式,文件不存在则创建,存在则完全覆盖
x 创建写模式,文件不存在则创建,存在则返回异常FileExistsError
a 追加写模式,文件不存在则创建,存在则在文件最后追加内容
b 二进制文件模式
t 文本文件模式(默认值)
+ 与r/w/x/a一同使用,在原则功能基础上增加同时读写功能

文件的读写

操作方法 含义
<file>.readall() 读取整个文件内容,返回一个字符串或字节流*
<file>.read(size=-1) 从文件中读入整个文件内容,如果给出参数,读入前size长度的字符串或字节流
<file>.readline(size=-1) 从文件中读入一行内容,如果给出参数,读入该行前size长度的字符串或字节流
<file>.readlines(hint=-1) 从文件中读入所有行,以每行为元素形成一个列表,如果给出参数,读入hint行

文件内容写入方法

方法 含义
<file>.write(s) 向文件写入一个字符串或字节流
<file>.writelines(lines) 将一个元素全为字符串的列表写入文件
<file>.seek(offset) 改变当前文件操作指针的位置,offset的值:0——文件开头;1——当前位置;2——文件结尾

11.PIL库的使用

pip install pillow安装pillow库

PIL库Image类解析

from PIL import image
image类的图像读取和创建方法

方法 描述
Image.open(filename) 根据参数加载图像文件
Image.new(mode,size,color) 根据给定参数创建一个新的图像
Image.open(StringIO.StringIO(buffer)) 从字符串中获取图像
Image.frombytes(mode,size,data) 从根据像素点data创建图像
Image.verify() 对图像文件完整性进行检查,返回异常

加载一个图像:

from PIL import image
im=image.open("D:\\1.jpg")

image类的常用属性

属性 描述
Image.format 标识图像格式或来源,如果图像不是从文件读取,值为None
Image.mode 图像的色彩模式,L为灰度图像,RGB为真彩色图像,CMYK为出版图像
Image.size 图像宽度和高度,单位是像素(px),返回值是二元元组(tuple)
Image.palette 调色板属性,返回一个ImagePalette类型

查看已读取的图像文件的属性:

print(im.format,im.size,im.mode)

Image类的序列图像操作方法

方法 描述
Image.seek(frame) 跳转并返回图像中的指定帧
Image.tell() 返回当前帧的序号

Image类的图像转换和保存方法

方法 描述
Image.save(filename,format) 将图像保存为filename文件名,format是图片格式
Image.convert(mode) 使用不同的参数,转换图像为新的模式
Image.thumbnail(size) 创建图像的缩略图,size是缩略图尺寸的二元元组

Image类的图像旋转和缩放方法

方法 描述
Image.resize(size) 按size大小调整图像,生成副本
Image.rotate(angle) 按angle角度旋转图像,生成副本

在这里插入图片描述在这里插入图片描述在这里插入图片描述
例题:
Python编写验证码

持续更新中~
187(模块5:PIL库的使用)


最近找到一个比较好的学习视频,讲的很细,支持up主:
————————原视频链接————————
Python使用手册:
https://docs.python.org/zh-cn/3/

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐