C站最全Python库总结丨标准库+高级库

以上实例中,np.arange() 函数创建 x 轴上的值。y 轴上的对应值存储在另一个数组对象 y 中。 这些值使用 matplotlib 软件包的 pyplot 子模块的 plot() 函数绘制。

图形由 show() 函数显示。

7、科学计算:scipy

scipy.special库中的特殊函数都是超越函数,所谓超越函数是指变量之间的关系不能用有限次加、减、乘、除、乘方、开方 运算表示的函数。如初等函数中的三角函数、反三角函数与对数函数、指数函数都是初等超越函数,一般来说非初等函数都是超越函数。

初等函数:指由基本初等函数经过有限次四则运算与复合运算所得到的函数

8、视觉及图像处理:PIL(pillow)

创建缩略图

import os

from PIL import Image

image_path = ‘python-logo.png’ # 图片位置

size = (128, 128) # 文件大小

f, e = os.path.splitext(image_path) # 获取文件名与后缀

outfile = f + “.thumbnail”

if image_path != outfile:

try:

im = Image.open(image_path)

im.thumbnail(size) # 设置缩略图大小

im.save(outfile, “JPEG”)

except IOError:

print(“cannot convert”, image_path)

创建滚动图形

python学得好,PS也能干!

from PIL import Image

def roll(image, delta):

“”" 向侧面滚动图像 “”"

xsize, ysize = image.size

delta = delta % xsize

if delta == 0: return image

part1 = image.crop((0, 0, delta, ysize))

part2 = image.crop((delta, 0, xsize, ysize))

image.paste(part1, (xsize - delta, 0, xsize, ysize))

image.paste(part2, (0, 0, xsize - delta, ysize))

return image

if name == ‘main’:

image_path = ‘test.jpg’

im = Image.open(image_path)

roll(im, 300).show() # 向侧面滚动 300 像素

9、图形界面开发: PyQT

俄罗斯方块游戏是有史以来最受欢迎的电脑游戏。

最初的游戏是由俄罗斯设计和编程的程序员阿列克谢帕基特诺夫于1985年。此后,俄罗斯方块是几乎所有的计算机平台上可用在很多变化。

俄罗斯方块称为积木拼图游戏。在这个游戏中,我们有七种不同形状叫tetrominoes:“s”形,Z-shape,t形,一个l型的空间,一个线,MirroredL-shape和正方形。这些形状的形成有四个方格。形状是跌倒。俄罗斯方块游戏的对象是移动和旋转的形状使他们适合尽可能多。

如果我们设法形成一个行,该行摧毁我们得分。我们直到我们玩俄罗斯方块游戏。

tetrominoes

PyQt5是一种用于创建应用程序的工具。还有其他的库是针对创建电脑游戏。

然而,PyQt5和其他应用程序工具包可以用来创建简单的游戏。

创建一个电脑游戏是一个提高编程技能的很好的方发。

10、游戏开发:pygame

  • Pygame是一组跨平台的Python模块, 用于创建视频游戏。

  • 它由旨在与Python编程语言一起使用的计算机图形和声音库组成。

  • Pygame由Pete Shinners正式编写, 以取代PySDL。

  • Pygame适合于创建客户端应用程序, 这些应用程序可以包装在独立的可执行文件中。

import pygame

pygame.init()

screen = pygame.display.set_mode((400, 500))

done = False

while not done:

for event in pygame.event.get():

if event.type == pygame.QUIT:

done = True

pygame.display.flip()

。。。。。。。。。。。。分隔符。。。。。。。

二、python常用标准库


1、操作系统接口

os模块提供了不少与操作系统相关联的函数。

import os

os.getcwd() # 返回当前的工作目录

‘C:\Python34’

os.chdir(‘/server/accesslogs’) # 修改当前的工作目录

os.system(‘mkdir today’) # 执行系统命令 mkdir

0

建议使用 “import os” 风格而非 “from os import *”。这样可以保证随操作系统不同而有所变化的 os.open() 不会覆盖内置函数 open()。

os常用命令

序号方法功能
1os.access(path, mode)  检验权限模式
2os.chdir(path)   改变当前工作目录
3os.chflags(path, flags)  设置路径的标记为数字标记。
4os.chmod(path, mode)    更改权限
5os.chown(path, uid, gid)  更改文件所有者
6os.chroot(path)   改变当前进程的根目录
7os.close(fd)    关闭文件描述符 fd
8os.closerange(fd_low, fd_high)    关闭所有文件描述符,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略
9os.dup(fd)    复制文件描述符 fd
10os.dup2(fd, fd2)    将一个文件描述符 fd 复制到另一个 fd2

2、文件通配符


glob模块提供了一个函数用于从目录通配符搜索中生成文件列表:

import glob

glob.glob(‘*.py’)

[‘primes.py’, ‘random.py’, ‘quote.py’]


3、命令行参数


通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。

sys.argv

可以用sys.argv获取当前正在执行的命令行参数的参数列表(list)。

变量解释

  • sys.argv[0]当前程序名

  • sys.argv[1]第一个参数

  • sys.argv[2]第二个参数

len(sys.argv)-1 参数个数(减去文件名)

例如在命令行中执行 “python demo.py one two three” 后可以得到以下输出结果:

import sys

print(sys.argv)

[‘demo.py’, ‘one’, ‘two’, ‘three’]


4、字符串正则匹配


re模块为高级字符串处理提供了正则表达式工具。可以说是爬虫必备,对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:如果只需要简单的功能,应该首先考虑字符串方法,因为它们非常简单,易于阅读和调试:

‘tea for too’.replace(‘too’, ‘two’)

‘tea for two’

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

函数语法

re.match(pattern, string, flags=0)

函数参数说明:

| 参数 | 描述 |

| — | — |

| pattern | 匹配的正则表达式 |

| string | 要匹配的字符串。 |

| flags | 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。 |

匹配成功re.match方法返回一个匹配的对象,否则返回None。

我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

| 匹配对象方法 | 描述 |

| — | — |

| group(num=0) | 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。 |

| groups() | 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。 |


5、数学计算


math模块为浮点运算提供了对底层C函数库的访问:

import math

math.cos(math.pi / 4)

0.70710678118654757

math.log(1024, 2)

10.0

在实际工作中,math标准库往往无法满足需求,我还需要扩展库:NumPy

NumPy(Numerical Python) 支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。


6、发送邮件


有几个模块用于访问互联网以及处理网络通信协议。其中最简单的两个是用于处理从 urls 接收的数据的 urllib.request 以及用于发送电子邮件的 smtplib:

import smtplib

smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

参数说明

  • host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如: runoob.com,这个是可选参数。

  • port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为25。

  • local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。

Python SMTP 对象使用 sendmail 方法发送邮件,语法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])

参数说明

  • from_addr: 邮件发送者地址。

  • to_addrs: 字符串列表,邮件发送地址。

  • msg: 发送消息

案例:

#!/usr/bin/python

-- coding: UTF-8 --

import smtplib

from email.mime.text import MIMEText

from email.header import Header

sender = ‘from@runoob.com’

receivers = [‘429240967@qq.com’]  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码

message = MIMEText(‘Python 邮件发送测试…’, ‘plain’, ‘utf-8’)

message[‘From’] = Header(“菜鸟教程”, ‘utf-8’)   # 发送者

message[‘To’] =  Header(“测试”, ‘utf-8’)        # 接收者

subject = ‘Python SMTP 邮件测试’

message[‘Subject’] = Header(subject, ‘utf-8’)

try:

smtpObj = smtplib.SMTP(‘localhost’)

smtpObj.sendmail(sender, receivers, message.as_string())

print “邮件发送成功”

except smtplib.SMTPException:

print “Error: 无法发送邮件”


7、日期和时间


datetime模块为日期和时间处理同时提供了简单和复杂的方法。

支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出。

该模块还支持时区处理:

dates are easily constructed and formatted

from datetime import date

now = date.today()

now

datetime.date(2003, 12, 2)

now.strftime(“%m-%d-%y. %d %b %Y is a %A on the %d day of %B.”)

‘12-02-03. 02 Dec 2003 is a Tuesday on the 02 day of December.’

时间的三种存在方式:时间对象,时间字符串,时间戳。

(1)字符串转datetime:

string = ‘2014-01-08 11:59:58’

time1 = datetime.datetime.strptime(string,‘%Y-%m-%d %H:%M:%S’)

print time1

2014-01-08 11:59:58

(2)datetime转字符串:

time1_str = datetime.datetime.strftime(time1,‘%Y-%m-%d %H:%M:%S’)

time1_str

‘2014-01-08 11:59:58’

(3)时间戳转时间对象:

time1 = time.localtime()

time1_str = datetime.datetime.fromtimestamp(time1)


8、数据压缩


以下模块直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 tarfile。

import zlib

s = b’witch which has which witches wrist watch’

len(s)

41

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)**
[外链图片转存中…(img-H6u82C3b-1711928793370)]

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值