python常见模块与用法

yizhihongxing

Python 常见模块与用法

Python 作为一门强大的编程语言,在其强大的生态系统中拥有着海量的模块和库,供我们选择。本文将介绍一些 Python 常见的模块与用法及示例代码。

一、math 模块

math 模块提供了许多数学运算功能,包括三角函数、指数函数、对数函数、常数等等。

1.1 三角函数

例:

import math

print("sin(0)=", math.sin(0))
print("cos(pi)=", math.cos(math.pi))
print("tan(pi/2)=", math.tan(math.pi/2))

输出:

sin(0)= 0.0
cos(pi)= -1.0
tan(pi/2)= 1.633123935319537e+16

1.2 对数函数

例:

import math

print("e^1=", math.exp(1))
print("log(2)=", math.log(2))
print("log10(100)=", math.log10(100))

输出:

e^1= 2.718281828459045
log(2)= 0.6931471805599453
log10(100)= 2.0

1.3 常熟

例:

import math

print("π=", math.pi)
print("e=", math.e)

输出:

π= 3.141592653589793
e= 2.718281828459045

二、random 模块

random 模块提供了生成随机数的功能。

2.1 随机数生成

例:

import random

print("0-1 之间的随机数:", random.random())
print("0-10 之间的随机整数:", random.randint(0, 10))
print("0-1 之间的随机数:", random.uniform(0, 1))

输出:

0-1 之间的随机数: 0.6981528192484882
0-10 之间的随机整数: 7
0-1 之间的随机数: 0.06994400983506405

2.2 随机序列操作

例:

import random

a = [1, 2, 3, 4, 5, 6]
random.shuffle(a)
print("打乱后的序列:", a)
print("从序列随机取出一个元素:", random.choice(a))

输出:

打乱后的序列: [4, 2, 1, 6, 5, 3]
从序列随机取出一个元素: 5

三、datetime 模块

datetime 模块提供了处理日期和时间的功能。

3.1 获取当前时间

例:

import datetime

print("当前时间:", datetime.datetime.now())

输出:

当前时间: 2021-06-29 22:15:46.047858

3.2 时间戳转换

例:

import datetime

timestamp = 1624975200
dt = datetime.datetime.fromtimestamp(timestamp)
print("时间戳对应的时间:", dt)

输出:

时间戳对应的时间: 2021-06-29 14:00:00

四、os 模块

os 模块提供了访问操作系统接口的功能,包括文件处理、目录操作、进程管理等。

4.1 文件处理

例:

import os

filename = "test.txt"
if not os.path.exists(filename):
    with open(filename, 'w') as f:
        f.write("Hello World!")

with open(filename, 'r') as f:
    print("文件内容:", f.read())

os.remove(filename)

输出:

文件内容: Hello World!

4.2 目录操作

例:

import os

if not os.path.exists("testdir"):
    os.mkdir("testdir")
    print("创建目录:testdir")

os.chdir("testdir")
print("当前路径:", os.getcwd())

os.chdir("..")
os.rmdir("testdir")
print("删除目录:testdir")

输出:

创建目录:testdir
当前路径: /Users/user/Documents/testdir
删除目录:testdir

五、concurrent.futures 模块

concurrent.futures 模块提供了线程池和进程池的功能,可用于提高程序的运行效率。

5.1 线程池

例:

import concurrent.futures
import time

def worker(num):
    time.sleep(1)
    return num*num

if __name__ == '__main__':
    with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
        res = executor.map(worker, [1, 2, 3, 4, 5, 6])
        for r in res:
            print("结果:", r)

输出:

结果: 1
结果: 4
结果: 9
结果: 16
结果: 25
结果: 36

5.2 进程池

例:

import concurrent.futures
import time

def worker(num):
    time.sleep(1)
    return num*num

if __name__ == '__main__':
    with concurrent.futures.ProcessPoolExecutor(max_workers=3) as executor:
        res = executor.map(worker, [1, 2, 3, 4, 5, 6])
        for r in res:
            print("结果:", r)

输出:

结果: 1
结果: 4
结果: 9
结果: 16
结果: 25
结果: 36

结语

本文介绍了 Python 常见模块的使用方法及示例代码,希望对大家有所帮助。在实际工作中,还要根据具体需求选择更加适合的模块和库。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python常见模块与用法 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python技巧之实现批量统一图片格式和尺寸

    下面详细讲解“Python技巧之实现批量统一图片格式和尺寸”的完整攻略。 问题及解决方案 在处理图片时,经常需要将多张图片转换成相同的格式和尺寸,以方便后续的处理和展示。比如,将网上下载的图片批量转换成PNG格式和大小为400×400像素的尺寸。手动处理这些图片显然非常费时间和精力,我们可以使用Python来批处理这些图片。 实现步骤 以下是实现步骤: 确定…

    python 2023年5月19日
    00
  • Python中的None与 NULL(即空字符)的区别详解

    在Python中,None和NULL(即空字符)是两个不同的概念。本文将详细讲解它们之间的区别,包括定义、用法和示例。 1. None的定义和用法 在Python中,None是一个特殊的对象,表示空值或缺失值。它常用于表示函数没有返回值或变量没有被赋值。以下是一个示例: def foo(): print("Hello, world!") …

    python 2023年5月14日
    00
  • python对指定字符串逆序的6种方法(小结)

    Python对指定字符串逆序的6种方法(小结) 在Python中,有多种方法可以将指定的字符串逆序,本文将总结并介绍其中的六种方法。 1.使用字符串切片 def reverse_str_by_slice(str): return str[::-1] 示例1: s = "hello, world!" print(reverse_str_by…

    python 2023年6月3日
    00
  • Python 常用内置模块超详细梳理总结

    Python 常用内置模块超详细梳理总结 Python有很多内置模块可以帮助我们完成各种任务,从操作文件到处理数据,从网络编程到加密,从调试工具到GUI编程,Python库提供了几乎所有你需要的功能。 下面将列举常用的内置模块,同时讲解其使用方法。 os模块 os模块为我们提供了一种使用操作系统功能的方法。其中包含了文件I/O、目录,进程,管道,定时器等许多…

    python 2023年5月14日
    00
  • Python过滤序列元素的方法

    在Python中,我们可以使用不同的方法来过滤序列元素。本文将详细介绍Python中过滤序列元素的方法。 使用列表推导式过滤序列元素 列表推导式是一种简洁的语法,可以用于创建新的列表。我们可以在列表推导式中使用if语句来过滤序列元素。 以下是一个示例: numbers = [1, 2, 3, 4, 5, 6] even_numbers = [x for x …

    python 2023年5月14日
    00
  • 字典是在 Python 3.6+ 中排序的吗?

    【问题标题】:Are dictionaries ordered in Python 3.6+?字典是在 Python 3.6+ 中排序的吗? 【发布时间】:2023-04-05 21:31:01 【问题描述】: 字典在 Python 3.6 中排序(至少在 CPython 实现下)与以前的版本不同。这似乎是一个重大变化,但它只是documentation 中…

    Python开发 2023年4月6日
    00
  • Python实现粒子群算法的示例

    下面是详细讲解“Python实现粒子群算法的示例”的完整攻略,包括算法原理、Python实现和两个示例说明。 算法原理 粒子群算法(Particle Swarm Optimization,PSO)是一种群体智能的优化算法,其基本思想是通过模拟鸟群或鱼群等生物群体的行为,来寻找最优解。在粒子群算法中,每个粒子代表一个解,整个粒子群代表一个解空间,每个粒子的位置…

    python 2023年5月14日
    00
  • python 如何快速复制序列

    通过Python内置的copy模块,我们可以快速地进行序列复制。该模块提供了两种方法用于序列的复制,分别是浅拷贝和深拷贝。接下来将分别介绍这两种方法的使用方法。 浅拷贝 所谓浅拷贝,是指不拷贝被复制的序列中子序列的对象本身,而是仅复制对他们的引用。我们可以使用copy模块中的copy()方法来实现浅拷贝。 示例一 下面的例子演示了如何使用copy()方法来进…

    python 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部