python学习 - 标准库概览

这篇具有很好参考价值的文章主要介绍了python学习 - 标准库概览。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章首发于我的个人博客:欢迎大佬们前来逛逛

操作系统接口

使用 os 模块,它提供了操作系统的接口。

导入并且使用:

import os
# 返回当前工作目录
print(os.getcwd())
# 更改当前工作目录
os.chdir('venv/Include')
print(os.getcwd())
# 命令行操作
os.system('mkdir test')
--------
F:\code\python\review
F:\code\python\review\venv\Include

要使用 import os

其他相关:

print(dir(os)) # 获得所有模块的函数列表:
print(help(os)) # 获得所有模块的文档字符串

针对于文件的操作: shutil 模块。


文件通配符

glob 模块可以根据目录通配符来搜索文件:

并且以列表形式返回

import glob
print(glob.glob('test_floder/*.py')) # test_floder文件夹下的所有py文件

命令行参数

命令行参数以链表形式存储于 sys 模块的argv变量。

import sys
print(sys.argv) # 打印出参数
--------
['review10.py', '1', '2', '3', '4', '5', '哈哈哈', '牛逼']

sys 还具有stdin stdout stderr等属性,例如:

sys.stdout.write('重定向输出')
sys.stderr.write('ERROR! 警告!')
sys.exit(666) # 直接退出 退出编号为666

字符串正则匹配

re 模块提供了正则匹配的工具:

re.findall(r'\bf[a-z]*','which is the foot fell fol end')
re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat')

字符串的替换操作:

str = 'wo ai ni ylh 我爱你'
str.replace('我爱你','不可能')
print(str)
----------
wo ai ni ylh 不可能

数学

math 提供了底层C函数的math库的支持:

示例如下:

print(math.gcd(15,10))
print(math.pi)
print(math.sin(10))
----------
5
3.141592653589793
-0.5440211108893698

random 库提供了随机数的操作:

# 一个随机的浮点数
print(random.random())
# 随机选择
l = ['random1','random2','random3']
print(random.choice(l))
# 指定范围随机数
print(random.randint(10,50))
# 指定范围内不放回取样
print(random.sample(range(10),10))
------------
0.8645680272544677
random1
34
[3, 6, 2, 7, 0, 8, 5, 1, 9, 4]

互联网访问

urllib 提供了互联网的访问功能。

用于处理url读取信息的 request

my_url1 = urlopen('https://www.baidu.com')
print(my_url1.getcode()) # 200表示正常, 404表示不正常(没有成功打开网页)

详细信息参考:

Python urllib | 菜鸟教程


日期与时间

Datetime 提供了时间与日期的操作。

from datetime import date
# 获取当前时间
now = date.today()
print(now)
# 更精确的时间
print(now.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B."))
# 时间的加减法
birthday = date(2003,7,8)
print(now - birthday)
----------
2023-04-16
04-16-23. 16 Apr 2023 is a Sunday on the 16 day of April.
7222 days, 0:00:00

数据的压缩

zlib 库提供了文本的压缩与解压缩等操作:

注意需要以 b 开头的字符串

str = b'witch which has which witches wrist watch'
print(len(str)) # 41
# 压缩
str2 = zlib.compress(str) # 37
print(len(str2))
# 解压缩
print(zlib.decompress(str2))
------------
41
37
b'witch which has which witches wrist watch'

性能测试

timeit 提供了关于一段代码的性能测试的功能:

事实证明元组封装和拆封交换元素比传统方式快

print(Timer('t=a;a=b;b=t','a=1;b=2').timeit())
print(Timer('a,b=b,a','a=1;b=2').timeit()
print(Timer('sum([1,2,3,4,5])').timeit())
print(Timer('for i in range(1,6): sum+=i','sum=0').timeit())
---------
0.01585819999999999
0.01412260000000004

0.11843460000000006
0.2553228999999999

质量测试

doctest 用于进行质量的测试,它基于文档字符串进行检测

def test(ls):
	""" 计算算数平均值

	>>> print(test([10,20,30]))
	20.0  # 
	"""
	return sum(ls)/len(ls)

def my_sum(ls):
	""" 计算列表的和
	
	>>> print(my_sum([1,2,3,4,5]))
	15
	"""
	return sum(ls)

doctest.testmod()

其他库

包含了支持专业编程工作所需的更高级的模块:

  • reprlib :提供了repr版本的定制版
  • pprint :提供了美化打印的方式
  • textwrap :模块可以格式化文本段落适应宽度
  • locale :按访问预定好的国家信息数据库

参考:

11. 标准库浏览 – Part II — Python tutorial 3.6.3 documentation文章来源地址https://www.toymoban.com/news/detail-418745.html

到了这里,关于python学习 - 标准库概览的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【通知】我的教学文章《Rust跟我学》已全部上线

    大家好,我是get_local_info开源库作者带剑书生,现在我的《Rust跟我学》专栏文章已全部上线,它记录了我在写库时获得的重要Rust经验和技巧,是不同于《Rust语言编程》等简单实践的书籍。为您节省了学习时间,让您可以快速上手熟悉Rust并进入项目。 具体介绍,请翻看我的上

    2024年01月20日
    浏览(38)
  • 猿创征文|Python-sklearn机器学习之旅:我的第一个机器学习实战项目

    目录 前言 一、从目的出发 1.导入数据 二、项目开启 1.导入数据

    2024年01月24日
    浏览(39)
  • Python3 学习(二)-Python的标准库

    sys模块 os模块 logging模块 json模块

    2024年02月12日
    浏览(21)
  • 三分钟学习一个python小知识2-----------我的对python的类(Class)和对象(Object)的理解

    Python是一种面向对象的编程语言,其基本的面向对象编程机制就是类(Class)和对象(Object)。 类是一种定义对象属性和方法的蓝图或模板。 它们是一种代码结构,可以包含属性存储和函数操作,从而使其更有结构和可读性。对象则是这些类的一个实例化结果,拥有类定义的

    2024年02月10日
    浏览(45)
  • 看完这篇文章,才发现我的测试用例写的就是垃圾

    测试用例编写作为测试技能最基础的一个能力,大家应该或多或少都有自己写用例的习惯和思考方式,这里分享一些需求分析和编写用例的经验,主要针对功能测试,旨在尽量降低测试遗漏的可能性,而对于新同学来说,则希望可以达到入门的效果。最后会分享一个小工具,

    2024年02月15日
    浏览(32)
  • 这篇文章,让你了解ERC-1155 多代币标准协议

    用于多种代币管理的合约标准接口。 单个部署的合约可以包括同质化代币、非同质化代币或其他配置(如半同质化代币)的任何组合。 ERC1155 的显着特点是它使用单个智能合约一次代表多个代币。这就是为什么它的balanceOf功能不同于 ERC20 和 ERC777 的原因:它有一个额外的id参

    2024年02月01日
    浏览(40)
  • 深度学习环境配置系列文章(二):Anaconda配置Python和PyTorch

    第一章 专业名称和配置方案介绍 第二章 Anaconda配置Python和PyTorch 第三章 配置VS Code和Jupyter的Python环境 第四章 配置Windows11和Linux双系统 第五章 配置Docker深度学习开发环境 Anaconda有着强大的包管理和环境管理的功能,使用后可以方便地使用和切换不同版本的Python和PyTorch等科学

    2024年01月23日
    浏览(45)
  • 三分钟学习一个python小知识4-----------我的对python中numpy的理解, 我列举了关于numpy常用的10个例子来深入理解numpy

    NumPy 是专门用于数值计算的Python库。它提供了实现向量、矩阵和高维数组的高效数据结构和函数,以及用于数学计算的工具。NumPy使得Python语言与MATLAB和R语言相比,更适合探索性数据分析、科学计算和大规模数据处理等领域。 NumPy中的核心数据结构是 ndarray (N维数组),它是

    2024年02月10日
    浏览(79)
  • 智能车竞赛模糊PID过程详解,附matlab模拟代码,使用的C代码在我的另一篇文章中

    目录 普通位置式PID控制  模糊PID控制 区间划分 模糊化 清晰化 改进 模糊PID的MATLAB代码 模糊PID的m测试使用文件,可一步步运行了解详细过程 模糊PID的主函数和功能函数matlab代码 模糊PID的使用和调参技巧 PID 控制分为比例,微分,积分三项,其公式如下: U (t) = Kp ∗ err (t)

    2024年04月16日
    浏览(40)
  • 【Python】Python第三方库概览

     前两天我安装第三方库的功能出现了点问题,断断续续修复了一天,修好之后我就在想Python的第三方库有多少,都能用来做什么,于是我展开了探索。 ​21天打卡最后一篇 活动地址:CSDN21天学习挑战赛 Python具有强大的计算生态,而这些功能需要用户自行安装。 目录 一、网

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包